/* Athlete Signal: bright, tactile, information-first dashboard skin. */
:root{color-scheme:light;--bg:#f7f7ef;--panel:#fffefa;--line:#d8dfd4;--text:#17352e;--muted:#52675f;--mint:#25a26d;--gold:#ea673e}
body{background:#f7f7ef;color:#17352e;font-family:Signal,Arial,sans-serif}.app{grid-template-columns:210px minmax(0,1fr)}.sidebar{background:#fcfff8;border-right:1px solid #dfe7da;padding:29px 18px 22px}.brand{color:#17352e;font-weight:900;letter-spacing:.12em}.mark{color:#42bb75;font-size:40px}.side-label{color:#7b9083}.sidebar .nav{color:#667d70;font-weight:750;border-radius:14px;padding:14px 13px}.sidebar .nav:hover{background:#edf7e7}.sidebar .nav.active{background:#d8f3c8;color:#193e2b;box-shadow:0 3px 0 #bee3ab}.sidebar .nav.active span{color:#25995b}.person-dot{background:#dcdefb;color:#3f3994;border:2px solid #bcbff1}.side-bottom small{color:#64796c}.top{background:#f7f7ef;border-color:#e0e9da;padding:15px 40px}.desktop-top{color:#668174}.desktop-top b{color:#173b30}.date-picker select,.control-grid select,.library input{background:#fff;border:2px solid #d8e4d5;border-radius:14px;color:#193b30;font-weight:700;box-shadow:0 3px 0 #e2eade}.date-picker select:hover,.control-grid select:hover,.library input:hover{border-color:#6cb88b}main{max-width:1320px;padding:0 40px}.page{padding:38px 0 40px}.greeting{position:relative;margin-bottom:26px}.greeting:after{content:'✳';position:absolute;right:2px;top:-3px;font-size:62px;color:#bee7a5;transform:rotate(-12deg);pointer-events:none}.eyebrow,.section-label{font-size:10px;font-weight:900;letter-spacing:.13em;color:#4f7663}.eyebrow{display:inline-flex;align-items:center;gap:5px;background:#e2f3d8;padding:8px 12px;border-radius:25px;color:#367049;margin:0 0 13px}.dot{color:#3fae68}.section-label span{color:#7d9184}h1{font:850 clamp(38px,4vw,57px)/1.03 Signal,Arial,sans-serif;letter-spacing:-.055em;color:#19372e}h1 span,h1 em{color:#5271d9;font-style:normal}h2{font-weight:850;color:#19372e;letter-spacing:-.035em}.muted{color:#526a5f}.muted strong{color:#1c3e32}.textlink{color:#4565c2;font-weight:800}.greeting>.textlink{margin-right:78px}.dashboard-grid{display:block}.score-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.score-card{min-height:188px;border:2px solid transparent;border-radius:25px;padding:21px 23px;box-shadow:0 5px 0 #c8dcc7;color:#143c30;overflow:hidden;transition:transform .16s ease,box-shadow .16s ease}.score-card:hover{transform:translateY(-3px);box-shadow:0 8px 0 #c8dcc7}.score-card.readiness{background:linear-gradient(130deg,#d7f69f,#b9e984);border-color:#b6dc8e}.score-card.sleep{background:linear-gradient(130deg,#dedcff,#c5c7fc);border-color:#bbbcef;color:#303562;box-shadow:0 5px 0 #bbbfea}.score-card.activity{background:linear-gradient(130deg,#ffe2a3,#ffca92);border-color:#edc18c;color:#633f28;box-shadow:0 5px 0 #efc596}.score-card.sleep:hover{box-shadow:0 8px 0 #bbbfea}.score-card.activity:hover{box-shadow:0 8px 0 #efc596}.score-card:after{content:'';position:absolute;width:115px;height:115px;border:19px solid rgba(255,255,255,.25);border-radius:50%;right:-29px;bottom:-29px;pointer-events:none}.score-name{font-size:15px;font-weight:800;gap:10px}.score-icon{background:#ffffff88;color:inherit;width:38px;height:38px}.score-arrow{position:relative;z-index:1;color:inherit;background:#ffffff80;border-radius:50%;height:32px;width:32px;display:grid;place-items:center;font-size:16px}.score-value{font-size:58px;font-weight:850;letter-spacing:-.065em;margin-top:17px;line-height:1}.score-value small{color:inherit;opacity:.65;font-weight:600}.score-context{font-size:11px;color:inherit;opacity:.8;font-weight:650}.overview-side{margin-top:35px}.vitals-header{margin-bottom:14px}.vitals{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.vital{border:2px solid #e0e9df;background:#fffefa;border-radius:20px;padding:19px;min-height:137px;box-shadow:0 4px 0 #e3ebe0}.vital:nth-child(1){background:#f1f3ff;border-color:#e0e2fb}.vital:nth-child(2){background:#e9f9f3;border-color:#d3eee1}.vital:nth-child(3){background:#fff1ec;border-color:#f8ded4}.vital:nth-child(4){background:#fff8dc;border-color:#f2e8bc}.vital .v-name{font-weight:750;color:#536e62}.vital strong{font-size:28px;color:#19392f}.vital small{color:#5b7167}.pattern-preview{background:#d9e9ff;color:#203b5a;border:2px solid #c8ddf6;border-radius:23px;box-shadow:0 4px 0 #c6dbee;padding:22px;margin-top:17px}.preview-top{color:#375c8b}.preview-top span:last-child{color:#617d9d}.round-icon{background:#fff;color:#5488d5}.pattern-preview h3{font:850 24px/1.15 Signal,Arial,sans-serif;letter-spacing:-.04em;color:#233e5b;margin:14px 0 8px}.pattern-preview p{font-size:13px;font-weight:600;color:#456078;max-width:none}.preview-link{border-color:#adcae4;color:#345d90;font-size:12px}.day-bottom{gap:12px;margin-top:24px}.panel{background:#fffefa;color:#19392f;border:2px solid #e0e9df;border-radius:24px;box-shadow:0 4px 0 #e3ebe0;padding:23px}.panel .section-label{color:#678173}.mini-icon{background:#d8f2dc;color:#29935a}.sleep-track{background:#e7eee7;height:10px}.sleep-legend span{color:#52695e;font-weight:650}.workout-summary p{color:#5b7166}.caption,.footnote{color:#687d72}.footnote{margin:24px 0}.page-intro{margin:4px 0 30px}.page-intro p.muted{font-size:15px}.control-grid label{color:#496859;font-weight:800}.legend span{color:#536b5d;font-weight:650}.bin0{background:#e9ede7}.bin1{background:#f5c9af}.bin2{background:#f7df9d}.bin3{background:#b4dfbf}.bin4{background:#79c99f}.calendar{gap:11px}.month-card{background:#f7fbf4;border:2px solid #e1eddd;border-radius:18px}.month-head h3{color:#244735}.month-head button{color:#496ac8;font-weight:850}.calendar th{color:#788d7f;font-weight:800}.cal-day{color:#204632;font-weight:800;border-radius:7px}.cal-day.bin0{color:#789086}.cal-day:focus-visible{outline:3px solid #5d65ce}.month-stat{background:#edf7ee;border:1px solid #dbeedc;border-radius:14px}.month-stat span,.month-stat small{color:#668173}.month-stat strong{color:#214b37}.bar-row{color:#1c4432}.bar-row button{color:#345e49;font-weight:800}.bar-row small{color:#6c8275}.bar-track{background:#e4eee1}.bar-track i{background:#64c58d}.pattern-list{gap:13px}.pattern-card{background:#dceefe;color:#203d5a;border:2px solid #c8e0f8;border-radius:24px;box-shadow:0 4px 0 #c7ddee;padding:24px}.pattern-card:nth-child(2){background:#e5dcfa;color:#393166;border-color:#d6c8f1;box-shadow:0 4px 0 #d4c6e9}.pattern-card:nth-child(3){background:#fff0bf;color:#624525;border-color:#f5dea3;box-shadow:0 4px 0 #edd8a3}.pattern-card h2{font:850 25px/1.12 Signal,Arial,sans-serif;letter-spacing:-.04em;color:inherit;margin:14px 0}.pattern-card .number-line{font-size:35px;font-weight:900}.pattern-card p{font-size:13px;font-weight:600;color:inherit;opacity:.86}.pattern-card .section-label{color:inherit}.pattern-card details{border-color:#a9bfc5}.pattern-card summary{color:inherit;font-weight:850}.pattern-card a,.sources a,.downloads a,.download-btn{color:#385fb9}.shift-context>p:not(.section-label){color:#536b5f}.table-wrap{border-radius:12px}th,td{border-color:#e0e8de}th{color:#617c6d}.lab-result{background:#edf7eb;border:2px solid #d9ebd6;border-radius:18px}.lab-result h3{color:#224c35;font-weight:850}.lab-result p:not(.section-label){color:#546f60}.lab-pair>div{background:#fff;border:1px solid #dbe9d6;border-radius:13px}.lab-pair span,.lab-pair small{color:#617b6c}.lab-pair strong{color:#224c35}.filters .filter{color:#536f60;border:2px solid #dfebdd;background:#f9fcf7;font-weight:800}.filters .filter.active{background:#cff0b9;border-color:#c3e5ac;color:#275333;box-shadow:0 3px 0 #b9dda4}.metric{border-color:#e3ece2}.metric summary{color:#234537}.metric summary small{color:#718a7b}.metric-value{color:#315b48}.metric-value:after{color:#4f9d6b}.metric-body{color:#556f60}.metric-body a{color:#456bc2}.records-panel details{border-color:#e4ece2}.record-item{color:#567062;border-color:#e4ece2}.source-panel p:not(.section-label){color:#526b5e}.downloads{border-color:#e1e9de}footer{border-color:#dfe8dd;color:#748a7c}footer span{color:#6dbd83}.skip:focus{background:#17352e;color:white}button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #5177db;outline-offset:3px}
@media(max-width:1000px){.app{grid-template-columns:174px minmax(0,1fr)}main{padding:0 28px}.top{padding:14px 28px}.dashboard-grid{display:block}.score-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.vitals{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.app{display:block}.top{padding:16px 18px 8px;background:#f7f7ef}.mobilebrand{display:flex}.mark{font-size:34px}.date-picker select{font-size:12px;max-width:154px;min-height:43px}main{padding:0 18px}.page{padding:20px 0 98px}.greeting{margin-bottom:22px}.greeting:after{font-size:44px;right:3px;top:20px}.greeting h1,.page-intro h1{font-size:37px;max-width:290px;line-height:1.03}.greeting .muted{font-size:13px}.greeting .textlink{display:none}.eyebrow{font-size:9px;padding:7px 11px}.dashboard-grid{display:block}.score-cards{grid-template-columns:1fr;gap:11px}.score-card{min-height:143px;border-radius:23px;padding:17px 19px}.score-name{font-size:15px}.score-value{font-size:50px;margin-top:12px}.score-card:after{width:100px;height:100px;border-width:16px}.overview-side{margin-top:32px}.vitals{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.vital{padding:15px 13px;min-height:120px;border-radius:17px}.vital strong{font-size:23px}.vital small{font-size:10px}.pattern-preview{padding:19px}.pattern-preview h3{font-size:21px}.day-bottom{grid-template-columns:1fr}.panel{padding:18px;border-radius:20px}.pattern-card{padding:21px;border-radius:21px}.pattern-card h2{font-size:23px}.pattern-card .number-line{font-size:30px}.calendar{grid-template-columns:1fr}.control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.control-grid label:last-child:nth-child(3){grid-column:span 2}.lab-controls label:last-child{grid-column:auto}.mobile-nav{background:rgba(255,255,250,.97);border:2px solid #d8e5d4;box-shadow:0 4px 0 #d9e4d7,0 12px 28px #2a54352b;border-radius:26px;bottom:max(10px,env(safe-area-inset-bottom));width:min(330px,calc(100% - 30px));padding:5px}.mobile-nav .nav{color:#748a7b;min-width:66px;padding:6px 9px;font-weight:800;font-size:10px}.mobile-nav .nav.active{background:#d8f4cb;color:#286142}.mobile-nav .nav.active span{color:#299d5e}.nav span svg{stroke-width:1.9}footer{padding:20px 18px 110px}}
.pattern-list>*{min-width:0}.table-wrap{max-width:100%}.pattern-card .number-line span{color:#587466!important}.vital{text-align:left;width:100%;cursor:pointer}.vital:hover{transform:translateY(-2px);border-color:#96c6a6}.vital:active{transform:translateY(1px)}
@keyframes signal-arrive{from{opacity:.75;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.page:not([hidden]){animation:signal-arrive .24s ease-out}.score-card:active{transform:translateY(2px);box-shadow:0 2px 0 #c8dcc7}@media(prefers-reduced-motion:reduce){.page:not([hidden]){animation:none}.vital,.score-card{transition:none}}
/* Editorial hierarchy: fewer type sizes, consistent spacing and readable evidence. */
h1,h2,h3{letter-spacing:-.035em}h1 em{font-weight:750}.score-card{min-height:173px}.score-value{font-size:54px}.section-label{letter-spacing:.105em}.evidence-panel{margin-top:12px}.evidence-panel>h2{margin-bottom:17px}.research-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.research-grid article{background:#f5f9f2;border:1px solid #ddeadd;border-radius:16px;padding:17px;min-width:0}.research-grid h3{font-size:15px;font-weight:850;line-height:1.3}.research-grid p{font-size:13px;line-height:1.55;color:#526b5e;margin:10px 0 13px}.research-grid a{font-size:12px;line-height:1.4;color:#3a5eb2;font-weight:750}.pattern-card details p{line-height:1.55}.pattern-card .number-line{line-height:1.1}.pattern-card table{font-size:12px}.lab-result strong{letter-spacing:-.035em}.source-panel .caption{margin-top:12px}
@media(max-width:720px){.score-card{min-height:130px}.score-value{font-size:48px;margin-top:8px}.score-name{font-size:14px}.score-context{margin-top:4px}.greeting:after{top:22px;font-size:40px}.greeting h1,.page-intro h1{font-size:36px;line-height:1.08}.research-grid{grid-template-columns:1fr}.research-grid article{padding:16px}.research-grid p{margin:8px 0 10px}}
.pattern-card>p:not(.section-label),.pattern-card details p{font-size:14px;font-weight:500;opacity:1;line-height:1.55}.pattern-card .section-label{font-size:10px;font-weight:850;opacity:1}.pattern-card summary{font-size:12px}.greeting h1{max-width:none}
/* Recorded-day navigation and sleep-first layout */
.day-navigation{display:flex;align-items:center;gap:8px;margin:0 0 7px;padding:8px;background:#edf4e7;border:2px solid #d9e9d2;border-radius:20px}.day-navigation button{min-height:44px;border:0;border-radius:13px;background:#fff;color:#244c37;padding:0 15px;font:inherit;font-weight:800;cursor:pointer}.day-navigation button:disabled{opacity:.4;cursor:not-allowed}.day-navigation button:focus-visible,.sleep-more:focus-visible{outline:3px solid #5367d9;outline-offset:2px}.day-current{flex:1;text-align:center;min-width:0}.day-current span,.sleep-main>div>span,.sleep-score-mini>span{display:block;font-size:10px;letter-spacing:.1em;font-weight:800;color:#617969}.day-current strong{display:block;color:#18392a;font-size:15px}.day-nav-note{margin:0 0 22px;padding-left:4px;color:#607669;font-size:12px}.sleep-feature{background:#e7e6ff;border:2px solid #c5c7f3;border-radius:24px;box-shadow:0 5px 0 #c9ccec;padding:24px;margin-bottom:30px;color:#252f5e}.sleep-feature-head{display:flex;justify-content:space-between;align-items:start}.sleep-feature .section-label{color:#626aa0;margin:0 0 6px}.sleep-feature h2{font-size:26px;line-height:1.15;margin:0 0 6px}.sleep-intro{margin:0;color:#58618c;font-size:14px}.sleep-moon{display:grid;place-items:center;width:49px;height:49px;border-radius:50%;background:#fff;font-size:30px;color:#6663c8}.sleep-main{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin:21px 0 15px}.sleep-main>div>span,.sleep-score-mini>span{color:#5f6797}.sleep-main strong{display:block;font-size:38px;letter-spacing:-.05em;line-height:1.2}.sleep-main p{margin:4px 0 0;font-size:14px;color:#4c5980}.sleep-main p small{color:#667194}.sleep-score-mini{border-radius:16px;background:#f8f8ff;padding:12px 15px;text-align:center;min-width:120px}.sleep-score-mini strong{font-size:26px}.sleep-score-mini strong small{font-size:12px;letter-spacing:0;color:#667194}.sleep-facts{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.sleep-facts>div{background:#f9f9ff;border-radius:13px;padding:12px;min-width:0}.sleep-facts span,.sleep-facts strong{display:block}.sleep-facts span{font-size:12px;color:#616b8e}.sleep-facts strong{font-size:16px;color:#29335c;margin-top:3px}.sleep-feature #sleep-breakdown{margin-top:18px}.sleep-feature .caption{color:#515d83}.sleep-feature .sleep-track{height:12px}.sleep-feature .sleep-legend{color:#465477}.sleep-feature #sleep-sessions details{margin-top:17px;border-top:1px solid #c4c7e7;padding-top:15px}.sleep-feature #sleep-sessions summary{cursor:pointer;list-style:none;font-weight:800;color:#3c4683;font-size:14px}.sleep-feature #sleep-sessions summary span{float:right}.sleep-session-note{font-size:13px;line-height:1.5;color:#555f83}.sleep-session{display:grid;grid-template-columns:1fr auto;gap:3px 10px;padding:10px 0;border-bottom:1px solid #d3d5ec}.sleep-session>span{font-size:10px;letter-spacing:.08em;font-weight:800;color:#626b95}.sleep-session strong{grid-column:2;grid-row:1 / span 2}.sleep-session small{font-size:12px;color:#535f84}.sleep-more{display:inline-block;background:none;border:0;padding:15px 0 0;font:inherit;font-weight:800;color:#3e498b;cursor:pointer}.sleep-empty{margin:20px 0;padding:18px;border-radius:14px;background:#fafaff;color:#4d587d;line-height:1.5}.day-bottom{grid-template-columns:1fr}.selected-day{outline:3px solid #2f3d84;outline-offset:1px}.bin0{background:#e8eceb}.bin1{background:#e0e9f6}.bin2{background:#c6d7ee}.bin3{background:#a6c2e5}.bin4{background:#7fa6d6}.cal-day.bin0{color:#657979}.cal-day.bin1,.cal-day.bin2,.cal-day.bin3,.cal-day.bin4{color:#173558}
@media(max-width:650px){.day-navigation{flex-wrap:wrap}.day-navigation button{padding:0 12px}.day-navigation #browse-day{width:100%;background:#d8ebd5}.day-current strong{font-size:14px}.sleep-feature{padding:18px}.sleep-feature h2{font-size:23px}.sleep-main strong{font-size:34px}.sleep-score-mini{min-width:94px;padding:10px}.sleep-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.sleep-facts>div{padding:10px 8px}.sleep-facts span{font-size:11px}.sleep-facts strong{font-size:14px}.sleep-main p{font-size:13px}}

.sleep-moon svg{width:25px;height:25px;display:block}.vitals .vital:nth-child(n){background:#f0f4fa;border-color:#d8e3ee}
