:root{--bg:#0c0f0d;--bg-soft:#101613;--surface:#161d19;--surface-2:#1f2924;--surface-3:#28332c;--border:#ffffff17;--border-strong:#ffffff29;--text:#f2f5f1;--muted:#9aa79e;--muted-2:#6f7d73;--volt:#c8f542;--volt-ink:#131a08;--coral:#ff6b4a;--green:#4ade80;--blue:#7dd3fc;--gold:#fbbf24;--pink:#fb7185;--radius:20px;--radius-sm:14px;--tab-h:68px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.45}#root{min-height:100dvh}a{color:var(--volt)}button{font:inherit;color:inherit}input,select,textarea{font:inherit;color:var(--text)}.app{max-width:560px;min-height:100dvh;padding:0 16px calc(var(--tab-h) + 28px);padding-bottom:calc(var(--tab-h) + 28px + env(safe-area-inset-bottom));margin:0 auto}.screen{animation:.35s both rise}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:700}.h1{letter-spacing:-.02em;margin:4px 0 0;font-size:30px;font-weight:800;line-height:1.1}.h2{letter-spacing:-.01em;margin:0;font-size:21px;font-weight:800}.h3{margin:0;font-size:17px;font-weight:700}.big-num{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:56px;font-weight:800;line-height:1}.num{font-variant-numeric:tabular-nums}.sub{color:var(--muted);font-size:14px}.small{color:var(--muted);font-size:13px}.card{background:linear-gradient(180deg, var(--surface-2), var(--surface));border:1px solid var(--border);border-radius:var(--radius);padding:16px}.card+.card{margin-top:12px}.card-flat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px}.program-card{border:1px solid var(--border);text-align:left;cursor:pointer;width:100%;color:var(--text);background:linear-gradient(135deg, var(--pc1,#1d2b22), var(--pc2,#121a15));border-radius:24px;padding:20px;transition:transform .15s;position:relative;overflow:hidden}.program-card:active{transform:scale(.98)}.program-card h3{letter-spacing:-.01em;margin:0 0 4px;font-size:22px;font-weight:800}.program-card p{color:#ffffffbf;margin:0;font-size:14px}.program-card .meta{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.program-card .progress-line{background:#ffffff29;border-radius:99px;height:6px;margin-top:14px;overflow:hidden}.program-card .progress-line>span{background:var(--volt);border-radius:99px;height:100%;display:block}.chip{border:1px solid var(--border);color:var(--text);white-space:nowrap;background:#ffffff1a;border-radius:99px;align-items:center;gap:4px;padding:5px 10px;font-size:12.5px;font-weight:700;display:inline-flex}.chip.volt{background:var(--volt);color:var(--volt-ink);border-color:#0000}.chip.ghost{background:0 0}.btn{border:1px solid var(--border-strong);background:var(--surface-2);cursor:pointer;border-radius:16px;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:12px 20px;font-size:16px;font-weight:700;text-decoration:none;transition:transform .12s,background .15s;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--volt);color:var(--volt-ink);border-color:#0000}.btn-coral{background:var(--coral);color:#fff;border-color:#0000}.btn-quiet{border-color:var(--border);color:var(--text);background:0 0}.btn-block{width:100%}.btn-sm{border-radius:12px;min-height:40px;padding:8px 14px;font-size:14px}.btn:disabled{opacity:.45;cursor:default;transform:none}.field{margin:0 0 14px;display:block}.field>span{color:var(--muted);margin-bottom:6px;font-size:13px;font-weight:700;display:block}.input,select.input{border:1px solid var(--border-strong);background:var(--surface-2);border-radius:14px;outline:none;width:100%;min-height:52px;padding:12px 14px;font-size:16px}.input:focus{border-color:var(--volt)}.seg{flex-wrap:wrap;gap:6px;display:flex}.seg button{border:1px solid var(--border-strong);background:var(--surface-2);cursor:pointer;white-space:nowrap;border-radius:12px;flex:auto;min-height:46px;padding:8px 12px;font-weight:700}.seg button[aria-pressed=true]{background:var(--volt);color:var(--volt-ink);border-color:#0000}.ring-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.ring-wrap{flex-direction:column;flex:1 1 0;align-items:center;gap:6px;min-width:0;display:flex}.ring-wrap svg{width:100%;max-width:120px;height:auto;display:block}.ring-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:700}.ring-value{font-variant-numeric:tabular-nums;font-size:15px;font-weight:800}.stat-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px}.stat .v{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:24px;font-weight:800}.stat .k{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:700}.row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:14px 4px;display:flex}.row:last-child{border-bottom:0}.row .grow{flex:1;min-width:0}.avatar{background:var(--surface-3);width:52px;height:52px;color:var(--volt);border-radius:16px;flex:none;justify-content:center;align-items:center;font-size:22px;font-weight:800;display:flex}.topbar{justify-content:space-between;align-items:baseline;gap:12px;padding:18px 0 12px;display:flex}.brand{letter-spacing:-.02em;font-size:24px;font-weight:800}.brand em{color:var(--volt);font-style:normal}.tabbar{width:100%;max-width:560px;height:var(--tab-h);padding-bottom:env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--border);z-index:20;background:#0c0f0deb;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tabbar button{color:var(--muted);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;min-height:56px;font-size:11.5px;font-weight:700;display:flex}.tabbar button[aria-current=page]{color:var(--volt)}.tabbar .dot{font-size:19px;line-height:1}.player-hero{text-align:center;padding:8px 0 4px}.timer-big{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:64px;font-weight:800;line-height:1}.timer-big.pulse{animation:1s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}.gif-wrap{border-radius:var(--radius);border:1px solid var(--border);background:#000;overflow:hidden}.gif-wrap img{width:100%;height:auto;display:block}.set-row{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);align-items:center;gap:10px;margin-bottom:8px;padding:12px;display:flex}.set-row.done{border-color:var(--volt);background:#1c2416}.set-row input{text-align:center;border:1px solid var(--border-strong);background:var(--surface-2);font-variant-numeric:tabular-nums;border-radius:12px;width:76px;min-height:48px;font-size:17px;font-weight:700}.set-check{border:2px solid var(--border-strong);background:var(--surface-2);cursor:pointer;border-radius:50%;flex:none;width:48px;height:48px;font-size:20px}.set-row.done .set-check{background:var(--volt);color:var(--volt-ink);border-color:#0000}.banner{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);margin-bottom:12px;padding:12px 14px;font-size:14px}.banner.warn{background:#241d0d;border-color:#fbbf2480}.banner.good{background:#0f1f14;border-color:#4ade8073}.section{margin-top:26px}.section>.section-head{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.streak-dots{justify-content:space-between;gap:4px;display:flex}.streak-dots .day{flex-direction:column;flex:1;align-items:center;gap:5px;display:flex}.streak-dots .day.future{opacity:.45}.streak-dots .dot{background:var(--surface-2);border:1px solid var(--border);border-radius:50%;width:26px;height:26px}.streak-dots .dot.hit{background:var(--volt);border-color:#0000}.streak-dots .dot.today{border-color:var(--volt);border-width:2px}.streak-dots .day-label{letter-spacing:.04em;color:var(--muted);font-size:10px;font-weight:800}.streak-dots .day-label.today{color:var(--volt)}.progress-track{background:var(--surface-3);border-radius:99px;height:8px;overflow:hidden}.progress-track>span{background:linear-gradient(90deg, var(--volt), var(--green));border-radius:99px;height:100%;display:block}.muted-link{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:8px;font-size:14px;font-weight:700}
