:root{--pond: #15181a;--reed: #1d2124;--reed-2: #252a2e;--line: #2f363b;--ink: #e6ebe4;--ink-2: #9aa5a0;--ink-3: #6b7672;--real: #b6f23a;--paper: #7cc4e8;--forecast: #a99bf0;--danger: #ff6b5b;--warn: #f2c14e;--display: "Unbounded", "Onest", system-ui, sans-serif;--body: "Onest", system-ui, -apple-system, "Segoe UI", sans-serif;--r-s: 8px;--r-m: 14px;--r-l: 22px;--safe-b: env(safe-area-inset-bottom, 0px);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;background:var(--pond);color:var(--ink)}body{font:15px/1.45 var(--body);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;overflow-x:hidden}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--real);outline-offset:2px;border-radius:6px}.app{max-width:560px;margin:0 auto;padding:12px 16px calc(84px + var(--safe-b))}.hero{display:grid;grid-template-columns:112px 1fr;gap:14px;align-items:center;padding:6px 0 18px}.hero h1{font:800 22px/1.05 var(--display);letter-spacing:-.01em;margin:0 0 6px}.hero h1 small{display:block;font:500 12px/1.3 var(--body);color:var(--ink-3);letter-spacing:0;margin-top:4px}.bubble{position:relative;background:var(--reed-2);border-radius:var(--r-m);padding:10px 12px;font-size:14px;color:var(--ink)}.bubble:before{content:"";position:absolute;left:-7px;top:16px;border:7px solid transparent;border-right-color:var(--reed-2);border-left:0}.topbar{display:flex;justify-content:space-between;align-items:center;gap:8px}.badge{font-size:12px;padding:3px 8px;border-radius:99px;background:var(--reed-2);color:var(--ink-2)}.badge.demo{background:#3a2f12;color:var(--warn)}.badge.danger{background:#3b1814;color:var(--danger)}.iconbtn{background:none;border:0;padding:8px;border-radius:10px;cursor:pointer;color:var(--ink-2)}.iconbtn:hover{background:var(--reed)}.money{display:grid;gap:2px;border-radius:var(--r-l);overflow:hidden;margin-bottom:18px}.layer{background:var(--reed);padding:14px 16px 14px 20px;position:relative}.layer:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px}.layer.real:before{background:var(--real)}.layer.paper:before{background:repeating-linear-gradient(135deg,var(--paper) 0 4px,transparent 4px 7px)}.layer.forecast:before{background:repeating-linear-gradient(180deg,var(--forecast) 0 3px,transparent 3px 7px)}.layer .name{font-size:13px;color:var(--ink-2)}.layer .big{font:600 30px/1.1 var(--display);margin:2px 0 4px;letter-spacing:-.02em}.layer.real .big{color:var(--real)}.layer.paper .big{color:var(--paper)}.layer.forecast .big{color:var(--forecast);font-size:22px}.layer .note{font-size:13px;color:var(--ink-3)}.periods{display:flex;gap:18px;margin-top:8px;font-size:13px;color:var(--ink-2)}.periods b{color:var(--ink);font-weight:600}h2{font:600 17px/1.3 var(--body);margin:22px 0 8px}.muted{color:var(--ink-3)}.small{font-size:13px}.list{border-top:1px solid var(--line)}.row{padding:12px 0;border-bottom:1px solid var(--line)}.row-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.row-title{font-weight:600}.row-sub{font-size:13px;color:var(--ink-2);margin-top:2px}.num{font-weight:600;white-space:nowrap}.pos{color:var(--real)}.neg{color:var(--danger)}.fc{color:var(--forecast)}.pp{color:var(--paper)}.reason{font-size:13px;color:var(--ink-3);margin-top:4px}.reason:before{content:"✖ ";color:var(--danger)}.tag{font-size:12px;padding:2px 7px;border-radius:6px;white-space:nowrap}.tag.ok{background:#2a3a10;color:var(--real)}.tag.no{background:var(--reed-2);color:var(--ink-3)}.tag.fcst{border:1px dashed var(--forecast);color:var(--forecast)}.tag.ppr{background:repeating-linear-gradient(135deg,#1e3340 0,#1e3340 4px,#18262f 4px,#18262f 8px);color:var(--paper)}.chips{display:flex;gap:6px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:none}.chip{border:1px solid var(--line);background:none;padding:6px 12px;border-radius:99px;font-size:13px;color:var(--ink-2);cursor:pointer;white-space:nowrap}.chip[aria-pressed=true]{border-color:var(--ink);color:var(--ink);background:var(--reed)}.block{background:var(--reed);border-radius:var(--r-m);padding:14px 16px;margin-bottom:10px}.stage{font-size:12px;color:var(--ink-2)}.toggle{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0 0}.switch{width:46px;height:28px;border-radius:99px;border:0;background:var(--line);position:relative;cursor:pointer;flex:none}.switch:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--ink-2);transition:transform .18s,background .18s}.switch[aria-checked=true]{background:#2d4a0e}.switch[aria-checked=true]:after{transform:translate(18px);background:var(--real)}.meter{position:relative;height:10px;background:var(--reed-2);border-radius:99px;margin:10px 0 4px}.meter i{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--ink-3)}.meter i.w{background:var(--warn)}.meter i.s{background:var(--danger)}.legend{display:flex;justify-content:space-between;font-size:12px;color:var(--ink-3)}.kv{display:grid;grid-template-columns:1fr auto;gap:6px 12px;font-size:14px}.kv dt{color:var(--ink-2)}.kv dd{margin:0;font-weight:600;text-align:right}.alert{border-left:3px solid var(--danger);padding:10px 12px;background:#2a1715;border-radius:0 var(--r-s) var(--r-s) 0;margin:8px 0;font-size:14px}.alert.calm{border-color:var(--real);background:#1b2512}.chart{width:100%;height:120px;display:block}.tabs{position:fixed;left:0;right:0;bottom:0;z-index:10;display:grid;grid-template-columns:repeat(5,1fr);background:#15181af5;border-top:1px solid var(--line);padding:6px 4px calc(6px + var(--safe-b));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.tab{background:none;border:0;padding:6px 2px;font-size:11px;color:var(--ink-3);cursor:pointer;display:grid;justify-items:center;gap:2px}.tab span{font-size:19px;line-height:1;filter:grayscale(1) opacity(.7)}.tab[aria-current=page]{color:var(--ink)}.tab[aria-current=page] span{filter:none}.empty{padding:28px 0;text-align:center;color:var(--ink-2)}.center{min-height:70vh;display:grid;place-items:center;text-align:center;padding:24px}details summary{cursor:pointer;color:var(--ink-2);font-size:13px;margin-top:6px}table.mini{width:100%;border-collapse:collapse;font-size:13px;margin-top:6px}table.mini td,table.mini th{text-align:left;padding:4px 6px 4px 0;border-bottom:1px solid var(--line)}table.mini th{color:var(--ink-3);font-weight:500}.seg{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden}.seg button{background:none;border:0;padding:6px 10px;font-size:13px;color:var(--ink-2);cursor:pointer}.seg button[aria-pressed=true]{background:var(--reed-2);color:var(--ink)}.frog{width:112px;height:104px;overflow:visible}.frog .body,.frog .eye-ball{fill:var(--real)}.frog .belly{fill:#d6ff7a;opacity:.5}.frog .pupil{fill:var(--pond);transition:transform .3s}.frog .lid{fill:#8fc22a;transform-box:fill-box;transform-origin:center top;transform:scaleY(0)}.frog .mouth{fill:none;stroke:var(--pond);stroke-width:3;stroke-linecap:round}.frog .extra{opacity:0}@media (prefers-reduced-motion: no-preference){.anim .frog .lid{animation:blink 5s infinite}.anim.s-SCANNING .frog .pupil{animation:scan 2.4s ease-in-out infinite}.anim.s-OPPORTUNITY .frog{animation:hop .7s ease-out 2}.anim.s-PROFIT .frog{animation:hop .6s ease-out 3}.anim.s-DANGER .frog{animation:shake .4s ease-in-out 3}.anim.s-SLEEP .frog .zz{animation:zz 3s ease-in-out infinite}.anim.s-EXPERIMENT .frog .bubbles circle{animation:rise 2.2s ease-in infinite}.anim.s-EXPERIMENT .frog .bubbles circle:nth-child(2){animation-delay:.7s}.anim.s-ERROR .frog .spark{animation:blinkfast .9s steps(2) infinite}}@keyframes blink{0%,92%,to{transform:scaleY(0)}95%{transform:scaleY(1)}}@keyframes scan{0%,to{transform:translate(-3px)}50%{transform:translate(3px)}}@keyframes hop{0%,to{transform:translateY(0)}40%{transform:translateY(-10px)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes zz{0%{opacity:0;transform:translateY(4px)}40%{opacity:1}to{opacity:0;transform:translate(6px,-10px)}}@keyframes rise{0%{opacity:0;transform:translateY(6px)}30%{opacity:1}to{opacity:0;transform:translateY(-16px)}}@keyframes blinkfast{50%{opacity:0}}.s-SLEEP .frog .lid{transform:scaleY(1)!important;animation:none!important}.s-SLEEP .frog .zz{opacity:1}.s-LOSS .frog .lid{transform:scaleY(.45)!important;animation:none!important}.s-DANGER .frog .body,.s-DANGER .frog .eye-ball{fill:var(--danger)}.s-DANGER .frog .lid{fill:#c94a3d}.s-ERROR .frog .spark,.s-EXPERIMENT .frog .goggles,.s-EXPERIMENT .frog .bubbles,.s-OPPORTUNITY .frog .shine,.s-PROFIT .frog .shine{opacity:1}.s-OPPORTUNITY .frog .pupil,.s-PROFIT .frog .pupil{transform:scale(1.25);transform-box:fill-box;transform-origin:center}.static .frog *{animation:none!important}
