/* 2.6.1 — one scroll surface per drawer, independent of legacy nav rules. */
.sidebar{display:flex;flex-direction:column;overflow:hidden;height:100vh;height:100dvh;max-height:100dvh}
.sidebar>.brand,.sidebar>.nav-heading{flex-shrink:0}
.sidebar-scroll{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--line) transparent;padding:4px 2px calc(16px + env(safe-area-inset-bottom))}
.sidebar .sidebar-scroll nav{overflow:visible;min-height:auto;flex:none;padding-bottom:12px;align-content:start}
.sidebar .sidebar-bottom{padding:18px 10px 8px;margin-top:16px}
.sidebar .nav-heading{margin-top:24px;margin-bottom:8px}
/* Today: typography, a single arc and a clear launch action. */
.today-cover{position:relative;isolation:isolate;overflow:hidden;border-radius:30px;padding:28px 30px;background:#1c1a20;color:#faf5f8;min-height:190px}
.today-cover .orbit-greeting{color:#d3c5ce;align-items:center;margin-bottom:8px}
.today-cover h1{color:#fff;margin:0 0 10px;font-size:clamp(2.7rem,4.5vw,4rem)}
.today-cover>p{margin:0;color:#bdb2bc;font-size:.75rem;text-transform:capitalize}
.today-cover .avatar{width:40px;height:40px;color:#ff92c3;background:#3e2935}
.cover-orbits{position:absolute;z-index:-1;width:320px;height:460px;border:1px solid #65505b44;border-radius:50%;right:-100px;top:-160px;transform:rotate(-35deg)}
.cover-orbits:after,.cover-orbits:before{content:'';position:absolute;inset:18px;border:1px solid #65505b44;border-radius:50%}.cover-orbits:after{inset:38px}
.orbit-week{max-width:none;justify-content:space-between;margin:20px 0}
.orbit-week a{border-radius:25px;min-width:40px}
.orbit-stage{padding:16px 12px 8px;border:0;background:transparent;border-radius:0;min-height:0;overflow:visible}
.orbit-stage .stage-top{margin:0;min-height:26px}
.stage-top>.text-button{font-size:.65rem;min-height:32px}
.orbit-selector{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:6px;margin:0 0 12px;min-height:315px;align-items:center}
.orbit-stage h2{font-size:1.8rem;line-height:1.2;margin-bottom:25px;max-width:310px;overflow-wrap:anywhere}
.stage-number{font-size:5.5rem;letter-spacing:-.07em;gap:6px;white-space:nowrap;flex-wrap:nowrap}
.stage-number small{font-size:1.3rem;font-weight:600;letter-spacing:-.04em;color:var(--ink)}
.orbit-session-info p{font-size:.77rem;margin:14px 0 5px;color:var(--ink)}
.duration-note{font-size:.59rem;color:var(--muted)}
.orbit-wheel{width:150px;height:325px;position:relative;touch-action:pan-y}
.wheel-track{position:absolute;inset:0;width:150px;height:290px;fill:none;stroke:var(--accent);stroke-width:1.2;opacity:.5}
.wheel-track circle{fill:var(--accent);stroke:none}
.wheel-choice{position:absolute;left:var(--wheel-x,106px);top:var(--wheel-y,53px);transform:translate(-50%,-50%);border-radius:50%;width:68px;height:68px;padding:9px 5px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--line);color:var(--muted);transition:left .22s,top .22s,background .2s,width .2s,height .2s}
.wheel-choice svg{flex-shrink:0;width:23px;height:23px}
.wheel-choice span{font-size:.54rem;line-height:1.2;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;max-width:85px}
.wheel-choice.selected{background:var(--accent);color:var(--accent-ink);width:100px;height:100px;border:0;box-shadow:0 8px 30px color-mix(in srgb,var(--accent) 12%,transparent)}
.wheel-choice.selected span{font-weight:650;font-size:.66rem}
.wheel-controls{position:absolute;bottom:0;left:14px;right:0;display:flex;align-items:center;justify-content:center;gap:8px}
.wheel-controls button{background:none;color:var(--muted);width:38px;height:38px;padding:0;border-radius:50%;font-size:1.2rem}.wheel-controls span{font-size:.6rem;color:var(--muted);white-space:nowrap}
.orbit-dashboard-side{border-left:1px solid var(--line);padding-left:24px;justify-content:center}
.orbit-weekly{background:none;border:0;padding:15px 4px;flex:0}
.orbit-food{padding:20px;border:0}
.orbit-shortcuts a{border:0;background:none;border-radius:0;border-top:1px solid var(--line);padding-left:6px;padding-right:6px}
.orbit-shortcuts a span{display:none}
/* Workout: the exercise photograph and inputs stay together. */
.player-header strong{font-size:.75rem;line-height:1.35}.player-header .eyebrow{display:none}
.player-sync{min-height:18px;padding-top:4px}
.player-focus{height:clamp(255px,38dvh,345px);min-height:0;margin:12px 0 14px;padding:0;background:var(--surface);border-radius:24px 24px 145px 145px;display:flex;flex-direction:column;justify-content:flex-end;border:0}
.player-image{position:absolute;inset:0 0 auto;width:100%;height:76%;object-fit:cover;background:#252229}
.player-focus:has(.player-image:not([hidden])):after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,var(--surface) 55%);pointer-events:none}
.focus-copy{position:relative;z-index:1;padding:10px 28px 27px}
.player-focus h1{font-size:1.75rem;margin:0 auto 8px;max-width:310px;line-height:1.05}
.player-focus .eyebrow{display:none}
#player-prescription{font-size:.61rem}
.player-set-orbit{margin:9px auto 0;align-items:baseline;gap:5px}
#player-set-number{font-size:1rem;font-weight:650;letter-spacing:0}#player-set-total{font-size:.63rem}
.player-inputs{gap:0;margin-top:6px}
.player-inputs>label{background:none;border:0;border-radius:0;padding:0 10px 6px}
.player-inputs>label+label{border-left:1px solid var(--line)}
.player-inputs>label>span{font-size:.56rem;letter-spacing:.07em}
.stepper{display:grid;grid-template-columns:44px 44px;justify-content:center;column-gap:18px}
.stepper input{grid-row:1;grid-column:1/-1;font-size:2.65rem;padding:0;line-height:1.2;height:54px;letter-spacing:-.05em}
.stepper button{grid-row:2;width:44px;height:38px;border-radius:50%;background:var(--surface);color:var(--ink);font-size:1.25rem}
.player-inputs>label>small{display:none}
.previous-performance{font-size:.63rem;min-height:18px;margin:12px 0 0}
.player-optional{margin:8px 3px;min-height:36px}
.player-primary{min-height:53px;padding:13px 22px;margin-top:8px}
.player-rest{padding-top:22px}
.player-rest h1{font-size:1.45rem;letter-spacing:-.04em}
.rest-ring{width:min(305px,80vw);height:min(305px,80vw);margin:25px auto;background:conic-gradient(from -85deg,var(--accent) var(--rest-progress,100%),var(--line) 0)}
.rest-ring:before{inset:11px;border:0;box-shadow:none}
.rest-ring strong{font-size:4.8rem;font-weight:650}
.rest-controls button{width:58px;height:58px;min-width:58px;border:0}.rest-controls .pause-rest{width:68px;height:68px;background:var(--accent);color:var(--accent-ink)}
.next-move{display:flex;align-items:center;text-align:left;gap:12px;margin:27px 0 14px;padding:12px;border-radius:20px;background:var(--surface)}
.next-move img{width:62px;height:62px;object-fit:cover;border-radius:12px;filter:none;flex-shrink:0}
.next-move>div{display:grid;gap:3px;flex:1}.next-move>span{color:var(--accent)}.next-move strong{font-size:.83rem}.next-move small{font-size:.61rem}
/* Recipe upload with an honest preview and an optional stock image. */
.recipe-photo-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:center;padding:10px 0}
.recipe-photo-preview{aspect-ratio:4/3;background:var(--surface);border:1px dashed var(--line);border-radius:24px;overflow:hidden;position:relative}
.recipe-photo-preview>img{height:100%;width:100%;object-fit:cover}
#recipe-photo-empty{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;color:var(--muted)}
#recipe-photo-empty svg{width:36px;height:36px;color:var(--accent)}
.recipe-photo-actions{display:grid;gap:16px;justify-items:start;min-width:0}.recipe-photo-actions>.button{cursor:pointer}
.recipe-photo-actions .check-field{display:flex;align-items:center;gap:9px;font-size:.8rem;margin:0}
.recipe-photo-actions .check-field input{width:20px;height:20px;accent-color:var(--accent)}
.recipe-photo-actions details{width:100%;min-width:0}.recipe-photo-actions summary{font-size:.78rem;margin-bottom:12px}
.recipe-photo-actions select{width:100%;font-size:.78rem}.recipe-photo-actions .help{margin:0;font-size:.72rem}
.photo-file-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0;overflow:hidden;padding:0!important;pointer-events:none}
.recipe-photo-actions:has(.photo-file-input:focus-visible)>.button{outline:2px solid var(--ink);outline-offset:4px}
.recipe-image-empty{height:205px;display:grid;place-items:center;background:var(--surface);color:var(--muted)}.recipe-image-empty svg{width:40px;height:40px}
.recipe-manage-thumb{width:56px;height:56px;object-fit:cover;border-radius:12px;flex-shrink:0}.rows a:has(.recipe-manage-thumb){gap:14px}.rows a:has(.recipe-manage-thumb)>span:first-of-type{flex:1}
.recipe-edit-link{display:inline-block;margin-bottom:22px}
@media(max-width:1100px){.orbit-dashboard-side{padding-left:0;border-left:0}}
@media(max-width:700px){
 .sidebar{padding-bottom:0}.sidebar-scroll{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.sidebar .sidebar-bottom{margin-top:20px;padding-bottom:12px}
 .today-cover{padding:18px 22px;min-height:152px;border-radius:27px}.today-cover h1{font-size:2.85rem}.today-cover>p{font-size:.68rem}.today-cover .orbit-greeting{font-size:.69rem}
 body[data-page="home"] .topbar{margin-bottom:10px;min-height:64px}
 .orbit-stage{padding:6px 0 0}.stage-top>.eyebrow{font-size:.58rem}.orbit-selector{grid-template-columns:minmax(0,1fr) 145px;margin:0 0 8px;min-height:290px}.orbit-stage h2{font-size:1.38rem;margin-bottom:20px;max-width:205px}
 .stage-number{font-size:4.7rem}.stage-number small{font-size:1.1rem}.orbit-session-info p{font-size:.67rem;max-width:155px}
 .orbit-dashboard{gap:16px}.orbit-dashboard-side{gap:12px}.orbit-weekly{padding:12px 4px 16px}.orbit-weekly .card-heading{display:none}.weekly-count strong{font-size:2.15rem}.weekly-count span{font-size:.67rem}.orbit-progress{margin:16px 0}.timeline-next{font-size:.67rem}.orbit-food{padding:20px;border-radius:22px}
 .orbit-shortcuts a{padding:16px 4px}.mobile-bottom .active{background:none}.mobile-bottom .active svg{stroke-width:2.4}.mobile-bottom>a:before,.mobile-bottom>a:after,.mobile-bottom>button:before,.mobile-bottom>button:after{content:none;display:none}.mobile-bottom>a{position:relative}
 .recipe-photo-editor{grid-template-columns:1fr;gap:18px}.recipe-photo-actions{width:100%}.recipe-photo-actions>.button{width:100%;text-align:center}
 .recipe-manage-thumb{width:44px;height:44px}.rows a:has(.recipe-manage-thumb){gap:9px;font-size:.75rem}
 .player-focus{min-height:0}.workout-player{padding-top:12px;padding-bottom:calc(20px + env(safe-area-inset-bottom))}
}
@media(max-width:360px){.orbit-selector{grid-template-columns:minmax(0,1fr) 140px}.stage-number{font-size:3.65rem}.stage-number small{font-size:.85rem}.orbit-stage h2{font-size:1.15rem}.orbit-session-info p{font-size:.61rem}.focus-copy{padding-left:20px;padding-right:20px}.rest-ring strong{font-size:4.1rem}}
@media(max-height:740px) and (max-width:700px){.player-focus{height:235px}.workout-player{padding-top:8px}.player-optional{margin:3px}.rest-ring{width:240px;height:240px;margin:20px auto}.player-rest{padding-top:12px}}

@media(max-width:700px){.orbit-wheel{height:292px}.wheel-track{height:260px}.wheel-choice{top:calc(var(--wheel-y,53px)*.88)}.wheel-controls{bottom:-1px}.today-cover .avatar{width:34px;height:34px}.today-cover .orbit-greeting{margin-bottom:6px}.today-cover h1{margin-bottom:6px}.orbit-week{margin:17px 0}.mobile-bottom a.active{background:transparent}}

/* ORBIT 2.7 */
.adapt-sheet{max-height:88dvh;overflow-y:auto}.adapt-sheet form{display:grid;gap:14px}.adapt-sheet label{display:grid;gap:6px}.adapt-sheet select,.adapt-sheet input{max-width:100%;width:100%;min-width:0}.adapt-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.progress-row{padding:18px 0;border-bottom:1px solid var(--line)}.progress-row p{margin:6px 0}.progress-row small{color:var(--muted)}.result-progress{margin:20px 0}.login-story .orbit-art{opacity:1}.login-logo{width:132px;height:132px;object-fit:contain;border-radius:26px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.brand-mark img{width:100%;height:100%;object-fit:contain;border-radius:10px}.studio-download{margin-top:36px;border-top:1px solid var(--line);padding:22px 0;display:flex;gap:18px;align-items:center;justify-content:space-between}.studio-download h2{font-size:22px;margin:0 0 10px}.studio-download .download-actions{display:flex;gap:10px;flex-wrap:wrap}.studio-download p{color:var(--muted);font-size:13px}@media(max-width:600px){.adapt-sheet{position:fixed;inset:auto 0 0;width:100%;max-width:100%;margin:0;border-radius:26px 26px 0 0;padding:26px 24px max(28px,env(safe-area-inset-bottom))}.studio-download{display:block}.studio-download .download-actions{margin-top:18px}.login-logo{width:110px;height:110px}}
