:root{--bg: #070b12;--bg-glow-a: rgba(65, 120, 255, .18);--bg-glow-b: rgba(36, 209, 177, .12);--panel: #0f1622;--card: #111d2d;--card-soft: #0d1726;--text: #ecf2ff;--muted: #96a6c1;--border: #25364b;--accent: #7db0ff;--accent-2: #67d9ba;--accent-soft: rgba(125, 176, 255, .24);--accent-surface: rgba(24, 39, 58, .84);--chart-bar: #7dd3fc;--chart-bar-soft: rgba(125, 211, 252, .32);--radius-lg: 18px;--radius-md: 14px;--radius-sm: 10px;--shadow: 0 18px 38px rgba(3, 8, 18, .45);--space-1: 8px;--space-2: 12px;--space-3: 16px;--space-4: 20px;--space-5: 24px;color-scheme:dark}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:radial-gradient(900px 380px at 12% -8%,var(--bg-glow-a),transparent 58%),radial-gradient(900px 430px at 88% 0%,var(--bg-glow-b),transparent 62%),var(--bg);min-height:100vh}.topbar{position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(125,176,255,.16);background:#080d15d1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:10px 14px}#topNav{max-width:560px;margin:0 auto;display:grid;gap:10px}.top-nav-title{font-size:.88rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:650}.tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.container{max-width:560px;margin:0 auto;padding:14px;display:grid;gap:var(--space-3)}.card{border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(180deg,#131e2ef5,#0c1420f0);box-shadow:var(--shadow);padding:var(--space-4)}.page-stack{display:grid;gap:var(--space-3)}.page-header{padding:2px 2px 0}.page-header:not(.card){border:0;background:none;box-shadow:none;padding:0 2px}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.08em;color:#9bb7e8;font-size:.72rem}body[data-page=readiness]{--accent: #64d7cc;--accent-2: #78e4d3;--accent-soft: rgba(100, 215, 204, .26);--accent-surface: rgba(18, 45, 49, .8);--chart-bar: #66d6c7}body[data-page=sleep]{--accent: #7d98ff;--accent-2: #9b8bff;--accent-soft: rgba(125, 152, 255, .25);--accent-surface: rgba(22, 33, 62, .82);--chart-bar: #8da0ff;--sleep-surface-top: rgba(53, 74, 128, .22);--sleep-surface-bottom: rgba(9, 14, 24, .95)}body[data-page=activity]{--accent: #d6b65f;--accent-2: #95d676;--accent-soft: rgba(214, 182, 95, .26);--accent-surface: rgba(45, 39, 22, .8);--chart-bar: #d8c073}body[data-page=heart-rate]{--accent: #72b8ff;--accent-2: #7ad9ff;--accent-soft: rgba(114, 184, 255, .25);--accent-surface: rgba(20, 37, 56, .82);--chart-bar: #79bffd}body[data-page=stress]{--accent: #cf78ff;--accent-2: #ff9cb0;--accent-soft: rgba(207, 120, 255, .25);--accent-surface: rgba(49, 25, 57, .82);--chart-bar: #ef8dcd}body[data-page=settings]{--accent: #9eb4cf;--accent-2: #8fd3c6;--accent-soft: rgba(158, 180, 207, .24);--accent-surface: rgba(29, 36, 47, .82);--chart-bar: #9cc2d7}.page-header h1{margin:4px 0;font-size:1.7rem;line-height:1.1}.page-header p{margin:0}.tab-link,.btn{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:var(--radius-sm);padding:8px 10px;font-size:.82rem;text-align:center;text-decoration:none;cursor:pointer}.tab-link.active,.btn.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--accent),transparent 55%)}.btn.secondary{background:var(--card-soft)}.btn:disabled{opacity:.45;cursor:not-allowed}.date-range-control{display:grid;gap:var(--space-2);padding:var(--space-3) var(--space-4)}.date-range-control h3{margin:0;font-size:.95rem}.preset-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.row{display:flex;align-items:center;gap:var(--space-1);flex-wrap:wrap}.split-row{justify-content:space-between}.summary-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.chip-card{border:1px solid color-mix(in oklab,var(--accent),transparent 65%);border-radius:var(--radius-md);background:linear-gradient(180deg,color-mix(in oklab,var(--accent-surface),transparent 10%),#0d141ff2);padding:10px}.chip-title{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.chip-value{margin-top:5px;font-size:1.08rem;font-weight:700}.chip-note{margin-top:2px;font-size:.76rem;color:#aac2e8}.hero-card h2{margin:6px 0 0}.hero-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.status-pill{border-radius:999px;border:1px solid color-mix(in oklab,var(--accent),transparent 55%);color:color-mix(in oklab,var(--accent),white 35%);background:color-mix(in oklab,var(--accent),transparent 86%);padding:3px 10px;font-size:.74rem}.hero-value{margin-top:8px;font-size:2rem;font-weight:760}.hero-extra{margin-top:10px;padding-top:10px;border-top:1px solid rgba(150,166,193,.2)}.hero-trend-wrap{margin-top:10px}.hero-trend{border:1px solid color-mix(in oklab,var(--accent),transparent 70%);border-radius:var(--radius-md);padding:8px;background:#0e1823e0}.hero-trend-head{display:flex;justify-content:space-between;gap:8px;font-size:.72rem;color:var(--muted);margin-bottom:6px}.hero-trend-svg{width:100%;height:62px;display:block}.hero-trend-line{fill:none;stroke:var(--accent);stroke-width:1.8}.hero-trend-dot{fill:color-mix(in oklab,var(--accent),white 20%)}.hero-trend-calm .hero-trend-line{stroke:color-mix(in oklab,#7ab8ff,var(--accent) 45%)}.hero-trend-calm .hero-trend-dot{fill:color-mix(in oklab,#7ab8ff,white 20%)}.hero-trend-stress .hero-trend-line{stroke:color-mix(in oklab,#ff8f7b,var(--accent-2) 35%)}.hero-trend-stress .hero-trend-dot{fill:color-mix(in oklab,#ff8f7b,white 15%)}.section-card{display:grid;gap:10px}.section-head h3{margin:0;font-size:.98rem;letter-spacing:.02em}.section-head p{margin:3px 0 0;font-size:.8rem}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.metric-card{border:1px solid color-mix(in oklab,var(--accent),transparent 65%);border-radius:var(--radius-md);background:color-mix(in oklab,var(--accent-surface),rgba(10,18,29,.9) 72%);padding:10px}.metric-label{font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.metric-value{margin-top:4px;font-weight:700;font-size:1.02rem}.metric-note{margin-top:4px;font-size:.76rem;color:#a7badc}.contributor-list{display:grid;gap:9px}.contributor-row{border:1px solid color-mix(in oklab,var(--accent),transparent 75%);border-radius:var(--radius-md);padding:10px;background:#0e1622eb}.sleep-surface{display:grid;gap:14px;padding:2px}body[data-page=sleep] .page-stack{gap:14px}body[data-page=sleep] .card{background:linear-gradient(180deg,#192031fa,#0c121ef2),radial-gradient(110% 95% at 10% 0%,var(--sleep-surface-top),transparent 65%);border-color:#8093cb42;box-shadow:0 12px 28px #02070f6b,inset 0 1px #b4c1ff0f}body[data-page=sleep] .hero-card .eyebrow,body[data-page=sleep] .metric-label{color:#95a7cf;letter-spacing:.09em}body[data-page=sleep] .hero-value{font-size:2.35rem;letter-spacing:-.02em}body[data-page=sleep] .muted{color:#8e9fbe}body[data-page=sleep] .status-pill{font-size:.68rem;letter-spacing:.08em;font-weight:650}.sleep-duo{display:grid;grid-template-columns:1fr;gap:12px}.sleep-card{gap:12px}.sleep-card--secondary{border-color:#788abc33!important;box-shadow:0 8px 20px #02070f4d,inset 0 1px #b4c1ff0a!important;background:linear-gradient(180deg,#151d2bf2,#0b101be6),radial-gradient(110% 95% at 10% 0%,rgba(86,101,136,.18),transparent 65%)!important}.sleep-estimate-chip{text-transform:uppercase;letter-spacing:.08em}.sleep-card-copy{margin:2px 0 0;color:#9badd2;line-height:1.4}.sleep-debt-value{font-size:2rem;font-weight:760;line-height:1;letter-spacing:-.02em}.sleep-debt-status{font-size:.72rem;letter-spacing:.11em;color:#aebde0;font-weight:700}.sleep-debt-gauge{display:grid;gap:8px}.sleep-debt-track{height:12px;border-radius:999px;padding:1px;background:linear-gradient(90deg,#5f7ab038 0,#5f7ab038 20%,#6482bf4d 20%,#6482bf4d 45%,#8478c957 45%,#8478c957 75%,#a06eca6b 75%,#a06eca6b);box-shadow:inset 0 0 0 1px #8a9bc43d}.sleep-debt-track>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8ca7ff,#b39bff);box-shadow:0 0 14px #8aa3ff61}.sleep-debt-bands{display:flex;justify-content:space-between;font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;color:#8597bb}.sleep-debt-high .sleep-debt-status{color:#d5a8ff}.sleep-debt-moderate .sleep-debt-status{color:#b8a7ff}.sleep-debt-low .sleep-debt-status{color:#9fb6ff}.sleep-debt-none .sleep-debt-status{color:#98c8ff}.body-clock-arc{width:100%;height:132px}.clock-track{fill:none;stroke-linecap:round}.clock-track.outer{stroke:#8fa1d738;stroke-width:12}.clock-track.inner{stroke:#b09af359;stroke-width:8}.clock-dot{stroke:#0a101cd9;stroke-width:1.8}.clock-dot.selected{fill:#9ab0ff}.clock-dot.habitual{fill:#c1b1ff}.debug-meta{margin-top:6px}.debug-meta summary{cursor:pointer;font-size:.76rem;color:#8ea3cb;text-transform:uppercase;letter-spacing:.08em}.debug-meta pre{margin:6px 0 0;max-height:180px;overflow:auto;font-size:.7rem;border-radius:10px;border:1px solid rgba(120,141,191,.25);background:#0a101dd9;padding:8px}.progress{margin-top:8px;width:100%;height:8px;border-radius:999px;background:#6a87b438;overflow:hidden}.progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent-2))}.small{font-size:.82rem}.muted{color:var(--muted)}.placeholder{color:#afbdd4;font-style:italic}.activity-list{display:grid;gap:8px}.activity-item{border:1px solid rgba(125,176,255,.14);border-radius:var(--radius-md);background:#0d1622e6;padding:10px;display:grid;gap:6px}.chart-card{border:1px solid color-mix(in oklab,var(--accent),transparent 68%);border-radius:var(--radius-md);background:color-mix(in oklab,var(--accent-surface),rgba(10,18,29,.92) 74%);padding:10px}.axis-chart{width:100%;display:block}.grid-line{stroke:#96a6c138;stroke-width:.8}.axis-line{stroke:#a3c3f480;stroke-width:1}.tick{fill:#aac2e8;font-size:9px;letter-spacing:.01em}.top-gap{margin-top:8px}input[type=date],input[type=file],textarea{border:1px solid rgba(125,176,255,.22);border-radius:var(--radius-sm);background:#070c14db;color:var(--text);padding:8px}textarea.debug-text{width:100%;min-height:220px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}.boot-shell{padding:14px}.boot-splash{max-width:560px;margin:0 auto}@media (min-width: 760px){.container,#topNav,.boot-splash{max-width:920px}.tabs{grid-template-columns:repeat(7,minmax(0,1fr))}.summary-strip{grid-template-columns:repeat(5,minmax(0,1fr))}.preset-row{grid-template-columns:repeat(6,minmax(0,1fr))}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.sleep-duo{grid-template-columns:repeat(2,minmax(0,1fr))}}
