:root{--ink:#14213d;--paper:#f2f4f8;--surface:#ffffff;--surface-2:#f7f8fb;--line:#e1e5ed;--text:#18202e;--muted:#5b6577;--blue:#2f6fe4;--blue-soft:#e6eefc;--ember:#f28c38;--ember-ink:#a9530f;--ember-soft:#fdeedf;--gain:#12805a;--loss:#c2413a;--nav:#14213d;--nav-text:#c9d1e0;--r-sm:10px;--r-md:16px;--r-lg:22px;--f-ui:"DM Sans", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;--f-num:"Space Grotesk", "DM Sans", system-ui, Arial, sans-serif;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--paper:#0e1526;--surface:#162038;--surface-2:#1b2742;--line:#273452;--text:#e8ecf4;--muted:#9aa6bd;--blue:#6b9cf5;--blue-soft:#1d2d52;--ember-ink:#f5a868;--ember-soft:#3a2a1c;--gain:#3fbf8a;--loss:#f07a72;--nav:#0b1120}}:root[data-theme=dark]{--paper:#0e1526;--surface:#162038;--surface-2:#1b2742;--line:#273452;--text:#e8ecf4;--muted:#9aa6bd;--blue:#6b9cf5;--blue-soft:#1d2d52;--ember-ink:#f5a868;--ember-soft:#3a2a1c;--gain:#3fbf8a;--loss:#f07a72;--nav:#0b1120}*,*:before,*:after{box-sizing:border-box}html{height:100%;scroll-padding-top:env(safe-area-inset-top,0px)}body{margin:0;min-height:100%;background:var(--paper);color:var(--text);font-family:var(--f-ui);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--blue);text-decoration:none}:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:6px}.num{font-family:var(--f-num);font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.gain{color:var(--gain)}.loss{color:var(--loss)}.linkbtn{background:none;border:0;padding:0;color:var(--blue);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.linkbtn.muted{color:var(--muted)}.logo{width:34px;height:34px;border-radius:10px;flex:none;display:grid;place-items:center;color:#fff;font-family:var(--f-num);font-weight:700;font-size:12px;letter-spacing:-.02em}.logo.sm{width:28px;height:28px;font-size:11px;border-radius:8px}.mini{width:64px;height:22px;flex:none;display:block}.stack{display:inline-flex;align-items:center}.stack .avatar{border:2px solid var(--surface);margin-left:-8px}.stack .avatar:first-child{margin-left:0}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.chips button{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:999px;padding:6px 12px;font-size:14px;font-weight:600}.chips button.on{background:var(--ink);color:#fff;border-color:var(--ink)}.fresh{animation:fresh 2.4s ease-out}@keyframes fresh{0%{background:var(--ember-soft)}to{background:transparent}}@media (prefers-reduced-motion: reduce){.fresh{animation:none}}.secbar{display:flex;height:12px;border-radius:6px;overflow:hidden;background:var(--surface-2);margin:6px 0 10px}.updated{font-size:12px;color:var(--muted)}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.shell{display:grid;grid-template-columns:minmax(0,1fr);min-height:100vh}@media (max-width:480px){.topbar{padding:10px 12px;gap:8px}.topbar .session{max-width:36vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .brand{flex:0 0 auto}}@media (max-width:370px){.topbar .session{display:none}}@media (max-width:480px){.sess-x{display:none}}@media (min-width:960px){.fb-top{display:none}}@media (max-width:760px){.btn.sm{min-height:40px;padding:9px 14px}.tabs a{min-height:44px;display:inline-flex;align-items:center}.seg button{min-height:40px}.input,select.input{min-height:44px}.row{min-height:48px}}@media (max-width:959px){.toasts{top:calc(70px + env(safe-area-inset-top,0px));bottom:auto}}.toasts{pointer-events:none}.toasts>*{pointer-events:auto}.rail{display:none}.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;background:var(--paper);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-family:var(--f-num);font-weight:700;font-size:19px;color:var(--text)}.mark{width:30px;height:30px;border-radius:9px;background:var(--ink);display:grid;place-items:center;color:#fff;font-size:15px;font-weight:700;position:relative}.mark:after{content:"";position:absolute;right:-3px;bottom:-3px;width:11px;height:11px;border-radius:50%;background:var(--ember);border:2px solid var(--paper)}.session{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--muted);white-space:nowrap}.dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}.dot.on{background:var(--gain);box-shadow:0 0 0 3px color-mix(in srgb,var(--gain) 25%,transparent)}main{padding:18px 18px 110px;max-width:860px;width:100%;margin:0 auto}.bottomnav{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(5,1fr);background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px)}.bottomnav a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 4px 10px;font-size:12px;color:var(--muted);position:relative}.bottomnav a.on{color:var(--blue)}.bottomnav svg,.rail svg{width:22px;height:22px}.badge{position:absolute;top:5px;left:calc(50% + 6px);min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--ember);color:#1b1206;font-size:11px;font-weight:700;display:grid;place-items:center}@media (min-width:960px){.shell{grid-template-columns:248px minmax(0,1fr)}.rail{display:flex;flex-direction:column;gap:6px;position:sticky;top:0;height:100vh;padding:22px 16px;background:var(--nav);color:var(--nav-text)}.rail .brand{color:#fff;margin:0 8px 22px}.rail .mark:after{border-color:var(--nav)}.rail a.nav{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:12px;color:var(--nav-text);font-weight:500;position:relative}.rail a.nav:hover{background:#ffffff0f}.rail a.nav.on{background:#ffffff1a;color:#fff}.rail .badge{position:static;margin-left:auto}.rail .session{color:var(--nav-text);margin:auto 12px 4px}.topbar,.bottomnav{display:none}main{padding:34px 40px 60px}}h1,h2,h3{font-family:var(--f-num);margin:0;letter-spacing:-.01em}h1{font-size:28px;line-height:1.15}h2{font-size:21px;line-height:1.2}h3{font-size:17px;line-height:1.25}.pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:4px 0 18px}.pagehead p{margin:4px 0 0}section.block{margin-top:26px}section.block>header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}.list{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.row{display:flex;align-items:center;gap:14px;padding:14px 18px;border-top:1px solid var(--line);color:var(--text)}.row:first-child{border-top:none}a.row:hover{background:var(--surface-2)}.row .grow{flex:1;min-width:0}.row .r{text-align:right}.sym{font-family:var(--f-num);font-weight:700}.ellip{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.small{font-size:13px}.tag{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600;background:var(--surface-2);color:var(--muted);border:1px solid var(--line);white-space:nowrap}.tag.blue{background:var(--blue-soft);color:var(--blue);border-color:transparent}.tag.ember{background:var(--ember-soft);color:var(--ember-ink);border-color:transparent}.avatar{width:38px;height:38px;border-radius:50%;flex:none;display:grid;place-items:center;color:#fff;font-weight:700;font-size:14px;font-family:var(--f-num)}.avatar.sm{width:30px;height:30px;font-size:12px}.avatar.lg{width:64px;height:64px;font-size:22px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:12px;padding:10px 16px;font-weight:600;font-size:15px;background:var(--blue);color:#fff;white-space:nowrap}.btn:hover{filter:brightness(1.06)}.btn.ghost{background:transparent;color:var(--text);border-color:var(--line)}.btn.ghost:hover{background:var(--surface-2)}.btn.ember{background:var(--ember);color:#1b1206}.btn.sm{padding:7px 12px;font-size:14px;border-radius:10px}.btn[disabled]{opacity:.45;cursor:not-allowed;filter:none}.seg{display:inline-flex;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:3px;gap:2px}.seg button{border:0;background:transparent;padding:7px 14px;border-radius:9px;font-weight:600;font-size:14px;color:var(--muted)}.seg button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #14213d1f}.tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);margin:18px 0 16px;overflow-x:auto}.tabs a{padding:10px 0;color:var(--muted);font-weight:600;border-bottom:2px solid transparent;white-space:nowrap}.tabs a.on{color:var(--text);border-color:var(--text)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:14px;font-weight:600}.input,select.input,textarea.input{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-size:16px}textarea.input{resize:vertical;min-height:84px}.hint{font-size:13px;color:var(--muted)}.hero{padding:22px 22px 14px;position:relative;overflow:hidden}.hero .value{font-family:var(--f-num);font-weight:700;font-size:44px;line-height:1.05;letter-spacing:-.02em;margin:6px 0 4px}@media (min-width:600px){.hero .value{font-size:56px}}.hero .spark{display:block;width:100%;height:96px;margin-top:10px}.hero .actions{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}.approval{border:1px solid color-mix(in srgb,var(--ember) 55%,var(--line));background:linear-gradient(180deg,var(--ember-soft),var(--surface) 70%);border-radius:var(--r-lg);padding:18px;display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start}.approval+.approval{margin-top:12px}.ring{width:64px;height:64px;position:relative}.ring svg{width:64px;height:64px;transform:rotate(-90deg)}.ring .t{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--f-num);font-weight:700;font-size:14px;color:var(--ember-ink)}.approval h3{margin-bottom:4px}.approval .facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px 16px;margin:12px 0 14px}.approval .facts div span{display:block;font-size:12px;color:var(--muted)}.approval .facts div b{font-family:var(--f-num);font-size:16px}.approval .acts{display:flex;gap:10px;flex-wrap:wrap}.done{opacity:.85}.post{padding:16px 18px;border-top:1px solid var(--line)}.post:first-child{border-top:none}.post .meta{display:flex;align-items:center;gap:10px}.post .body{margin:10px 0 8px;white-space:pre-wrap;overflow-wrap:anywhere}.post .chip{display:inline-flex;gap:8px;align-items:center;padding:7px 11px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line);font-size:14px;margin-bottom:8px}.post .bar{display:flex;gap:18px;font-size:14px;color:var(--muted)}.post .bar button{background:none;border:0;padding:4px 0;color:var(--muted);display:inline-flex;gap:6px;align-items:center}.post .bar button.on{color:var(--loss)}.comments{margin-top:10px;padding-left:14px;border-left:2px solid var(--line);display:flex;flex-direction:column;gap:10px}.composer{padding:14px 18px;display:flex;gap:12px;align-items:flex-start}.composer .grow{flex:1}.composer textarea{min-height:64px}.tally{height:10px;border-radius:6px;background:var(--surface-2);overflow:hidden;display:flex;margin:10px 0 6px}.tally .y{background:var(--gain)}.tally .n{background:var(--loss)}.tally .a{background:var(--muted);opacity:.5}.scrim{position:fixed;inset:0;z-index:50;background:#0a101e73;display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--surface);width:100%;max-width:520px;max-height:92vh;overflow:auto;border-radius:24px 24px 0 0;padding:20px 20px calc(24px + env(safe-area-inset-bottom,0px))}@media (min-width:600px){.scrim{align-items:center}.sheet{border-radius:24px}}.sheet header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.x{border:0;background:var(--surface-2);width:34px;height:34px;border-radius:50%;font-size:18px}.est{display:flex;justify-content:space-between;padding:12px 14px;background:var(--surface-2);border-radius:12px;margin:4px 0 14px;font-size:15px}.toasts{position:fixed;z-index:60;left:50%;transform:translate(-50%);bottom:calc(84px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:8px;width:min(92vw,440px)}@media (min-width:960px){.toasts{bottom:28px}}.toast{background:var(--ink);color:#fff;border-radius:14px;padding:12px 14px;display:flex;gap:12px;align-items:center;box-shadow:0 10px 30px #0a101e40;animation:pop .22s ease-out}.toast.ember{background:var(--ember);color:#1b1206}.toast .grow{flex:1}.toast button{background:#ffffff2e;border:0;color:inherit;padding:6px 10px;border-radius:9px;font-weight:600}.toast.ember button{background:#0000001f}@keyframes pop{0%{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}@media (prefers-reduced-motion: reduce){.toast{animation:none}}.banner{display:flex;gap:12px;align-items:center;padding:12px 16px;border-radius:var(--r-md);background:var(--blue-soft);color:var(--text);margin-bottom:16px;font-size:15px}.banner.ember{background:var(--ember-soft)}.empty{padding:28px 20px;text-align:center;color:var(--muted)}.grid2{display:grid;gap:16px}@media (min-width:760px){.grid2{grid-template-columns:1fr 1fr}}.chart{width:100%;height:180px;display:block}.ich{position:relative;margin-top:10px;user-select:none;-webkit-user-select:none}.ich-head{font-size:14px;color:var(--muted);min-height:20px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ich-head b{color:var(--text);font-family:var(--f-num)}.ich-svg{display:block;width:100%;touch-action:pan-y;cursor:crosshair}.ich-svg .ich-sel{fill:var(--blue);opacity:.12}.ich-svg .ich-x{stroke:var(--muted);stroke-width:1;stroke-dasharray:3 3}.ich-svg .ich-dot{fill:var(--surface);stroke-width:2.5}.ich-tip{position:absolute;top:28px;transform:translate(-50%);background:var(--ink);color:#fff;font-size:12px;padding:5px 8px;border-radius:8px;pointer-events:none;white-space:nowrap;font-family:var(--f-num)}.chips.sm button{padding:4px 10px;font-size:13px}.tplgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.tpl{display:flex;flex-direction:column;gap:3px;text-align:left;padding:12px;border:1.5px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);cursor:pointer;font:inherit}.tpl.on{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 7%,var(--surface))}.mcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.mcard{padding:16px 18px}.mcard .v{font-family:var(--f-num);font-size:30px;font-weight:700;margin:6px 0 2px}.mtable{overflow-x:auto}.mtable table{border-collapse:collapse;font-size:13px;min-width:760px;width:100%}.mtable th,.mtable td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}.mtable th:first-child,.mtable td:first-child{text-align:left}.kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:14px;padding:16px 18px}.kv span{display:block;font-size:13px;color:var(--muted)}.kv b{font-family:var(--f-num);font-size:18px}.loading{min-height:60vh;display:grid;place-items:center;color:var(--muted)}
