/* FitQuest release UI: two neutrals + one lime accent. Character artwork keeps its own palette. */
:root{--paper:#fafaf7;--ink:#20231f;--lime:#cff45b;--surface:var(--paper);--night:var(--ink);--green:var(--ink);--blue:var(--ink);--accent:var(--lime);--muted:color-mix(in srgb,var(--ink) 68%,var(--paper));--line:color-mix(in srgb,var(--ink) 14%,var(--paper));--surface-muted:color-mix(in srgb,var(--ink) 4%,var(--paper));--night-raised:color-mix(in srgb,var(--ink) 88%,var(--paper));--body:-apple-system,BlinkMacSystemFont,'Segoe UI','Malgun Gothic',sans-serif;--display:var(--body);--radius:14px;color:var(--ink);background:var(--paper)}
body,.main{background:var(--paper);color:var(--ink)}
h1,h2,h3,h4{color:var(--ink);letter-spacing:-.035em;line-height:1.35}h1{font-size:30px}h2{font-size:20px}h3{font-size:16px}p{line-height:1.65}small,.muted,.field,.eyebrow{color:var(--muted)}
.eyebrow{font-family:var(--body);letter-spacing:.06em;font-size:11px;font-weight:650}
/* Keep supporting labels legible on the selected lime background. */
.day-exercise[aria-pressed=true] .day-exercise-copy small,.day-exercise[aria-pressed=true] .day-check,.session-exercise-list>button[aria-pressed=true] small,.session-exercise-list>button[aria-pressed=true] .session-pick-state{color:var(--ink)}
.reward-growth b{color:var(--ink)}.reward-growth small{color:var(--muted)}
button{border-radius:10px;transition:background-color 140ms ease,color 140ms ease,border-color 140ms ease,transform 120ms ease;font-size:13px}
button:active:not(:disabled){transform:scale(.96)}button:disabled{opacity:.48;cursor:not-allowed}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.primary,.start-btn{background:var(--lime);color:var(--ink);border:1px solid transparent;box-shadow:none;border-radius:10px;min-height:46px;font-size:13px;font-weight:750}
.primary:hover,.start-btn:hover{background:color-mix(in srgb,var(--lime) 88%,var(--ink));color:var(--ink)}
.secondary,.profile-account{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:10px;min-height:44px}
.secondary:hover{background:var(--surface-muted);border-color:var(--muted)}.textbtn{color:var(--ink);border-radius:8px}.danger,.form-error,.sync-error{color:var(--ink)!important}.danger{text-decoration:underline;text-underline-offset:3px}.form-error:empty{display:none}.form-error:not(:empty){border-left:3px solid var(--ink);padding:8px 12px;background:var(--surface-muted)}
.badge{background:var(--surface-muted);color:var(--muted);border:0;border-radius:7px;padding:7px 10px;font-size:11px}.card,.routine{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:none}
.shell{max-width:1440px;grid-template-columns:224px minmax(0,1fr);margin:auto;align-items:start}.sidebar{position:sticky;top:0;height:100dvh;min-height:0;background:var(--paper);color:var(--ink);padding:30px 20px 24px;border-right:1px solid var(--line);overflow:auto;display:flex;flex-direction:column}.sidebar .brand{padding:0;margin:0;display:block}.sidebar .brand .fitquest-wordmark{width:100%;max-width:184px;border-radius:0;mix-blend-mode:multiply}.nav{display:grid;margin-top:38px;gap:6px}.nav button{display:flex;align-items:center;gap:12px;padding:13px 14px;min-height:48px;font-size:14px;font-weight:650;color:var(--muted);border-radius:11px;white-space:nowrap}.nav svg,.nav .active svg{padding:0;width:21px;height:21px;box-sizing:border-box;background:none;border-radius:0;stroke-width:1.8}.nav button:hover{color:var(--ink);background:var(--surface-muted)}.nav button.active{background:var(--ink);color:var(--paper)}.sidebar-bottom{margin-top:auto;padding-top:20px;border-color:var(--line);color:var(--muted);font-size:10px;line-height:1.8}.sidebar-bottom .textbtn{display:block;font-size:12px;min-height:40px;color:var(--ink)}
.main{min-width:0;padding:26px 36px 40px}.topbar{margin:0 0 24px;min-height:36px}.breadcrumb,.bottom-note{display:none}.profile{margin-left:auto}.profile-account{min-height:34px;padding:7px 10px;font-size:11px}.profile #sync-status{color:var(--muted)}.mobile-title{display:block}.mobile-title img{display:block;width:136px;height:auto;mix-blend-mode:multiply}.intro{margin-bottom:24px;gap:12px}.intro>.badge{background:none;padding:0}.intro .eyebrow{display:none}.intro p{font-size:13px;color:var(--muted)}.master-banner{color:var(--muted);padding-bottom:10px;margin-bottom:18px;border-color:var(--line);letter-spacing:0}.master-banner span{color:var(--muted)}.master-banner .textbtn,.master-banner .secondary{background:var(--surface-muted);border-color:var(--line);color:var(--ink);min-height:30px;font-size:10px}
.training-overview{grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr);gap:16px;margin:16px 0 18px}.session-launch{min-height:280px;padding:26px;border:1px solid var(--line);background:var(--ink);border-radius:18px;color:var(--paper)}.session-launch::after{display:none}.session-launch h2{font-size:32px;margin:18px 0 12px;color:var(--paper);letter-spacing:-.04em}.session-launch .eyebrow{color:var(--lime);letter-spacing:.04em}.session-launch p{color:color-mix(in srgb,var(--paper) 75%,var(--ink));max-width:100%;font-size:13px}.session-meta{color:color-mix(in srgb,var(--paper) 80%,var(--ink));gap:8px;margin:16px 0 22px;font-size:12px}.session-meta span{border:0;padding:0}.session-meta span+span::before{content:'·';margin-right:8px}.session-launch .primary{min-width:180px;gap:20px}
.home-partner{min-height:280px;background:var(--surface-muted);border:1px solid var(--line);border-radius:18px;padding:22px}.home-partner h2{font-size:20px}.home-partner-head .badge{background:var(--paper);color:var(--ink)}.partner-arena{background:none;height:150px;margin:0}.partner-arena::after{height:3px;background:var(--line);border-radius:50%}.partner-progress,.partner-caption{color:var(--muted)}.partner-progress .progress{background:var(--line)}.partner-progress .progress span,.progress span{background:var(--ink)}.progress{background:var(--line);border-radius:4px}.partner-caption{font-size:11px}.home-secondary{gap:16px;margin:20px 0}.life-card{background:var(--surface-muted);border-color:var(--line);border-radius:12px;color:var(--ink);padding:14px 18px;margin-bottom:18px}.life-card p,.life-card h3{color:var(--muted)}
.running-launch{background:transparent;border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin:18px 0;gap:14px;flex-direction:row;align-items:center}.running-launch .running-mark{width:38px;height:38px;flex-shrink:0;display:grid;place-items:center;background:var(--surface-muted);border-radius:10px}.running-mark svg{width:24px;height:24px}.running-launch h2{font-size:16px}.running-launch p{font-size:12px}.running-launch .primary{width:auto;min-height:44px;flex-shrink:0;background:var(--ink);color:var(--paper)}
.weekly-goal-card,.weekly-goal-card.is-complete,.weekly-goal-card.is-rest{border-color:var(--line);background:var(--surface)}.weekly-goal-card .eyebrow{color:var(--muted)}.weekly-goal-card .badge,.weekly-goal-status{background:var(--surface-muted);color:var(--ink)}.day,.day small{color:var(--muted)}.day b{border-color:var(--line);border-radius:9px;color:var(--ink)}.day.done b{background:var(--ink);color:var(--lime)}.day.today b{background:var(--lime);color:var(--ink);border-color:var(--lime)}.week-count,.week-count span{color:var(--ink)}
.routine-grid{gap:12px}.routine{padding:20px}.routine-icon,.routine:nth-child(n) .routine-icon{background:var(--surface-muted);color:var(--ink);border-radius:9px}.routine p,.routine-foot,.routine-foot span{color:var(--muted)}.routine-foot{border-color:var(--line)}.routine .textbtn{color:var(--muted)}.history-row{border-color:var(--line);padding:16px 0;gap:12px}.history-row small{color:var(--muted)}.history-title{font-size:14px}.date-box{background:var(--surface-muted);color:var(--muted);border-radius:9px}.date-box b{color:var(--ink)}.stat{background:var(--ink);border-radius:14px}.stat strong,.stat small{color:var(--paper)}.stat strong small{color:var(--lime)}.filter button,.picker-filters button{background:var(--paper);border-color:var(--line);color:var(--muted);border-radius:9px;min-height:44px}.filter button.selected,.picker-filters button.selected{background:var(--ink);color:var(--paper);border-color:var(--ink)}.bar,.bar.latest{background:var(--ink)}.chart-data th,.chart-data td,.chart-data{border-color:var(--line)}.bar b,.bar span,.chart-note,.chart-data summary{color:var(--muted)}.trend-change{background:var(--surface-muted);color:var(--ink)}
.workout-head{margin-bottom:20px}.workout-head h1{font-size:28px}.workout-head .eyebrow{display:none}.workout-top-actions{gap:8px}.live-volume,.live-volume b{color:var(--ink)}.workout-companion{background:var(--surface-muted);border-color:var(--line);border-radius:14px;padding:12px 16px;margin-bottom:16px}.workout-companion small,.workout-companion b{color:var(--muted)}.workout-companion p{font-size:13px}.workout-companion .progress span{background:var(--ink)}.exercise-jump{padding:8px 0;border-color:var(--line);background:var(--paper)}.exercise-jump button,.exercise-jump button b{background:var(--paper);border-color:var(--line);color:var(--ink);border-radius:9px}.exercise-jump button:hover,.exercise-jump button:hover b{background:var(--ink);color:var(--paper)}.exercise-jump>span{display:none}.exercise{padding:22px;margin-bottom:14px;scroll-margin-top:76px}.exercise>.section-head,.exercise-tools{border-color:var(--line)}.exercise>.section-head{padding-bottom:14px;gap:12px}.exercise h2{font-size:21px}.exercise>small{color:var(--muted)}.exercise-thumb{border-color:var(--line);border-radius:10px;color:var(--ink)}.workout-order-controls .textbtn{color:var(--muted);font-size:14px;min-width:36px;min-height:44px}.workout-order-controls .badge{background:var(--surface-muted);color:var(--muted)}.set-grid{grid-template-columns:34px minmax(0,1fr) minmax(0,1fr) 46px;gap:10px}.set-grid.muted,.set-number-handle,.set-number-handle small{color:var(--muted)}.set-grid input{height:50px;font-family:var(--body);font-size:21px;font-weight:700;color:var(--ink);background:var(--surface-muted);border:1px solid transparent;border-radius:9px}.set-grid input:focus{background:var(--paper);border-color:var(--ink)}.set-grid input:disabled{background:var(--surface-muted);border-color:transparent;color:var(--muted)}.check{border-color:var(--line);color:var(--muted);border-radius:9px;width:46px;height:46px}.check.checked{background:var(--lime);color:var(--ink);border-color:var(--lime)}.exercise-tools .textbtn{color:var(--ink);font-size:12px;min-height:44px}.session-add-button{background:var(--paper);border:1px solid var(--line);border-radius:12px;color:var(--ink)}.workout-note textarea,.saved-note{background:var(--surface-muted);border-color:var(--line);color:var(--ink)}
/* One compact, floating rest controller; does not stretch across the screen. */
.timer.rest-panel{position:fixed;left:auto;right:28px;bottom:22px;width:min(620px,calc(100vw - 284px));padding:14px 16px;display:flex;gap:16px;flex-wrap:nowrap;align-items:center;border:1px solid var(--line);border-radius:18px;background:var(--ink);color:var(--paper);box-shadow:0 8px 24px #20231f24;z-index:6}.rest-readout{display:flex;align-items:center;gap:10px;min-width:0;flex:1;color:var(--paper);width:auto;text-align:left;justify-content:flex-start}.rest-readout svg{width:26px;height:26px;flex-shrink:0;color:var(--lime)}.rest-readout>div{min-width:0}.rest-caption{display:block;color:color-mix(in srgb,var(--paper) 70%,var(--ink));font-size:10px;font-weight:500;margin-bottom:3px}.rest-readout #rest{display:block;font-size:16px;line-height:1.35;font-variant-numeric:tabular-nums;white-space:nowrap}.rest-controls{display:flex;gap:6px;width:auto;flex-wrap:nowrap}.rest-controls select,.rest-controls button{min-height:40px;border-radius:9px;border:1px solid color-mix(in srgb,var(--paper) 22%,var(--ink));background:var(--ink);color:var(--paper);padding:8px;font-size:12px}.rest-controls label{color:var(--paper)}.rest-controls select{max-width:110px}.rest-controls .rest-start{background:var(--lime);color:var(--ink);border-color:var(--lime);font-weight:750}.rest-controls .rest-skip{border-color:transparent}.rest-controls button:hover{background:color-mix(in srgb,var(--ink) 78%,var(--paper))}.rest-controls .rest-start:hover{background:var(--lime);color:var(--ink)}.rest-panel[data-state=running] .rest-start{display:none}.rest-panel[data-state=ready] #rest{font-size:12px;white-space:normal}.main:has(.rest-panel){padding-bottom:140px}
/* Shared dialogs, pickers and forms: neutral structure, lime selection. */
dialog{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 24px 80px #20231f30;max-height:90dvh}dialog::backdrop{background:#20231f80;backdrop-filter:none}dialog h2{font-size:22px}dialog p{color:var(--muted)}.field{font-size:12px;color:var(--muted)}.field input,.field select,.field textarea,textarea,.exercise-search,.select{background:var(--surface-muted);color:var(--ink);border:1px solid var(--line);border-radius:10px;font-size:16px;min-height:46px}.field input::placeholder,textarea::placeholder{color:var(--muted)}.field input:focus,.field select:focus,.exercise-search:focus{border-color:var(--ink);background:var(--paper)}.planner-heading{align-items:center;margin-bottom:20px}.planner-heading small{color:var(--muted)}.planner-actions{gap:10px}.planner-actions .secondary{background:var(--paper)}.planner-empty,.planner-note,.day-selection-empty{color:var(--muted)}.planner-plan,.day-exercise,.session-exercise-list>button,.exercise-picker [data-pick]{background:var(--paper);border-color:var(--line);border-radius:11px;color:var(--ink)}.day-recommendation{background:var(--surface-muted);border-color:var(--line);border-radius:16px;padding:18px}.day-recommendation header>small,.recommendation-kicker,.day-recommendation-list small,.day-recommendation-list .suggestion-state{color:var(--muted)}.day-recommendation-list>button{background:var(--paper);border-color:var(--line);border-radius:10px;color:var(--ink)}.day-selected-item{background:var(--paper);border-color:var(--line);border-left:3px solid var(--lime);border-radius:10px}.day-selected-item button,.day-selection h3>span{color:var(--ink)}.day-selection h3>span{background:var(--lime)}.day-selected-item small{color:var(--muted)}.recommendation-actions .primary:disabled{background:var(--surface-muted);border-color:var(--line);color:var(--muted)}.day-recommendation-disclosure>summary{background:var(--surface-muted);color:var(--ink)}.day-picker-footer,.routine-save-actions,.library-form-actions{background:var(--paper);border-color:var(--line)}.day-exercise[aria-pressed=true],.session-exercise-list>button[aria-pressed=true],.exercise-picker [data-pick].selected,.body-filter[aria-pressed=true],.body-filter.active{background:var(--lime);color:var(--ink);border-color:var(--lime)}.day-exercise-copy small,.day-check,.session-exercise-list small,.session-pick-state{color:var(--muted)}.exercise-library-actions,.library-group-list,.session-add-custom{background:var(--surface-muted);border-color:var(--line)}.quick-add-exercise{background:var(--lime);color:var(--ink);border-color:var(--lime)}.tip,.running-form .running-pace-preview,.running-detail-stats>div{background:var(--surface-muted);border-color:var(--line);color:var(--ink)}.running-form .choice-grid label:has(input:checked){background:var(--lime);border-color:var(--lime)}.running-form .choice-grid input{accent-color:var(--ink)}
.reward-stats>div,.reward-growth,.reward-growth.level-up,.personal-records,.reward-companion-fallback{background:var(--surface-muted);border-color:var(--line);color:var(--ink);border-radius:12px}.reward-stats b,.reward-comparison,.xp-breakdown,.earned-xp{color:var(--ink)}.reward-growth .progress span{background:var(--ink)}.sample-pet{background:transparent}.sample-pet-label{display:none}.ptmon-stage,.pet-scene{background-color:var(--surface-muted);border-color:var(--line)}#toast{background:var(--ink);border:1px solid var(--line);color:var(--paper);border-radius:12px;font-size:13px;box-shadow:0 6px 24px #20231f24}.set-action-menu{background:var(--paper);border-color:var(--line);color:var(--ink);border-radius:12px}.set-undo,.workout-drag-preview{background:var(--ink);border-color:var(--lime);color:var(--paper)}
@media(max-width:1000px) and (min-width:761px){.shell{grid-template-columns:188px minmax(0,1fr)}.sidebar{padding:24px 16px}.main{padding:24px}.training-overview{grid-template-columns:1fr}.home-partner{min-height:180px}.timer.rest-panel{width:calc(100vw - 236px);right:24px}.rest-panel{flex-wrap:wrap!important}.rest-readout{width:100%}.rest-controls{margin-left:auto}}
@media(max-width:760px){.shell{display:block}.sidebar{position:fixed;inset:auto 0 0;height:auto;padding:7px 12px max(7px,env(safe-area-inset-bottom));border:0;border-top:1px solid var(--line);background:var(--paper);z-index:7;overflow:visible;display:block}.sidebar .brand,.sidebar-bottom{display:none}.nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0}.nav button{display:flex;flex-direction:column;justify-content:center;gap:5px;min-height:54px;padding:7px 4px;font-size:11px;border-radius:10px;color:var(--muted)}.nav button.active{background:var(--surface-muted);color:var(--ink)}.nav button.active svg{color:var(--ink);filter:none}.nav button.active::after{content:'';width:16px;height:3px;background:var(--lime);border-radius:2px;position:absolute;bottom:1px}.nav button{position:relative}.nav svg{width:21px;height:21px;background:none;padding:0}.main{padding:18px 18px 105px}.topbar{margin-bottom:22px}.mobile-title img{width:122px}.profile #sync-status{font-size:9px}.profile-account{font-size:10px;min-height:32px;padding:6px 8px}.intro{margin-bottom:18px}h1{font-size:26px}.intro p{font-size:12px}.training-overview{display:flex;flex-direction:column;gap:12px;margin-top:16px}.session-launch{min-height:245px;padding:22px;border-radius:16px}.session-launch h2{font-size:29px;margin-top:14px}.session-launch .primary{width:100%;justify-content:space-between}.session-launch p{font-size:12px}.home-partner{min-height:155px;padding:16px;display:grid;grid-template-columns:minmax(0,1fr) 112px;grid-template-rows:auto auto auto;gap:5px 10px;position:relative;border-radius:16px}.home-partner-head{grid-column:1;grid-row:1;align-items:start}.home-partner-head .badge{font-size:10px;white-space:nowrap;padding:5px}.home-partner h2{font-size:18px;margin-top:5px}.home-partner .eyebrow{font-size:10px}.partner-arena{position:relative;grid-column:2;grid-row:1/4;height:122px;margin:0;min-width:0;display:grid;place-items:center;overflow:visible}.partner-arena .sample-pet,.partner-arena .pixel-sprite{width:120px;height:120px;max-width:120px}.partner-progress{grid-column:1;grid-row:2;gap:6px;font-size:10px;min-width:0;align-self:end}.partner-caption{grid-column:1;grid-row:3;font-size:10px;margin:0}.home-secondary{display:grid;grid-template-columns:1fr;gap:14px;margin:16px 0}.running-launch{padding:14px;gap:10px;display:grid;grid-template-columns:32px minmax(0,1fr) auto}.running-launch .running-mark{width:32px;height:32px}.running-launch h2{font-size:14px}.running-launch p{display:none}.running-launch .primary{font-size:11px;min-height:42px;padding:8px 10px;width:auto}.card,.routine{padding:18px;border-radius:14px}.life-card{padding:12px 16px;flex-direction:row;align-items:center;gap:8px}.life-card p{display:none}.life-card h3{font-size:12px;margin:0}.life-card .secondary{min-height:36px;font-size:10px}.routine-grid{grid-template-columns:1fr}.workout-head{display:block}.workout-head h1{font-size:25px}.workout-top-actions{display:flex;justify-content:flex-end;margin-top:14px}.workout-top-actions button{min-height:42px;font-size:12px}.workout-companion{padding:10px 12px;gap:10px}.workout-companion p{font-size:12px}.workout-companion .sample-pet,.workout-companion .pixel-sprite{width:52px;height:52px}.exercise{padding:16px}.exercise h2{font-size:18px}.exercise>.section-head{align-items:flex-start;flex-wrap:wrap;gap:10px}.exercise-heading{gap:10px}.workout-order-controls{margin-left:auto;gap:2px;display:flex;align-items:center}.workout-order-controls .textbtn{font-size:13px;min-width:34px}.set-grid{gap:7px;grid-template-columns:28px minmax(0,1fr) minmax(0,1fr) 44px}.set-grid input{height:48px;font-size:20px;padding:6px}.check{width:44px;height:44px}.exercise-tools .textbtn{font-size:11px}.exercise-jump button{max-width:170px;font-size:11px}.timer.rest-panel{left:12px;right:12px;bottom:calc(80px + env(safe-area-inset-bottom));width:auto;padding:12px;border-radius:16px;display:grid;grid-template-columns:1fr;gap:9px}.rest-readout{width:100%;justify-content:flex-start;gap:9px}.rest-readout svg{width:23px;height:23px}.rest-readout>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px;width:100%}.rest-caption{font-size:10px;margin:0}.rest-readout #rest{font-size:15px}.rest-controls{display:flex;justify-content:space-between;width:100%;gap:6px;margin:0}.rest-controls label{flex:1}.rest-controls select{width:100%;max-width:none}.rest-controls button,.rest-controls select{min-height:40px;font-size:12px}.rest-panel[data-state=ready] #rest{font-size:11px}.main:has(.rest-panel){padding-bottom:235px}dialog{width:calc(100vw - 20px);max-width:580px;border-radius:18px;padding:20px;max-height:90dvh}dialog h2{font-size:21px}.day-recommendation{padding:14px}.day-picker-footer,.routine-save-actions{bottom:-20px}.running-form>.modal-actions{bottom:-20px;background:var(--paper)}.master-banner{gap:5px;align-items:center;font-size:9px}.master-banner>span{display:none}}
@media(prefers-reduced-motion:reduce){button,.progress span{transition:none}.rest-readout.rest-ready{animation:none}}
/* Routine identity: a body-specific symbol, distinct from exercise equipment. */
.routine-title .routine-icon{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;border:1px solid var(--line);background:var(--paper);border-radius:12px;color:var(--ink)}
.routine-title .routine-icon svg{width:32px;height:32px}
.routine-title .routine-body-label{margin-right:auto;font-size:12px;font-weight:600;color:var(--muted)}
.routine-title{gap:10px}
.exercise-art-poses figure:only-child{grid-column:1 / -1;justify-self:center;width:min(100%,260px)}
.exercise-art-poses figure:only-child img{max-height:260px;object-fit:contain}

/* One continuous welcome and signup surface on phones and desktop. */
.entry{display:block;min-height:100dvh;width:100%;max-width:480px;margin:0 auto;background:var(--paper);border:0;box-shadow:none;padding:32px 24px 28px}
.entry .entry-world,.entry .entry-form{display:block;background:transparent;color:var(--ink);padding:0;border:0;min-height:0}
.entry .entry-brand{display:block;margin:0 0 28px}.entry .entry-brand img{display:block;width:160px;max-width:60%;height:auto;padding:0;border-radius:0}.entry .entry-brand small{display:none}
.entry .entry-copy{margin:0}.entry .entry-copy h1{font-family:var(--body);color:var(--ink);font-size:28px;line-height:1.35;letter-spacing:-1px;margin:0 0 10px;word-break:keep-all}.entry .entry-copy p{color:var(--muted);font-size:13px;line-height:1.6;margin:0}
.entry-world>.onboarding-mascot{margin:20px 0 24px;max-width:none;gap:12px}.entry-world .mascot-hello{flex:0 0 56px;width:56px;height:56px;min-height:0;border-radius:12px}.entry-world .mascot-bubble{border:0;border-radius:0;background:transparent;padding:0}.entry-world .mascot-bubble:before,.entry-world .mascot-bubble b{display:none}.entry-world .mascot-bubble p{color:var(--muted)!important;font-size:12px!important;line-height:1.55!important;margin:0!important}
.entry .entry-form-inner{width:100%;max-width:none;margin:0}.entry .auth-tabs{display:flex;margin:0 0 24px;padding:4px;gap:4px;border:1px solid var(--line);border-radius:12px;background:var(--surface-muted)}.entry .auth-tabs button{flex:1;min-height:44px;margin:0;border:0;border-radius:8px;color:var(--muted);background:transparent;font-size:14px}.entry .auth-tabs button.selected{background:var(--paper);color:var(--ink);box-shadow:0 1px 3px #20231f14}
.entry .field{margin:0 0 18px;color:var(--ink);font-size:13px}.entry .field input{min-height:52px;background:var(--paper);border:1px solid var(--line);border-radius:10px;font-size:16px}.entry .password-input input{padding-right:64px}.entry #auth-form>.primary{min-height:52px;margin-top:6px;font-size:15px}.entry #auth-error:empty{display:none}
.entry .demo-link{display:block;min-height:44px;margin:14px auto 0;color:var(--muted);font-size:12px}.entry .entry-footnote{text-align:center;margin:4px 0 0;font-size:11px;color:var(--muted)}
.entry .master-entry{margin:24px 0 0;padding:16px 0 0;border:0;border-top:1px solid var(--line);background:transparent}.entry .master-entry>.eyebrow,.entry .master-entry p{display:none}.entry .master-entry .primary{min-height:40px;background:transparent;border:1px dashed var(--line);color:var(--muted);box-shadow:none;font-size:12px}
@media(max-width:360px){.entry{padding:24px 20px}.entry .entry-copy h1{font-size:25px}.entry .entry-brand{margin-bottom:24px}}

/* Auth uses the same soft surfaces as the signed-in app. */
.entry{padding-top:48px}
.entry .entry-brand{margin-bottom:32px}
.entry .entry-copy h1{font-size:30px;font-weight:800;letter-spacing:-.045em}
.entry .entry-copy p{font-size:14px}
.entry .auth-tabs{border:0;border-radius:18px;padding:5px;background:var(--surface-muted)}
.entry .auth-tabs button{border-radius:13px;font-weight:700;min-height:46px}
.entry .field input{border-radius:16px;background:var(--surface-muted);border-color:transparent;min-height:56px}
.entry .field input:focus{background:var(--paper);border-color:var(--ink)}
.entry .password-input button{min-width:52px;min-height:44px;border-radius:12px}
.entry #auth-form>.primary{border-radius:18px;min-height:54px}
.entry .demo-link{width:100%;border:1px solid var(--line);border-radius:18px;min-height:48px;margin-top:16px;color:var(--ink)}
.entry #auth-error:not(:empty){border-radius:12px;font-size:13px;line-height:1.6;margin:12px 0}
@media(min-width:761px){.entry{margin:48px auto;min-height:0;border:1px solid var(--line);border-radius:32px;padding:36px}}
@media(max-width:360px){.entry .entry-copy h1{font-size:26px}}

/* Soft pet-card direction: quiet surfaces, strong labels, one action accent. */
:root{--paper:#fff;--ink:#202120;--radius:26px;--surface-muted:#f4f4f3;--line:#e6e6e4}
h1,h2{font-weight:800}
.intro h1{letter-spacing:-.055em}
.card,.routine{border-color:var(--line);border-radius:26px}
.primary,.start-btn,.secondary{border-radius:999px;min-height:48px;padding-left:22px;padding-right:22px}
.badge{border-radius:999px}
.training-overview{gap:20px;align-items:stretch}
.session-launch{background:var(--surface-muted);color:var(--ink);border:0;border-radius:30px;padding:28px;display:flex;flex-direction:column;align-items:flex-start}
.session-launch h2{color:var(--ink);font-weight:800}
.session-launch .eyebrow,.session-launch p,.session-meta{color:var(--muted)}
.session-launch .primary{margin-top:auto;min-width:180px}
.home-partner{background:var(--paper);border:1px solid var(--line);border-radius:30px;padding:24px;box-shadow:0 6px 24px #20212008}
.home-partner h2{font-size:24px;font-weight:800}
.home-partner-head .badge{background:var(--surface-muted);min-height:44px;padding:10px 14px}
.partner-arena{height:180px;background:var(--surface-muted);border-radius:22px;margin:18px 0}
.partner-arena::after{display:none}
.partner-progress .progress{border-radius:999px;height:8px;overflow:hidden}
.partner-caption{margin-top:10px}
.routine-icon,.routine:nth-child(n) .routine-icon,.date-box{border-radius:16px}
.nav button{border-radius:999px;font-weight:750}
.nav button.active{color:var(--ink);background:var(--surface-muted)}
.nav svg,.nav .active svg{stroke-width:2.2}
.filter button,.picker-filters button{border-radius:999px;background:var(--surface-muted);border-color:transparent}
.pet-card{background:var(--paper);border:1px solid var(--line);border-radius:30px;box-shadow:0 6px 24px #20212008}
.pet-scene:before{background:var(--surface-muted);border-radius:24px}
@media(max-width:760px){
 .main{padding:20px 20px 116px}
 .intro{margin-bottom:22px}.intro h1{font-size:28px}.intro p{font-size:12px}
 .training-overview{gap:16px}
 .session-launch{min-height:230px;padding:24px;border-radius:28px}
 .session-launch h2{font-size:28px;margin:12px 0 8px}
 .session-launch .primary{width:100%}
 .home-partner{padding:20px;min-height:188px;border-radius:28px;grid-template-columns:minmax(0,1fr) 126px;column-gap:12px}
 .home-partner h2{font-size:22px}.home-partner-head{align-items:flex-start;gap:8px;flex-wrap:wrap}
 .home-partner-head .badge{font-size:11px;min-height:36px;padding:8px 12px}
 .home-partner .partner-arena{height:146px;margin:0;border-radius:20px}
 .home-partner .partner-caption{line-height:1.5}
 .card,.routine{padding:20px;border-radius:24px}
 .sidebar{left:14px;right:14px;bottom:calc(12px + env(safe-area-inset-bottom));width:auto;height:auto;padding:6px;border:1px solid var(--line);border-radius:28px;background:var(--paper);box-shadow:0 4px 24px #20212012;overflow:visible}
 .nav{gap:2px}.nav button{border-radius:22px;min-height:56px;padding:7px 2px;gap:4px;font-size:10px}
 .nav button.active{background:var(--surface-muted);color:var(--ink)}.nav button.active::after{display:none}
}

/* Shared rest-time selector: touch-sized choices, separate from routine editing. */
.rest-time-control{position:relative;min-width:0}
.rest-time-native{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;border:0!important;clip-path:inset(50%);opacity:0;pointer-events:none}
.rest-time-trigger{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:46px;width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);font:600 14px/1.4 var(--body);text-align:left;font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color 120ms,border-color 120ms}
.rest-time-trigger svg{width:18px;height:18px;flex-shrink:0;opacity:.65}
.rest-time-trigger:hover{background:var(--surface-muted);border-color:var(--ink)}
.rest-time-trigger[aria-expanded=true]{border-color:var(--ink)}
.exercise-rest-setting .rest-time-control{width:min(100%,280px)}
.rest-controls .rest-time-trigger{min-height:44px;min-width:98px;width:auto;padding:10px 12px;gap:8px;background:#ffffff10;border-color:#ffffff30;border-radius:12px;color:var(--paper);font-size:13px}
.rest-controls .rest-time-trigger:hover,.rest-controls .rest-time-trigger[aria-expanded=true]{background:#ffffff20;border-color:#ffffff66}
#rest-time-dialog{width:min(400px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:26px;border:1px solid var(--line);border-radius:26px;background:var(--paper);color:var(--ink);box-shadow:0 20px 65px #20231f24;overflow:auto}
#rest-time-dialog::backdrop{background:#11180f66}
.rest-time-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.rest-time-kicker{display:block;font-size:12px;font-weight:500;color:var(--muted);margin-bottom:6px}
#rest-time-title{font-size:25px;line-height:1.2;letter-spacing:-.04em;margin:0}
.rest-time-close{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:var(--surface-muted);color:var(--ink);font:400 27px/1 var(--body);cursor:pointer}
#rest-time-description{font-size:13px;line-height:1.65;color:var(--muted);margin:0 0 22px}
.rest-time-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.rest-time-option{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:60px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--paper);color:var(--ink);font:650 16px/1.3 var(--body);font-variant-numeric:tabular-nums;text-align:left;cursor:pointer;transition:background-color 120ms,border-color 120ms}
.rest-time-option:hover{background:var(--surface-muted);border-color:var(--ink)}
.rest-time-option[aria-pressed=true]{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.rest-time-option[data-rest-time-value=""]{grid-column:1/-1;font-size:14px;min-height:52px}
.rest-time-check{width:18px;flex-shrink:0;font-size:16px}
#rest-time-dialog .rest-time-footnote{margin:18px 0 0;font-size:12px;line-height:1.6;color:var(--muted)}
#rest-time-dialog[open]{animation:rest-time-enter 140ms ease-out}
@keyframes rest-time-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){#rest-time-dialog{width:100%;max-width:100%;max-height:calc(100dvh - 24px);margin:auto 0 0;padding:24px 22px calc(22px + env(safe-area-inset-bottom));border-radius:26px 26px 0 0;border-bottom:0}.rest-time-option{min-height:60px}}
@media(prefers-reduced-motion:reduce){#rest-time-dialog[open]{animation:none}.rest-time-trigger,.rest-time-option{transition:none}}
.rest-time-options-default .rest-time-option:last-child{grid-column:1/-1}
@media(max-height:600px){.rest-time-options{max-height:calc(100dvh - 260px);overflow:auto;overscroll-behavior:contain;padding:4px;margin:-4px}}

.set-copy-button{grid-column:2 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:48px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-muted);color:var(--ink);font:inherit;cursor:pointer}.set-copy-button span{font-size:13px;font-weight:650}.set-copy-button small{font-size:11px;color:var(--muted)}.set-copy-button:hover:not(:disabled){background:var(--lime)}.set-copy-button:disabled{cursor:default;opacity:.6}

/* Exercise selection: quiet tools, clear choices and comfortable mobile targets. */
#modal:has(#session-exercise-search)>.modal-actions{position:sticky;bottom:-24px;z-index:3;margin-top:12px;padding:12px 0 24px;background:var(--paper);border-top:1px solid var(--line)}
#modal:has(#session-exercise-search)>.modal-actions .primary{flex:1;min-height:48px}
#modal:has(#session-exercise-search)>.modal-actions .primary:disabled{background:var(--surface-muted);border-color:var(--line);color:var(--muted);cursor:default}
.day-body-tabs button{border-color:var(--line);color:var(--muted);background:var(--paper)}
.day-body-tabs button[aria-pressed=true]{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.exercise-library{background:var(--paper);border-color:var(--line);padding:12px;border-radius:16px}
.exercise-library .exercise-library-actions{grid-template-columns:1fr 1fr;background:transparent;gap:8px}
.exercise-library-actions .secondary{padding:10px 8px;min-height:48px;font-size:13px;background:var(--surface-muted);border-color:transparent}
.exercise-group-library>summary{cursor:pointer;min-height:44px;margin-bottom:0;list-style:none;gap:8px}
.exercise-group-library[open]>summary{border-bottom:1px solid var(--line);margin-bottom:8px}
.exercise-group-library>summary:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:6px}
.exercise-group-library{margin-top:4px}
.exercise-library-empty{background:var(--surface-muted);color:var(--muted);border:0;margin:0;padding:12px;line-height:1.6}
.exercise-thumb svg[data-equipment-icon]{width:28px;height:28px;position:static;color:var(--muted)}
.exercise-thumb:has([data-equipment-icon]){display:inline-flex;align-items:center;justify-content:center;background:var(--surface-muted)}
.set-grid input,.rest-panel time,.session-meta{font-variant-numeric:tabular-nums}
.exercise-order .textbtn{min-width:44px;min-height:44px}
@media(max-width:760px){
 #toast{bottom:calc(100px + env(safe-area-inset-bottom));max-width:calc(100vw - 32px);width:max-content;text-align:center;pointer-events:none}
 body:has(.rest-panel) #toast{bottom:calc(230px + env(safe-area-inset-bottom))}
 .exercise-library-actions .secondary{font-size:12px}
}
.local-save-alert{display:grid;gap:12px;padding:16px;margin-bottom:18px;border:1px solid #b78e44;border-radius:14px;background:#fff6df;color:#4d3917;font-size:13px;line-height:1.6}
.local-save-alert b{font-size:14px}.local-save-alert p{margin:4px 0 0;color:#4d3917}.local-save-alert .actions{gap:8px}.local-save-alert button{min-height:44px}
.local-save-inline{margin:0 0 16px!important;color:#4d3917!important}

.storage-recovery{max-width:520px;margin:0 auto;padding:48px 24px;display:grid;gap:20px;min-height:80dvh;align-content:center}.storage-recovery>img{max-width:100%;height:auto;margin-bottom:16px}.storage-recovery h1{font-size:clamp(28px,6vw,38px);line-height:1.3;margin:0}.storage-recovery p{margin:0;color:var(--muted,#666);line-height:1.7}.storage-recovery small{color:var(--muted,#666);line-height:1.6}.recovery-source{display:grid;gap:12px;padding:20px;background:#f5f6f0;border-radius:18px}.recovery-source button{width:100%;min-height:48px;white-space:normal}.recovery-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.recovery-actions button{min-height:44px}.recovery-confirm{display:flex;gap:10px;align-items:flex-start;padding:16px 0;line-height:1.7}.recovery-confirm input{margin-top:5px;width:20px;height:20px;flex:none}.history-empty p{margin:10px 0 18px}.history-empty button{min-height:44px}
/* Keep all navigation labels visible; motion never changes target dimensions. */
.nav{position:relative;isolation:isolate}
.nav button{position:relative;z-index:1}
.nav.nav-transitioning button.active{background:transparent}
.nav-moving-selection{position:absolute;z-index:0;pointer-events:none;transform-origin:0 0}
@media(prefers-reduced-motion:no-preference){.primary:active:not(:disabled),.start-btn:active:not(:disabled){transform:scale(.98);transition:transform 120ms ease-out}}

.set-copy-button[hidden]{display:none!important}

.rest-alert-setting{display:flex;align-items:center;gap:10px;font-size:13px;flex-basis:100%;color:inherit}.rest-alert-setting select{font:inherit;min-height:44px;border:1px solid currentColor;border-radius:12px;padding:6px 12px;background:transparent;color:inherit}.rest-alert-setting option{background:#fff;color:#171a18}

/* Quiet, compact rest controls. */
.timer.rest-panel{display:grid;grid-template-columns:1fr auto;gap:8px 12px;background:var(--paper);color:var(--ink);border:1px solid var(--line);box-shadow:0 4px 18px #20231f12;padding:12px 14px;border-radius:16px}
.rest-panel .rest-readout{color:var(--ink);width:auto;gap:8px}
.rest-panel .rest-readout svg{width:20px;height:20px;color:var(--muted)}
.rest-panel .rest-caption{display:none}
.rest-panel .rest-readout #rest,.rest-panel[data-state=ready] #rest{font-size:15px;font-weight:650;white-space:normal}
.rest-panel .rest-controls{grid-column:1/-1;grid-row:2;display:flex;gap:8px;justify-content:flex-start;margin:0;width:100%}
.rest-panel .rest-controls button{min-height:44px;color:var(--ink);background:var(--surface-muted);border:0;border-radius:10px;font-size:13px;padding:8px 12px}
.rest-panel .rest-controls .rest-time-trigger{min-width:88px;color:var(--ink);background:var(--surface-muted);border:0}
.rest-panel .rest-controls .rest-start{background:var(--lime);color:var(--ink)}
.rest-panel .rest-controls .rest-skip{background:transparent;color:var(--muted);margin-left:auto}
.rest-panel .rest-controls button:hover{background:var(--line)}
.rest-panel .rest-controls .rest-start:hover{background:var(--lime)}
.rest-panel .rest-alert-setting{grid-column:2;grid-row:1;gap:6px;font-size:12px;color:var(--muted)}
.rest-panel .rest-alert-setting select{border:0;padding:4px 2px;min-height:44px;max-width:108px;color:var(--ink);font-size:12px;background:transparent}
@media(max-width:760px){.timer.rest-panel{grid-template-columns:minmax(0,1fr) auto;padding:8px 12px;gap:2px 8px}.rest-panel .rest-readout>div{display:block}.rest-panel .rest-controls{gap:6px}.rest-panel .rest-controls button{padding:8px 10px}.main:has(.rest-panel){padding-bottom:235px}}
.ptquest-wordmark{display:inline-block;color:var(--ink);font-family:var(--display),sans-serif;font-weight:850;font-size:25px;letter-spacing:-.055em;line-height:1.2;white-space:nowrap;text-decoration:none}
.beta-brand{text-decoration:none}.beta-brand .ptquest-wordmark{font-size:32px}.sidebar .brand .ptquest-wordmark{font-size:30px}.mobile-title .ptquest-wordmark{font-size:24px}
.reward-growth-note{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);text-align:left}.reward-growth-note p{font-size:14px;line-height:1.7;margin:0 0 6px;color:var(--ink)}.reward-growth-note small{display:block;font-size:13px;line-height:1.7;color:var(--muted)}.reward-growth-note button{min-height:44px;margin-top:6px;font-size:14px}
.data-help-actions{display:grid;gap:10px;margin-top:18px}.data-help-actions button{min-height:44px;text-align:left}.data-help-dialog p{font-size:14px;line-height:1.75}.data-help-dialog h3{font-size:16px;margin-top:20px}
