:root{--bg: #12121a;--surface: #1b1b26;--surface-2: #232331;--border: #2f2f40;--text: #f2f2f7;--text-dim: #a0a0b4;--accent: #4caf7d;--accent-ink: #08210f;--danger: #e05263;--ok: #4caf7d;--radius: 14px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:ui-rounded,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}button{font:inherit;color:inherit;cursor:pointer;border:none;background:none}input,select,textarea{font:inherit;color:inherit;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:.65rem .75rem;width:100%}textarea{resize:vertical;min-height:4.5rem}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{max-width:34rem;margin:0 auto;padding:calc(1rem + var(--safe-top)) 1rem calc(1rem + var(--safe-bottom));min-height:100%}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;margin-bottom:.85rem}.card h2{margin:0 0 .6rem;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.8rem 1rem;border-radius:12px;background:var(--surface-2);border:1px solid var(--border);font-weight:600;min-height:48px}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:transparent}.btn-ghost{background:none;border-color:var(--border);color:var(--text-dim)}.btn-full{width:100%}.btn-danger{color:var(--danger)}.btn-reset{color:var(--text-dim)}.row{display:flex;align-items:center;gap:.6rem}.between{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:.6rem}.muted{color:var(--text-dim)}.tiny{font-size:.78rem;line-height:1.4}.topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem;padding:.6rem 0 .9rem}.topbar>.btn:first-child{justify-self:start}.topbar>.btn:last-child{justify-self:end}.brand{justify-self:center;text-align:center;font-weight:700;letter-spacing:-.02em;font-size:1.15rem}.hero{padding:2.5rem 0 1.5rem;text-align:center}.hero h1{font-size:2.1rem;margin:0 0 .4rem;letter-spacing:-.03em}.code-input{text-transform:uppercase;letter-spacing:.24em;text-align:center;font-size:1.2rem;font-weight:700}.streak-hero{text-align:center;padding:2rem 1rem 1.6rem}.hero-number{font-size:clamp(3rem,18vw,4.75rem);font-weight:800;letter-spacing:-.03em;line-height:1}.hero-unit{font-size:.95rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);margin-top:.35rem}.hero-sub{margin-top:.75rem;color:var(--text-dim);font-size:.85rem}.band{display:inline-block;padding:.15rem .6rem;border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;margin-bottom:.9rem}.band-start{background:#2a2a3a;color:var(--text-dim)}.band-early{background:#22392f;color:#83d9af}.band-building{background:#1c4034;color:#7fe0b0}.band-established{background:#123c3c;color:#77d6d6}.band-solid{background:#193a20;color:#9be08a}.band-landmark{background:#3d3418;color:#e8c47d}.milestone-bar{display:flex;flex-direction:column;gap:.5rem}.progress-track{height:8px;background:var(--surface-2);border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:999px;transition:width .4s ease}.affirmation{font-size:1.05rem;line-height:1.55}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;text-align:center}.metric-value{font-size:1.7rem;font-weight:700;letter-spacing:-.02em;line-height:1.1}.metric-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim)}.disclaimer{border-top:1px dashed var(--border);margin-top:.75rem;padding-top:.6rem;color:var(--text-dim)}.log-row{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;padding:.5rem 0;border-bottom:1px solid var(--border);font-size:.9rem}.log-row:last-child{border-bottom:none}.log-note{color:var(--text-dim);font-size:.82rem;margin-top:.15rem}.chart-wrap{overflow-x:auto}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:flex-end;justify-content:center;z-index:20}.sheet{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;padding:1.1rem 1rem calc(1.1rem + var(--safe-bottom));width:100%;max-width:34rem;max-height:88vh;overflow-y:auto}.field{display:flex;flex-direction:column;gap:.3rem}.field>span{font-size:.78rem;color:var(--text-dim)}.segmented{display:grid;grid-auto-flow:column;gap:.35rem}.segmented button{padding:.6rem .4rem;border-radius:10px;border:1px solid var(--border);background:var(--surface-2);font-size:.85rem;min-height:44px}.segmented button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:transparent;font-weight:700}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(1rem + var(--safe-bottom));background:var(--danger);color:#fff;padding:.6rem 1rem;border-radius:999px;font-size:.85rem;z-index:30;max-width:90vw;text-align:center}.toast-ok{background:var(--accent);color:var(--accent-ink)}.code-chip{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.18em;font-size:1.2rem;font-weight:700;word-break:break-all}@media (prefers-reduced-motion: reduce){.btn:active{transform:none}.progress-fill{transition:none}}
