:root{--paper: oklch(.97 .012 100);--paper-raised: oklch(.99 .006 100);--paper-sunken: oklch(.945 .015 105);--ink: oklch(.24 .028 160);--ink-soft: oklch(.46 .022 158);--ink-faint: oklch(.62 .016 150);--line: oklch(.885 .014 110);--brand: oklch(.37 .068 160);--brand-strong: oklch(.29 .058 162);--brand-tint: oklch(.93 .024 155);--gold: oklch(.7 .105 84);--gold-deep: oklch(.55 .095 80);--up: oklch(.52 .11 155);--down: oklch(.5 .14 28);--focus: oklch(.55 .1 160);--serif: "Iowan Old Style", "Palatino Nova", Palatino, Georgia, serif;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--dur: .18s;--ease: cubic-bezier(.3, 0, .2, 1);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}@media (prefers-color-scheme: dark){:root{--paper: oklch(.21 .02 165);--paper-raised: oklch(.25 .022 163);--paper-sunken: oklch(.18 .018 165);--ink: oklch(.93 .012 100);--ink-soft: oklch(.72 .018 130);--ink-faint: oklch(.55 .018 145);--line: oklch(.32 .022 160);--brand: oklch(.78 .06 155);--brand-strong: oklch(.86 .05 150);--brand-tint: oklch(.29 .035 160);--gold: oklch(.75 .1 85);--gold-deep: oklch(.68 .1 82);--up: oklch(.72 .11 152);--down: oklch(.68 .13 28);--focus: oklch(.72 .09 155)}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}.display{font-family:var(--serif);font-size:2.6rem;line-height:1.05;letter-spacing:-.015em;font-variant-numeric:lining-nums tabular-nums;font-weight:500}.figure{font-family:var(--serif);font-variant-numeric:lining-nums tabular-nums;font-weight:500}h1{font-family:var(--serif);font-size:1.55rem;font-weight:600;letter-spacing:-.01em;margin:0}h2{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-faint);margin:0}.back{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;color:var(--ink-soft);font:inherit;font-size:1.35rem;line-height:1;padding:0 14px 12px 0;cursor:pointer}p{margin:0}.muted{color:var(--ink-soft)}.small{font-size:.82rem}.frame{height:100%;display:flex;flex-direction:column;max-width:480px;margin:0 auto}.screen{flex:1;overflow-y:auto;padding:calc(var(--safe-top) + 20px) 20px 24px;display:flex;flex-direction:column;gap:20px;animation:screen-in var(--dur) var(--ease)}@keyframes screen-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.tabbar{display:flex;border-top:1px solid var(--line);background:var(--paper-raised);padding-bottom:var(--safe-bottom)}.tabbar button{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;font:inherit;font-size:.72rem;font-weight:600;color:var(--ink-faint);padding:10px 4px 8px;display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;transition:color var(--dur) var(--ease)}.tabbar button[aria-current=true]{color:var(--brand)}.tabbar button:active{transform:translateY(1px)}.tabbar .glyph{font-family:var(--serif);font-size:1.15rem;line-height:1}.ledger{display:flex;flex-direction:column;border-top:1px solid var(--line)}.row{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-bottom:1px solid var(--line);background:none;font:inherit;color:inherit;text-align:left;text-decoration:none;width:100%;display:flex;align-items:center;gap:14px;padding:15px 2px;cursor:pointer;transition:background var(--dur) var(--ease)}.row:hover{background:var(--paper-sunken)}.row:active{background:var(--brand-tint)}.row:disabled{cursor:default;opacity:.55}.row .grow{flex:1;min-width:0}.badge{font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:3px 8px;border-radius:3px;background:var(--paper-sunken);color:var(--ink-faint);border:1px solid var(--line)}.badge.boost{background:var(--brand-tint);color:var(--brand-strong);border-color:transparent}.badge.gold{color:var(--gold-deep);border-color:var(--gold);background:none}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;font-weight:600;border:1px solid transparent;border-radius:8px;padding:14px 18px;cursor:pointer;transition:background var(--dur) var(--ease),transform 90ms var(--ease),opacity var(--dur) var(--ease)}.btn:active{transform:scale(.985)}.btn:disabled{opacity:.45;cursor:default;transform:none}.btn-primary{background:var(--brand);color:var(--paper-raised);width:100%}.btn-primary:hover:not(:disabled){background:var(--brand-strong)}.btn-quiet{background:none;border-color:var(--line);color:var(--ink);width:100%}.btn-quiet:hover:not(:disabled){background:var(--paper-sunken)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}.panel{background:var(--paper-raised);border:1px solid var(--line);border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:12px}.sheet-veil{position:fixed;top:0;right:0;bottom:0;left:0;background:#0e191373;display:flex;align-items:flex-end;justify-content:center;z-index:20;animation:veil-in var(--dur) var(--ease)}@keyframes veil-in{0%{opacity:0}}.sheet{background:var(--paper-raised);border-radius:16px 16px 0 0;padding:22px 20px calc(var(--safe-bottom) + 22px);width:100%;max-width:480px;display:flex;flex-direction:column;gap:16px;animation:sheet-up .24s var(--ease)}@keyframes sheet-up{0%{transform:translateY(24px);opacity:0}}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:.8rem;font-weight:600;color:var(--ink-soft)}.field input{font:inherit;font-family:var(--serif);font-size:1.4rem;font-variant-numeric:tabular-nums;color:var(--ink);background:var(--paper-sunken);border:1px solid var(--line);border-radius:8px;padding:12px 14px;width:100%;transition:border-color var(--dur) var(--ease)}.field input:focus{border-color:var(--brand);outline:none}.field input[aria-invalid=true]{border-color:var(--down)}.field .error{color:var(--down);font-size:.8rem}.check{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.check input{margin-top:3px;accent-color:var(--brand);width:18px;height:18px}.presets{display:flex;gap:8px}.presets button{flex:1;font:inherit;font-weight:600;font-size:.9rem;border:1px solid var(--line);border-radius:7px;background:none;color:var(--ink-soft);padding:9px 0;cursor:pointer;transition:all var(--dur) var(--ease)}.presets button[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:var(--paper-raised)}.presets button[aria-pressed=true] .muted,.presets button[aria-pressed=true] .figure,.presets button[aria-pressed=true] .small{color:var(--paper-raised)}.presets button[aria-pressed=true] .muted,.presets button[aria-pressed=true] .small.muted{opacity:.88}.presets button:disabled{opacity:.4;cursor:not-allowed}.pay-options{flex-direction:column;align-items:stretch;gap:8px}.pay-options button{flex:none;text-align:left;padding:12px 14px;display:flex;flex-direction:column;gap:4px;font-weight:500}.skeleton{border-radius:6px;background:linear-gradient(100deg,var(--paper-sunken) 40%,var(--paper-raised) 50%,var(--paper-sunken) 60%);background-size:200% 100%;animation:shimmer 1.4s infinite linear;color:transparent;-webkit-user-select:none;user-select:none}@keyframes shimmer{to{background-position:-200% 0}}.empty{text-align:center;padding:36px 20px;color:var(--ink-faint);display:flex;flex-direction:column;gap:8px;align-items:center}.delta-up{color:var(--up)}.delta-down{color:var(--down)}.hold-btn{position:relative;overflow:hidden}.hold-btn .fill{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--brand-strong);transform-origin:left;transform:scaleX(0)}.hold-btn.holding .fill{animation:hold-fill .9s linear forwards}@keyframes hold-fill{to{transform:scaleX(1)}}.hold-btn span{position:relative}.notice{border-left:3px solid var(--gold);background:var(--paper-sunken);padding:12px 14px;border-radius:0 8px 8px 0;font-size:.88rem;color:var(--ink-soft)}.strategy-list{display:flex;flex-direction:column;gap:12px}.strategy-card{background:var(--paper-raised);border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.strategy-card-on{border-color:var(--brand);background:var(--brand-tint)}.strategy-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.strategy-title{font-family:var(--serif);font-size:1.25rem;font-weight:600;letter-spacing:-.01em;text-transform:none;color:var(--ink);margin:0}.risk-pips{display:flex;gap:4px;padding-top:4px}.risk-pip{width:8px;height:18px;border-radius:2px;background:var(--line)}.risk-pip.on{background:var(--gold-deep)}.strategy-card-on .risk-pip.on{background:var(--brand)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.chart-card{background:var(--paper-raised);border:1px solid var(--line);border-radius:14px;padding:14px 14px 12px;display:flex;flex-direction:column;gap:10px}.chart-tabs{display:flex;gap:4px;padding:2px;background:var(--paper-sunken);border-radius:8px;width:fit-content;max-width:100%}.chart-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;font:inherit;font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);padding:6px 12px;border-radius:6px;cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.chart-tab:hover{color:var(--ink-soft)}.chart-tab.on{background:var(--paper-raised);color:var(--ink);box-shadow:0 0 0 1px var(--line)}.chart-wrap{width:100%;margin:0 -2px}.chart-empty{min-height:120px;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px 12px;border-radius:8px;background:var(--paper-sunken)}.chart-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:2px}.chart-swatch{display:inline-block;width:12px;height:3px;border-radius:1px;vertical-align:middle;margin-right:2px;background:var(--up)}.chart-swatch.dashed{background:transparent;border-top:2px dashed var(--ink-faint);height:0;width:14px;vertical-align:middle}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;padding-top:4px;border-top:1px solid var(--line)}.stat{min-width:0}.stat-k{font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:2px}.stat-v{font-size:1.05rem;font-weight:600;color:var(--ink);line-height:1.25;word-break:break-word}.stat-v .small{font-weight:500}
