:root{--sky: #0a0e1f;--sky-2: #111731;--card: rgba(242, 240, 255, .045);--card-solid: #151b38;--line: rgba(237, 235, 250, .1);--ink: #edebfa;--ink-dim: #9a97b8;--moonlight: #f2f0ff;--ember: #ff5a47;--ember-soft: rgba(255, 90, 71, .14);--gold: #e9b84c;--gold-soft: rgba(233, 184, 76, .14);--nebula: #6c7bff;--nebula-soft: rgba(108, 123, 255, .14);--ok: #56d39a;--radius: 14px;--font-display: "Bricolage Grotesque", sans-serif;--font-body: "Instrument Sans", sans-serif;--font-mono: "JetBrains Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%}body{background:var(--sky);color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}.starfield{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.app-content{position:relative;z-index:1}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em}h1{font-size:26px;font-weight:800}h2{font-size:18px;font-weight:600}.eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);font-weight:600}.mono{font-family:var(--font-mono)}.dim{color:var(--ink-dim)}.small{font-size:13px}.shell{max-width:1080px;margin:0 auto;padding:24px 20px 80px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 0 22px}.brand{font-family:var(--font-display);font-weight:800;font-size:20px}.brand .star{color:var(--ember)}.nav{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:26px}.nav button{background:none;border:1px solid transparent;color:var(--ink-dim);font:600 13px var(--font-body);padding:8px 14px;border-radius:999px;cursor:pointer}.nav button:hover{color:var(--ink)}.nav button.active{color:var(--moonlight);background:var(--card);border-color:var(--line)}.nav button:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--nebula);outline-offset:2px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);margin-bottom:16px}.card-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px;gap:12px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 760px){.grid-2{grid-template-columns:1fr}}button.primary{background:var(--ember);color:#fff;border:none;border-radius:10px;font:600 14px var(--font-body);padding:10px 18px;cursor:pointer}button.primary:hover{filter:brightness(1.08)}button.primary:disabled{opacity:.5;cursor:default}button.ghost{background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:10px;font:600 13px var(--font-body);padding:8px 14px;cursor:pointer}button.ghost:hover{border-color:var(--ink-dim)}input,textarea,select{width:100%;background:var(--sky-2);border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:10px 12px;font:400 14px var(--font-body)}textarea{resize:vertical;min-height:72px}label.field{display:block;margin-bottom:12px}label.field span{display:block;font-size:12px;color:var(--ink-dim);margin-bottom:5px;font-weight:600}.pill{display:inline-block;padding:3px 10px;border-radius:999px;font:600 11px var(--font-body);letter-spacing:.02em}.pill.gold{background:var(--gold-soft);color:var(--gold)}.pill.ember{background:var(--ember-soft);color:var(--ember)}.pill.nebula{background:var(--nebula-soft);color:var(--nebula)}.pill.ok{background:#56d39a24;color:var(--ok)}.pill.dim{background:var(--card);color:var(--ink-dim)}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:none}.money{font-family:var(--font-mono);font-weight:600}.constellation{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.constellation .day{width:10px;height:10px;border-radius:50%;background:var(--sky-2);border:1px solid var(--line)}.constellation .day.lit{background:var(--gold);border-color:var(--gold);box-shadow:0 0 8px #e9b84c8c}.constellation .day.today{border-color:var(--nebula)}.streak-num{font-family:var(--font-mono);font-size:34px;font-weight:600;color:var(--gold);line-height:1}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-card{width:100%;max-width:400px}.login-card h1{margin-bottom:4px}.login-card .sub{color:var(--ink-dim);margin-bottom:24px}.error-note{color:var(--ember);font-size:13px;margin-top:8px}.empty{color:var(--ink-dim);font-size:14px;padding:8px 0}@media (prefers-reduced-motion: reduce){.starfield{display:none}}
