@font-face{font-family:Signal;src:url('fonts/noto-sans.ttf')}@font-face{font-family:SignalSerif;src:url('fonts/LiberationSerif-Regular.ttf')}@font-face{font-family:SignalSerif;src:url('fonts/LiberationSerif-Italic.ttf');font-style:italic}*{box-sizing:border-box}:root{color-scheme:dark;--bg:#141519;--panel:#1c2024;--line:#373d40;--muted:#aeb9b7;--text:#f3f0ec;--mint:#84d7c1;--gold:#e0c78e}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 Signal,Arial,sans-serif}button,select,input{font:inherit}button{cursor:pointer}a{color:inherit}button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #d9c291;outline-offset:3px}.skip{position:absolute;left:-9999px;top:0}.skip:focus{left:10px;z-index:100;background:#fff;color:#111;padding:10px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}.app{display:grid;grid-template-columns:212px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid #303437;padding:30px 20px;background:#15181a;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;font-size:11px;line-height:1.06;letter-spacing:.16em;font-weight:800}.mark{font-size:35px;color:#9ed4b9;line-height:1}.side-label,.section-label,.eyebrow{font-size:10px;letter-spacing:.15em;font-weight:800;color:#adbdb7}.side-label{margin:62px 12px 14px}.sidebar nav{display:grid;gap:7px}.nav{border:0;background:transparent;color:#9daaa7;text-align:left;font-weight:650}.sidebar .nav{border-radius:9px;padding:14px 12px}.sidebar .nav span{font-size:19px;display:inline-block;width:31px;font-weight:400}.sidebar .nav.active{background:#293534;color:white}.sidebar .nav.active span{color:var(--mint)}.side-bottom{margin-top:auto;display:flex;gap:11px;align-items:center;font-size:13px}.side-bottom small{display:block;color:var(--muted);font-size:11px}.person-dot{border-radius:50%;background:#b9d2c1;color:#1b2a25;width:37px;height:37px;display:grid;place-items:center;font-size:11px;font-weight:800}.workspace{min-width:0}.top{min-height:76px;border-bottom:1px solid #303639;display:flex;justify-content:space-between;align-items:center;padding:15px 42px}.desktop-top{font-size:10px;letter-spacing:.13em;color:#a3b0ab;font-weight:700}.desktop-top b{color:#e6e9e4;margin-left:18px}.mobilebrand{display:none}.date-picker select,.control-grid select,.library input{background:#252a2e;border:1px solid #454e50;border-radius:12px;color:#f3f0ec;min-height:44px;padding:10px 14px}main{max-width:1370px;margin:auto;padding:0 42px}.page{padding:38px 0 40px}.greeting,.panel-head,.vitals-header{display:flex;align-items:end;justify-content:space-between;gap:20px}.greeting{margin-bottom:30px}.eyebrow{color:#b8cfc1;margin:0 0 10px}.dot{color:#8cd4b1;font-size:7px;margin-left:5px}h1,h2,h3,p{margin:0}h1{font:400 clamp(39px,4vw,58px)/1.06 SignalSerif,Georgia,serif;letter-spacing:-.03em}h1 span,h1 em{color:#b9d7c5;font-weight:400}h2{font-size:20px;letter-spacing:-.025em}.muted{color:var(--muted);margin-top:9px}.muted strong{color:#e7ebe4}.textlink{border:0;background:transparent;color:#c1dace;font-weight:700;font-size:12px;padding:10px 0;white-space:nowrap}.textlink:hover{text-decoration:underline}.dashboard-grid{display:grid;grid-template-columns:minmax(300px,1fr) minmax(0,1.1fr);gap:27px}.section-label{margin:0 0 13px;color:#abb9b5}.section-label span{float:right;color:#7f918c;font-size:9px}.score-cards{display:grid;gap:12px}.score-card{border:1px solid rgba(255,255,255,.035);border-radius:22px;color:#f3f0ed;text-align:left;padding:21px 23px;min-height:155px;display:grid;grid-template-columns:1fr auto;position:relative;overflow:hidden;transition:transform .18s ease,border-color .18s}.score-card:hover{transform:translateY(-2px);border-color:#7b9292}.score-card.readiness{background:radial-gradient(ellipse at 76% -18%,#375a70 0,transparent 55%),linear-gradient(110deg,#1c2730,#1c303d)}.score-card.sleep{background:radial-gradient(ellipse at 75% -20%,#28594d 0,transparent 55%),linear-gradient(110deg,#1b2929,#19322f)}.score-card.activity{background:radial-gradient(ellipse at 75% -22%,#535238 0,transparent 55%),linear-gradient(110deg,#272724,#33342a)}.score-name{font-size:16px;display:flex;align-items:center;gap:10px}.score-icon{display:grid;place-items:center;background:#ffffff15;border-radius:50%;width:36px;height:36px;font-size:17px}.score-arrow{color:#c4d6ce;font-size:18px}.score-value{font-size:52px;font-weight:400;letter-spacing:-.06em;line-height:1;margin-top:17px}.score-value small{font-size:13px;color:#adbdb9;font-weight:400;letter-spacing:0}.score-context{font-size:11px;color:#bec9c4;margin-top:7px}.vitals-header{margin-bottom:15px}.vitals-header .section-label{margin-bottom:5px}.vitals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.vital{background:#202629;border:1px solid #303b3d;border-radius:16px;padding:18px;min-height:136px}.vital .v-name{font-size:12px;color:#bac8c3}.vital strong{display:block;font-size:26px;letter-spacing:-.04em;line-height:1.15;margin:12px 0 6px}.vital small{font-size:11px;color:#a5b5ae}.pattern-preview{border-radius:18px;background:linear-gradient(120deg,#303832,#26332f);border:1px solid #46534a;padding:20px;margin-top:12px}.preview-top{display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:.12em;color:#bbd9c3;font-weight:800}.preview-top span:last-child{margin-left:auto;color:#9fb3a9}.round-icon{display:grid;place-items:center;background:#b6d7bf;color:#273d31;width:27px;height:27px;border-radius:50%;font-size:16px}.pattern-preview h3{font:400 25px/1.15 SignalSerif,Georgia,serif;margin:15px 0 8px}.pattern-preview p{font-size:13px;color:#c0ccc4;max-width:480px}.preview-link{background:none;border:0;border-top:1px solid #65756b;width:100%;padding:13px 0 0;margin-top:17px;display:flex;justify-content:space-between;text-align:left;color:#d7e8d4;font-size:12px;font-weight:700}.day-bottom{display:grid;grid-template-columns:1.1fr .9fr;gap:12px;margin-top:24px}.panel{background:#1c2225;border:1px solid #343f40;border-radius:19px;padding:22px;min-width:0}.panel-head{margin-bottom:16px;align-items:center}.panel-head .section-label{margin-bottom:6px}.sleep-track{height:8px;display:flex;background:#323a3a;border-radius:10px;overflow:hidden;margin:20px 0 14px}.sleep-track i{height:100%}.sleep-legend{display:flex;gap:14px;flex-wrap:wrap}.sleep-legend span{font-size:12px;color:#c2ccc5}.sleep-legend i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.mini-icon{display:grid;place-items:center;border-radius:50%;background:#303c39;width:35px;height:35px;color:#b5d5c5}.workout-summary strong{display:block;font-size:25px;letter-spacing:-.04em}.workout-summary p{color:#b4c1bb;font-size:13px;margin-top:7px}.footnote,.caption{font-size:12px;color:#9eaca6;line-height:1.5}.footnote{margin:22px 0}.page-intro{margin:4px 0 28px}.page-intro p.muted{max-width:650px}.control-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.control-grid label{font-size:12px;font-weight:700;color:#cbd5cf}.control-grid select{width:100%;display:block;margin-top:7px}.legend{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 10px}.legend span{display:flex;align-items:center;gap:6px;font-size:11px;color:#c2cdc6}.swatch{height:11px;width:11px;border-radius:3px}.bin0{background:#30393a}.bin1{background:#798e8b}.bin2{background:#86a8a0}.bin3{background:#bdd5c1}.bin4{background:#e3c990}.calendar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:22px 0}.calendar.month{grid-template-columns:1fr}.month-card{border-radius:14px;padding:14px;background:#242d2e;border:1px solid #394849;min-width:0}.month-head{display:flex;justify-content:space-between;align-items:center}.month-head h3{font-size:14px}.month-head button{background:none;border:0;color:#b8ddcb;font-size:11px;font-weight:700;min-height:35px}.calendar table{min-width:0;width:100%;table-layout:fixed;border-spacing:3px;border-collapse:separate}.calendar th{font-size:10px;color:#a9b7b0;font-weight:500;padding:3px 0;text-align:center}.calendar td{padding:0;border:0}.cal-day{width:100%;height:40px;padding:2px;border:0;border-radius:5px;color:#152421;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:11px;font-weight:700;line-height:1.05}.cal-day.bin0{color:#bac8c3}.cal-day span{font-size:9px;font-weight:500}.cal-day i{font-style:normal}.cal-day:disabled{cursor:default}.calendar.month .cal-day{height:65px;font-size:14px}.calendar.month .cal-day span{font-size:11px}.month-highlights{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:18px}.month-stat{background:#293637;border-radius:10px;padding:13px}.month-stat span,.month-stat small{display:block;font-size:11px;color:#aebab2}.month-stat strong{font-size:20px}.trends{margin-top:12px}.trends .muted{font-size:13px}.bar-row{display:grid;grid-template-columns:70px 1fr 42px 50px;gap:12px;align-items:center;margin:12px 0;font-size:12px}.bar-track{height:7px;background:#303b3a;border-radius:10px;overflow:hidden}.bar-track i{display:block;height:100%;border-radius:10px;background:#91d1b9}.bar-row small{color:#aab6b0}.bar-row button{border:0;background:none;color:#e8eee9;text-align:left}.pattern-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pattern-card{padding:24px;border-radius:20px;background:#20282a;border:1px solid #3d4c49}.pattern-card:nth-child(2){background:#262a30;border-color:#454b53}.pattern-card:nth-child(3){background:#292b26;border-color:#4a5041}.pattern-card h2{font:400 27px/1.1 SignalSerif,Georgia,serif;margin:14px 0}.pattern-card .number-line{font-size:33px;letter-spacing:-.04em;font-weight:650;margin:16px 0 7px}.pattern-card p{font-size:13px;color:#c6d0c8}.pattern-card details{border-top:1px solid #52605a;margin-top:18px;padding-top:13px}.pattern-card summary{cursor:pointer;font-size:12px;font-weight:700;color:#c9ddcd}.pattern-card details p{margin-top:12px}.pattern-card a,.sources a,.downloads a{color:#d3ddbd}.shift-context{margin-top:12px}.shift-context>p:not(.section-label){font-size:14px;color:#c3d0c7;margin:12px 0}.table-wrap{overflow:auto;margin:16px 0}table{min-width:650px;width:100%;border-collapse:collapse;font-size:13px;text-align:left}th,td{border-bottom:1px solid #3d4a48;padding:12px;white-space:nowrap}th{color:#9faea6;font-size:11px}td small{color:#a6b6aa}.library-controls input{width:100%}.filters{display:flex;overflow:auto;gap:7px;margin:16px 0}.filter{white-space:nowrap;border:1px solid #495754;background:none;border-radius:30px;color:#bdcbc2;padding:8px 14px;font-size:12px;font-weight:700}.filter.active{background:#c5dacb;color:#1d2a24;border-color:#c5dacb}.metric{border-top:1px solid #3c4948}.metric summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:69px;cursor:pointer}.metric summary::-webkit-details-marker{display:none}.metric summary span:first-child{font-weight:650}.metric summary small{display:block;color:#a4b2aa;font-size:10px;text-transform:uppercase;letter-spacing:.06em}.metric-value{font-weight:700;font-size:17px;white-space:nowrap}.metric-value:after{content:' +';color:#b8d7c2}.metric[open] .metric-value:after{content:' −'}.metric-body{padding:0 0 18px;max-width:700px;color:#b9c7be;font-size:13px}.metric-body p{margin:7px 0}.metric-body a{color:#c9ddc4}.records-panel,.source-panel{margin-top:12px}.records-panel h2,.source-panel h2{margin-bottom:14px}.records-panel details{border-top:1px solid #3b4946;padding:14px 0}.records-panel summary{cursor:pointer;font-weight:650}.record-item{font-size:13px;color:#c4d0c7;border-top:1px solid #374240;padding:10px 0}.record-item:first-of-type{margin-top:14px}.source-panel p:not(.section-label){font-size:13px;color:#bfcac3}.sources,.downloads{display:flex;flex-wrap:wrap;gap:14px;margin:16px 0}.sources a,.downloads a{font-size:12px;font-weight:700}.downloads{padding-top:12px;border-top:1px solid #3d4947}footer{border-top:1px solid #303a3a;padding:24px 42px;color:#85958c;letter-spacing:.11em;font-weight:700;font-size:10px}footer span{color:#a8cdb2;margin:0 7px}.mobile-nav{display:none}.noscript{padding:20px;background:white;color:black}
@media(max-width:1000px){.app{grid-template-columns:174px minmax(0,1fr)}main{padding:0 28px}.top{padding:14px 28px}.calendar{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr 1fr;gap:14px}.score-card{min-height:150px}}
@media(max-width:720px){.app{display:block}.sidebar,.desktop-top{display:none}.mobilebrand{display:flex}.top{padding:16px 20px;border:0;min-height:72px}.date-picker select{max-width:153px;font-size:12px;padding:9px}.mark{font-size:31px}.brand{font-size:10px}main{padding:0 18px}.page{padding:24px 0 95px}.greeting{display:block;margin-bottom:22px}.greeting .textlink{display:none}.eyebrow{font-size:9px}.greeting h1,.page-intro h1{font-size:42px}.greeting .muted{font-size:13px}.dashboard-grid{display:flex;flex-direction:column;gap:27px}.score-cards{gap:10px}.score-card{min-height:155px;border-radius:24px;padding:20px}.score-name{font-size:16px}.score-value{font-size:52px}.vitals{gap:8px}.vital{padding:16px 14px;min-height:125px}.vital strong{font-size:23px}.pattern-preview{padding:19px}.day-bottom{grid-template-columns:1fr}.panel{padding:18px;border-radius:16px}.control-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.control-grid label:last-child{grid-column:span 2}.calendar{grid-template-columns:1fr}.calendar.month .cal-day{height:58px}.month-highlights{grid-template-columns:repeat(2,1fr)}.pattern-list{grid-template-columns:1fr}.pattern-card{padding:21px}.pattern-card h2{font-size:26px}.bar-row{grid-template-columns:58px 1fr 35px 44px;gap:7px;font-size:11px}.mobile-nav{position:fixed;bottom:max(12px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:10;display:flex;justify-content:space-around;gap:3px;padding:6px;background:rgba(42,45,48,.96);border:1px solid #62666a;border-radius:30px;box-shadow:0 8px 25px #0006;width:min(320px,calc(100% - 32px))}.mobile-nav .nav{border-radius:24px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5px 10px;min-width:62px;font-size:10px;line-height:1.15}.mobile-nav .nav span{font-size:20px;line-height:1.1;font-weight:400}.mobile-nav .nav.active{background:#414b4a;color:#f8f5ed}.mobile-nav .nav.active span{color:#b7e2cb}footer{padding:20px 18px 115px;font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.score-card{transition:none}}
.nav span svg{display:block;width:19px;height:19px}.sidebar .nav span svg{display:inline-block;vertical-align:middle}.mobile-nav .nav span svg{width:20px;height:20px;margin:0 auto 3px}.discovery{margin-top:12px}.discovery .muted{font-size:13px}.lab-controls{grid-template-columns:repeat(4,minmax(0,1fr));margin:20px 0}.lab-result{background:#263334;border:1px solid #40514b;border-radius:13px;padding:20px;margin:18px 0}.lab-result h3{font-size:17px;margin:5px 0 14px}.lab-result p:not(.section-label){font-size:12px;color:#b5c5bb;margin-top:13px}.lab-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.lab-pair>div{background:#1d2929;border-radius:10px;padding:14px}.lab-pair span,.lab-pair small{display:block;font-size:11px;color:#b3c1b8}.lab-pair strong{display:block;font-size:22px;letter-spacing:-.03em;margin:4px 0}@media(max-width:720px){.lab-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-controls label:last-child{grid-column:auto}}
.score-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.download-btn{border:0;padding:0;background:none;color:#d3ddbd;font-size:12px;font-weight:700;text-decoration:underline}
