:root{--bg:#0a0b0f;--bg-soft:#11131a;--text:#f3f5f9;--text-dim:#9aa3b2;--line:#ffffff14;--glass:#ffffff0a;--glass-strong:#ffffff12;--accent:#6ee7ff;--green:#34d399;--amber:#fbbf24;--red:#f87171;--radius:18px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:radial-gradient(1200px 600px at 80% -10%, #6ee7ff14, transparent 60%), radial-gradient(900px 500px at -10% 20%, #34d3990f, transparent 55%), var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:ui-sans-serif,system-ui,-apple-system,SF Pro Text,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.wrap{max-width:1040px;margin:0 auto;padding:40px 24px 80px}.topbar{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:28px;display:flex}.brand{letter-spacing:-.02em;font-size:22px;font-weight:650}.brand .dot{color:var(--accent)}.subtle{color:var(--text-dim);font-size:13px}.grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.card{background:var(--glass);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(14px)saturate(140%);padding:20px}.card.span2{grid-column:span 2}.label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;font-size:12px}.metric{letter-spacing:-.03em;font-size:40px;font-weight:680;line-height:1}.metric .unit{color:var(--text-dim);margin-left:4px;font-size:16px;font-weight:500}.metric-sub{color:var(--text-dim);margin-top:8px;font-size:13px}.pill{border:1px solid var(--line);background:var(--glass-strong);border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;display:inline-flex}.pill .led{background:var(--text-dim);border-radius:50%;width:7px;height:7px}.pill.ok .led{background:var(--green)}.pill.warn .led{background:var(--amber)}.pill.off .led{background:var(--red)}.btn{border:1px solid var(--line);background:var(--glass-strong);color:var(--text);cursor:pointer;border-radius:12px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:560;text-decoration:none;transition:transform .12s,background .2s,border-color .2s;display:inline-flex}.btn:hover{background:#ffffff1a;border-color:#ffffff2e;transform:translateY(-1px)}.btn.primary{background:linear-gradient(#6ee7ff38,#6ee7ff1a);border-color:#6ee7ff66}.notice{border-radius:var(--radius);border:1px solid var(--line);background:var(--glass);margin-bottom:22px;padding:22px 24px}.notice h2{margin:0 0 8px;font-size:16px}.notice ol{color:var(--text-dim);margin:12px 0 0;padding-left:18px;font-size:14px;line-height:1.7}.notice code{background:#ffffff14;border-radius:6px;padding:1px 6px;font-size:12.5px}.section-title{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;margin:30px 0 14px;font-size:14px}.banner{border:1px solid var(--line);border-radius:12px;margin-bottom:20px;padding:12px 16px;font-size:14px}.banner.good{background:#34d3991f;border-color:#34d3994d}.banner.bad{background:#f871711f;border-color:#f871714d}.badge{white-space:nowrap;border:1px solid var(--line);border-radius:999px;align-items:center;gap:5px;padding:5px 11px;font-size:12px;font-weight:560;display:inline-flex}.badge.done{color:var(--green);background:#34d3991f;border-color:#34d3994d}.badge.missed{color:var(--red);background:#f871711f;border-color:#f871714d}.badge.upcoming{color:var(--text-dim);background:var(--glass-strong)}.badge.rest{color:var(--text-dim);background:0 0}.btn{min-height:42px}.nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.nav .btn{padding:8px 12px;font-size:13px}.nav-sep{background:var(--line);align-self:stretch;width:1px;min-height:20px;margin:0 2px}@media (max-width:640px){.nav{justify-content:flex-start}.nav-sep{display:none}.wrap{padding:22px 16px 72px}.topbar{flex-direction:column;align-items:stretch;gap:14px;margin-bottom:22px}.nav{flex-wrap:wrap}.brand{font-size:20px}.metric{font-size:32px}.card{padding:16px}.notice{padding:18px 16px}.section-title{margin:24px 0 12px}.btn{min-height:44px;padding:11px 14px}input,textarea,select{font-size:16px!important}}:root{--c-recovery:#34d399;--c-sleep:#a78bfa;--c-heart:#fb7185;--c-hrv:#6ee7ff;--c-strain:#fbbf24;--c-body:#f0abfc;--elev-1:0 1px 0 #ffffff0d inset, 0 10px 30px -16px #000000bf;--elev-2:0 1px 0 #ffffff12 inset, 0 26px 60px -24px #000c;--ease-out:cubic-bezier(.22, 1, .36, 1)}.card-x{background:linear-gradient(180deg, #ffffff0d, #ffffff05), var(--bg-soft);border:1px solid var(--line);box-shadow:var(--elev-1);-webkit-backdrop-filter:blur(18px)saturate(150%);border-radius:22px;padding:22px;position:relative;overflow:hidden}.card-x[style*=--glow]:before{content:"";background:radial-gradient(120% 80% at 100% 0%, var(--glow), transparent 55%);opacity:.14;pointer-events:none;position:absolute;inset:0}.rise{transition:transform .22s var(--ease-out), box-shadow .22s var(--ease-out), border-color .22s var(--ease-out)}.rise:hover{box-shadow:var(--elev-2);border-color:#ffffff29;transform:translateY(-3px)}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;animation:fade-up .6s var(--ease-out) forwards;animation-delay:calc(var(--i,0) * 65ms)}@keyframes draw{to{stroke-dashoffset:0}}.spark-draw{stroke-dasharray:1;stroke-dashoffset:1px;animation:draw 1.1s var(--ease-out) forwards;animation-delay:.15s}@keyframes shimmer{to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,#ffffff0a 25%,#ffffff1a 37%,#ffffff0a 63%) 0 0/200% 100%;border-radius:12px;animation:1.4s ease-in-out infinite shimmer}.num-xl{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:52px;font-weight:700;line-height:1}.navx{background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(18px)saturate(150%);border-radius:16px;flex-wrap:wrap;gap:4px;padding:6px;display:flex}.navx a{color:var(--text-dim);border-radius:11px;align-items:center;gap:7px;padding:8px 13px;font-size:13.5px;font-weight:540;text-decoration:none;transition:color .18s,background .18s;display:inline-flex}.navx a:hover{color:var(--text);background:#ffffff0d}.navx a.active{color:var(--text);background:var(--glass-strong);box-shadow:var(--elev-1)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}
