:root{color-scheme:dark;--bg:#101313;--surface:#181d1d;--line:#2a3030;--text:#edf1ec;--muted:#9aa5a2;--dim:#6d7a76;--lime:#c3f17a;--blue:#93c4f7;--violet:#b9a4ed;--rose:#da99a6;--orange:#e6b382;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;font-synthesis:none;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);min-width:300px}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{color:inherit;cursor:pointer;border:0;background:none;touch-action:manipulation}button:disabled{cursor:wait;opacity:.6}button:active{transform:scale(.97)}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--lime);outline-offset:5px}a{color:var(--blue);text-underline-offset:4px}svg{flex-shrink:0}h1,h2,h3,p{margin:0}button, a{transition:color .18s,background .18s,opacity .18s,transform .12s}h1{font-size:clamp(2.6rem,5.8vw,4rem);font-weight:510;letter-spacing:-.055em;line-height:1.12}h2{font-size:1.1rem;font-weight:550;letter-spacing:-.025em}h3{font-size:1.05rem;margin:26px 0 10px;font-weight:600}.app-frame{max-width:1180px;margin:auto;padding:0 46px 120px}.app-header{display:flex;align-items:center;justify-content:space-between;height:100px;padding-top:max(env(safe-area-inset-top),var(--tg-content-safe-area-inset-top,0px));gap:14px}.brand{display:flex;align-items:center;gap:10px;font-size:1.2rem;font-weight:720;letter-spacing:.14em;padding:0;min-height:44px}.brand svg{color:var(--lime)}.brand-dot{font-size:.8rem;align-self:flex-start;color:var(--lime);margin-left:-7px;padding-top:6px}.header-actions{display:flex;align-items:center;gap:26px}.device-status{display:flex;gap:7px;align-items:center;font-size:.6rem;letter-spacing:.13em;color:var(--muted)}.device-status i{width:5px;height:5px;background:var(--dim);border-radius:50%}.device-status i.connected{background:var(--lime)}.refresh-button{display:flex;align-items:center;gap:8px;border:1px solid #36413c;border-radius:100px;padding:10px 14px;font-size:.75rem;min-height:42px}.refresh-button:hover{background:#202923}.sync-line{font-size:.69rem;min-height:29px;display:flex;align-items:center;gap:12px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:12px;flex-wrap:wrap}.sync-line button{font-size:inherit;display:flex;align-items:center;gap:3px;color:var(--lime);padding:0;min-height:20px}.sync-line.active{color:var(--lime)}.shell{padding-top:42px}.page-heading{display:flex;align-items:center;gap:14px;margin-bottom:30px}.eyebrow{font-size:.64rem;line-height:1.5;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border-radius:50%}.icon-button:hover{background:var(--surface)}.back-button{margin-left:-8px;border:1px solid var(--line)}.overview-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:68px}.overview-aside{padding-top:16px}.overview-rings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:45px -7px 34px}.ring-button{padding:0;display:flex;align-items:center;flex-direction:column;min-width:0}.ring-button:hover .orbit{filter:brightness(1.15)}.orbit{width:100%;max-width:180px;aspect-ratio:1;position:relative;isolation:isolate;transition:filter .2s}.orbit:before{content:'';position:absolute;inset:20%;background:var(--accent);opacity:.035;border-radius:50%;filter:blur(12px);z-index:-1}.orbit svg{width:100%;height:100%;overflow:visible}.orbit-ticks{fill:none;stroke:#526058;stroke-width:2;stroke-dasharray:1 8.5;opacity:.45}.orbit-track{fill:none;stroke:#303a34;stroke-width:5.5}.orbit-progress{fill:none;stroke:var(--accent);stroke-width:5.5;stroke-linecap:round;stroke-dasharray:var(--ring-length);stroke-dashoffset:var(--ring-offset);animation:draw-ring 1.2s cubic-bezier(.19,1,.22,1) both}.orbit-unknown{stroke-dasharray:3 7;stroke-dashoffset:0;opacity:.65;animation:none}.orbit-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:5px}.orbit-center strong{font-size:clamp(1.8rem,4.3vw,2.7rem);font-weight:520;letter-spacing:-.055em;font-variant-numeric:tabular-nums}.orbit-center span{font-size:.56rem;color:var(--muted);letter-spacing:.025em;margin-top:5px}.ring-title{font-size:.76rem;margin-top:14px;font-weight:550;letter-spacing:-.01em}.ring-button small{font-size:.63rem;color:var(--muted);margin-top:7px}.headline-insight{display:flex;align-items:center;gap:15px;padding:23px 0 27px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.tiny-mark{height:34px;width:3px;border-radius:3px;background:var(--blue);flex-shrink:0}.headline-insight h2{font-size:.9rem;margin-bottom:7px}.headline-insight p{font-size:.78rem;color:var(--blue)}.headline-insight p span{color:var(--muted);margin-left:5px}.headline-insight .icon-button{margin-left:auto;color:var(--muted)}.activity-section{padding-top:30px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.section-title h2{font-size:.97rem}.section-meta{font-size:.51rem;letter-spacing:.12em;color:var(--dim);display:flex;gap:5px;align-items:center}.text-button{font-size:.7rem;display:inline-flex;align-items:center;gap:5px;padding:7px 0;min-height:32px;color:var(--muted)}.text-button:hover{color:var(--text)}.steps-line{display:flex;align-items:baseline;gap:13px;margin-bottom:18px}.steps-line strong{font-size:2.5rem;font-weight:480;letter-spacing:-.055em;font-variant-numeric:tabular-nums}.steps-line>span{font-size:.74rem;color:var(--muted)}.slim-progress{height:4px;background:#29332d;border-radius:6px;overflow:hidden}.slim-progress i{display:block;height:100%;border-radius:inherit;background:var(--lime);transform-origin:left;animation:grow .8s cubic-bezier(.2,.8,.2,1) both}.slim-progress.blue{background:#28303a}.slim-progress.blue i{background:var(--blue)}.steps-caption{display:flex;justify-content:space-between;gap:12px;margin-top:12px;font-size:.62rem;color:var(--muted)}.steps-caption span:last-child{color:var(--lime);display:flex;align-items:center;gap:4px}.vitals-section{border-bottom:1px solid var(--line);padding-bottom:27px}.vitals-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;padding:3px 0 20px}.metric-label{display:flex;align-items:center;gap:5px;font-size:.68rem;color:var(--muted);line-height:1.6}.metric-label svg{color:var(--dim)}.metric-value{font-size:2.1rem;line-height:1.3;margin:5px 0;font-weight:460;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.metric-value span{font-size:.65rem;color:var(--muted);letter-spacing:0;margin-left:5px}.metric>small{font-size:.62rem;color:var(--dim)}.live-pulse{display:flex;align-items:center;gap:14px;padding-top:20px;border-top:1px solid var(--line)}.live-pulse>div{display:flex;flex-direction:column;flex-shrink:0;gap:8px}.live-pulse>div>span{font-size:.71rem;color:var(--muted)}.live-pulse strong{font-size:1.5rem;font-weight:470;color:var(--rose);letter-spacing:-.025em}.live-pulse strong small{font-size:.6rem;color:var(--muted)}.live-pulse>div>small{font-size:.6rem;color:var(--dim)}.sparkline{width:min(100%,180px);height:50px;margin-left:auto;min-width:0}.last-workout{padding-top:27px}.workout-row{display:flex;align-items:center;text-align:left;gap:14px;width:100%;padding:14px 0 21px;border-bottom:1px solid var(--line)}.activity-icon{width:44px;height:50px;display:flex;align-items:center;justify-content:center;color:var(--violet);background:#24232e;border-radius:18px}.workout-copy{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.workout-copy strong{font-size:.84rem;font-weight:550}.workout-copy>small{font-size:.65rem;color:var(--muted)}.workout-row>svg{color:var(--dim)}.workout-facts{font-size:.66rem;color:#c4ccc7;line-height:1.65}.workout-facts i{font-style:normal;color:var(--dim);padding:0 3px}.body-link{display:flex;align-items:center;gap:15px;width:100%;padding:24px 0;text-align:left;border-bottom:1px solid var(--line)}.body-mark{color:var(--orange)}.body-link>span:nth-child(2){display:flex;flex-direction:column;gap:6px;flex:1}.body-link strong{font-size:.85rem;font-weight:500}.body-link small{font-size:.63rem;color:var(--muted)}.body-link>svg{color:var(--dim)}.quiet-note{display:flex;align-items:center;gap:7px;color:var(--dim);font-size:.6rem;padding-top:20px}.quiet-note i{font-style:normal;margin:0 4px}.source-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:48px;padding-top:16px;border-top:1px solid var(--line);font-size:.61rem;color:var(--dim)}.source-footer .text-button{font-size:.61rem}.bottom-nav{position:fixed;z-index:10;bottom:16px;bottom:max(16px,env(safe-area-inset-bottom),var(--tg-content-safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);width:min(440px,calc(100% - 32px));height:67px;display:flex;padding:8px;background:rgba(30,37,34,.9);border:1px solid #38433b;border-radius:26px;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 15px 36px #0006}.nav-item{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;flex-direction:column;color:var(--muted);border-radius:18px;font-size:.57rem}.nav-item.selected{color:var(--lime);background:#303d2b}.nav-item:hover{background:#2a342b}.detail-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:70px;padding-top:13px}.detail-hero{text-align:center;padding:25px 0;display:flex;align-items:center;flex-direction:column}.detail-hero .orbit{width:260px;max-width:85%;margin-bottom:28px}.detail-hero .orbit-center strong{font-size:4rem}.detail-hero .orbit-center span{font-size:.71rem}.detail-hero h2{font-size:1.3rem;font-weight:500}.detail-hero>p{font-size:.78rem;color:var(--muted);line-height:1.7;margin-top:11px}.detail-hero>.text-button{margin-top:16px;color:var(--accent)}.data-row{padding:19px 0;display:flex;gap:20px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:.8rem}.data-row>div{display:flex;flex-direction:column;gap:7px}.data-row small{font-size:.66rem;color:var(--muted);line-height:1.5;max-width:330px}.data-row strong{font-size:.82rem;font-weight:500;text-align:right;white-space:nowrap}.reading-note{color:var(--muted);font-size:.8rem;line-height:1.8;margin-top:25px}.detail-data .section-title{margin-top:25px;margin-bottom:10px}.detail-data .section-title:first-child{margin-top:0}.sleep-duration{font-size:2.2rem!important;font-weight:470!important;letter-spacing:-.04em}.sleep-duration span{font-size:.9rem;color:var(--muted);padding-left:3px}.sleep-clock{display:flex;align-items:center;justify-content:space-between;padding:23px 0;border-bottom:1px solid var(--line)}.sleep-clock>div{display:flex;flex-direction:column;gap:10px}.sleep-clock>div:last-child{text-align:right}.sleep-clock small{font-size:.69rem;color:var(--muted)}.sleep-clock strong{font-size:2rem;font-weight:470;letter-spacing:-.04em}.sleep-connector{flex:1;display:flex;align-items:center;justify-content:center;color:var(--blue);position:relative;margin:0 30px}.sleep-connector:before,.sleep-connector:after{content:'';height:1px;background:var(--line);width:35%}.sleep-connector svg{margin:0 10px}.factors{padding-bottom:12px}.factor{padding:14px 0}.factor>div:first-child{display:flex;justify-content:space-between;margin-bottom:10px;font-size:.77rem}.factor strong{font-size:.73rem;font-weight:500;color:var(--blue)}.phase-strip{display:flex;height:21px;border-radius:5px;overflow:hidden;gap:3px;margin:23px 0 20px;background:var(--surface)}.phase-legend{display:flex;justify-content:space-between;gap:10px}.phase-legend>div{display:flex;flex-direction:column;gap:10px}.phase-legend>div>span{font-size:.65rem;color:var(--muted);display:flex;align-items:center;gap:5px}.phase-legend i{width:5px;height:5px;border-radius:50%}.phase-legend strong{font-size:.89rem;font-weight:500}.phase-legend strong span{font-size:.56rem;color:var(--muted);margin-left:2px}.tiny-copy{font-size:.65rem;color:var(--dim);line-height:1.8;margin-top:19px}.history-section,.workouts-section{margin-top:50px;border-top:1px solid var(--line);padding-top:30px}.night-row{display:grid;grid-template-columns:120px 1fr 110px;gap:20px;align-items:center;padding:13px 0;font-size:.77rem}.night-row>div{height:4px;background:var(--line);border-radius:6px}.night-row i{display:block;height:100%;background:var(--blue);border-radius:6px}.night-row strong{text-align:right;font-weight:450;color:var(--muted)}.load-number{font-size:7rem;line-height:1.1;letter-spacing:-.065em;font-weight:430;color:var(--violet);margin:20px 0 10px;font-variant-numeric:tabular-nums}.load-number>span{font-size:.55em;vertical-align:15%;margin-right:5px}.load-unit{font-size:.75rem!important}.load-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:35px 0 10px;width:100%}.load-summary .metric-label{justify-content:center;font-size:.62rem}.load-summary .metric-value{font-size:1.4rem}.load-summary .metric-value span{display:block;font-size:.59rem;margin:3px 0 0}.week-chart{display:flex;justify-content:space-between;gap:14px;padding-top:30px}.week-day{display:flex;flex-direction:column;align-items:center;flex:1;min-width:0}.week-day>span{font-size:.62rem;color:var(--violet);margin-bottom:8px}.bar-slot{height:150px;width:100%;max-width:26px;display:flex;align-items:flex-end;background:repeating-linear-gradient(to bottom,transparent 0,transparent 29px,#303633 29px,#303633 30px);border-radius:7px}.bar-slot i{height:var(--bar-height);background:var(--violet);width:100%;border-radius:5px 5px 2px 2px;transform-origin:bottom;animation:rise .9s cubic-bezier(.2,.8,.2,1)}.week-day.unobserved .bar-slot{background:none;border-bottom:1px dashed #424b46;border-radius:0}.week-day.unobserved>span{color:var(--dim)}.week-day>small{font-size:.62rem;color:var(--muted);margin-top:10px}.workouts-section .workout-row{padding:22px 0}.workouts-section .activity-icon{width:52px;height:56px}.body-hero{text-align:center;display:flex;flex-direction:column;align-items:center;padding-top:15px}.body-orbit{width:220px;height:220px;border:1px solid #403d32;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--orange);background:radial-gradient(#e6b3820b,transparent 70%);margin-bottom:25px}.body-hero>p,.body-hero>small{font-size:.75rem;color:var(--muted)}.body-hero>strong{font-size:4rem;color:var(--orange);font-weight:400;letter-spacing:-.05em;margin:12px 0}.body-hero>strong span{font-size:2rem}.metrics-top{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin:40px 0}.inventory{margin-top:35px}.inventory .data-row{padding:15px 0}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;margin-top:50px}.connection-title{display:flex;gap:16px;align-items:center;padding:15px 0;color:var(--lime)}.connection-title>div{display:flex;flex-direction:column;gap:9px}.connection-title strong{font-size:1rem;font-weight:500;color:var(--text)}.connection-title span{font-size:.72rem;color:var(--muted)}.primary-button,.outline-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 22px;border-radius:15px;font-size:.81rem;font-weight:550;margin-top:22px}.primary-button{background:var(--lime);color:#182017}.primary-button:hover{background:#d2ffa0}.outline-button{border:1px solid #495747;color:var(--lime)}.spaced{display:flex;margin-top:18px}form label{display:flex;flex-direction:column;font-size:.72rem;gap:11px;margin-bottom:20px;color:var(--muted)}form label small{font-size:.64rem;line-height:1.7}.input-unit{display:flex;align-items:center;gap:10px;border-bottom:1px solid #46534b;padding:0 0 10px}.input-unit input{width:100%;min-width:0;background:none;border:0;color:var(--text);font-size:1.15rem;padding:7px 0}.input-unit>span{font-size:.71rem;white-space:nowrap}.input-unit input::placeholder{font-size:.8rem;color:var(--dim)}.form-pair{display:flex;gap:25px}.form-pair>label{width:50%}form .primary-button{width:100%;margin-top:8px}#login-state{font-size:.76rem;color:var(--muted);line-height:1.8;padding-top:12px}.login-link{display:inline-flex;min-height:44px;align-items:center;color:var(--lime)}.empty-inline{color:var(--muted);font-size:.82rem;line-height:1.8;padding:20px 0}.error-screen{max-width:500px;padding:70px 26px;margin:0 auto}.error-screen .brand{margin-bottom:80px}.error-screen h1{font-size:2.5rem;margin-bottom:22px}.error-screen p{color:var(--muted);font-size:.9rem;line-height:1.8}.error-screen .primary-button{margin-top:30px}.loading-shell{display:flex;align-items:center;flex-direction:column;padding:80px 20px}.loading-shell p{font-size:.8rem;color:var(--muted)}.loading-orbit{width:80px;height:80px;border:2px solid var(--line);border-top-color:var(--lime);border-radius:50%;margin:90px 0 30px;animation:spin 1s linear infinite}.is-loading svg{animation:spin 1s linear infinite}#toast{position:fixed;left:50%;bottom:105px;transform:translate(-50%,12px);max-width:min(440px,90vw);padding:13px 20px;font-size:.78rem;line-height:1.5;background:#d6edc3;color:#14210f;border:1px solid #bcd6a7;border-radius:16px;box-shadow:0 8px 30px #0006;opacity:0;pointer-events:none;z-index:40;transition:opacity .2s,transform .25s}#toast.visible{opacity:1;transform:translate(-50%,0)}dialog{border:1px solid #3a453e;border-radius:27px;background:#1a201d;color:var(--text);width:min(600px,calc(100% - 24px));max-height:85dvh;max-height:85vh;padding:35px 30px 30px;box-shadow:0 25px 70px #0009;overflow:auto}dialog::backdrop{background:#0009;backdrop-filter:blur(3px)}.dialog-close{position:absolute;top:13px;right:13px}.method-content h2{font-size:1.55rem;font-weight:520;letter-spacing:-.04em;margin:15px 40px 24px 0}.method-content p{font-size:.85rem;line-height:1.85;color:#b2bdb6;margin-top:16px}.method-content p b{font-weight:600;color:var(--text)}.method-content .method-caption{font-size:.69rem;border-top:1px solid var(--line);padding-top:20px;margin-top:28px;color:var(--muted)}.skip{position:fixed;top:-80px;left:20px;z-index:100;background:var(--lime);color:#111;padding:12px}.skip:focus{top:10px}
@keyframes draw-ring{from{stroke-dashoffset:var(--ring-length)}to{stroke-dashoffset:var(--ring-offset)}}@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes rise{from{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1250px){.app-frame{padding-top:15px}.overview-rings{margin-top:50px;margin-bottom:45px}.app-header{height:95px}.overview-layout{gap:84px}}
@media(max-width:850px){.app-frame{max-width:620px;padding:0 26px 115px}.app-header{height:83px}.header-actions{gap:15px}.device-status{font-size:.5rem;letter-spacing:.07em}.overview-layout{grid-template-columns:1fr;gap:38px}.overview-aside{padding-top:0}.overview-rings{gap:15px;margin-top:32px}.orbit-center strong{font-size:2.6rem}.overview-rings .orbit{max-width:160px}.ring-title{font-size:.77rem}.vitals-grid{gap:40px;padding-bottom:25px}.live-pulse .sparkline{max-width:240px;width:60%}.source-footer{margin-top:32px}.detail-grid{grid-template-columns:1fr;gap:20px}.detail-hero{padding:5px 0 20px}.detail-hero .orbit{width:235px;max-width:70%;margin-bottom:23px}.detail-hero .orbit-center strong{font-size:3.9rem}.detail-data{border-top:1px solid var(--line);padding-top:25px}.settings-grid{grid-template-columns:1fr;gap:45px;margin-top:25px}.metrics-top{grid-template-columns:repeat(2,1fr);row-gap:30px}.load-number{font-size:6rem;margin:0}.load-summary{max-width:380px;margin-top:25px}.page-heading h1{font-size:2.7rem}.page-heading{margin-bottom:24px}.body-hero{padding-bottom:25px}.source-footer>span{line-height:1.6;max-width:70%}}
@media(max-width:420px){.app-frame{padding:0 21px 112px}.shell{padding-top:30px}.app-header{height:79px}.brand{font-size:1.05rem;gap:8px}.brand svg{width:24px}.device-status{display:none}.refresh-button{padding:9px 12px;font-size:.68rem;min-height:40px}.sync-line{font-size:.6rem;gap:8px;min-height:31px;padding-bottom:10px}.eyebrow{font-size:.56rem;letter-spacing:.1em}.page-heading h1{font-size:2.65rem}.overview-rings{gap:8px;margin:30px -5px 27px}.orbit-center strong{font-size:2rem}.orbit-center span{font-size:.47rem}.ring-title{font-size:.63rem;margin-top:12px}.ring-button small{font-size:.55rem;line-height:1.5}.headline-insight{padding:21px 0;gap:12px}.headline-insight h2{font-size:.85rem}.headline-insight p{font-size:.69rem}.headline-insight p span{margin-left:2px}.headline-insight .icon-button{width:30px}.section-title h2{font-size:.92rem}.section-title{gap:8px}.section-meta{font-size:.46rem;letter-spacing:.07em}.steps-line strong{font-size:2.3rem}.steps-line>span{font-size:.66rem}.steps-caption{font-size:.56rem}.overview-layout{gap:33px}.vitals-grid{gap:20px}.metric-label{font-size:.65rem}.metric-value{font-size:1.9rem}.source-footer{font-size:.56rem}.source-footer .text-button{font-size:.56rem}.night-row{grid-template-columns:92px 1fr 90px;gap:12px;font-size:.68rem}.phase-legend strong{font-size:.81rem}.phase-legend>div>span{font-size:.6rem}.data-row{gap:12px;font-size:.75rem}.data-row strong{font-size:.74rem}.data-row small{font-size:.61rem}.page-heading .back-button{width:35px;height:40px}.page-heading{gap:9px}.page-recovery h1{font-size:2.1rem}.method-content p{font-size:.78rem}dialog{padding:30px 22px 24px}.method-content h2{font-size:1.4rem}.bottom-nav{width:calc(100% - 26px);height:65px;bottom:max(12px,env(safe-area-inset-bottom),var(--tg-content-safe-area-inset-bottom,0px))}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.orbit-progress{stroke-dashoffset:var(--ring-offset)}.orbit-unknown{stroke-dashoffset:0}.is-loading svg{opacity:.6}}
@media(prefers-reduced-transparency:reduce){.bottom-nav{background:#202720;backdrop-filter:none}dialog::backdrop{background:#000c;backdrop-filter:none}}
@media(prefers-contrast:more){:root{--muted:#c1cbc5;--dim:#a5b5ab;--line:#536357}.bottom-nav{background:#101a12;border-color:#97aa9a}.orbit-ticks{opacity:.8}}

.orbit-progress,.slim-progress i,.bar-slot i{animation:none}.animate-entry .orbit-progress:not(.orbit-unknown){animation:draw-ring 1.1s cubic-bezier(.19,1,.22,1) both}.animate-entry .slim-progress i{animation:grow .7s ease-out both}.animate-entry .bar-slot i{animation:rise .7s ease-out both}
@media(max-width:420px){.ring-title{font-size:.7rem}.ring-button small{font-size:.62rem}.orbit-center span{font-size:.53rem}.steps-caption{font-size:.62rem}.eyebrow{font-size:.62rem}.nav-item{font-size:.63rem}}
/* Sleep v0.2: percentages, timing feedback and the measured stage timeline. */
.orbit-center strong.has-percent{white-space:nowrap}.orbit-center .score-percent,.detail-hero .orbit-center .score-percent{font-size:.46em;letter-spacing:0;color:inherit;font-weight:450;margin:0 0 0 2px;vertical-align:25%}.factor-note{display:block;color:var(--muted);font-size:.65rem;line-height:1.6;margin-top:8px}.bedtime-feedback{display:grid;gap:6px;border-left:2px solid var(--blue);padding-left:13px;margin:23px 0}.bedtime-feedback>span{font-size:.68rem;color:var(--blue)}.bedtime-feedback strong{font-size:.84rem;font-weight:500;line-height:1.6}.bedtime-feedback small{color:var(--muted);font-size:.65rem}.bedtime-feedback.late{border-color:var(--orange)}.bedtime-feedback.late>span{color:var(--orange)}.bedtime-feedback.compact{margin:23px 0 0}.sleep-timeline{display:grid;grid-template-columns:54px minmax(0,1fr);gap:8px;margin:24px 0 25px}.stage-axis{display:grid;grid-template-rows:repeat(4,1fr);font-size:.59rem;color:var(--muted);align-items:center}.sleep-timeline svg{width:100%;height:156px;overflow:visible}.timeline-times{grid-column:2;display:flex;justify-content:space-between;color:var(--muted);font-size:.59rem;margin-top:6px}.timeline-summary-hidden{display:none}.page-sleep .phase-legend{margin-top:20px}@media(max-width:360px){.overview-rings .orbit-center strong.has-percent{font-size:1.7rem}.factor-note{font-size:.61rem}.bedtime-feedback strong{font-size:.78rem}}

/* v0.3: one date control, a compact header and connected page motion. */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.app-header{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;height:auto;min-height:110px;gap:0;padding-top:max(20px,env(safe-area-inset-top),var(--tg-content-safe-area-inset-top,0px))}
.header-actions{justify-self:end}.brand{justify-self:start}.date-navigation{grid-column:1/-1;justify-self:center;display:grid;grid-template-columns:40px minmax(110px,auto) 40px;align-items:center;gap:2px;margin:0 0 3px}
.date-arrow{width:40px;height:44px;display:grid;place-items:center;border-radius:50%;color:var(--muted);padding:0}.date-arrow:disabled{cursor:default;opacity:.2}.date-arrow:not(:disabled):hover{background:var(--surface);color:var(--text)}
.date-label{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:48px;padding:3px 8px;border-radius:12px;font-variant-numeric:tabular-nums}.date-label time{font-size:.88rem;font-weight:550;letter-spacing:-.015em}.date-caption{font-size:.6rem;color:var(--muted);line-height:1.3}
.sync-line{border:0;min-height:0;padding:0;margin:0;font-size:.62rem}.sync-line:not(.has-status){display:none}.sync-line.has-status{padding:6px 0 2px}
.shell{padding-top:20px}.overview-rings{margin-top:16px}.overview-aside{padding-top:16px}.page-heading{margin-top:2px;margin-bottom:24px}.page-heading .back-button{width:40px;height:40px;min-width:40px;max-width:40px;aspect-ratio:1;flex:0 0 40px;border-radius:50%;padding:0;margin-left:0}
.motion-layer,.ring-flight{will-change:transform,opacity;pointer-events:none!important}.motion-layer .orbit-progress,.ring-flight .orbit-progress{animation:none!important}.ring-flight .orbit-center strong{transform-origin:center center}.is-date-loading{opacity:.5;transition:opacity .16s ease}.ring-button{transition:transform .13s ease}.ring-button:active{transform:scale(.965)}
@media(min-width:850px){.app-header{min-height:126px}.overview-rings{margin-top:16px}.overview-layout{gap:68px}}
@media(max-width:420px){.app-header{padding-top:max(15px,env(safe-area-inset-top),var(--tg-content-safe-area-inset-top,0px));min-height:108px}.shell{padding-top:15px}.overview-rings{margin-top:10px;margin-bottom:27px}.date-label time{font-size:.83rem}.page-heading{gap:12px;margin-bottom:20px}.page-heading h1{font-size:2.3rem}.page-recovery .page-heading h1{font-size:clamp(1.6rem,7vw,1.95rem)}.page-heading .back-button{width:40px;height:40px}.detail-grid{padding-top:5px}}
@media(prefers-reduced-motion:reduce){.motion-layer,.ring-flight{display:none}.is-date-loading{transition:none}}
