:root{--bg:#F6F8F7;--fg:#0E1714;--surface:#FFFFFF;--s2:#EEF2F0;--s3:#E2E8E5;--line:#DAE2DE;--line2:#C3CFC9;--muted:#4A5954;--ink3:#6D7B76;--accent:#0B8A5C;--accent-ink:#FFFFFF;--accent-soft:#DBF1E6;--glow:rgba(11,138,92,.18);--bond:#0B8A5C;--bill:#C28A12;--fund:#3E6FD8;--fixed:#17703F;--fixed-bg:#E0F2E7;--varies:#8E5C00;--varies-bg:#FAEED3;--flag:#B4322B;--flag-bg:#FBE3E0;--curve:#0B8A5C;--user:#E7EEEA;--display:"Bricolage Grotesque","Avenir Next","Segoe UI",system-ui,sans-serif;--body:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--ease:cubic-bezier(.2,.8,.2,1)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#070D0B;--fg:#E7F0EC;--surface:#0F1815;--s2:#15211D;--s3:#1C2B26;--line:#203330;--line2:#2F4842;--muted:#A9BBB4;--ink3:#7F938C;--accent:#3FD196;--accent-ink:#04120C;--accent-soft:#0F2D22;--glow:rgba(63,209,150,.16);--bond:#3FD196;--bill:#E9B44C;--fund:#7EA3FF;--fixed:#61D798;--fixed-bg:#0E2A1B;--varies:#EBB84F;--varies-bg:#2B220B;--flag:#F47D73;--flag-bg:#2E1513;--curve:#3FD196;--user:#16241F}}:root[data-theme=dark]{color-scheme:dark;--bg:#070D0B;--fg:#E7F0EC;--surface:#0F1815;--s2:#15211D;--s3:#1C2B26;--line:#203330;--line2:#2F4842;--muted:#A9BBB4;--ink3:#7F938C;--accent:#3FD196;--accent-ink:#04120C;--accent-soft:#0F2D22;--glow:rgba(63,209,150,.16);--bond:#3FD196;--bill:#E9B44C;--fund:#7EA3FF;--fixed:#61D798;--fixed-bg:#0E2A1B;--varies:#EBB84F;--varies-bg:#2B220B;--flag:#F47D73;--flag-bg:#2E1513;--curve:#3FD196;--user:#16241F}*{box-sizing:border-box}html,body{height:100%}@supports (height:100dvh){body{height:100dvh}}#root{height:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--body);font-size:15.5px;line-height:1.55;font-variant-numeric:tabular-nums;overflow:hidden}button,select,input,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}svg.i{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}#curve{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;transition:opacity .8s var(--ease)}#curve path.line{fill:none;stroke:var(--curve);stroke-width:2.2;opacity:.55;stroke-linecap:round}#curve path.area{fill:url(#curveFill);opacity:.9}#curve circle{fill:var(--curve)}.chat #curve{opacity:.35}.app{position:relative;z-index:1;height:100%;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr auto 1fr;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.chat .app{grid-template-rows:auto 1fr auto 0}.bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-block:12px;max-width:1080px;width:100%;margin:0 auto;min-width:0}.brand{display:flex;align-items:center;gap:9px;white-space:nowrap;min-width:0;font-family:var(--display);font-weight:700;font-size:16.5px;letter-spacing:-.01em;background:none;border:0;padding:4px 6px;border-radius:8px}.brand:hover{background:var(--s2)}.logo{width:24px;height:24px;border-radius:7px;background:var(--accent);display:grid;place-items:center}.logo svg{width:16px;height:16px;stroke:var(--accent-ink);stroke-width:2.2;fill:none;stroke-linecap:round}.brand small{font-family:var(--body);font-weight:700;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);border:1px solid var(--line2);border-radius:4px;padding:1px 5px}.tools{display:flex;align-items:center;gap:6px;flex:none}.seg{display:inline-flex;border:1px solid var(--line2);border-radius:999px;padding:2px;background:var(--surface);font-size:12.5px}.seg button{border:0;background:transparent;border-radius:999px;padding:4px 10px;color:var(--muted)}.seg button[aria-pressed=true]{background:var(--fg);color:var(--bg);font-weight:600}.iconbtn{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--muted)}.iconbtn:hover{background:var(--s2);color:var(--fg)}.newbtn{display:none;align-items:center;gap:6px;white-space:nowrap;border:1px solid var(--line2);background:var(--surface);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600}.chat .newbtn{display:inline-flex}.hero{align-self:end;text-align:center;padding-bottom:22px;view-transition-name:hero}.hero h1{font-family:var(--display);font-weight:700;font-size:clamp(30px,5.4vw,50px);line-height:1.04;letter-spacing:-.03em;margin:0;text-wrap:balance}.hero h1 .w{display:inline-block;opacity:0;transform:translateY(14px);animation:rise .7s var(--ease) forwards}.hero p{margin:12px auto 0;color:var(--muted);max-width:46ch;font-size:16px;opacity:0;animation:fade .8s .5s var(--ease) forwards}@keyframes rise{to{opacity:1;transform:none}}@keyframes fade{to{opacity:1}}.chat .hero{display:none}.thread{display:none;overflow-y:auto;min-height:0;scroll-behavior:smooth;margin-inline:calc(-1*max(16px,env(safe-area-inset-left,0px)));padding-inline:max(16px,env(safe-area-inset-left,0px))}.chat .thread{display:block}.thread-in{max-width:760px;margin:0 auto;padding-block:18px 28px;display:grid;gap:22px}.composer{width:100%;max-width:760px;margin:0 auto;view-transition-name:composer;padding-bottom:max(10px,env(safe-area-inset-bottom,0px))}.box{position:relative;background:var(--surface);border:1px solid var(--line2);border-radius:26px;padding:12px 12px 12px 20px;display:flex;align-items:flex-end;gap:10px;box-shadow:0 1px 2px #0000000a,0 10px 30px -12px var(--glow);transition:border-color .2s,box-shadow .3s}.box:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--glow),0 12px 34px -12px var(--glow)}.box textarea{flex:1;min-width:0;border:0;outline:none;background:transparent;resize:none;font-size:16.5px;line-height:1.45;max-height:180px;padding:7px 0;height:38px}.send{flex:none;width:40px;height:40px;border-radius:50%;border:0;background:var(--fg);color:var(--bg);display:grid;place-items:center;transition:transform .15s,opacity .2s}.send:disabled{opacity:.3;cursor:default}.send:not(:disabled):hover{transform:scale(1.06)}.send svg{width:18px;height:18px;stroke:currentColor;stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round}.send .stop{display:none;width:12px;height:12px;border-radius:2px;background:currentColor}.busy .send .arrow{display:none}.busy .send .stop{display:block}.fine{text-align:center;font-size:12px;color:var(--ink3);margin:8px 0 0}.suggest{align-self:start;max-width:760px;width:100%;margin:16px auto 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.chat .suggest{display:none}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px 14px;text-align:left;display:grid;gap:4px;align-content:start;opacity:0;transform:translateY(10px);animation:rise .6s var(--ease) forwards;transition:border-color .2s,transform .2s}.card:hover{border-color:var(--accent);transform:translateY(-2px)}.card .ic{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);margin-bottom:4px}.card b{font-size:14px;line-height:1.3}.card span{font-size:12.5px;color:var(--ink3);line-height:1.35}.msg{display:grid;gap:10px;animation:msgin .45s var(--ease) both}@keyframes msgin{0%{opacity:0;transform:translateY(8px)}}.msg.user{justify-items:end}.bubble{background:var(--user);border-radius:20px 20px 6px;padding:10px 16px;max-width:min(560px,88%);white-space:pre-wrap;overflow-wrap:anywhere}.msg.ai{grid-template-columns:30px minmax(0,1fr);gap:12px;align-items:start}.avatar{width:30px;height:30px;border-radius:50%;background:var(--accent);display:grid;place-items:center;margin-top:2px}.avatar svg{width:17px;height:17px;stroke:var(--accent-ink);stroke-width:2.2;fill:none;stroke-linecap:round}.body{display:grid;gap:14px;min-width:0}.say{margin:0;font-size:16px;line-height:1.65}.dots{display:inline-flex;gap:5px;padding:12px 0}.dots i{width:7px;height:7px;border-radius:50%;background:var(--ink3);animation:bounce 1.2s infinite}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,60%,to{transform:none;opacity:.4}30%{transform:translateY(-5px);opacity:1}}.stage-line{font-size:13.5px;color:var(--ink3);display:flex;align-items:center;gap:8px}.removed{font-size:12.5px;color:var(--ink3);display:flex;gap:6px;align-items:center}.heard{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.heard .lbl{font-size:12.5px;color:var(--ink3);margin-right:2px}.pill{position:relative;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line2);background:var(--surface);border-radius:999px;padding:5px 12px;font-size:13.5px;opacity:0;transform:scale(.92);animation:pop .4s var(--ease) forwards}@keyframes pop{to{opacity:1;transform:none}}.pill select,.pill input{border:0;background:transparent;outline:none;font-weight:600;padding:0;appearance:none;-webkit-appearance:none;cursor:pointer;max-width:100%}.pill input{cursor:text}.pill svg{width:12px;height:12px;stroke:var(--ink3);stroke-width:2;fill:none}.pill.guess{border-style:dashed;border-color:var(--varies)}.pill.guess:after{content:"guessed";font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--varies)}.pill.edited{border-color:var(--accent)}.pill:has(:disabled){opacity:.7!important}.btn{border:0;border-radius:12px;background:var(--fg);color:var(--bg);font-weight:600;padding:9px 16px}.btn.accent{background:var(--accent);color:var(--accent-ink)}.btn.soft{background:var(--s2);color:var(--fg)}.plan{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:18px clamp(14px,3vw,22px);display:grid;gap:16px;overflow:hidden}.plan+.plan{margin-top:12px}.plan-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}.plan-head h3{font-family:var(--display);font-weight:600;font-size:19px;margin:0;letter-spacing:-.01em}.plan-head span{font-size:12.5px;color:var(--ink3)}.split{display:flex;height:12px;border-radius:999px;overflow:hidden;background:var(--s2);gap:2px}.split i{display:block;height:100%;width:0;transition:width 1s var(--ease)}.legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px;color:var(--muted);margin-top:-6px}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:9px;height:9px;border-radius:3px;display:inline-block}.figs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.fig{min-width:0;opacity:0;transform:translateY(8px);animation:rise .6s var(--ease) forwards}.fig .v{font-family:var(--display);font-weight:700;font-size:clamp(21px,3.4vw,27px);letter-spacing:-.015em;line-height:1.1}.fig .l{font-size:12.5px;color:var(--muted);margin-top:4px}.flag{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;border-radius:4px;padding:1px 6px;vertical-align:1px}.flag.fixed{color:var(--fixed);background:var(--fixed-bg)}.flag.varies{color:var(--varies);background:var(--varies-bg)}.parts{display:grid;gap:8px}.part{border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:grid;grid-template-columns:10px minmax(0,1fr);gap:4px 12px;opacity:0;transform:translate(-8px);animation:slide .55s var(--ease) forwards}@keyframes slide{to{opacity:1;transform:none}}.part .k{width:10px;border-radius:5px;grid-row:span 3}.part .h{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:baseline}.part .h b{font-size:15px}.part .h strong{white-space:nowrap}.part ul{margin:0;padding-left:16px;font-size:13.5px;color:var(--muted)}.part li{margin-bottom:2px}.part .why{font-size:12.5px;color:var(--ink3)}.part .key{margin:0;font-size:14px;color:var(--fg)}.part .more{font-size:13px;color:var(--muted)}.part .more summary{cursor:pointer;color:var(--ink3);font-size:12.5px;list-style:none;display:inline-flex;align-items:center;gap:4px}.part .more summary::-webkit-details-marker{display:none}.part .more summary:after{content:"›";transition:transform .2s}.part .more[open] summary:after{transform:rotate(90deg)}.part .more ul{margin:6px 0 4px}.morebtn{justify-self:start;border:0;background:none;padding:0;color:var(--accent);font:inherit;font-size:13.5px;font-weight:600;cursor:pointer}.part.locked .blur{filter:blur(5px);-webkit-user-select:none;user-select:none;color:var(--ink3);font-size:13.5px}.part.locked .h b{display:inline-flex;gap:6px;align-items:center}.unlock{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-radius:14px;padding:12px 14px;background:linear-gradient(120deg,var(--accent-soft),var(--s2))}.unlock p{margin:0;font-size:13.5px;flex:1 1 240px}.notes{margin:0;padding-left:18px;font-size:13.5px;color:var(--muted)}.words{margin:0;font-size:16px;line-height:1.7;white-space:pre-wrap}.words mark,.say mark{background:var(--flag-bg);color:var(--flag);border-radius:3px;padding:0 2px}.typing:after{content:"";display:inline-block;width:8px;height:1.05em;background:var(--accent);margin-left:2px;vertical-align:-2px;border-radius:2px;animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:0}}.acts{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.chk{font-size:12px;font-weight:600;border-radius:999px;padding:3px 10px;margin-right:6px}.chk.ok{color:var(--fixed);background:var(--fixed-bg)}.chk.bad{color:var(--flag);background:var(--flag-bg)}.chk.wait{color:var(--ink3);background:var(--s2)}.acts .iconbtn{width:30px;height:30px}.acts .iconbtn[aria-pressed=true]{color:var(--accent);background:var(--accent-soft)}.note-in{display:flex;gap:8px;width:100%}.note-in input{flex:1;min-width:0;border:1px solid var(--line2);background:var(--surface);border-radius:10px;padding:7px 10px;font-size:13.5px}.stale{font-size:13px;color:var(--varies);display:flex;gap:10px;align-items:center;flex-wrap:wrap}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid var(--line2);background:var(--surface);border-radius:999px;padding:6px 13px;font-size:13.5px;color:var(--muted);opacity:0;animation:fade .5s var(--ease) forwards;transition:border-color .2s,color .2s}.chip:hover{border-color:var(--accent);color:var(--fg)}.delta{display:flex;flex-wrap:wrap;gap:8px}.delta span{font-size:13px;border-radius:999px;background:var(--s2);padding:4px 11px}.delta b{font-weight:600}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);z-index:5;background:var(--surface);border-left:1px solid var(--line);transform:translate(102%);transition:transform .35s var(--ease);display:flex;flex-direction:column;visibility:hidden;padding:max(14px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) 16px 16px}.drawer.open{transform:none;visibility:visible;box-shadow:-20px 0 50px -20px #00000040}.drawer header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.drawer h2{font-family:var(--display);font-size:18px;margin:0}.drawer .scroll{overflow:auto;display:grid;gap:12px;align-content:start;font-size:13.5px}.drawer pre{background:var(--s2);border-radius:10px;padding:10px;font-size:11.5px;line-height:1.45;overflow:auto;max-height:240px;margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.drawer select{border:1px solid var(--line2);background:var(--bg);border-radius:8px;padding:4px 8px}.drawer h4{margin:0;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3)}.runs{border-collapse:collapse;width:100%;font-size:12px}.runs td,.runs th{border-bottom:1px solid var(--line);padding:6px 4px;text-align:left;vertical-align:top}.runs th{color:var(--ink3);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em}::view-transition-group(composer),::view-transition-group(hero){animation-duration:.55s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}@media(max-width:720px){.suggest{grid-template-columns:repeat(2,minmax(0,1fr))}.figs{grid-template-columns:1fr;gap:10px}.seg button{padding:4px 8px}.brand small,.newbtn span{display:none}.newbtn{padding:6px}}@media(max-width:400px){.brand .name{display:none}}@media(max-width:420px){.suggest .card:nth-child(n+3){display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0s!important;transition-duration:.01ms!important}::view-transition-group(*){animation:none!important}}a.brand{color:inherit;text-decoration:none}.acct{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line2);background:var(--surface);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600;color:var(--fg);text-decoration:none;white-space:nowrap}.acct:hover{border-color:var(--accent)}.preview{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--line2);background:var(--surface);border-radius:999px;padding:3px;font-size:12.5px;white-space:nowrap}.preview>span{color:var(--muted);padding:0 6px 0 8px}.preview button{border:0;background:none;color:var(--fg);font:inherit;font-weight:600;border-radius:999px;padding:4px 10px;cursor:pointer}.preview button[aria-pressed=true]{background:var(--accent);color:#fff}@media(max-width:520px){.preview>span{display:none}}@media(max-width:720px){.acct span{display:none}.acct{padding:6px}}body.page{overflow:auto}.screen{position:relative;z-index:1;min-height:100%;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-bottom:48px}.screen .bar{max-width:1080px}.sheet{max-width:560px;margin:24px auto 0;display:grid;gap:16px}.sheet h1{font-family:var(--display);font-weight:700;font-size:clamp(26px,4.4vw,36px);letter-spacing:-.025em;line-height:1.08;margin:0;text-wrap:balance}.sheet .lede{color:var(--muted);margin:0}.panel{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px clamp(14px,3vw,22px);display:grid;gap:12px}.panel h2{font-family:var(--display);font-weight:600;font-size:18px;margin:0}.field{display:grid;gap:6px}.field label{font-size:13px;font-weight:600;color:var(--muted)}.field input{border:1px solid var(--line2);background:var(--bg);border-radius:12px;padding:11px 13px;font-size:16px}.field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--glow)}.err{color:var(--flag);font-size:13.5px;margin:0}.ok{color:var(--fixed);font-size:13.5px;margin:0}.muted{color:var(--muted)}.small{font-size:13px}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.option{border:1.5px solid var(--line2);background:var(--surface);border-radius:14px;padding:14px;text-align:left;display:grid;gap:4px}.option[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 4px var(--glow)}.option b{font-size:15px}.option span{font-size:13px;color:var(--muted)}.option .price{font-family:var(--display);font-size:22px;font-weight:700;color:var(--fg)}.plans{display:grid;gap:10px}.planrow{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:var(--surface);color:var(--fg);text-decoration:none}.planrow:hover{border-color:var(--accent)}.planrow small{color:var(--ink3)}.badge{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:2px 9px;background:var(--accent-soft);color:var(--accent)}.badge.off{background:var(--s2);color:var(--ink3)}.mock{border:1px dashed var(--varies);background:var(--varies-bg);color:var(--varies);border-radius:12px;padding:10px 12px;font-size:13px}.acts .btn.soft{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:13px}.acts .btn.soft svg{width:15px;height:15px}details.panel summary{cursor:pointer}.sheet.wide{max-width:760px}.growth{margin:0;display:grid;gap:6px}.growth svg{width:100%;height:auto;max-height:180px;overflow:visible}.growth .axis{stroke:var(--line2);stroke-width:1}.growth .gb{transform-box:fill-box;transform-origin:bottom;animation:grow .7s var(--ease) both}.growth .gb.putin{fill:var(--s3)}.growth .gb.bal{fill:var(--fund)}.growth text{fill:var(--ink3);font-size:11px;font-family:var(--body)}.growth figcaption{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--muted)}.growth figcaption span{display:inline-flex;align-items:center;gap:6px}.growth .sw{display:inline-block;width:10px;height:10px;border-radius:3px}.growth .sw.putin{background:var(--s3)}.growth .sw.bal{background:var(--fund)}@keyframes grow{0%{transform:scaleY(0)}}.answers{display:grid;gap:10px}.answer{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 16px;display:grid;gap:6px;animation:msgin .45s var(--ease) both}.answer .q{display:flex;justify-content:space-between;gap:10px;align-items:baseline;flex-wrap:wrap}.answer .q b{font-size:15px}.answer p{margin:0;color:var(--fg);line-height:1.6}.answer .draft{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--varies);background:var(--varies-bg);border-radius:4px;padding:1px 7px;white-space:nowrap}.chip.q{border-style:dashed}@media(prefers-reduced-motion:reduce){.growth .gb{animation:none}}
