:root{--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.25rem;--text-xl: 1.625rem;--text-2xl: 2.25rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: .5rem;--radius-md: .875rem;--radius-lg: 1.125rem;--radius-xl: 1.5rem;--radius-full: 9999px;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", monospace;--transition: .2s cubic-bezier(.16, 1, .3, 1);--maxw: 480px;--tabbar-h: 64px}[data-theme=dark],:root{--bg: #0a0d0a;--bg-gradient: radial-gradient(140% 100% at 50% 0%, #11160f 0%, #0a0d0a 55%);--surface: #12161a;--surface-2: #171c20;--surface-3: #1d2329;--border: #232a30;--border-strong: #2d363d;--text: #f3f6f4;--text-muted: #9aa6a0;--text-faint: #66726c;--accent: #3ddc6f;--accent-soft: #2bb95c;--accent-dim: rgba(61, 220, 111, .14);--accent-glow: rgba(61, 220, 111, .28);--up: #3ddc6f;--down: #f0683e;--gold: #f2c14e;--shadow-card: 0 1px 0 rgba(255, 255, 255, .02) inset, 0 8px 24px rgba(0, 0, 0, .45)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-size-adjust:none}body{min-height:100dvh;font-family:var(--font-body);font-size:var(--text-base);line-height:1.5;color:var(--text);background:var(--bg);background-image:var(--bg-gradient);background-attachment:fixed}#root{max-width:var(--maxw);margin:0 auto;min-height:100dvh;position:relative;box-shadow:0 0 0 1px var(--border)}button{font:inherit;color:inherit;cursor:pointer;background:none;border:none}input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}::selection{background:var(--accent-glow)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}svg{display:block}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.screen{padding:var(--space-5) var(--space-4) calc(var(--tabbar-h) + env(safe-area-inset-bottom) + var(--space-8));animation:fade-up var(--transition)}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.app-header{display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top) + var(--space-4)) var(--space-4) var(--space-3);position:sticky;top:0;z-index:20;background:linear-gradient(180deg,var(--bg) 60%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-header h1{font-size:var(--text-lg);font-weight:700;letter-spacing:-.01em}.icon-btn{width:40px;height:40px;display:grid;place-items:center;border-radius:var(--radius-full);color:var(--text-muted);transition:background var(--transition),color var(--transition)}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-card)}.card-title{font-size:var(--text-sm);font-weight:600;color:var(--text)}.section-label{font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--space-3)}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.mono{font-family:var(--font-mono);font-feature-settings:"tnum" 1}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.stack{display:flex;flex-direction:column;gap:var(--space-3)}.row{display:flex;align-items:center;gap:var(--space-3)}.spacer{flex:1}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-card)}.stat-head{display:flex;align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.stat-value{margin-top:var(--space-2);font-size:var(--text-2xl);font-weight:800;letter-spacing:-.02em;line-height:1}.stat-value sup{font-size:var(--text-sm);font-weight:600;color:var(--text-faint);vertical-align:super}.stat-delta{margin-top:var(--space-2);font-size:var(--text-xs);font-weight:700;display:inline-flex;align-items:center;gap:4px}.stat-delta.up{color:var(--up)}.stat-delta.down{color:var(--down)}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:700;background:var(--accent-dim);color:var(--accent)}.badge.gold{background:#f2c14e26;color:var(--gold)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-full);font-weight:700;font-size:var(--text-sm);transition:transform var(--transition),filter var(--transition),background var(--transition)}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(180deg,var(--accent),var(--accent-soft));color:#04220f;width:100%;padding-block:var(--space-4);box-shadow:0 6px 20px var(--accent-glow)}.btn-primary:hover{filter:brightness(1.05)}.btn-ghost{background:var(--surface-2);border:1px solid var(--border);color:var(--text)}.segmented{display:flex;gap:4px;background:var(--surface-2);border:1px solid var(--border);padding:4px;border-radius:var(--radius-full);overflow-x:auto;scrollbar-width:none}.segmented::-webkit-scrollbar{display:none}.segmented button{flex:1;white-space:nowrap;padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:600;color:var(--text-muted);transition:background var(--transition),color var(--transition)}.segmented button.active{background:var(--accent);color:#04220f}.list-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.list-row:last-child{border-bottom:none}.list-row .lead{width:36px;height:36px;border-radius:var(--radius-md);display:grid;place-items:center;background:var(--accent-dim);color:var(--accent);flex-shrink:0}.stepper{display:flex;align-items:center;gap:var(--space-2)}.stepper button{width:32px;height:32px;border-radius:var(--radius-full);background:var(--surface-3);color:var(--text);display:grid;place-items:center;font-size:var(--text-lg);font-weight:600}.stepper input{width:72px;text-align:center;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-1);font-family:var(--font-mono);font-weight:700;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.field{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.field:last-child{border-bottom:none}.field label{color:var(--text-muted);font-size:var(--text-sm)}.field select,.field input[type=text],.field input[type=number]{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);text-align:right;max-width:60%}textarea.notes{width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);resize:vertical;min-height:84px}.input{width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);font-size:var(--text-base)}.input::placeholder{color:var(--text-faint)}.toggle{width:48px;height:28px;border-radius:var(--radius-full);background:var(--surface-3);position:relative;transition:background var(--transition);flex-shrink:0}.toggle.on{background:var(--accent)}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:var(--radius-full);background:#fff;transition:transform var(--transition)}.toggle.on:after{transform:translate(20px)}.tabbar{position:fixed;left:50%;transform:translate(-50%);bottom:0;width:100%;max-width:var(--maxw);height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:flex;background:#0d110fdb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--border);z-index:50}.tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:.625rem;font-weight:600;color:var(--text-faint);transition:color var(--transition)}.tabbar a.active{color:var(--accent)}.empty{text-align:center;padding:var(--space-10) var(--space-4);color:var(--text-muted)}
