:root{color-scheme:dark;--bg:#0d1117;--card:#161d27;--raised:#202a37;--text:#edf2f7;--muted:#a6b3c5;--line:#2c394a;--accent:#75e3ae;--accent-soft:#203e33;--bad:#f18086;font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:16px;line-height:1.5}button,input,select{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #91c6ff;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:1.3rem;letter-spacing:-.03em}h2{font-size:1.1rem}h3{font-size:1rem;margin-bottom:10px}p+p{margin-top:8px}.app-header{max-width:720px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:max(22px,env(safe-area-inset-top)) 18px 18px}.app-header p{font-size:.875rem;color:var(--muted);margin-top:4px}main{max-width:720px;margin:auto;padding:0 14px calc(100px + env(safe-area-inset-bottom))}.tabs{position:fixed;z-index:20;bottom:0;left:0;right:0;display:flex;justify-content:center;padding:8px 8px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#101720f5;backdrop-filter:blur(12px)}.tab{flex:1;max-width:174px;min-height:48px;border:0;border-radius:12px;background:transparent;color:var(--muted);font-size:.9rem}.tab.active{color:var(--accent);background:var(--accent-soft);font-weight:750}.tab-panel{display:none}.tab-panel.active{display:block}.hidden{display:none!important}.ghost,.primary,.danger,.save-btn{border:1px solid var(--line);border-radius:10px;min-height:46px;padding:10px 13px;font-weight:600}.ghost{background:var(--raised);color:var(--text)}.primary,.save-btn{background:var(--accent);color:#0c251c;border-color:var(--accent)}.danger{background:#42242d;border-color:#633540;color:#ffb1b5}.muted{color:var(--muted);font-size:.9rem}.card,.exercise-card,.progress-item,.history-item,.calendar-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;margin-bottom:14px}.section-head,.history-top,.exercise-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-head{margin-bottom:12px}.workout-title{margin-top:24px}.intensity{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--accent)}#todaySummary{margin-bottom:14px}.exercise-head{align-items:flex-start}.exercise-name{font-weight:750;font-size:1.06rem}.exercise-head .muted{margin-top:3px}.quest-chip{font-size:.9rem;font-weight:750;border-radius:9px;background:var(--accent-soft);color:var(--accent);padding:6px 9px;white-space:nowrap}.questbar{height:5px;background:#293443;border-radius:6px;margin:14px 0;overflow:hidden}.questbar span{display:block;height:100%;background:var(--accent)}.objective{font-size:.875rem;color:var(--muted);margin-bottom:14px}.series-list{display:grid;gap:5px}.series-row{display:grid;grid-template-columns:44px 72px minmax(0,1fr);align-items:center;gap:9px;padding:5px 0;border-bottom:1px solid #25303e}.series-row strong{font-size:.9rem}.series-row input[type=checkbox],.form-check input{appearance:none;flex-shrink:0;width:44px;height:44px;border:1px solid #56647a;border-radius:12px;margin:0;background:#111925;cursor:pointer}.series-row input:checked,.form-check input:checked{background:var(--accent);border-color:var(--accent)}.series-row input:checked:after,.form-check input:checked:after{content:'✓';display:block;text-align:center;color:#0c251c;font-size:28px;line-height:40px}.series-row input[type=number]{width:100%;min-height:48px;border:1px solid var(--line);border-radius:10px;padding:8px;background:#0f1722;color:var(--text);text-align:center;font-weight:650}.form-check{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:.9rem}.rating{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:14px}.rating button{min-height:58px;padding:7px 4px;border:1px solid var(--line);border-radius:10px;background:var(--raised);color:var(--text);font-size:.85rem}.rating button.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.save-btn{width:100%;margin-top:12px;min-height:50px}.saved-note{margin-top:10px;font-size:.85rem;color:var(--muted)}.completed{border-color:#315e4a}.completed .series-list,.completed .rating,.completed .form-check{display:none}.completed .save-btn{background:var(--accent-soft);color:var(--accent);opacity:1;border-color:transparent}.completed .saved-note{margin-top:12px}.stack{display:grid;gap:8px}.history-top{flex-wrap:wrap}.history-top time{font-size:.875rem;color:var(--muted)}.history-item{margin:10px 0}.history-item p{margin-top:6px}.progress-item>p{margin-top:8px}.progress-item button{margin-top:12px}details{border-bottom:1px solid var(--line);padding:6px 0}summary{cursor:pointer;min-height:48px;padding:10px 0;font-weight:650}details label{display:grid;gap:4px;margin:10px 0}details input,details select{width:100%;min-height:46px;border:1px solid var(--line);border-radius:10px;padding:8px;background:#0f1722;color:var(--text)}.row-wrap{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.file-label{display:block;max-width:100%;cursor:pointer}.file-label input{display:block;max-width:100%;margin-top:8px;font-size:.875rem}.toast{position:fixed;left:50%;bottom:calc(88px + env(safe-area-inset-bottom));transform:translateX(-50%);background:#edf2f7;color:#142131;padding:12px 16px;border-radius:12px;opacity:0;pointer-events:none;transition:opacity .2s;width:max-content;max-width:90%;z-index:40;text-align:center;font-size:.9rem}.toast.show{opacity:1}dialog{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:20px;padding:24px;width:min(460px,calc(100% - 28px));max-height:85dvh;overflow:auto;box-shadow:0 24px 100px #0008}dialog::backdrop{background:#0009;backdrop-filter:blur(4px)}dialog p{margin-top:10px}dialog li{margin:12px 0}dialog button{width:100%;margin-top:14px}.day-record{padding:12px 0;border-bottom:1px solid var(--line)}.day-record p{font-size:.9rem;margin-top:4px}.calendar-card{padding:16px}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.eyebrow{font-size:.72rem;letter-spacing:.14em;font-weight:750;color:var(--muted)}#calendarMonth{text-transform:capitalize;font-size:1.2rem;margin-top:3px}.month-controls{display:flex;gap:7px}.month-controls button{width:44px;min-height:44px;padding:0;font-size:1.5rem}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-weekdays{color:var(--muted);text-align:center;font-size:.75rem;font-weight:650;margin:8px 0}.calendar-day{position:relative;aspect-ratio:1;min-width:0;min-height:36px;padding:3px 1px;border:0;border-radius:7px;display:flex;align-items:center;justify-content:center;gap:2px;font-size:.875rem;font-weight:650}.calendar-day small{position:absolute;right:3px;bottom:0;font-size:.65rem}.calendar-day.current{outline:2px solid #8ebcff;outline-offset:2px}.calendar-day.complete,.calendar-legend .complete{background:#38c881;color:#092a1a}.calendar-day.missed,.calendar-legend .missed{background:#ed727a;color:#390d14}.calendar-day.rest,.calendar-legend .rest{background:#b7c0cc;color:#253041}.calendar-day.empty,.calendar-legend .empty{background:#fff;color:#283445}.calendar-legend{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:16px;color:var(--muted);font-size:.75rem}.calendar-legend>span{display:flex;align-items:center;gap:5px}.calendar-legend i{width:10px;height:10px;border-radius:3px}.calendar-hint{color:var(--muted);font-size:.75rem;margin-top:10px}.compact-timer{border:1px solid var(--line);background:#141c26;border-radius:13px;padding:10px 12px}.timer-inline{display:flex;align-items:center;gap:12px}.timer-inline>div:first-child{min-width:45px;display:grid;gap:2px}.timer-caption{font-size:.65rem;letter-spacing:.12em;color:var(--muted);font-weight:750}#timerPhase{font-size:.7rem;color:var(--muted);max-width:80px}#timerDisplay{font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:700;letter-spacing:-.04em;white-space:nowrap}.timer-actions{display:flex;gap:5px;margin-left:auto}.timer-actions button{font-size:.75rem;min-height:44px;padding:7px 9px;font-weight:650}.timer-actions .primary{background:#263b34;color:var(--accent);border-color:#37584a}.timer-options{padding:0;border:0}.timer-options summary{display:flex;justify-content:space-between;min-height:32px;padding:7px 1px 0;font-size:.75rem;font-weight:450;color:var(--muted)}.timer-options summary:after{content:'⌄'}.timer-options summary span:last-child{margin-left:auto;margin-right:7px}.timer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}.timer-grid label{font-size:.8rem}.timer-options>p{font-size:.8rem;margin:10px 0}.compact-timer .timer-options[open]{padding-bottom:4px}@media(min-width:600px){.calendar-card{padding:22px}.calendar-grid{gap:9px}.calendar-day{aspect-ratio:auto;min-height:49px}.calendar-legend{font-size:.875rem}.app-header{padding-top:30px}}@media(max-width:350px){main{padding-left:10px;padding-right:10px}.calendar-grid{gap:4px}.calendar-card{padding:12px}.timer-inline{gap:6px}.timer-actions button{padding:7px}.calendar-legend{gap:6px 9px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* A quieter working surface: one goal, one next step. */
.app-header{padding-bottom:14px}h1{font-size:1.15rem}.calendar-card{padding:14px}#calendarMonth{font-size:1.05rem;margin:0}.calendar-heading{margin-bottom:6px}.calendar-day{aspect-ratio:auto;height:36px;min-height:36px}.calendar-legend{margin-top:12px}.month-controls button{min-height:40px;width:40px}.calendar-weekdays{margin:5px 0}.workout-title{margin-top:20px}.quest-compact{margin:14px 0}.quest-status{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.85rem}.quest-status strong{color:var(--accent)}.quest-status strong span{font-weight:400;color:var(--muted)}.quest-status>span{color:var(--muted);font-size:.8rem}.quest-compact .questbar{height:4px;margin:8px 0 10px}.quest-compact p{font-size:.875rem;line-height:1.5}.quest-compact .quest-next{color:var(--muted);font-size:.8rem;margin-top:6px}.plan-link{border:0;background:transparent;color:var(--accent);font-size:.8rem;padding:10px 0;min-height:44px;text-align:left;text-decoration:underline;text-underline-offset:4px}.effort-label{font-size:.8rem;color:var(--muted);margin-top:14px}.rating{margin-top:6px}.rating button{min-height:46px}.completed .effort-label{display:none}.completed .quest-compact{margin-bottom:0}.completed .save-btn{margin-top:0}.progress-intro{margin:7px 0 16px}.plan-principles{margin-bottom:16px;font-size:.875rem}.plan-principles p{margin:10px 0}.plan-principles a{color:var(--accent)}.level-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.level-dialog-head #levelClose{width:44px;min-width:44px;height:44px;margin:0;padding:0;font-size:1.5rem}.level-dialog-head h2{font-size:1.1rem}.level-dialog-head p{margin-top:4px}#levelSummary{color:var(--accent);font-size:.9rem;margin:16px 0}.level-cue{color:var(--muted);font-size:.875rem}.level-ladder{list-style:none;margin:18px 0;padding:0;display:grid;gap:8px}.level-ladder li{display:flex;gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px}.level-ladder li.current-level{border-color:#64cda0;background:#173229}.level-number{width:28px;height:28px;min-width:28px;border:1px solid #546175;border-radius:50%;display:grid;place-items:center;font-size:.85rem}.current-level .level-number,.reached-level .level-number{background:var(--accent);color:#12281d;border-color:var(--accent)}.level-ladder strong{font-size:.9rem}.level-ladder p{font-size:.875rem;margin-top:3px}.level-ladder small{color:var(--muted);font-size:.8rem}.level-calibration{margin-top:16px}#levelError{color:#ffb1b5;font-size:.85rem}#levelAdvance{width:100%}.level-calibration label{font-size:.875rem}#levelDialog{padding:20px}#offlineStatus{font-size:.8rem;margin:16px 0}
/* Sumi charcoal, indigo and warm paper: restrained natural tones. */
:root{--bg:#171918;--card:#202422;--raised:#2a302d;--text:#eeeae1;--muted:#b1b8af;--line:#39413b;--accent:#b5c8b0;--accent-soft:#303e34;--bad:#d68b83}
.tabs{background:#191e1af5}.tab{font-size:.78rem}.primary,.save-btn{color:#1b291f}.compact-timer{background:#1e2629}.timer-actions .primary{background:#2e3d46;border-color:#435761;color:#d3e0e5}.series-row{border-color:var(--line)}.series-row input[type=number],.series-row input[type=checkbox],.form-check input,details input,details select{background:#191e1b}.questbar{background:#364139}.level-ladder li.current-level{background:var(--accent-soft);border-color:var(--accent)}.calendar-day.current{outline-color:#a6bcc7}.calendar-day.complete,.calendar-legend .complete{background:#86b496}.calendar-day.missed,.calendar-legend .missed{background:#d68b83}.calendar-day.rest,.calendar-legend .rest{background:#ced1cc}.calendar-day.empty,.calendar-legend .empty{background:#fff}.icon-button{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0;border:1px solid var(--line);border-radius:12px;background:transparent;color:var(--muted);margin:0}.icon-button svg{width:20px;height:20px}.progress-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.progress-item .icon-button{margin:0}.exercise-head>div{min-width:0}.energy-card{padding:0 4px 18px}.energy-top{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:var(--muted)}.energy-top .icon-button{border:0}.energy-number{display:flex;align-items:baseline;gap:10px}.energy-number output{font-size:2rem;font-weight:650;letter-spacing:-.06em;font-variant-numeric:tabular-nums}.energy-number span{font-size:.75rem;color:var(--muted)}#energyBreakdown{font-size:.8rem;margin-top:5px}#energyStatus{font-size:.75rem;margin-top:3px}form label, #activityDialog>details>label{display:grid;gap:5px;font-size:.85rem;margin:12px 0}form input,form select,textarea{width:100%;min-width:0;min-height:46px;padding:9px;border-radius:10px;border:1px solid var(--line);background:#191e1b;color:var(--text);font:inherit}.activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.plate-row{display:grid;grid-template-columns:1fr 1fr 44px;align-items:end;gap:10px}.plate-row button{margin-bottom:12px;padding:0}.mount-row{display:grid;grid-template-columns:60px 1fr 1fr;gap:10px;align-items:center}.mount-row label{min-width:0;font-size:.75rem;display:grid;gap:4px;margin:8px 0}.mount-row input{width:100%;min-height:44px;background:#191e1b;border:1px solid var(--line);border-radius:9px;color:var(--text);padding:8px}#equipmentError,#activityError{color:var(--bad)}#activityDialog pre{font-size:.75rem;white-space:pre-wrap;overflow-wrap:anywhere}a{color:var(--accent)}#equipmentContent .card>p{font-size:.85rem}#levelDialog select{max-width:100%}@media(max-width:350px){.energy-number{gap:7px}.energy-number span{font-size:.68rem}.tab{font-size:.7rem}.activity-grid{gap:0 8px}}

/* Explicit checked artwork: independent of pseudo-elements on native inputs. */
.series-row input[type=checkbox]{-webkit-appearance:none;appearance:none;background-image:none;background-position:center;background-repeat:no-repeat;background-size:26px 26px}
.series-row input[type=checkbox]:checked{background-color:var(--accent);border-color:var(--accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 12 4 4L19 6' fill='none' stroke='%231b291f' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.series-row input[type=checkbox]:checked::after{content:none}
@media(forced-colors:active){.series-row input[type=checkbox]{-webkit-appearance:auto;appearance:auto}}

.calendar-day.partial,.calendar-legend .partial{background:#dfb58e;color:#47301c}.edit-record{font-size:.8rem;min-height:44px;margin-top:10px}.duration-options{font-size:.8rem;margin-top:8px}#editError{color:var(--bad)}

.tone-red{--completion-color:#ce8580}.tone-orange{--completion-color:#dfb58e}.tone-yellow{--completion-color:#dfcf85}.tone-soft-green{--completion-color:#b0cba7}.tone-green{--completion-color:#42bd7c}
.calendar-day[class*=tone-],.calendar-legend i[class*=tone-]{background:var(--completion-color);color:#252b25}.calendar-day.rest{background:transparent;border:1px solid var(--line);color:var(--muted);opacity:.5}.hp-card{margin-bottom:20px;padding:6px 4px}.hp-card .section-head{margin-bottom:8px}.hp-track{height:28px;border:2px solid #555b48;background:#101511;border-radius:8px;overflow:hidden;box-shadow:inset 0 2px 6px #0009,0 0 0 1px #090e0a}.hp-track>div{height:100%;background:linear-gradient(90deg,#3197aa33,#61c5d144 55%,#c1e8dd55),linear-gradient(180deg,#ffffff40,transparent 48%,#0003),var(--completion-color);background-blend-mode:screen,normal,normal;box-shadow:inset 0 1px #ffffff80;transition:width .25s}.hp-card p{font-size:.8rem;margin-top:7px}#completionPercent{font-weight:750;font-variant-numeric:tabular-nums}.tab{font-size:.72rem;padding:4px}#tab-timer .compact-timer{margin-top:20px}#tab-timer #timerDisplay{font-size:2rem}
.config-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}.config-tab{min-height:46px;border:1px solid var(--line);border-radius:11px;background:var(--raised);color:var(--text);font-weight:650}.config-tab.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.config-panel{display:none}.config-panel.active{display:block}#tab-calories{padding-top:2px}#calorieTotal{font-size:1.25rem;font-weight:750;font-variant-numeric:tabular-nums}#calorieError{color:var(--bad)}
.calendar-legend-details{position:relative;margin-top:10px}.calendar-legend-details summary{margin-left:auto;width:30px;min-height:30px;padding:3px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--muted);font-weight:750;list-style:none}.calendar-legend-details summary::-webkit-details-marker{display:none}.calendar-legend-details .calendar-legend{display:none;position:absolute;right:0;bottom:38px;z-index:3;width:max-content;max-width:calc(100vw - 54px);padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--raised);box-shadow:0 12px 28px #0008}.calendar-legend-details[open] .calendar-legend,.calendar-legend-details:hover .calendar-legend{display:flex}
.timer-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}.timer-presets button{min-height:42px;margin:0;padding:7px;font-size:.75rem}.timer-options .save-preset{width:100%;margin-top:10px;min-height:42px;font-size:.8rem}.pending-record{border:1px dashed var(--line);border-radius:12px;padding:12px;margin-top:10px}.pending-record button{margin-top:9px}@media(max-width:380px){.timer-presets{grid-template-columns:1fr}}
.equipment-subhead{margin-top:20px}.implement-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,.8fr) 44px;gap:8px;align-items:end;border-bottom:1px solid var(--line);padding:4px 0}.implement-row button{padding:0;margin-bottom:12px}.mount-row.dynamic{grid-template-columns:60px repeat(var(--implements),minmax(120px,1fr));overflow-x:auto}.final-note{margin-top:18px}@media(max-width:520px){.implement-row{grid-template-columns:1fr 1fr}.implement-row label:first-child{grid-column:1/-1}.implement-row button{align-self:end;margin-bottom:12px}.mount-row.dynamic{grid-template-columns:60px repeat(var(--implements),minmax(108px,1fr))}}

/* Training flow: quiet surface, per-set presets and restrained progression. */
.workout-actions{display:flex;gap:8px;margin:0 0 14px}.workout-actions .primary{flex:1}.workout-actions .icon-button{flex:0 0 46px}.today-closed{display:none}.rest-strip{position:sticky;top:8px;z-index:12;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#1a211ef2;backdrop-filter:blur(10px)}.rest-strip>div:first-child{display:grid}.rest-strip span{font-size:.65rem;letter-spacing:.14em;color:var(--muted)}.rest-strip output{font-size:1.35rem;font-variant-numeric:tabular-nums}.rest-strip>div:last-child{display:flex;gap:5px}.rest-strip button{min-height:40px;padding:6px 9px;font-size:.75rem}.series-row{grid-template-columns:42px 48px minmax(0,1.15fr) minmax(92px,.85fr);gap:7px}.series-row .set-load{min-width:0;min-height:44px;padding:6px;font-size:.78rem}.rep-stepper{display:grid;grid-template-columns:34px minmax(42px,1fr) 34px;align-items:center}.rep-stepper button{min-height:44px;border:1px solid var(--line);background:var(--raised);color:var(--text);padding:0}.rep-stepper button:first-child{border-radius:8px 0 0 8px}.rep-stepper button:last-child{border-radius:0 8px 8px 0}.rep-stepper input{border-radius:0!important;border-left:0!important;border-right:0!important;padding:4px!important}.follow-s1{grid-column:3/5;justify-self:start;border:0;background:transparent;color:var(--accent);min-height:34px;padding:3px;font-size:.72rem}.exercise-secondary{margin-top:8px;border:0}.exercise-secondary summary{font-size:.78rem;color:var(--muted);min-height:38px;padding:6px}.exercise-secondary textarea{min-height:70px;resize:vertical}.exercise-secondary label.inline-check{display:flex;align-items:center;gap:8px}.exercise-secondary input[type=checkbox]{width:22px;height:22px}.last-session{font-size:.78rem;color:var(--muted);margin:10px 0}.mastery-dots{display:flex;gap:8px;margin:9px 0;color:var(--muted);font-size:1rem}.mastery-dots i{font-style:normal}.mastery-dots .filled{color:var(--accent)}.one-more{font-size:.72rem!important;letter-spacing:.16em;color:var(--accent);font-weight:800}.preset-list>div{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:8px 0}.preset-list span{display:grid}.preset-list small{color:var(--muted)}.preset-list button{width:42px;min-height:42px;padding:0}.sound-toggles{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}.sound-toggles label{display:flex;align-items:center;gap:6px;margin:0}.sound-toggles input{width:20px;min-height:20px}.sound-slot{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px;align-items:end;border-bottom:1px solid var(--line);padding:7px 0}.sound-slot label{margin:0}.sound-slot button{min-height:42px;padding:6px 10px;margin-bottom:0}.level-up-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;background:#171918f5;overflow:hidden}.level-up-overlay[hidden]{display:none}.level-up-ink{position:absolute;width:min(70vw,420px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#26465355 0,#66735b22 42%,transparent 70%);animation:ink-open 1.8s ease-out both}.level-up-content{position:relative;text-align:center;max-width:420px;animation:level-rise 1.4s ease-out both}.level-up-content>span{font-size:.72rem;letter-spacing:.28em;color:#b5c8b0}.level-up-content h2{font-size:1.6rem;margin:18px 0 8px;text-transform:uppercase}.level-up-content strong{display:block;font-size:1.05rem;color:#f4f1e8}.level-up-content p{color:var(--muted);margin:10px 0 22px}.level-up-content button{min-width:200px}@keyframes ink-open{from{transform:scale(.25);opacity:0}45%{opacity:1}to{transform:scale(1);opacity:.65}}@keyframes level-rise{from{transform:translateY(14px);opacity:0}35%{opacity:0}to{transform:none;opacity:1}}@media(max-width:520px){.series-row{grid-template-columns:42px 42px minmax(0,1fr)}.series-row .set-load{grid-column:3}.rep-stepper{grid-column:3}.follow-s1{grid-column:3}.config-tabs{grid-template-columns:1fr}.sound-slot{grid-template-columns:1fr auto}.sound-slot label{grid-column:1/-1}}@media(prefers-reduced-motion:reduce){.level-up-ink,.level-up-content{animation:none}}

/* Always-visible workout and cleaner per-set hierarchy. */
.series-row{grid-template-columns:44px 44px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;padding:9px 0;column-gap:8px;row-gap:6px}
.series-row>input[type=checkbox]{grid-column:1;grid-row:1}
.series-row>strong{grid-column:2;grid-row:1;align-self:center;font-variant-numeric:tabular-nums}
.series-row>.rep-stepper{grid-column:3;grid-row:1}
.series-row>.set-load{grid-column:2/4;grid-row:2;width:100%;min-height:40px;color:var(--muted);font-size:.76rem}
.series-row>.follow-s1{grid-column:2/4;grid-row:3}
.rating{margin-top:14px}.today-closed{display:block}

/* Saved visual preferences. */
:root[data-theme="indigo"]{--bg:#101722;--card:#182231;--raised:#233146;--text:#edf1f7;--muted:#aab8cc;--line:#34465f;--accent:#9eb7dc;--accent-soft:#293953;--bad:#d9898f}
:root[data-theme="matcha"]{--bg:#141a14;--card:#1d261d;--raised:#293429;--text:#edf0e7;--muted:#adb9a7;--line:#3a4938;--accent:#aeca91;--accent-soft:#32442d;--bad:#d8897f}
:root[data-theme="akane"]{--bg:#1c1414;--card:#281d1d;--raised:#362727;--text:#f1e9e4;--muted:#c0ada5;--line:#503936;--accent:#dc9a86;--accent-soft:#4a2e29;--bad:#ee8b8b}
:root:is([data-scale="compact"],[data-scale="compact-plus"]) body{font-size:14px}:root:is([data-scale="compact"],[data-scale="compact-plus"]) main{max-width:680px}:root:is([data-scale="compact"],[data-scale="compact-plus"]) .card,:root:is([data-scale="compact"],[data-scale="compact-plus"]) .exercise-card,:root:is([data-scale="compact"],[data-scale="compact-plus"]) .progress-item,:root:is([data-scale="compact"],[data-scale="compact-plus"]) .history-item{padding:14px}:root:is([data-scale="compact"],[data-scale="compact-plus"]) .ghost,:root:is([data-scale="compact"],[data-scale="compact-plus"]) .primary,:root:is([data-scale="compact"],[data-scale="compact-plus"]) .danger,:root:is([data-scale="compact"],[data-scale="compact-plus"]) .save-btn{min-height:40px}:root:is([data-scale="compact"],[data-scale="compact-plus"]) .series-row>input[type=checkbox]{width:40px;height:40px}
:root[data-scale="large"] body{font-size:17px}:root[data-scale="large"] main{max-width:760px}:root[data-scale="large"] .tab{font-size:.8rem}:root[data-scale="large"] .ghost,:root[data-scale="large"] .primary,:root[data-scale="large"] .danger,:root[data-scale="large"] .save-btn{min-height:50px}

/* v6.6: independent palettes and responsive density systems. */
:root[data-theme="kiiro"]{--bg:#1c190d;--card:#292414;--raised:#39321a;--text:#fff5cf;--muted:#c8bb87;--line:#554b24;--accent:#e5c64a;--accent-soft:#51451d;--bad:#ef8989}
:root[data-theme="murasaki"]{--bg:#181221;--card:#231a30;--raised:#332543;--text:#f4edfa;--muted:#bdaccb;--line:#4a365e;--accent:#c49ce7;--accent-soft:#472f5e;--bad:#ed8e9a}
:root[data-theme="shiro"]{color-scheme:light;--bg:#f7f7f4;--card:#fff;--raised:#eeefec;--text:#202420;--muted:#646b65;--line:#cfd4cf;--accent:#316b50;--accent-soft:#dcebe2;--bad:#b7434c}
:root[data-theme="hai"]{--bg:#181a1b;--card:#222526;--raised:#303435;--text:#f0f1ef;--muted:#adb1ae;--line:#484c4d;--accent:#d2d5d2;--accent-soft:#414546;--bad:#d58b8b}
:root[data-theme="shiro"] .tabs{background:#f7f7f4f2}:root[data-theme="shiro"] input,:root[data-theme="shiro"] select,:root[data-theme="shiro"] textarea,:root[data-theme="shiro"] .series-row input[type=number]{background:#fff;color:var(--text)}:root[data-theme="shiro"] .primary,:root[data-theme="shiro"] .save-btn{color:#fff}
.app-header,main{width:100%;margin-inline:auto}:root:is([data-scale="compact"],[data-scale="compact-plus"]) .app-header,:root:is([data-scale="compact"],[data-scale="compact-plus"]) main{max-width:720px}:root:is([data-scale="compact"],[data-scale="compact-plus"]) body{font-size:14px}:root:is([data-scale="compact"],[data-scale="compact-plus"]) main{padding-inline:10px}:root:is([data-scale="compact"],[data-scale="compact-plus"]) .app-header{padding-inline:12px}:root:is([data-scale="compact"],[data-scale="compact-plus"]) .card,:root:is([data-scale="compact"],[data-scale="compact-plus"]) .exercise-card,:root:is([data-scale="compact"],[data-scale="compact-plus"]) .progress-item,:root:is([data-scale="compact"],[data-scale="compact-plus"]) .history-item,:root:is([data-scale="compact"],[data-scale="compact-plus"]) .calendar-card{padding:12px;border-radius:13px}:root:is([data-scale="compact"],[data-scale="compact-plus"]) .exercise-card{margin-bottom:9px}:root:is([data-scale="compact"],[data-scale="compact-plus"]) .quest-compact{margin:9px 0}:root:is([data-scale="compact"],[data-scale="compact-plus"]) .series-row{padding:5px 0}:root:is([data-scale="compact"],[data-scale="compact-plus"]) .rating button{min-height:40px}
:root[data-scale="normal"] .app-header,:root[data-scale="normal"] main{max-width:720px}:root[data-scale="large"] .app-header,:root[data-scale="large"] main{max-width:820px}:root[data-scale="large"] main{padding-inline:20px}:root[data-scale="large"] .app-header{padding-inline:24px}:root[data-scale="large"] .card,:root[data-scale="large"] .exercise-card,:root[data-scale="large"] .progress-item,:root[data-scale="large"] .history-item,:root[data-scale="large"] .calendar-card{padding:22px;border-radius:20px}:root[data-scale="large"] .exercise-card{margin-bottom:18px}:root[data-scale="large"] .series-row{padding:12px 0}:root[data-scale="large"] .rating button{min-height:58px}

/* Calendar size is independent from the interface scale. */
:root[data-calendar-size="small"] .calendar-card{padding:11px}:root[data-calendar-size="small"] .calendar-grid,:root[data-calendar-size="small"] .calendar-weekdays{gap:3px}:root[data-calendar-size="small"] .calendar-day{height:28px;min-height:28px;font-size:.72rem}:root[data-calendar-size="small"] .calendar-weekdays{font-size:.65rem;margin:3px 0}
:root[data-calendar-size="normal"] .calendar-day{height:36px;min-height:36px}:root[data-calendar-size="large"] .calendar-card{padding:20px}:root[data-calendar-size="large"] .calendar-grid,:root[data-calendar-size="large"] .calendar-weekdays{gap:9px}:root[data-calendar-size="large"] .calendar-day{height:48px;min-height:48px;font-size:1rem}
.calendar-card{position:relative}.calendar-legend-details{position:absolute;right:112px;top:13px;width:30px;height:30px;margin:0;padding:0;border:0}.calendar-legend-details summary{margin:0}.calendar-legend-details .calendar-legend{top:36px;right:-98px;bottom:auto}

/* Per-set controls: repetitions and setup share the same width. */
.series-row>.rep-stepper,.series-row>.load-picker{grid-column:3;width:100%}.series-row>.load-picker{grid-row:2;border:0;padding:0;position:relative}.load-picker>summary{width:100%;min-height:40px;padding:8px 32px 8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--raised);color:var(--text);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.load-picker>summary:after{content:'⌄';position:absolute;right:11px}.load-picker>div{display:grid;gap:4px;padding:6px 0}.load-picker button{display:grid;text-align:left;width:100%;min-height:44px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--raised);color:var(--text)}.load-picker button.selected{border-color:var(--accent)}.load-picker small{color:var(--muted);font-size:.7rem}.series-row>.follow-s1{grid-column:3}

.exercise-name{display:flex;align-items:center;gap:7px}.tip-popover{display:inline-block;position:relative;border:0;padding:0}.tip-popover>summary{display:grid;place-items:center;width:25px;height:25px;min-height:25px;padding:0;border:1px solid var(--line);border-radius:50%;color:var(--accent);font-size:.8rem;list-style:none}.tip-popover>summary::-webkit-details-marker{display:none}.tip-popover>div{position:absolute;z-index:14;left:0;top:31px;width:min(300px,calc(100vw - 62px));padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--raised);box-shadow:0 14px 35px #0009;font-size:.82rem}.tip-popover ol{margin:7px 0 0;padding-left:20px}.tip-popover li{margin:6px 0;font-weight:450;line-height:1.4}
.quest-status{align-items:center}.quest-status .mastery-dots{margin:0;align-items:center;gap:6px}.mastery-dots span{font-size:.72rem;color:var(--muted);margin-left:2px}.exercise-secondary textarea{display:none}

/* Timer de rutina compartido */
.workout-timer-controller{margin:16px 0;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}
.timer-disclosure{margin:16px 0;border:1px solid var(--line);border-radius:16px;background:var(--card);overflow:hidden}.timer-disclosure>summary{padding:12px 16px;min-height:44px;cursor:pointer;font-size:.8rem;font-weight:700;color:var(--muted)}.timer-disclosure>.workout-timer-controller{margin:0;border:0;border-radius:0;background:transparent;padding-top:4px}
.today-pinned{margin:12px 0 20px;padding:8px 0;background:var(--bg)}.today-pinned .hp-card{margin:0 0 8px}.today-pinned .timer-mini{margin:0}html[data-pin-today="on"] .today-pinned{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;border-bottom:1px solid var(--line);box-shadow:0 8px 12px -12px #0008}.setting-toggle{display:flex;align-items:center;gap:12px;min-height:48px}.setting-toggle input{width:22px;min-width:22px;height:22px;margin:0;accent-color:var(--accent)}
.timer-mini{margin:12px 0 20px}.routine-timer-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.routine-timer-top>div{display:grid;gap:2px;min-width:0}.routine-timer-top span{font-size:.67rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.routine-timer-top strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.routine-timer-top output{font-size:1.65rem;font-weight:800;font-variant-numeric:tabular-nums}.routine-timer-bar{height:12px;margin:12px 0 8px;border:1px solid var(--line);border-radius:999px;background:#0c100e;overflow:hidden}.routine-timer-bar i{display:block;height:100%;width:0;transition:width .2s linear}.routine-timer-bar.work i{background:linear-gradient(90deg,#b85624,#e49349)}.routine-timer-bar.rest i{background:linear-gradient(90deg,#c9ccc8,#fff)}.routine-timer-next{margin:0 0 10px;color:var(--muted);font-size:.78rem}.routine-timer-actions{display:flex;gap:7px;flex-wrap:wrap}.routine-timer-actions button{min-height:42px;padding:7px 12px}.routine-timer-actions .complete-timed-set{color:#cfe7c9;border-color:#657b62}.routine-timer-actions .icon-only{width:42px;padding:0}.routine-timer-empty{display:flex;justify-content:space-between;gap:8px;color:var(--muted)}.timer-schedule h3,.timer-config-details summary{margin:0}.timer-step{display:grid;grid-template-columns:26px 1fr;gap:8px;padding:9px 4px;border-bottom:1px solid var(--line);opacity:.58}.timer-step.current{opacity:1;background:color-mix(in srgb,var(--raised) 82%,transparent);border-radius:8px;padding-inline:8px}.timer-step.done{opacity:.76}.timer-step>span{color:#df8643;font-weight:800}.timer-step.rest>span{color:var(--text)}.timer-step div{display:grid}.timer-step small{color:var(--muted);margin-top:2px}.timer-config-details{margin-bottom:18px}.timer-config-details>summary{padding:2px 0 12px;font-weight:750}.timer-config-list article{padding:12px 0;border-bottom:1px solid var(--line)}.timer-config-list article>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}.timer-config-list label{margin:0;font-size:.72rem}.timer-config-list input{min-width:0}.timer-full-controller{margin-top:6px}
.routine-timer-actions.transport{display:grid;grid-template-columns:repeat(5,42px) minmax(76px,1fr);align-items:end}.transport .icon-only{grid-column:auto!important;grid-row:auto!important;width:42px!important}.transport .complete-timed-set{grid-column:1/-1}.timer-speed{display:grid;gap:2px;margin:0}.timer-speed span{font-size:.62rem;letter-spacing:.08em;color:var(--muted)}.timer-speed select{min-height:42px;padding:5px 7px}.routine-timer-empty+.transport{margin-top:10px;grid-template-columns:42px minmax(82px,130px)}
@media(max-width:520px){.timer-config-list article>div{grid-template-columns:1fr 1fr}.timer-config-list label:last-child{grid-column:1/-1}.routine-timer-actions{display:grid;grid-template-columns:1fr 1fr 42px}.routine-timer-actions .complete-timed-set{grid-column:1/-1}.routine-timer-actions .icon-only{grid-column:3;grid-row:1;width:42px}.timer-mini{padding:13px}.timer-mini .routine-timer-top output{font-size:1.4rem}}
@media(max-width:520px){.routine-timer-actions.transport{grid-template-columns:repeat(5,40px) minmax(72px,1fr);gap:5px}.transport .icon-only{width:40px!important}.timer-speed select{font-size:.78rem}.timer-mini{padding:12px}}

/* Paletas independientes para el calendario */
html[data-calendar-palette="sunset"] .calendar-card .tone-red{--completion-color:#9d3d3d}html[data-calendar-palette="sunset"] .calendar-card .tone-orange{--completion-color:#d36b3d}html[data-calendar-palette="sunset"] .calendar-card .tone-yellow{--completion-color:#e5ad52}html[data-calendar-palette="sunset"] .calendar-card .tone-soft-green{--completion-color:#a9b86e}html[data-calendar-palette="sunset"] .calendar-card .tone-green{--completion-color:#5ca86f}
html[data-calendar-palette="ocean"] .calendar-card .tone-red{--completion-color:#765071}html[data-calendar-palette="ocean"] .calendar-card .tone-orange{--completion-color:#8a6a78}html[data-calendar-palette="ocean"] .calendar-card .tone-yellow{--completion-color:#7c8d91}html[data-calendar-palette="ocean"] .calendar-card .tone-soft-green{--completion-color:#5899a1}html[data-calendar-palette="ocean"] .calendar-card .tone-green{--completion-color:#31b6ad}
html[data-calendar-palette="sakura"] .calendar-card .tone-red{--completion-color:#9b5263}html[data-calendar-palette="sakura"] .calendar-card .tone-orange{--completion-color:#c47679}html[data-calendar-palette="sakura"] .calendar-card .tone-yellow{--completion-color:#dc9d91}html[data-calendar-palette="sakura"] .calendar-card .tone-soft-green{--completion-color:#c6b89c}html[data-calendar-palette="sakura"] .calendar-card .tone-green{--completion-color:#92b799}
html[data-calendar-palette="mono"] .calendar-card .tone-red{--completion-color:#555}html[data-calendar-palette="mono"] .calendar-card .tone-orange{--completion-color:#777}html[data-calendar-palette="mono"] .calendar-card .tone-yellow{--completion-color:#999}html[data-calendar-palette="mono"] .calendar-card .tone-soft-green{--completion-color:#bbb}html[data-calendar-palette="mono"] .calendar-card .tone-green{--completion-color:#eee}
.tone-epic{--completion-color:#9567e8}.calendar-day.tone-epic{background:var(--completion-color);color:#fff}.timer-total{display:block;margin-top:2px;color:var(--muted);font-size:.72rem;font-weight:500}.exercise-card-actions{display:flex;gap:6px;align-items:center}.exercise-card-actions .icon-button{margin:0}.has-extra{border-color:color-mix(in srgb,var(--accent) 35%,#9b63e8 65%)}.extra-series{border-left:3px solid color-mix(in srgb,var(--accent) 30%,#9b63e8 70%);padding-left:7px}.extra-label{margin:10px 0;color:#c7a9ff;font-size:.8rem;font-weight:700}.subtle-add{width:100%;min-height:38px;margin-top:8px;border-style:dashed;color:var(--muted);font-size:.78rem}.add-today-card{border-color:color-mix(in srgb,var(--line) 70%,#9b63e8 30%)}.slot-row{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px;align-items:end}.slot-row label{margin:6px 0}.slot-row label span{font-size:.78rem;color:var(--muted)}.slot-row .remove-slot{width:44px;min-height:46px;padding:0;margin-bottom:6px}.routine-day>.add-slot{width:100%;margin:8px 0}.calendar-day small{font-size:.55rem}

/* v7.1: calendar progress modes, persistent exercise timing and measurements. */
:root[data-theme="obsidian"]{--bg:#080d16;--card:#101a29;--raised:#18283d;--text:#eef6ff;--muted:#91a9c4;--line:#294665;--accent:#5aaeff;--accent-soft:#173958;--bad:#e0777d}:root[data-theme="ember"]{--bg:#170b08;--card:#25120d;--raised:#371d14;--text:#fff0dd;--muted:#c6a17e;--line:#60402d;--accent:#f39a3c;--accent-soft:#573019;--bad:#f07171}:root[data-theme="frost"]{--bg:#09171d;--card:#10252d;--raised:#193640;--text:#ebfbff;--muted:#9ec4cc;--line:#35616b;--accent:#75d8ea;--accent-soft:#1d515d;--bad:#e07d91}
html[data-calendar-palette="neon"] .calendar-card .tone-red{--completion-color:#ff486a}html[data-calendar-palette="neon"] .calendar-card .tone-orange{--completion-color:#ff9b38}html[data-calendar-palette="neon"] .calendar-card .tone-yellow{--completion-color:#f4ed45}html[data-calendar-palette="neon"] .calendar-card .tone-soft-green{--completion-color:#8ae85f}html[data-calendar-palette="neon"] .calendar-card .tone-green{--completion-color:#39ff88}html[data-calendar-palette="arcane"] .calendar-card .tone-red{--completion-color:#633a87}html[data-calendar-palette="arcane"] .calendar-card .tone-orange{--completion-color:#7751a6}html[data-calendar-palette="arcane"] .calendar-card .tone-yellow{--completion-color:#8172c5}html[data-calendar-palette="arcane"] .calendar-card .tone-soft-green{--completion-color:#6d98db}html[data-calendar-palette="arcane"] .calendar-card .tone-green{--completion-color:#55c8ef}
.calendar-day{position:relative;isolation:isolate;overflow:hidden}.calendar-day>span{position:relative;z-index:2}.calendar-progress{display:none;position:absolute;z-index:1;background:var(--completion-color);pointer-events:none}html[data-calendar-mode="vertical"] .calendar-day:not(.empty):not(.rest),html[data-calendar-mode="horizontal"] .calendar-day:not(.empty):not(.rest),html[data-calendar-mode="neon"] .calendar-day:not(.empty):not(.rest),html[data-calendar-mode="ring"] .calendar-day:not(.empty):not(.rest){background:#f7f7f4;color:#15202a}html[data-calendar-mode="vertical"] .calendar-progress{display:block;inset:auto 0 0;height:var(--day-progress)}html[data-calendar-mode="horizontal"] .calendar-progress{display:block;inset:0 auto 0 0;width:var(--day-progress)}html[data-calendar-mode="neon"] .calendar-progress{display:block;inset:auto 0 0;height:var(--day-progress);background:#39ff79;box-shadow:0 0 9px #39ff79}html[data-calendar-mode="ring"] .calendar-day:not(.empty):not(.rest){background:conic-gradient(var(--completion-color) var(--day-progress),#f7f7f4 0);padding:4px}html[data-calendar-mode="ring"] .calendar-day:not(.empty):not(.rest):after{content:'';position:absolute;inset:4px;border-radius:7px;background:#f7f7f4;z-index:0}html[data-calendar-mode="none"] .calendar-day:not(.rest){background:#f7f7f4;color:#15202a}html[data-calendar-mode="none"] .calendar-progress{display:none}.calendar-day.rest{opacity:.5}.calendar-day.rest .calendar-progress{display:none}
.extra-set-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:stretch}.extra-set-actions button{display:grid;place-items:center;width:100%;min-width:0;min-height:44px;margin:0;white-space:normal;text-align:center;line-height:1.2;padding:6px 4px}.extra-set-actions button:disabled{opacity:.42;filter:saturate(.25);border-style:solid;cursor:not-allowed}.subtle-remove{width:100%;min-height:38px;margin-top:8px;border-style:dashed;color:#d9a6bd;font-size:.78rem}.routine-config-row.slot-row{grid-template-columns:minmax(180px,1.4fr) repeat(3,minmax(82px,.55fr)) 44px}.routine-config-row input,.routine-config-row select{width:100%;min-width:0;min-height:44px}.routine-config-row label span{font-size:.72rem;color:var(--muted)}.routine-config-row .slot-rest-progressive{grid-column:1/-1;display:flex;align-items:center;gap:9px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--raised)}.routine-config-row .slot-rest-progressive input{width:20px;min-height:20px;accent-color:var(--accent)}.routine-config-row .slot-rest-progressive span{font-size:.8rem}
.measurement-visual{position:relative;display:grid;place-items:center;min-height:390px;overflow:hidden;background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 55%)}.measurement-visual img{display:block;width:min(72%,330px);max-height:470px;object-fit:contain}.measurement-form>label{display:grid;gap:5px}.measurement-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 0}.measurement-fields label{display:grid;gap:4px;font-size:.78rem}.measurement-input{display:grid;grid-template-columns:1fr auto;align-items:center}.measurement-input input{grid-column:1/-1;grid-row:1;width:100%;padding-right:40px}.measurement-input b{grid-column:2;grid-row:1;padding-right:10px;color:var(--muted);pointer-events:none}.measurement-record{padding:0;border:1px solid var(--line);border-radius:14px;background:var(--card);overflow:hidden}.measurement-record>summary{display:flex;justify-content:space-between;padding:14px}.measurement-record>summary small{color:var(--accent)}.measurement-values{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 14px 14px}.measurement-values span{display:grid;padding:9px;border-radius:9px;background:var(--raised)}.measurement-values small{color:var(--muted);font-size:.68rem}.measurement-record>button{margin:0 0 12px 12px}@media(max-width:620px){.extra-set-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.extra-set-actions button{font-size:.66rem;padding:5px 2px}.routine-config-row.slot-row{grid-template-columns:1fr 1fr}.routine-config-row .slot-exercise{grid-column:1/-1}.routine-config-row .remove-slot{grid-column:2;justify-self:end}.measurement-fields{grid-template-columns:1fr 1fr}.measurement-values{grid-template-columns:1fr 1fr}}
.history-day{padding:0;border:1px solid var(--line);border-radius:14px;background:var(--card);overflow:hidden}.history-day>summary{display:flex;justify-content:space-between;align-items:center;padding:14px;list-style:none;text-transform:capitalize}.history-day>summary small{color:var(--muted)}.history-day>.history-item{margin:0;border:0;border-top:1px solid var(--line);border-radius:0}
.level-edit{width:100%;display:grid;gap:8px}.level-edit label{font-size:.78rem}.level-edit input,.level-edit select{width:100%;min-height:42px}.save-levels{width:100%;margin-bottom:14px}.edit-levels{width:100%;margin-top:12px}.routine-day>summary{display:flex;justify-content:space-between}.routine-day>summary small{color:var(--muted)}.routine-config-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,.8fr) auto;gap:8px;align-items:end;padding:9px 0;border-top:1px solid var(--line)}.routine-config-row label{margin:0}.routine-config-row button{min-height:44px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.exercise-form label,.postpone-card label{display:grid;gap:4px;margin:10px 0}.exercise-form input,.exercise-form select,.postpone-card input{width:100%;min-height:46px;border:1px solid var(--line);border-radius:10px;padding:8px;background:var(--raised);color:var(--text)}
#config-appearance .card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}#config-appearance .card h3,#config-appearance .card p{grid-column:1/-1}#config-appearance .card label{display:flex;flex-direction:column;align-items:stretch;gap:4px;margin:0}#config-appearance select{width:100%;min-width:0;min-height:44px}
@media(max-width:520px){.routine-config-row{grid-template-columns:1fr auto}.routine-config-row>strong{grid-column:1/-1}.calendar-legend-details{right:102px}.series-row>.load-picker,.series-row>.rep-stepper{grid-column:3}#config-appearance .card{grid-template-columns:1fr}}
.calendar-title-row{display:flex;align-items:center;gap:6px;min-width:0}.calendar-heading .calendar-legend-details{position:relative;inset:auto;width:22px;height:22px;flex:0 0 22px;margin:0;padding:0;border:0}.calendar-heading .calendar-legend-details .calendar-legend{top:28px;left:0;right:auto;bottom:auto}.calendar-heading .calendar-legend-details summary{width:22px;min-height:22px;height:22px;margin:0;padding:0;border-radius:50%;font-family:Georgia,serif;font-size:.76rem;font-style:italic;line-height:1}.calendar-heading .calendar-legend-details summary span{transform:translateY(-.5px)}@media(max-width:380px){.calendar-title-row{gap:4px}.calendar-heading{gap:6px}.month-controls{gap:4px}.month-controls button{width:38px}}
.move-routine-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:10px}.move-routine-form label{margin:0}.move-routine-form button{min-height:46px}.config-intro{margin:6px 0 14px}.friendly-equipment .muted,.usual-loads>.muted,.simple-presets>.muted{margin-bottom:14px}.friendly-list{display:grid;gap:10px}.friendly-plate,.friendly-implement{display:grid;align-items:end;gap:8px;padding:12px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--card) 82%,var(--raised))}.friendly-plate{grid-template-columns:minmax(0,1fr) minmax(0,.8fr) 44px}.friendly-implement{grid-template-columns:1.2fr 1fr 1fr 44px}.friendly-plate label,.friendly-implement label{margin:0}.friendly-plate label>span:first-child,.friendly-implement label>span:first-child{font-size:.75rem;color:var(--muted)}.field-with-unit{display:grid;grid-template-columns:1fr auto;align-items:center}.field-with-unit input{grid-column:1/-1;grid-row:1}.field-with-unit b{grid-column:2;grid-row:1;padding-right:10px;color:var(--muted);font-size:.8rem;pointer-events:none}.small-action{margin-top:10px}.equipment-implements{margin-top:16px}.equipment-implements summary,.usual-loads>summary,.simple-presets>summary{display:flex;align-items:center;justify-content:space-between}.equipment-save{width:100%;margin-top:16px}.remove-row{margin-bottom:1px}.usual-load-row{display:grid!important;gap:5px!important;margin:0!important;padding:11px;border:1px solid var(--line);border-radius:12px}.usual-load-row select{margin:0}.usual-load-row small{line-height:1.35}.usual-loads #saveUsualLoads{width:100%;margin-top:12px}.simple-preset-form{display:grid;grid-template-columns:1fr 1.4fr auto;align-items:end;gap:9px;margin-top:14px}.simple-preset-form label{margin:0}.simple-preset-form button{min-height:46px}.simple-presets .preset-list{margin-top:10px}#equipmentError,#usualLoadError{color:var(--bad);font-size:.85rem;margin-top:8px}@media(max-width:620px){.move-routine-form{grid-template-columns:1fr 1fr}.move-routine-form button{grid-column:1/-1}.friendly-implement{grid-template-columns:1fr 1fr}.friendly-implement .remove-row{grid-column:2;justify-self:end}.simple-preset-form{grid-template-columns:1fr 1fr}.simple-preset-form button{grid-column:1/-1}}@media(max-width:390px){.move-routine-form{grid-template-columns:1fr}.friendly-plate{grid-template-columns:1fr 1fr 40px}.friendly-implement{grid-template-columns:1fr}.friendly-implement .remove-row{grid-column:1}.simple-preset-form{grid-template-columns:1fr}}

/* v7.2: body map and independent progress personalization. */
.measurement-date{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 10px;color:var(--muted);font-size:.82rem}.measurement-date input{width:auto;min-height:42px}.measurement-visual{height:640px;min-height:640px;padding:0;display:block;isolation:isolate}.measurement-visual img{position:absolute;z-index:1;left:50%;bottom:0;transform:translateX(-50%);width:100%;height:100%;max-height:none;object-fit:contain}.measurement-lines{position:absolute;z-index:2;inset:0;width:100%;height:100%;pointer-events:none}.measurement-lines line{stroke:color-mix(in srgb,var(--muted) 70%,transparent);stroke-width:.35;stroke-dasharray:1.2 1.3}.measurement-lines circle{fill:var(--accent);stroke:var(--card);stroke-width:.35}.measurement-callout{position:absolute;z-index:3;left:var(--x);top:var(--y);width:21%;min-height:44px;padding:4px 2px;border:0;background:transparent;color:var(--muted);display:grid;gap:0;text-align:left}.measurement-callout.right{left:auto;right:2%;text-align:right}.measurement-callout span{font-size:.67rem;line-height:1.1}.measurement-callout strong{color:var(--text);font-size:.9rem;white-space:nowrap}.measurement-callout small{font-size:.65rem;color:var(--muted);font-weight:500}.measurement-callout:focus-visible,.measurement-callout:hover{background:color-mix(in srgb,var(--accent-soft) 75%,transparent);border-radius:8px}.measurement-ratio{position:absolute;z-index:4;right:10px;top:10px;display:grid;min-width:105px;padding:9px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--card) 88%,transparent)}.measurement-ratio small{color:var(--muted);font-size:.65rem}.measurement-ratio strong{font-size:1.15rem;color:var(--accent)}#measurementDialog .measurement-form{display:grid;gap:12px}#measurementDialog .measurement-form>label{display:grid;gap:6px;margin-top:12px}#measurementDialog input{width:100%;min-height:52px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--raised);color:var(--text);font-size:1.1rem}#measurementDialog #measurementClose{width:44px;min-width:44px;height:44px;margin:0;padding:0;font-size:1.4rem}
.calendar-day.missed{--completion-color:transparent!important;background:#f7f7f4!important;color:#15202a!important}.calendar-day.missed .calendar-progress{display:none!important}.calendar-day.missed:before,.calendar-day.missed:after{pointer-events:none;z-index:1}html[data-calendar-missed="cross"] .calendar-day.missed:before,html[data-calendar-missed="cross"] .calendar-day.missed:after{content:'';position:absolute;left:17%;right:17%;top:48%;height:2px;background:#746b6b;border-radius:2px;transform:rotate(35deg)}html[data-calendar-missed="cross"] .calendar-day.missed:after{transform:rotate(-35deg)}html[data-calendar-missed="stripes"] .calendar-day.missed{background:repeating-linear-gradient(135deg,#f7f7f4 0 6px,#d7d7d7 6px 8px)!important}html[data-calendar-missed="dot"] .calendar-day.missed:after{content:'';position:absolute;width:13px;height:13px;left:50%;top:50%;transform:translate(-50%,-50%);border:2px solid #746b6b;border-radius:50%}html[data-calendar-missed="outline"] .calendar-day.missed{border:2px dashed #746b6b!important}
html[data-progress-palette="calendar"][data-calendar-palette="sunset"] .hp-card .tone-red{--completion-color:#9d3d3d}html[data-progress-palette="calendar"][data-calendar-palette="sunset"] .hp-card .tone-orange{--completion-color:#d36b3d}html[data-progress-palette="calendar"][data-calendar-palette="sunset"] .hp-card .tone-yellow{--completion-color:#e5ad52}html[data-progress-palette="calendar"][data-calendar-palette="sunset"] .hp-card .tone-soft-green{--completion-color:#a9b86e}html[data-progress-palette="calendar"][data-calendar-palette="sunset"] .hp-card .tone-green{--completion-color:#5ca86f}
html[data-progress-palette="calendar"][data-calendar-palette="ocean"] .hp-card .tone-red{--completion-color:#765071}html[data-progress-palette="calendar"][data-calendar-palette="ocean"] .hp-card .tone-orange{--completion-color:#8a6a78}html[data-progress-palette="calendar"][data-calendar-palette="ocean"] .hp-card .tone-yellow{--completion-color:#7c8d91}html[data-progress-palette="calendar"][data-calendar-palette="ocean"] .hp-card .tone-soft-green{--completion-color:#5899a1}html[data-progress-palette="calendar"][data-calendar-palette="ocean"] .hp-card .tone-green{--completion-color:#31b6ad}
html[data-progress-palette="calendar"][data-calendar-palette="sakura"] .hp-card .tone-red{--completion-color:#9b5263}html[data-progress-palette="calendar"][data-calendar-palette="sakura"] .hp-card .tone-orange{--completion-color:#c47679}html[data-progress-palette="calendar"][data-calendar-palette="sakura"] .hp-card .tone-yellow{--completion-color:#dc9d91}html[data-progress-palette="calendar"][data-calendar-palette="sakura"] .hp-card .tone-soft-green{--completion-color:#c6b89c}html[data-progress-palette="calendar"][data-calendar-palette="sakura"] .hp-card .tone-green{--completion-color:#92b799}
html[data-progress-palette="calendar"][data-calendar-palette="mono"] .hp-card .tone-red{--completion-color:#555}html[data-progress-palette="calendar"][data-calendar-palette="mono"] .hp-card .tone-orange{--completion-color:#777}html[data-progress-palette="calendar"][data-calendar-palette="mono"] .hp-card .tone-yellow{--completion-color:#999}html[data-progress-palette="calendar"][data-calendar-palette="mono"] .hp-card .tone-soft-green{--completion-color:#bbb}html[data-progress-palette="calendar"][data-calendar-palette="mono"] .hp-card .tone-green{--completion-color:#eee}
html[data-progress-palette="calendar"][data-calendar-palette="neon"] .hp-card .tone-red{--completion-color:#ff486a}html[data-progress-palette="calendar"][data-calendar-palette="neon"] .hp-card .tone-orange{--completion-color:#ff9b38}html[data-progress-palette="calendar"][data-calendar-palette="neon"] .hp-card .tone-yellow{--completion-color:#f4ed45}html[data-progress-palette="calendar"][data-calendar-palette="neon"] .hp-card .tone-soft-green{--completion-color:#8ae85f}html[data-progress-palette="calendar"][data-calendar-palette="neon"] .hp-card .tone-green{--completion-color:#39ff88}
html[data-progress-palette="calendar"][data-calendar-palette="arcane"] .hp-card .tone-red{--completion-color:#633a87}html[data-progress-palette="calendar"][data-calendar-palette="arcane"] .hp-card .tone-orange{--completion-color:#7751a6}html[data-progress-palette="calendar"][data-calendar-palette="arcane"] .hp-card .tone-yellow{--completion-color:#8172c5}html[data-progress-palette="calendar"][data-calendar-palette="arcane"] .hp-card .tone-soft-green{--completion-color:#6d98db}html[data-progress-palette="calendar"][data-calendar-palette="arcane"] .hp-card .tone-green{--completion-color:#55c8ef}
html[data-corners="soft"] .card,html[data-corners="soft"] .exercise-card,html[data-corners="soft"] .progress-item,html[data-corners="soft"] .history-item,html[data-corners="soft"] .calendar-card{border-radius:11px}html[data-corners="square"] .card,html[data-corners="square"] .exercise-card,html[data-corners="square"] .progress-item,html[data-corners="square"] .history-item,html[data-corners="square"] .calendar-card,html[data-corners="square"] .card :is(button:not(.level-medallion),input:not([type=checkbox]),select){border-radius:3px!important}html[data-motion="none"] *,html[data-motion="none"] *:before,html[data-motion="none"] *:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
@media(max-width:420px){.measurement-visual{height:600px;min-height:600px}.measurement-visual img{width:100%;height:100%}.measurement-callout{width:23%}.measurement-callout span{font-size:.62rem}.measurement-callout strong{font-size:.82rem}.measurement-ratio{min-width:98px;padding:7px}}

#measurementDialog #measurementClose{width:44px!important;min-width:44px!important;max-width:44px!important;height:44px;margin:0!important;padding:0!important;flex:0 0 44px;font-size:1.4rem}
/* v7.3: missed-day marks, measurement goals, and player controls. */
.calendar-day.missed{background:#020304!important;color:#f1f4f7!important;border-color:#34383d!important}.calendar-day.missed .calendar-progress{display:none!important}
html[data-calendar-missed="cross"] .calendar-day.missed:before,html[data-calendar-missed="cross"] .calendar-day.missed:after{left:calc(50% - 6px);right:auto;top:calc(50% - 1px);width:12px;height:2px;background:#aeb4bb;transform:rotate(45deg)}html[data-calendar-missed="cross"] .calendar-day.missed:after{transform:rotate(-45deg)}
html[data-calendar-missed="vertical-stripes"] .calendar-day.missed{background:repeating-linear-gradient(90deg,#020304 0 6px,#4a4d52 6px 8px)!important}
html[data-calendar-missed="diagonal-stripes"] .calendar-day.missed,html[data-calendar-missed="stripes"] .calendar-day.missed{background:repeating-linear-gradient(135deg,#020304 0 6px,#4a4d52 6px 8px)!important}
html[data-calendar-missed="dot"] .calendar-day.missed:after{border-color:#aeb4bb}html[data-calendar-missed="outline"] .calendar-day.missed{border-color:#aeb4bb!important}
.measurement-callout strong{display:flex;align-items:center;gap:3px}.measurement-callout.right strong{justify-content:flex-end}.measure-goal{display:inline-block;width:7px;height:7px;border-radius:50%;flex:0 0 7px;background:#7b828b}.measure-goal.close{background:#57d58b;box-shadow:0 0 5px #57d58b99}.measure-goal.near{background:#e6bf54}.measure-goal.far{background:#dd6970}.measure-trend{font-style:normal;font-size:.72rem;line-height:1}.measure-trend.good{color:#57d58b}.measure-trend.bad{color:#ef747c}.measure-trend.neutral{color:var(--muted)}.sync-note{margin-top:12px}.sync-note summary{padding:4px 0}.remove-extra-exercise{color:#e6a7bc}.transport .icon-only svg{display:block;width:21px;height:21px;fill:currentColor;stroke:none;margin:auto}.transport .icon-only{display:inline-grid;place-items:center}

.calorie-entry{display:grid;grid-template-columns:1fr auto;gap:5px 12px;padding:12px 4px;border-bottom:1px solid var(--line)}.calorie-entry>div{display:grid;gap:3px}.calorie-entry span,.calorie-entry small{color:var(--muted);font-size:.78rem}.calorie-entry small{grid-column:1/-1}.calorie-entry>b{align-self:center;font-size:.88rem}#caloriePastDays .calorie-entry{margin-inline:14px}

/* Independent layouts; the fixed view overrides both without changing preferences. */
html[data-progress-size="compact"] .today-pinned .hp-card .hp-track{height:18px}
html[data-progress-size="compact"] .today-pinned .hp-card p{display:none}
html[data-progress-size="slim"] .today-pinned .hp-card{display:grid;grid-template-columns:1fr 48px;align-items:center;gap:8px;padding:2px 0}
html[data-progress-size="slim"] .today-pinned .hp-card .section-head{display:contents}
html[data-progress-size="slim"] .today-pinned .hp-card strong,html[data-progress-size="slim"] .today-pinned .hp-card p{display:none}
html[data-progress-size="slim"] .today-pinned .hp-track{height:10px;border-width:1px}
html[data-today-timer-size="compact"] .timer-mini .workout-timer-controller,html[data-today-timer-size="slim"] .timer-mini .workout-timer-controller{padding:4px 10px 10px}
html[data-today-timer-size="compact"] .timer-mini .timer-total,html[data-today-timer-size="slim"] .timer-mini .timer-total,html[data-today-timer-size="slim"] .timer-mini .routine-timer-top span{display:none}
html[data-today-timer-size="compact"] .timer-mini .routine-timer-top output{font-size:1.25rem}
html[data-today-timer-size="compact"] .timer-mini .routine-timer-bar{height:7px;margin:6px 0}
html[data-today-timer-size="slim"] .timer-mini .routine-timer-top strong{font-size:.75rem}
html[data-today-timer-size="slim"] .timer-mini .routine-timer-top output{font-size:1rem}
html[data-today-timer-size="slim"] .timer-mini .routine-timer-bar{display:none}
html[data-today-timer-size="slim"] .timer-mini .routine-timer-next{font-size:.65rem;margin:3px 0 6px}
html[data-today-timer-size="slim"] .timer-mini [data-workout-action="previous"],html[data-today-timer-size="slim"] .timer-mini [data-workout-action="stop"]{display:none}
html[data-today-timer-size="slim"] .timer-mini .routine-timer-actions{gap:5px;align-items:center}
html[data-today-timer-size="slim"] .timer-mini .routine-timer-actions .icon-only{width:34px;min-height:34px;padding:0}
html[data-today-timer-size="slim"] .timer-mini .routine-timer-actions .complete-timed-set{font-size:.65rem;min-height:34px;padding:4px 7px}
html[data-today-timer-size="slim"] .timer-mini .timer-speed{font-size:.65rem}


.today-pinned.is-pinned .timer-mini{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;border-radius:8px}
.today-pinned.is-pinned .timer-mini.hidden{display:none!important}
.today-pinned.is-pinned .timer-mini>summary{font-size:0;padding:0 5px;min-height:30px;display:list-item;list-style-position:inside}
.today-pinned.is-pinned .timer-mini>summary::marker{font-size:11px;color:var(--muted)}
.today-pinned.is-pinned .timer-mini:not([open]){display:block}
.today-pinned.is-pinned .timer-mini:not([open])>summary{font-size:.7rem;padding:4px 10px}
.today-pinned.is-pinned .timer-mini>.workout-timer-controller{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:8px;align-items:center;padding:4px 7px!important;min-width:0}
.today-pinned.is-pinned .timer-mini .routine-timer-top{gap:6px;min-width:0}
.today-pinned.is-pinned .timer-mini .routine-timer-top strong{font-size:.68rem;line-height:1.2}
.today-pinned.is-pinned .timer-mini .routine-timer-top output{font-size:.85rem;white-space:nowrap}
.today-pinned.is-pinned .timer-mini .routine-timer-top span,.today-pinned.is-pinned .timer-mini .timer-total,.today-pinned.is-pinned .timer-mini .routine-timer-bar,.today-pinned.is-pinned .timer-mini .routine-timer-actions{display:none}
.today-pinned.is-pinned .timer-mini .routine-timer-next{font-size:.6rem;line-height:1.3;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}

.today-pinned.is-pinned .timer-mini:not([open])>.workout-timer-controller{display:none!important}
html[data-today-timer-size="compact"] .timer-mini .routine-timer-actions .icon-only{width:38px;min-height:38px;padding:0}
html[data-today-timer-size="compact"] .timer-mini .routine-timer-actions button{min-height:38px;font-size:.74rem}

html[data-today-timer-size="compact"] .timer-mini>summary{padding:7px 12px;min-height:36px}
html[data-today-timer-size="slim"] .timer-mini>summary{padding:5px 10px;min-height:30px;font-size:.72rem}
.today-pinned.is-pinned .timer-mini[open]>summary{font-size:0;padding:0 5px;min-height:30px}



/* Reserve flow space while the compact dock crossfades. */
html[data-pin-today="on"] .today-pinned.is-pinned{position:fixed;margin:0;box-sizing:border-box}
#todayPinSentinel{overflow-anchor:none;pointer-events:none}
.pin-transition-snapshot{overflow:hidden;contain:paint}

.today-pinned.is-pinned>.timer-mini{opacity:var(--pin-blend,1)}

/* Keep the progress card identical while only the timer blends into its dock. */
.pin-transition-snapshot{background:transparent;border:0;box-shadow:none}
.pin-transition-snapshot>.hp-card{visibility:hidden}

.day-overview{padding:8px 0;border-bottom:1px solid var(--line);margin-bottom:12px}.day-overview:empty{display:none}.day-overview p{font-size:.84rem;line-height:1.5;margin:6px 0}.day-overview strong{color:var(--text)}

.body-measurements{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.body-measurements>.section-head h2{margin:0}.calorie-weight-source{margin:0 0 4px}.calorie-module>details{margin-top:14px}

/* Extra set controls use the same quiet raised buttons as the rest of the app. */
.extra-set-actions .subtle-add,.extra-set-actions .subtle-remove{border:1px solid var(--line);border-radius:10px;background:var(--raised);box-shadow:none;font-weight:650;letter-spacing:0;color:var(--text);transition:background-color .15s,border-color .15s,color .15s}
.extra-set-actions .subtle-add{border-color:color-mix(in srgb,var(--accent) 30%,var(--line));color:var(--accent)}
.extra-set-actions .subtle-remove{border-color:color-mix(in srgb,#e7aabd 24%,var(--line));color:#e7aabd}
.extra-set-actions .subtle-remove:disabled{opacity:.42;color:var(--muted);border-color:var(--line);filter:none}
.series-row.extra-series{margin-left:2px;padding-left:14px}

/* Extra rows need a clear touch gap from their left accent line on narrow iPhones. */
:root .series-row.extra-series{padding-left:18px!important}

/* Compact, vertically aligned disclosures without changing their width. */
:root .add-today-card{padding-block:0}
:root .add-today-card>summary{min-height:40px;padding:8px 0;line-height:24px;display:flex;align-items:center;justify-content:center;gap:7px}
.add-today-card>summary::-webkit-details-marker,.load-picker>summary::-webkit-details-marker{display:none}
.add-today-card>summary::before{content:'▸';font-size:.8em}.add-today-card[open]>summary::before{content:'▾'}
:root .load-picker>summary{display:flex;align-items:center;justify-content:center;min-height:36px;padding:7px 28px;line-height:20px;list-style:none}
.load-picker>summary::after{top:50%;transform:translateY(-50%)}
.routine-timer-top.active-work span{color:#e49349}
.calendar-day.rest-progress{background:var(--card)!important;color:var(--text);opacity:1;border:1px solid var(--line)}
.calendar-day.rest-progress .calendar-progress{display:block}
html[data-calendar-mode='none'] .calendar-day.rest-progress .calendar-progress,html[data-calendar-mode='ring'] .calendar-day.rest-progress .calendar-progress{display:none}
html[data-calendar-mode='solid'] .calendar-day.rest-progress .calendar-progress{inset:auto 0 0;height:var(--day-progress)}
html[data-calendar-mode='ring'] .calendar-day.rest-progress{background:conic-gradient(var(--completion-color) var(--day-progress),var(--card) 0)!important}
.level-setup-fields{display:grid;grid-template-columns:1fr;gap:0}.level-edit select{min-width:0}

/* Rest activity is shown by lilac dots, independent of the calendar palette. */
.calendar-day.rest-dots{opacity:1;background:transparent!important;color:var(--muted)}
.calendar-day .calendar-rest-dots{position:absolute;inset:auto 2px 2px;display:flex;align-items:center;justify-content:center;gap:2px;flex-wrap:wrap;max-height:14px;overflow:hidden;pointer-events:none}
.calendar-rest-dots .rest-dot{display:block;flex:none;border-radius:50%;background:#c7a9ff}
.rest-dot.dot-1{width:3px;height:3px}.rest-dot.dot-2{width:5px;height:5px}.rest-dot.dot-3{width:7px;height:7px}
.measurement-record>summary{align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:4px 10px}
.measurement-history-weight{font-size:.9rem;white-space:nowrap}.measurement-history-badge{font-size:.72rem;white-space:nowrap}.measurement-history-ratio{padding:0 14px 10px}
/* Quiet analytics reuse the app's surfaces, spacing and accent. */
.evolution-button svg{width:19px;height:19px}.weekly-insights,.body-timeline{padding:0!important;margin-top:16px}.weekly-insights>summary,.body-timeline>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;min-height:52px;list-style:none}.weekly-insights>summary::-webkit-details-marker,.body-timeline>summary::-webkit-details-marker{display:none}.weekly-insights>summary>span,.body-timeline>summary>span{display:grid;gap:2px}.weekly-insights summary small,.body-timeline summary small{font-size:.7rem;color:var(--muted);font-weight:400}.week-summary-value{text-align:right;color:var(--accent);font-size:1.1rem;font-weight:750;white-space:nowrap}.weekly-insights>summary:after,.body-timeline>summary:after{content:'⌄';color:var(--muted);font-weight:400}.weekly-insights[open]>summary,.body-timeline[open]>summary{border-bottom:1px solid var(--line)}.week-navigation{display:flex;justify-content:space-between;align-items:center;margin:12px 16px;font-size:.8rem;color:var(--muted)}.week-navigation .ghost{width:34px;min-height:32px;padding:0;font-size:1.2rem}.insight-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.insight-stats>div{display:grid;gap:3px;min-width:0}.insight-stats strong{font-size:1.35rem;font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:var(--text)}.insight-stats small{color:var(--muted);font-size:.7rem;line-height:1.3}.weekly-insights>.insight-stats{margin:16px}.week-consistency{height:5px;margin:0 16px;background:var(--raised);border-radius:99px;overflow:hidden}.week-consistency i{display:block;height:100%;background:var(--accent);border-radius:99px}.insight-note{font-size:.74rem;color:var(--muted);line-height:1.5}.weekly-insights>.insight-note{margin:9px 16px}.weekly-detail{display:grid;gap:12px;margin:16px}.weekly-detail p{display:grid;gap:4px;margin:0;font-size:.79rem;line-height:1.55}.weekly-detail p>span{color:var(--muted)}.session-recap{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));background:linear-gradient(135deg,var(--accent-soft),var(--card) 70%)}.session-recap h3{margin:7px 0 0;font-size:1rem}.session-recap .eyebrow{color:var(--accent)}#evolutionDialog{width:min(600px,calc(100% - 24px))}.insight-filters{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:8px;margin-top:16px}.insight-filters label{display:grid;gap:4px;color:var(--muted);font-size:.74rem}.insight-filters label:first-child{grid-column:1/-1}.insight-filters select{width:100%;min-width:0;min-height:38px;padding:6px 9px;background:var(--raised);color:var(--text);border:1px solid var(--line);border-radius:9px}.self-comparison{margin-top:16px;padding:13px;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line));border-radius:13px}.self-comparison .eyebrow{font-size:.61rem;color:var(--accent)}.self-comparison>div{display:grid;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);align-items:center;gap:8px;margin-top:9px}.self-comparison p{display:grid;gap:5px;margin:0;min-width:0}.self-comparison small{font-size:.7rem;color:var(--muted)}.self-comparison strong{font-size:.78rem;line-height:1.6;overflow-wrap:anywhere}.comparison-arrow{color:var(--accent)}.chart-card{margin:16px 0;padding:8px 8px 12px;border:1px solid var(--line);border-radius:13px;background:var(--raised)}.insight-chart{display:block;width:100%;height:auto;overflow:visible}.insight-chart text{fill:var(--muted);font:10px system-ui}.chart-grid{stroke:var(--line);stroke-width:1;fill:none}.chart-line{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.chart-dot{fill:var(--accent);stroke:var(--card);stroke-width:1.5}.chart-dot.provisional{fill:var(--card);stroke:var(--accent)}.chart-card>small{display:block;margin-left:12px;font-size:.65rem}.exercise-history-list{display:grid;gap:0}.exercise-history-list article{padding:12px 0;border-bottom:1px solid var(--line);display:grid;gap:5px}.exercise-history-list article>div{display:flex;justify-content:space-between;gap:8px;font-size:.75rem;color:var(--muted)}.exercise-history-list article>strong{font-size:.82rem;line-height:1.6}.record-tag{width:fit-content;border-radius:6px;padding:3px 7px;font-size:.67rem;color:var(--accent);background:var(--accent-soft)}.insight-empty{padding:14px 0;font-size:.82rem}.body-timeline-list{padding:0 16px}.body-timeline-list>article{position:relative;padding:16px 0 16px 16px;border-left:1px solid var(--line)}.body-timeline-list>article:before{content:'';position:absolute;left:-4px;top:20px;width:7px;height:7px;border-radius:50%;background:var(--accent)}.body-timeline-list time{font-size:.79rem;font-weight:650}.timeline-measures{display:flex;flex-wrap:wrap;gap:12px 20px;margin:12px 0}.timeline-measures>span{display:grid;gap:3px}.timeline-measures small{font-size:.7rem;color:var(--muted)}.timeline-measures strong{font-size:.88rem}.timeline-measures i{font-style:normal}.trend-good{color:#48bc84}.trend-bad{color:#e98586}.trend-neutral{color:var(--muted)}.timeline-performance{margin-top:10px;font-size:.76rem;color:var(--text)}.timeline-performance small{display:block;color:var(--muted);font-size:.66rem}.body-timeline>.insight-note{padding:0 16px 12px}.timer-remaining{display:block;color:var(--text);font-size:.7rem;font-weight:550;margin-top:4px}.today-pinned.is-pinned .timer-remaining,html[data-today-timer-size='slim'] .timer-mini .timer-remaining{display:none}@media(max-width:380px){.exercise-card-actions{gap:4px}.exercise-card-actions .icon-button{width:34px;min-width:34px;flex-basis:34px;height:38px;min-height:38px}.insight-stats{gap:6px}.insight-stats strong{font-size:1.15rem}.self-comparison>div{gap:5px}}@media(min-width:600px){.insight-filters{grid-template-columns:minmax(0,1.7fr) 1fr 1fr}.insight-filters label:first-child{grid-column:auto}}

.exercise-head>div:first-child{min-width:0}.exercise-card-actions{flex-shrink:0}.exercise-card .exercise-name{overflow-wrap:anywhere}.weekly-insights>summary>span:first-child{min-width:0}.weekly-insights>summary .week-summary-value{margin-left:auto}

#evolutionClose{width:38px;min-width:38px;height:38px;min-height:38px;flex:0 0 38px;padding:0;margin:0;font-size:1.2rem}#evolutionDialog .level-dialog-head>div{min-width:0;flex:1}#evolutionTitle{font-size:1.1rem;overflow-wrap:normal}#evolutionDialog>.level-dialog-head{align-items:flex-start;gap:12px}

.history-set{border:1px solid var(--border,#39423b);border-radius:12px;padding:12px;margin:0 0 16px;min-width:0}.history-set legend{padding:0 6px;font-weight:700}.history-set select{width:100%;min-width:0}
.timer-preparation{border-top:1px solid var(--border,#39423b);padding-top:12px;margin-top:12px}.timer-preparation>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,.5fr);gap:12px}.calorie-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}.calorie-summary p,.calorie-summary strong{margin:0}.calorie-summary strong{grid-column:1/-1}.history-day summary{font-weight:650}

.routine-timer-bar.prepare i{background:linear-gradient(90deg,#6b94b8,#a9c4dc)}.timer-step.prepare>span{color:var(--muted)}.calorie-summary{padding:16px}
#accountLevel{font-variant-numeric:tabular-nums}
.daily-progress-row{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:10px;min-width:0}.level-progress-content{min-width:0;display:grid;gap:5px}.level-progress-content[hidden]{display:none!important}.level-progress-content:not([hidden]){margin:10px 0 0 54px}
.level-medallion{position:relative;display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:3px;border:0;border-radius:50%;background:conic-gradient(from -90deg,#3197aa 0deg,#61c5d1 var(--xp-mid,0deg),#f5ffff var(--xp-progress,0deg),#4d5868 var(--xp-progress,0deg) 360deg);box-shadow:0 0 0 1px #392f21,0 0 8px #61c5d155;cursor:pointer;color:#f5df9b;font-family:Georgia,serif;font-weight:800;font-size:.92rem;line-height:1}.level-medallion>span{display:grid;place-items:center;width:100%;height:100%;border:1px solid #8e7543;border-radius:50%;background:radial-gradient(circle at 35% 25%,#42617b,#1b2b42 58%,#101923);box-shadow:inset 0 0 0 1px #392f21;text-shadow:0 1px 3px #000;font-variant-numeric:tabular-nums}.level-medallion:focus-visible{outline:2px solid #c1e8dd;outline-offset:3px}.level-medallion:active{transform:scale(.96)}
.level-progress-content{flex:1;min-width:0;display:grid;gap:5px}
.level-progress-content>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.72rem}
.level-progress-content>div:first-child strong{letter-spacing:.08em;text-transform:uppercase;color:#d7c58d}
.level-progress-content small{color:var(--muted);font-variant-numeric:tabular-nums}
#experienceBar{height:8px;overflow:hidden;border:1px solid #746647;border-radius:99px;background:#111722;box-shadow:inset 0 1px 3px #000b}
#experienceBar i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3197aa,#61c5d1 55%,#c1e8dd);box-shadow:0 0 8px #64c4d5aa;transition:width .35s ease}
.exercise-history-button{display:inline-grid;place-items:center;vertical-align:middle;width:25px;height:25px;min-height:25px;padding:0;margin:0 0 0 5px;border:1px solid color-mix(in srgb,var(--completion-color) 65%,var(--line));border-radius:50%;background:color-mix(in srgb,var(--completion-color) 20%,transparent);color:var(--completion-color);cursor:pointer}
.exercise-history-button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.exercise-mini-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:14px 0}
.exercise-mini-calendar .mini-weekday{font-size:.65rem;color:var(--muted);text-align:center;padding-bottom:2px}
.exercise-mini-day{aspect-ratio:1;display:grid;place-items:center;position:relative;min-width:0;border:1px solid transparent;border-radius:50%;font-size:.62rem;color:var(--muted);font-variant-numeric:tabular-nums}
.exercise-mini-day.scheduled{border-color:color-mix(in srgb,var(--completion-color) 65%,var(--line));background:color-mix(in srgb,var(--completion-color) 85%,transparent);color:#101512;font-weight:750}
.exercise-mini-day.partial{background:linear-gradient(135deg,var(--completion-color) 50%,transparent 50%);color:var(--text)}
.exercise-mini-day.pending{border-color:var(--line);background:var(--raised);color:var(--muted)}
.exercise-mini-day.future{opacity:.38}
.exercise-mini-day.today{outline:2px solid #a9c9ef;outline-offset:1px}
.exercise-mini-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:.68rem;color:var(--muted)}
.exercise-mini-legend span{display:inline-flex;align-items:center;gap:5px}
.exercise-mini-legend i{width:8px;height:8px;border-radius:50%;background:var(--completion-color)}
html[data-calendar-palette="sunset"] .exercise-mini-day.scheduled{color:#17120c}
html[data-calendar-palette="ocean"] .exercise-mini-day.scheduled,html[data-calendar-palette="arcane"] .exercise-mini-day.scheduled{color:#f4f6fb}
@media(max-width:380px){.daily-progress-row{grid-template-columns:40px minmax(0,1fr);gap:8px}.level-medallion{flex-basis:40px;width:40px;height:40px}.level-progress-content:not([hidden]){margin-left:48px}.exercise-mini-calendar{gap:3px}.exercise-mini-day{font-size:.58rem}}
/* Body Quest: compact, configurable exercise cards and monthly attendance */
.level-medallion{background:conic-gradient(from -90deg,#d87526 0deg,#f39a42 var(--xp-mid,0deg),#fff1d7 var(--xp-progress,0deg),#4d5868 var(--xp-progress,0deg) 360deg);box-shadow:0 0 0 1px #55341c,0 0 8px #e78b3d55;color:#ffe0b0}
.exercise-history-button{width:11px;height:11px;min-height:11px;padding:0;margin:0 0 0 5px;border:0;border-radius:50%;background:var(--completion-color);box-shadow:0 0 0 1px color-mix(in srgb,var(--completion-color) 36%,transparent);vertical-align:middle}
.exercise-history-button svg{display:none}
.attendance-month-nav{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:8px;max-width:280px;margin:8px auto 0;text-align:center}
.attendance-month-nav button{width:32px;min-height:32px;padding:0;font-size:1.15rem;line-height:1}
.attendance-month-nav strong{text-transform:capitalize;font-size:.88rem}
.attendance-month-summary{text-align:center;margin:3px 0 8px;font-size:.75rem}
.exercise-mini-calendar{max-width:280px;margin:0 auto;gap:3px;padding:6px}
.exercise-mini-day{max-width:28px;justify-self:center;font-size:.58rem}
.mini-weekday{font-size:.55rem;padding:0}
.exercise-mini-legend{gap:4px 8px;margin-top:6px;font-size:.58rem}
.exercise-mini-legend i{width:7px;height:7px}
.exercise-info-menu{position:relative;margin:0;border:0;padding:0;z-index:2}
.exercise-info-menu>summary{display:grid;place-items:center;list-style:none;width:28px;height:28px;min-height:28px;padding:0;border:1px solid var(--line);border-radius:50%;color:var(--muted);cursor:pointer}
.exercise-info-menu>summary::-webkit-details-marker{display:none}
.exercise-info-menu>summary svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.exercise-info-panel{position:absolute;right:0;top:calc(100% + 6px);width:min(280px,calc(100vw - 44px));padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--raised);box-shadow:0 12px 28px #0007;z-index:20;font-size:.78rem}
.exercise-info-panel section{display:grid;gap:5px;margin-bottom:9px}
.exercise-info-panel ol{margin:0;padding-left:18px}.exercise-info-panel li+li{margin-top:3px}
.exercise-info-actions{display:flex;align-items:center;gap:10px;padding-top:6px;border-top:1px solid var(--line)}
.exercise-info-actions .icon-button{width:28px;height:28px;min-height:28px;padding:4px;border:0;background:transparent}
.exercise-info-actions svg{width:15px;height:15px}
.exercise-content-row{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:12px}
.exercise-details{min-width:0}
.exercise-card[data-feeling-placement="side"] .exercise-content-row{grid-template-columns:minmax(0,1fr) 76px;gap:10px}
.exercise-card[data-feeling-placement="side"] .rating{grid-column:2;grid-row:1;display:grid;grid-template-columns:1fr;gap:6px;margin:0;align-self:start}
.exercise-card[data-feeling-placement="side"] .rating button{min-height:44px;padding:5px 3px;font-size:.67rem;line-height:1.1;white-space:normal}
.exercise-card[data-feeling-placement="side"] .exercise-details{grid-column:1;grid-row:1;min-width:0}
.exercise-card[data-feeling-placement="side"] .series-row{grid-template-columns:30px 28px minmax(0,1fr);gap:5px}
.exercise-card[data-feeling-placement="side"] .load-picker{grid-column:3}
.today-pinned.is-pinned .timer-mini>.workout-timer-controller{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-template-rows:auto 4px auto;gap:4px 8px}
.today-pinned.is-pinned .timer-mini .routine-timer-top{grid-column:1;grid-row:1}
.today-pinned.is-pinned .timer-mini .routine-timer-next{grid-column:2;grid-row:1}
.today-pinned.is-pinned .timer-mini .routine-timer-bar{display:block!important;grid-column:1/-1;grid-row:2;width:100%;height:4px;margin:0!important}
.today-pinned.is-pinned .timer-mini .routine-timer-actions{display:none!important}
@media(max-width:420px){.exercise-card[data-feeling-placement="side"] .exercise-content-row{grid-template-columns:minmax(0,1fr) 66px;gap:7px}.exercise-card[data-feeling-placement="side"] .rating button{font-size:.61rem;min-height:42px}.exercise-mini-calendar{max-width:250px;gap:2px}.exercise-mini-day{max-width:25px}}

/* Constancy marker and action controls share a centered, consistent geometry. */
.exercise-name{display:flex;align-items:center;gap:6px;min-height:28px}
.exercise-history-button{display:inline-flex;flex:0 0 28px;align-self:center;align-items:center;justify-content:center;width:28px;height:28px;min-height:28px;margin:0 0 0 3px;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;vertical-align:middle;cursor:pointer;touch-action:manipulation}
.exercise-history-button::before{content:'';display:block;width:11px;height:11px;background:var(--completion-color);clip-path:polygon(50% 0,100% 100%,0 100%);transition:transform .12s ease}
.exercise-history-button.streak-down::before{clip-path:polygon(0 0,100% 0,50% 100%)}
.exercise-history-button:active::before{transform:scale(.84)}
.progress-item .exercise-head>.progress-exercise-title{display:inline-flex;align-items:center;gap:5px;min-width:0;min-height:32px;line-height:1.25}
.progress-item .progress-exercise-title>span{min-width:0}
.exercise-history-button:focus-visible{outline:2px solid var(--completion-color);outline-offset:1px}

/* Distinct game-inspired skins: visual materials and interface language, not just palette swaps. */
html[data-theme="wotlk"] body{background:radial-gradient(ellipse at 50% -12%,#31577966,transparent 43%),radial-gradient(ellipse at 100% 48%,#345c8040,transparent 34%),linear-gradient(180deg,#0a111b 0%,#090d13 55%,#0c131c 100%)}
html[data-theme="wotlk"] .card,html[data-theme="wotlk"] .exercise-card,html[data-theme="wotlk"] .progress-item,html[data-theme="wotlk"] .history-item,html[data-theme="wotlk"] .calendar-card{background-image:linear-gradient(145deg,#9bc9ed0b,transparent 34%),linear-gradient(180deg,#17283a 0%,#111a27 72%,#101722 100%);border-color:#54728d;box-shadow:inset 0 1px #d7edff18,0 8px 24px #02081255}
html[data-theme="wotlk"] .card h2,html[data-theme="wotlk"] .exercise-name,html[data-theme="wotlk"] .progress-exercise-title,html[data-theme="wotlk"] .calendar-heading h2{color:#d8edff;text-shadow:0 0 14px #68b9f433}
html[data-theme="wotlk"] .questbar,html[data-theme="wotlk"] #experienceBar{background:linear-gradient(90deg,#122436,#26394a);border-color:#54728d}
html[data-theme="wotlk"] .tabs{background:linear-gradient(180deg,#111d2bf2,#080e16fa);border-color:#54728d}
html[data-theme="vanilla"] body{background:radial-gradient(ellipse at 50% 0%,#61451f44,transparent 48%),repeating-linear-gradient(0deg,#21190e20 0 1px,transparent 1px 5px),linear-gradient(180deg,#18140e,#100e0a 70%,#1b150c)}
html[data-theme="vanilla"] .app-header h1,html[data-theme="vanilla"] h2,html[data-theme="vanilla"] h3,html[data-theme="vanilla"] .exercise-name,html[data-theme="vanilla"] .progress-exercise-title,html[data-theme="vanilla"] .calendar-heading h2{font-family:Georgia,'Times New Roman',serif;letter-spacing:.015em;color:#f0d69b}
html[data-theme="vanilla"] .card,html[data-theme="vanilla"] .exercise-card,html[data-theme="vanilla"] .progress-item,html[data-theme="vanilla"] .history-item,html[data-theme="vanilla"] .calendar-card{background-image:linear-gradient(135deg,#d6ad5e12,transparent 38%),linear-gradient(180deg,#2c2418,#1e190f);border-color:#76603a;box-shadow:inset 0 0 0 1px #d9b96c16,inset 0 1px #f3dfa522,0 8px 22px #05040366}
html[data-theme="vanilla"] .primary,html[data-theme="vanilla"] .save-btn{background:linear-gradient(180deg,#dfc27b,#a77a35);border-color:#e4c982;color:#21190e}
html[data-theme="vanilla"] .tabs{background:linear-gradient(180deg,#20190ff5,#120f0bf9);border-color:#76603a}
html[data-theme="starcraft"] body{background:radial-gradient(ellipse at 50% -8%,#12608045,transparent 42%),linear-gradient(90deg,#54c9ef08 1px,transparent 1px),linear-gradient(#54c9ef08 1px,transparent 1px),linear-gradient(180deg,#08121d,#070b12 65%,#091521);background-size:auto,24px 24px,24px 24px,auto}
html[data-theme="starcraft"] .app-header h1,html[data-theme="starcraft"] .eyebrow,html[data-theme="starcraft"] .intensity,html[data-theme="starcraft"] .timer-caption,html[data-theme="starcraft"] .calendar-weekdays{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.09em}
html[data-theme="starcraft"] .card,html[data-theme="starcraft"] .exercise-card,html[data-theme="starcraft"] .progress-item,html[data-theme="starcraft"] .history-item,html[data-theme="starcraft"] .calendar-card{background-image:linear-gradient(135deg,#59d7ff0d 0 2px,transparent 2px 18px),linear-gradient(180deg,#152536f5,#0e1927f8);border-color:#36799a;box-shadow:inset 0 1px #9feaff20,0 0 0 1px #07111b,0 8px 22px #02070d99}
html[data-theme="starcraft"] .ghost,html[data-theme="starcraft"] .primary,html[data-theme="starcraft"] .save-btn{border-radius:5px;box-shadow:inset 0 1px #a9ecff20}
html[data-theme="starcraft"] .tabs{background:linear-gradient(180deg,#0c1a28f2,#060b12fa);border-color:#36799a}
html[data-theme="solo"] body{background:radial-gradient(ellipse at 50% 28%,#42307a38,transparent 40%),radial-gradient(ellipse at 0% 100%,#173f8c30,transparent 38%),linear-gradient(180deg,#0c0a14,#080711 72%,#0d0b18)}
html[data-theme="solo"] .app-header h1,html[data-theme="solo"] h2,html[data-theme="solo"] .exercise-name,html[data-theme="solo"] .progress-exercise-title,html[data-theme="solo"] .calendar-heading h2{color:#e4d9ff;text-shadow:0 0 18px #9b78ff3d}
html[data-theme="solo"] .card,html[data-theme="solo"] .exercise-card,html[data-theme="solo"] .progress-item,html[data-theme="solo"] .history-item,html[data-theme="solo"] .calendar-card{background-image:linear-gradient(130deg,#b29aff12,transparent 32%),linear-gradient(180deg,#201a30,#13101f 78%,#100e1a);border-color:#58477d;box-shadow:inset 0 1px #e7ddff17,0 8px 24px #05030c88}
html[data-theme="solo"] .quest-chip,html[data-theme="solo"] .level-dialog-head{box-shadow:0 0 18px #8b63e72a}
html[data-theme="solo"] .tabs{background:linear-gradient(180deg,#191426f3,#0a0912fa);border-color:#58477d}
.exercise-mini-day{box-sizing:border-box;width:min(100%,28px);min-width:0;height:auto;aspect-ratio:1/1;padding:0;justify-self:center;border-radius:50%;font:inherit;line-height:1;cursor:pointer}
button.exercise-mini-day{display:grid;place-items:center}
button.exercise-mini-day:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.attendance-day-detail{min-height:1.2em;text-align:center;font-variant-numeric:tabular-nums}
.exercise-card-actions .icon-button,.exercise-info-menu>summary,.exercise-info-actions .icon-button{box-sizing:border-box;display:grid;place-items:center;width:30px;height:30px;min-width:30px;min-height:30px;flex:0 0 30px;padding:0;border:1px solid var(--line);border-radius:9px;background:var(--raised);color:var(--text)}
.exercise-card-actions .icon-button svg,.exercise-info-menu>summary svg,.exercise-info-actions .icon-button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Added cohesive palettes use the existing interface components. */
html[data-theme="wotlk"]{--bg:#090d13;--card:#131c29;--raised:#1d2a3a;--text:#e5edf7;--muted:#9bacbf;--line:#334458;--accent:#8fc8ed;--accent-soft:#233b50;--bad:#db7180}
html[data-theme="vanilla"]{--bg:#14110b;--card:#211b11;--raised:#30271a;--text:#f3e9d1;--muted:#b9a985;--line:#4e4128;--accent:#d8b361;--accent-soft:#41351e;--bad:#d4745d}
html[data-theme="starcraft"]{--bg:#080e17;--card:#111c2b;--raised:#1a2b41;--text:#d8efff;--muted:#87a8c4;--line:#294762;--accent:#54c9ef;--accent-soft:#14394a;--bad:#e27877}
html[data-theme="solo"]{--bg:#0b0911;--card:#171321;--raised:#241d32;--text:#f0eaff;--muted:#b4a8c8;--line:#423458;--accent:#ad8cff;--accent-soft:#332348;--bad:#e67d9d}
html[data-theme="wotlk"] .calendar-day,html[data-theme="vanilla"] .calendar-day,html[data-theme="starcraft"] .calendar-day,html[data-theme="solo"] .calendar-day{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent)}
html[data-theme="wotlk"] .app-header h1,html[data-theme="vanilla"] .app-header h1,html[data-theme="starcraft"] .app-header h1,html[data-theme="solo"] .app-header h1{letter-spacing:.015em}
.attendance-month-nav strong{text-transform:none}
#exerciseAttendanceDialog .level-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
#exerciseAttendanceDialog .level-dialog-head>div{min-width:0;flex:1}
#exerciseAttendanceDialog #exerciseAttendanceClose{display:grid;place-items:center;flex:0 0 36px;width:36px;min-width:36px;height:36px;min-height:36px;padding:0;border-radius:50%;line-height:1;font-size:1.1rem}
.exercise-mini-legend{grid-column:1/-1;display:flex;justify-content:center;align-items:center;flex-wrap:nowrap;gap:8px;white-space:nowrap;font-size:.6rem}
.exercise-mini-legend span{gap:4px}
.exercise-order-actions,.slot-order{display:flex;align-items:center;gap:3px}
.exercise-order-actions .icon-button,.slot-order .slot-move{width:28px;min-width:28px;height:28px;padding:0;border-radius:8px;line-height:1}
.slot-order .slot-move{font-size:.85rem}
.slot-order .slot-move:disabled,.exercise-order-actions .icon-button:disabled{opacity:.32;cursor:default}

.exercise-streak-line{margin-top:3px;min-height:22px;display:flex;align-items:center}.exercise-streak{display:inline-flex;align-items:center;min-height:20px;padding:1px 7px;border:1px solid #69717b;border-radius:999px;color:#c7cbd0;background:#ffffff08;font-size:.72rem;font-weight:750;letter-spacing:.015em;line-height:1.2;transition:color .2s,border-color .2s,box-shadow .2s,text-shadow .2s}.exercise-streak.state-streak{color:#fff8e8;border-color:rgba(247,190,77,calc(.38 + var(--streak-intensity)*.6));text-shadow:0 0 calc(2px + var(--streak-intensity)*5px) rgba(255,194,64,calc(.12 + var(--streak-intensity)*.48));box-shadow:inset 0 0 calc(2px + var(--streak-intensity)*8px) rgba(247,179,53,calc(.04 + var(--streak-intensity)*.17)),0 0 calc(2px + var(--streak-intensity)*7px) rgba(247,179,53,calc(var(--streak-intensity)*.22))}.exercise-streak.state-skipped{color:#ffb1b5;border-color:#a44850;background:#8d252516;text-shadow:0 0 5px #e2535b33}.progress-title-block{min-width:0}.progress-title-block .progress-exercise-title{display:inline-flex}.progress-item .exercise-streak-line{margin-top:1px}

/* Center the triangle's visual centroid on the first title line on phone layouts. */
.exercise-name>.exercise-history-button{width:22px;height:26px;min-height:26px;flex-basis:22px}
.exercise-history-button::before{margin-top:0!important;transform:translateY(-2px)}
.exercise-history-button.streak-down::before{transform:translateY(2px)}
.exercise-history-button:active::before{transform:translateY(-2px) scale(.84)}
.exercise-history-button.streak-down:active::before{transform:translateY(2px) scale(.84)}
.progress-item .progress-exercise-title>.exercise-history-button{width:20px;height:20px;min-height:20px;flex-basis:20px}
.progress-item .progress-exercise-title>.exercise-history-button::before{margin-top:0!important}

.exercise-card[data-series-orientation="horizontal"] .series-list{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-inline:contain;padding:2px 1px 8px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.exercise-card[data-series-orientation="horizontal"] .series-row{flex:0 0 clamp(148px,42vw,190px);min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 22px;grid-template-rows:auto auto auto;align-items:center;gap:6px;padding:8px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--raised) 45%,transparent);scroll-snap-align:start}.exercise-card[data-series-orientation="horizontal"] .series-row>input[type="checkbox"]{grid-column:2;grid-row:1;width:20px;height:20px;border-radius:7px}.exercise-card[data-series-orientation="horizontal"] .series-row>input[type="checkbox"]:checked:after{font-size:15px;line-height:18px}.exercise-card[data-series-orientation="horizontal"] .series-row>strong{grid-column:1;grid-row:1;text-align:left;font-size:.72rem;color:var(--muted)}.exercise-card[data-series-orientation="horizontal"] .series-row>.rep-stepper{grid-column:1/-1;grid-row:2;display:flex;min-width:0}.exercise-card[data-series-orientation="horizontal"] .series-row>.rep-stepper>button{display:none}.exercise-card[data-series-orientation="horizontal"] .series-row>.rep-stepper>input{min-height:40px;padding:5px 4px;font-size:1rem;text-align:center;border:1px solid var(--line)!important;border-radius:8px!important;background:var(--surface)}.exercise-card[data-series-orientation="horizontal"] .series-row>.rep-stepper>input::placeholder{opacity:.72}.exercise-card[data-series-orientation="horizontal"] .series-row>.load-picker{grid-column:1/-1;grid-row:3}.exercise-card[data-series-orientation="horizontal"] .series-row>.follow-s1{grid-column:1/-1;grid-row:4}.exercise-card[data-series-orientation="horizontal"] .series-row.extra-series{margin-left:0;padding-left:8px}
#config-appearance .appearance-intro{margin:0 0 12px}#config-appearance .appearance-intro h3{margin:0 0 4px}#config-appearance .appearance-intro p{margin:0}#config-appearance .appearance-sections{display:grid;gap:9px}#config-appearance .appearance-subsection{display:block!important;padding:12px 14px}#config-appearance .appearance-subsection>summary{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 10px;min-height:40px;list-style:none;cursor:pointer}#config-appearance .appearance-subsection>summary::-webkit-details-marker{display:none}#config-appearance .appearance-subsection>summary::after{content:"＋";grid-column:2;grid-row:1/3;color:var(--muted);font-size:1rem}#config-appearance .appearance-subsection[open]>summary{margin-bottom:10px;padding-bottom:9px;border-bottom:1px solid var(--line)}#config-appearance .appearance-subsection[open]>summary::after{content:"−"}#config-appearance .appearance-subsection>summary strong{grid-column:1;grid-row:1;font-size:.94rem}#config-appearance .appearance-subsection>summary span{grid-column:1;grid-row:2;color:var(--muted);font-size:.72rem}#config-appearance .appearance-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#config-appearance .appearance-controls label{min-width:0}#config-appearance .appearance-controls label.setting-toggle{flex-direction:row;align-items:center;gap:9px}#config-appearance .appearance-controls label.setting-toggle input{flex:0 0 auto}#config-appearance .appearance-note{margin:10px 0 0;color:var(--muted);font-size:.74rem}
@media(max-width:520px){#config-appearance .appearance-controls{grid-template-columns:1fr}#config-appearance .appearance-subsection{padding:11px 12px}}

/* Mobile-first identity details for the four game/anime skins. */
html[data-theme="wotlk"] .app-header h1::before,html[data-theme="vanilla"] .app-header h1::before,html[data-theme="starcraft"] .app-header h1::before,html[data-theme="solo"] .app-header h1::before{content:"";display:inline-block;width:18px;height:18px;margin:0 8px 0 1px;vertical-align:-3px;position:relative;flex:none}
html[data-theme="wotlk"] .app-header h1::before{background:radial-gradient(circle,#eafaff 0 12%,#8bdcff 14% 21%,transparent 24%),conic-gradient(from 22deg,transparent 0 8%,#8bdcff 9% 13%,transparent 14% 25%,#d9f5ff 26% 30%,transparent 31% 42%,#8bdcff 43% 48%,transparent 49% 60%,#d9f5ff 61% 65%,transparent 66% 77%,#8bdcff 78% 83%,transparent 84%);clip-path:polygon(50% 0,61% 34%,94% 13%,72% 47%,100% 52%,67% 61%,86% 91%,55% 70%,46% 100%,39% 65%,8% 84%,29% 53%,0 45%,35% 38%,18% 8%);filter:drop-shadow(0 0 4px #76d9ff)}
html[data-theme="vanilla"] .app-header h1::before{width:17px;height:19px;background:linear-gradient(135deg,#ffe8a0,#9c6828 48%,#eac976 52%,#66441f);clip-path:polygon(50% 0,90% 12%,84% 62%,50% 100%,16% 62%,10% 12%);filter:drop-shadow(0 0 3px #d7a94c);box-shadow:inset 0 0 0 2px #f4df9b}
html[data-theme="starcraft"] .app-header h1::before{width:17px;height:17px;border:2px solid #69ddff;clip-path:polygon(25% 0,75% 0,100% 25%,100% 75%,75% 100%,25% 100%,0 75%,0 25%);background:linear-gradient(90deg,transparent 44%,#9cedff 45% 55%,transparent 56%),linear-gradient(transparent 44%,#9cedff 45% 55%,transparent 56%);box-shadow:0 0 8px #1abbe9}
html[data-theme="solo"] .app-header h1::before{border:2px solid #bca2ff;border-radius:50%;background:radial-gradient(circle,transparent 23%,#a683ff 26% 31%,transparent 34% 53%,#7251bb 56% 62%,transparent 65%);box-shadow:0 0 9px #8a67e8}
html[data-theme="wotlk"] .exercise-card,html[data-theme="wotlk"] .progress-item{box-shadow:inset 3px 0 #69c9f055,inset 0 1px #d7edff18,0 8px 24px #02081255}
html[data-theme="vanilla"] .exercise-card,html[data-theme="vanilla"] .progress-item{outline:1px solid #d3ab5a20;outline-offset:-5px}
html[data-theme="starcraft"] .exercise-card,html[data-theme="starcraft"] .progress-item{border-radius:7px 14px 7px 14px;box-shadow:inset 0 0 0 1px #63d7ff20,inset 3px 0 #3ba6d755,0 0 18px #07111b99}
html[data-theme="solo"] .exercise-card,html[data-theme="solo"] .progress-item{box-shadow:inset 2px 0 #9e75f888,inset 0 1px #e7ddff17,0 8px 24px #05030c88}
html[data-theme="wotlk"] .tab.active{box-shadow:inset 0 0 0 1px #86d9ff66,0 0 12px #50bff233}
html[data-theme="vanilla"] .tab.active{box-shadow:inset 0 0 0 1px #d8b86d66}
html[data-theme="starcraft"] .tab.active{border-radius:5px 12px 5px 12px;box-shadow:inset 0 0 0 1px #59d7ff88,0 0 10px #24a4d333}
html[data-theme="solo"] .tab.active{box-shadow:inset 0 0 0 1px #a88aff77,0 0 13px #8658e833}
@media(max-width:520px){html[data-theme="wotlk"] .app-header h1::before,html[data-theme="vanilla"] .app-header h1::before,html[data-theme="starcraft"] .app-header h1::before,html[data-theme="solo"] .app-header h1::before{width:15px;height:15px;margin-right:6px}html[data-theme="vanilla"] .app-header h1::before{height:17px}}

/* Keep the history marker aligned with the first title line and info reachable on phones. */
.exercise-name{align-items:flex-start;gap:4px}.exercise-name>.exercise-title-text{min-width:0;flex:0 1 auto}.exercise-name>.exercise-history-button{align-self:flex-start;margin-top:0}.exercise-history-button::before{margin-top:7px}.progress-item .progress-exercise-title{align-items:flex-start!important}.progress-item .progress-exercise-title>.exercise-history-button{align-self:flex-start;margin-top:0}.progress-item .progress-exercise-title>.exercise-history-button::before{margin-top:7px}.exercise-info-menu{flex:0 0 30px;align-self:flex-start;margin-top:0!important}.exercise-info-menu>summary{width:30px;height:30px;min-height:30px;flex:0 0 30px;border-radius:50%;color:var(--accent);border-color:color-mix(in srgb,var(--accent) 48%,var(--line));background:var(--accent-soft)}.exercise-info-menu>summary svg{stroke:currentColor}

/* Themed progression, calendar and Tabata controls; Sumi keeps the original defaults. */
html .level-medallion[data-medallion-skin="wotlk"]{background:conic-gradient(from -90deg,#4c86b1 0deg,#8ddcff var(--xp-mid,0deg),#f2fcff var(--xp-progress,0deg),#354858 var(--xp-progress,0deg) 360deg);box-shadow:0 0 0 1px #91c8e8,0 0 12px #59c7ff66;color:#eefaff}html .level-medallion[data-medallion-skin="wotlk"]>span{border-color:#a5d8f2;background:radial-gradient(circle at 35% 22%,#375b76,#172a3b 62%,#101722);box-shadow:inset 0 0 0 1px #a9ddf333}
html .level-medallion[data-medallion-skin="vanilla"]{background:conic-gradient(from -90deg,#8a5825 0deg,#d5a84c var(--xp-mid,0deg),#fff0b0 var(--xp-progress,0deg),#54432d var(--xp-progress,0deg) 360deg);box-shadow:0 0 0 1px #ae8848,0 0 10px #d0a44b66;color:#fff0c6}html .level-medallion[data-medallion-skin="vanilla"]>span{border-color:#e0c476;background:radial-gradient(circle at 35% 22%,#584323,#2a2113 64%,#17130d);box-shadow:inset 0 0 0 1px #e7cb7c44}
html .level-medallion[data-medallion-skin="starcraft"]{background:conic-gradient(from -90deg,#176788 0deg,#36c9ee var(--xp-mid,0deg),#d2fbff var(--xp-progress,0deg),#233c4c var(--xp-progress,0deg) 360deg);box-shadow:0 0 0 1px #45bde2,0 0 12px #16b6e788;color:#e1fbff;font-family:ui-monospace,monospace}html .level-medallion[data-medallion-skin="starcraft"]>span{border-color:#64d7f4;border-radius:50%;background:radial-gradient(circle,#14354b,#091724 70%);box-shadow:inset 0 0 0 1px #58c8e644,0 0 8px #18a9d744}
html .level-medallion[data-medallion-skin="solo"]{background:conic-gradient(from -90deg,#513e8b 0deg,#9d78f4 var(--xp-mid,0deg),#f1e6ff var(--xp-progress,0deg),#322a45 var(--xp-progress,0deg) 360deg);box-shadow:0 0 0 1px #a582ed,0 0 14px #8d63ea77;color:#f4eaff}html .level-medallion[data-medallion-skin="solo"]>span{border-color:#c2a7ff;background:radial-gradient(circle at 40% 25%,#463469,#171126 68%);box-shadow:inset 0 0 0 1px #b08aff55}
html[data-theme="wotlk"] .hp-track{border-color:#7799b3;background:linear-gradient(180deg,#192b3b,#0d1721);box-shadow:inset 0 2px 6px #000b,0 0 7px #69b9e333}html[data-theme="wotlk"] .hp-track>div{background-image:linear-gradient(90deg,#c6eeff30,#ffffff65 52%,#c6eeff30),linear-gradient(180deg,#ffffff33,transparent 54%,#0003),var(--completion-color);background-blend-mode:screen,normal,normal}
html[data-theme="vanilla"] .hp-track{border-color:#987c47;background:linear-gradient(180deg,#392b19,#17120b);box-shadow:inset 0 2px 6px #000b,0 0 0 1px #d8b15b22}html[data-theme="vanilla"] .hp-track>div{background-image:linear-gradient(90deg,#ffe5a233,#fff4c655 52%,#ffe5a233),linear-gradient(180deg,#ffffff33,transparent 54%,#0003),var(--completion-color);background-blend-mode:screen,normal,normal}
html[data-theme="starcraft"] .hp-track{height:22px;border:1px solid #3a8eaa;border-radius:4px;background:repeating-linear-gradient(90deg,#091622 0 8px,#10283a 8px 10px);box-shadow:inset 0 0 8px #000,0 0 7px #32bbdf22}html[data-theme="starcraft"] .hp-track>div{background-image:linear-gradient(90deg,#9ef2ff33,#ffffff65 52%,#9ef2ff33),linear-gradient(180deg,#ffffff33,transparent 54%,#0003),var(--completion-color);background-blend-mode:screen,normal,normal}
html[data-theme="solo"] .hp-track{border-color:#765caf;background:linear-gradient(90deg,#1e1930,#100d19);box-shadow:inset 0 2px 7px #000b,0 0 8px #8e69de33}html[data-theme="solo"] .hp-track>div{background-image:linear-gradient(90deg,#e8d7ff2c,#ffffff77 52%,#e8d7ff2c),linear-gradient(180deg,#ffffff33,transparent 54%,#0003),var(--completion-color);background-blend-mode:screen,normal,normal}
html[data-theme="wotlk"] .calendar-day{border:1px solid #7195b266;box-shadow:inset 0 1px #d8f1ff33}html[data-theme="wotlk"] .calendar-day.current{outline-color:#a4e3ff;box-shadow:0 0 0 2px #77cfff55,inset 0 1px #d8f1ff33}
html[data-theme="vanilla"] .calendar-day{border:1px solid #9b7c443d;box-shadow:inset 0 1px #fff2c333}html[data-theme="vanilla"] .calendar-day.complete{box-shadow:inset 0 0 0 2px #e4c676,inset 0 1px #fff2c333}
html[data-theme="starcraft"] .calendar-day{border:1px solid #4aa9c044;border-radius:4px;box-shadow:inset 0 1px #b5f6ff33}html[data-theme="starcraft"] .calendar-day.current{outline-color:#72e4ff;box-shadow:0 0 0 2px #38c8e866,inset 0 1px #b5f6ff33}
html[data-theme="solo"] .calendar-day{border:1px solid #997bdd44;box-shadow:inset 0 1px #f0e6ff33}html[data-theme="solo"] .calendar-day.complete{box-shadow:inset 0 0 0 2px #c6aaff,inset 0 1px #f0e6ff33}html[data-theme="solo"] .calendar-day.current{outline-color:#c3a4ff}
html[data-theme="wotlk"] .timer-mini{border-color:#6387a3;background:linear-gradient(145deg,#24394a,#101722 75%);box-shadow:inset 0 1px #c4e8ff26,0 0 18px #5ab5e51a}html[data-theme="wotlk"] .timer-mini>summary{color:#d9f1ff}html[data-theme="wotlk"] .routine-timer-bar{border-color:#607c92;background:#0c1722}html[data-theme="wotlk"] .routine-timer-bar.work i{background:linear-gradient(90deg,#3f8dc0,#a8e8ff)}html[data-theme="wotlk"] .routine-timer-bar.rest i{background:linear-gradient(90deg,#90a4b5,#f0f6fa)}
html[data-theme="vanilla"] .timer-mini{border-color:#806943;background:linear-gradient(145deg,#332918,#1a140c 80%);box-shadow:inset 0 1px #f1d69030,0 8px 18px #08050366}html[data-theme="vanilla"] .timer-mini>summary{color:#f0d69b}html[data-theme="vanilla"] .routine-timer-bar{border-color:#927646;background:#171109}html[data-theme="vanilla"] .routine-timer-bar.work i{background:linear-gradient(90deg,#9c6828,#f4d27a)}html[data-theme="vanilla"] .routine-timer-bar.rest i{background:linear-gradient(90deg,#8d877a,#f4e8c9)}
html[data-theme="starcraft"] .timer-mini{border-radius:8px 15px 8px 15px;border-color:#367f9f;background:linear-gradient(135deg,#142b3a,#09131f 80%);box-shadow:inset 0 0 0 1px #4bc8e622,0 0 18px #14a6d31c}html[data-theme="starcraft"] .timer-mini>summary{color:#9feaff;font-family:ui-monospace,monospace;letter-spacing:.06em}html[data-theme="starcraft"] .routine-timer-bar{border-radius:4px;border-color:#3687a3;background:repeating-linear-gradient(90deg,#07121d 0 8px,#102539 8px 10px)}html[data-theme="starcraft"] .routine-timer-bar.work i{background:linear-gradient(90deg,#167ba4,#59e3ff)}html[data-theme="starcraft"] .routine-timer-bar.rest i{background:linear-gradient(90deg,#647d91,#d7f8ff)}
html[data-theme="solo"] .timer-mini{border-color:#66528c;background:linear-gradient(145deg,#281f3e,#100d1a 80%);box-shadow:inset 0 1px #eadcff24,0 0 20px #9568ed24}html[data-theme="solo"] .timer-mini>summary{color:#e4d9ff}html[data-theme="solo"] .routine-timer-bar{border-color:#625087;background:#100d19}html[data-theme="solo"] .routine-timer-bar.work i{background:linear-gradient(90deg,#674dc0,#d2b6ff)}html[data-theme="solo"] .routine-timer-bar.rest i{background:linear-gradient(90deg,#777181,#f0eafa)}

/* Place exercise information beside the other card actions, using their shared square control style. */
.exercise-card-actions>.exercise-info-menu{position:relative;align-self:center;flex:0 0 30px;width:30px;height:30px;margin:0!important;padding:0;border:0;z-index:3}.exercise-card-actions>.exercise-info-menu>summary{box-sizing:border-box;display:grid;place-items:center;width:30px;height:30px;min-height:30px;flex:0 0 30px;padding:0;border:1px solid var(--line);border-radius:9px;background:var(--raised);color:var(--text)}.exercise-card-actions>.exercise-info-menu>summary svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.exercise-card-actions>.exercise-info-menu[open]{z-index:30}

/* Independent visual skins for the level badge, daily progress, calendar and Tabata. */
html .level-medallion[data-medallion-skin="wotlk"]{background:conic-gradient(from -90deg,#4c86b1 0deg,#8ddcff var(--xp-mid,0deg),#f2fcff var(--xp-progress,0deg),#354858 var(--xp-progress,0deg) 360deg);box-shadow:0 0 0 1px #91c8e8,0 0 12px #59c7ff66;color:#eefaff}html .level-medallion[data-medallion-skin="wotlk"]>span{border-color:#a5d8f2;background:radial-gradient(circle at 35% 22%,#375b76,#172a3b 62%,#101722);box-shadow:inset 0 0 0 1px #a9ddf333}
html .level-medallion[data-medallion-skin="vanilla"]{background:conic-gradient(from -90deg,#8a5825 0deg,#d5a84c var(--xp-mid,0deg),#fff0b0 var(--xp-progress,0deg),#54432d var(--xp-progress,0deg) 360deg);box-shadow:0 0 0 1px #ae8848,0 0 10px #d0a44b66;color:#fff0c6}html .level-medallion[data-medallion-skin="vanilla"]>span{border-color:#e0c476;background:radial-gradient(circle at 35% 22%,#584323,#2a2113 64%,#17130d);box-shadow:inset 0 0 0 1px #e7cb7c44}
html .level-medallion[data-medallion-skin="starcraft"]{background:conic-gradient(from -90deg,#176788 0deg,#36c9ee var(--xp-mid,0deg),#d2fbff var(--xp-progress,0deg),#233c4c var(--xp-progress,0deg) 360deg);box-shadow:0 0 0 1px #45bde2,0 0 12px #16b6e788;color:#e1fbff;font-family:ui-monospace,monospace}html .level-medallion[data-medallion-skin="starcraft"]>span{border-color:#64d7f4;background:radial-gradient(circle,#14354b,#091724 70%);box-shadow:inset 0 0 0 1px #58c8e644,0 0 8px #18a9d744}
html .level-medallion[data-medallion-skin="solo"]{background:conic-gradient(from -90deg,#513e8b 0deg,#9d78f4 var(--xp-mid,0deg),#f1e6ff var(--xp-progress,0deg),#322a45 var(--xp-progress,0deg) 360deg);box-shadow:0 0 0 1px #a582ed,0 0 14px #8d63ea77;color:#f4eaff}html .level-medallion[data-medallion-skin="solo"]>span{border-color:#c2a7ff;background:radial-gradient(circle at 40% 25%,#463469,#171126 68%);box-shadow:inset 0 0 0 1px #b08aff55}
html[data-daily-progress-skin="wotlk"] .hp-track{border-color:#7195b2;background:repeating-linear-gradient(135deg,#101d2b 0 6px,#172b3c 6px 12px);box-shadow:inset 0 2px 6px #0009,0 0 8px #59bde933}html[data-daily-progress-skin="wotlk"] .hp-track>div{background:linear-gradient(90deg,#3f8dc0,#a8e8ff);box-shadow:inset 0 1px #fff9,0 0 10px #58c6ff66}
html[data-daily-progress-skin="vanilla"] .hp-track{border-color:#927646;background:repeating-linear-gradient(90deg,#19150d 0 8px,#241c10 8px 10px)}html[data-daily-progress-skin="vanilla"] .hp-track>div{background:linear-gradient(90deg,#9c6828,#f4d27a);box-shadow:inset 0 1px #fff9,0 0 8px #d3a95566}
html[data-daily-progress-skin="starcraft"] .hp-track{border-radius:4px;border-color:#3687a3;background:repeating-linear-gradient(90deg,#07121d 0 8px,#102539 8px 10px)}html[data-daily-progress-skin="starcraft"] .hp-track>div{background:linear-gradient(90deg,#167ba4,#59e3ff);box-shadow:inset 0 1px #d8fbff99,0 0 9px #31cff577}
html[data-daily-progress-skin="solo"] .hp-track{border-color:#625087;background:repeating-linear-gradient(135deg,#100d19 0 8px,#1c1530 8px 12px);box-shadow:inset 0 2px 6px #0009,0 0 9px #9568ed33}html[data-daily-progress-skin="solo"] .hp-track>div{background:linear-gradient(90deg,#674dc0,#d2b6ff);box-shadow:inset 0 1px #fff9,0 0 10px #a883ff77}
html[data-calendar-skin="wotlk"] .calendar-day{border:1px solid #7195b266;box-shadow:inset 0 1px #d8f1ff33}html[data-calendar-skin="wotlk"] .calendar-day.current{outline-color:#a4e3ff;box-shadow:0 0 0 2px #77cfff55,inset 0 1px #d8f1ff33}
html[data-calendar-skin="vanilla"] .calendar-day{border:1px solid #9b7c443d;box-shadow:inset 0 1px #fff2c333}html[data-calendar-skin="vanilla"] .calendar-day.complete{box-shadow:inset 0 0 0 2px #e4c676,inset 0 1px #fff2c333}
html[data-calendar-skin="starcraft"] .calendar-day{border:1px solid #4aa9c044;border-radius:4px;box-shadow:inset 0 1px #b5f6ff33}html[data-calendar-skin="starcraft"] .calendar-day.current{outline-color:#72e4ff;box-shadow:0 0 0 2px #38c8e866,inset 0 1px #b5f6ff33}
html[data-calendar-skin="solo"] .calendar-day{border:1px solid #997bdd44;box-shadow:inset 0 1px #f0e6ff33}html[data-calendar-skin="solo"] .calendar-day.complete{box-shadow:inset 0 0 0 2px #c6aaff,inset 0 1px #f0e6ff33}html[data-calendar-skin="solo"] .calendar-day.current{outline-color:#c3a4ff}
html[data-tabata-skin="wotlk"] .timer-mini{border-color:#6387a3;background:linear-gradient(145deg,#24394a,#101722 75%);box-shadow:inset 0 1px #c4e8ff26,0 0 18px #5ab5e51a}html[data-tabata-skin="wotlk"] .timer-mini>summary{color:#d9f1ff}html[data-tabata-skin="wotlk"] .routine-timer-bar{border-color:#607c92;background:#0c1722}html[data-tabata-skin="wotlk"] .routine-timer-bar.work i{background:linear-gradient(90deg,#3f8dc0,#a8e8ff)}html[data-tabata-skin="wotlk"] .routine-timer-bar.rest i{background:linear-gradient(90deg,#90a4b5,#f0f6fa)}
html[data-tabata-skin="vanilla"] .timer-mini{border-color:#806943;background:linear-gradient(145deg,#332918,#1a140c 80%);box-shadow:inset 0 1px #f1d69030,0 8px 18px #08050366}html[data-tabata-skin="vanilla"] .timer-mini>summary{color:#f0d69b}html[data-tabata-skin="vanilla"] .routine-timer-bar{border-color:#927646;background:#171109}html[data-tabata-skin="vanilla"] .routine-timer-bar.work i{background:linear-gradient(90deg,#9c6828,#f4d27a)}html[data-tabata-skin="vanilla"] .routine-timer-bar.rest i{background:linear-gradient(90deg,#8d877a,#f4e8c9)}
html[data-tabata-skin="starcraft"] .timer-mini{border-radius:8px 15px 8px 15px;border-color:#367f9f;background:linear-gradient(135deg,#142b3a,#09131f 80%);box-shadow:inset 0 0 0 1px #4bc8e622,0 0 18px #14a6d31c}html[data-tabata-skin="starcraft"] .timer-mini>summary{color:#9feaff;font-family:ui-monospace,monospace;letter-spacing:.06em}html[data-tabata-skin="starcraft"] .routine-timer-bar{border-radius:4px;border-color:#3687a3;background:repeating-linear-gradient(90deg,#07121d 0 8px,#102539 8px 10px)}html[data-tabata-skin="starcraft"] .routine-timer-bar.work i{background:linear-gradient(90deg,#167ba4,#59e3ff)}html[data-tabata-skin="starcraft"] .routine-timer-bar.rest i{background:linear-gradient(90deg,#647d91,#d7f8ff)}
html[data-tabata-skin="solo"] .timer-mini{border-color:#66528c;background:linear-gradient(145deg,#281f3e,#100d1a 80%);box-shadow:inset 0 1px #eadcff24,0 0 20px #9568ed24}html[data-tabata-skin="solo"] .timer-mini>summary{color:#e4d9ff}html[data-tabata-skin="solo"] .routine-timer-bar{border-color:#625087;background:#100d19}html[data-tabata-skin="solo"] .routine-timer-bar.work i{background:linear-gradient(90deg,#674dc0,#d2b6ff)}html[data-tabata-skin="solo"] .routine-timer-bar.rest i{background:linear-gradient(90deg,#777181,#f0eafa)}

/* Muscle-group sections keep the exercise library scannable on narrow screens. */
.progress-group{margin:20px 0 24px}.progress-group>h3{display:flex;align-items:center;gap:10px;margin:0 2px 10px;color:var(--muted);font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.progress-group>h3:after{content:"";height:1px;flex:1;background:var(--line)}.progress-group-items{display:grid;gap:10px}.progress-group-items>.progress-item{margin:0}


/* Keep vertical effort controls alongside the exercise summary, never beside or narrowing the set rows. */
.exercise-card[data-feeling-placement="side"] .exercise-content-row{grid-template-columns:minmax(0,1fr) 82px;gap:8px}
.exercise-card[data-feeling-placement="side"] .exercise-details{display:contents}
.exercise-card[data-feeling-placement="side"] .exercise-overview{grid-column:1;grid-row:1;min-width:0}
.exercise-card[data-feeling-placement="side"] .rating{grid-column:2;grid-row:1;display:grid;grid-template-columns:minmax(0,1fr);gap:6px;margin:0;align-self:start}
.exercise-card[data-feeling-placement="side"] .series-list,.exercise-card[data-feeling-placement="side"] .extra-set-actions{grid-column:1/-1;min-width:0}
.exercise-card[data-feeling-placement="side"] .series-row{grid-template-columns:42px 42px minmax(0,1fr);gap:7px}
.exercise-card[data-feeling-placement="side"] .load-picker{grid-column:3}

/* Horizontal orientation is a compact three-up layout so iPhone users can see the full set sequence. */
.exercise-card[data-series-orientation="horizontal"] .series-list{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 16px)/3);gap:8px;overflow-x:auto;overscroll-behavior-inline:contain;padding:2px 1px 8px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.exercise-card[data-series-orientation="horizontal"] .series-row{box-sizing:border-box;min-width:0;width:100%;display:grid;grid-template-columns:minmax(0,1fr) 20px;grid-template-rows:22px 38px 34px auto;align-items:center;gap:5px;padding:6px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--raised) 45%,transparent);scroll-snap-align:start}
.exercise-card[data-series-orientation="horizontal"] .series-row>input[type="checkbox"]{grid-column:2;grid-row:1;width:18px;height:18px;border-radius:6px}
.exercise-card[data-series-orientation="horizontal"] .series-row>input[type="checkbox"]:checked:after{font-size:13px;line-height:16px}
.exercise-card[data-series-orientation="horizontal"] .series-row>strong{grid-column:1;grid-row:1;text-align:left;font-size:.67rem;color:var(--muted);white-space:nowrap}
.exercise-card[data-series-orientation="horizontal"] .series-row>.rep-stepper{grid-column:1/-1;grid-row:2;display:flex;min-width:0}
.exercise-card[data-series-orientation="horizontal"] .series-row>.rep-stepper>button{display:none}
.exercise-card[data-series-orientation="horizontal"] .series-row>.rep-stepper>input{box-sizing:border-box;width:100%;min-width:0;min-height:36px;padding:4px 2px;font-size:.9rem;text-align:center;border:1px solid var(--line)!important;border-radius:8px!important;background:var(--surface)}
.exercise-card[data-series-orientation="horizontal"] .series-row>.rep-stepper>input::placeholder{opacity:.72}
.exercise-card[data-series-orientation="horizontal"] .series-row>.load-picker{grid-column:1/-1;grid-row:3}
.exercise-card[data-series-orientation="horizontal"] .series-row>.load-picker>summary{box-sizing:border-box;width:100%;min-height:32px;padding:6px 18px 6px 5px;font-size:.58rem;text-align:left}
.exercise-card[data-series-orientation="horizontal"] .series-row>.load-picker>summary:after{right:5px}
.exercise-card[data-series-orientation="horizontal"] .series-row>.follow-s1{grid-column:1/-1;grid-row:4;min-width:0;font-size:.58rem;padding:4px}
.exercise-card[data-series-orientation="horizontal"] .series-row.extra-series{margin-left:0;padding-left:6px}
@media(max-width:420px){.exercise-card[data-feeling-placement="side"] .exercise-content-row{grid-template-columns:minmax(0,1fr) 74px;gap:7px}.exercise-card[data-feeling-placement="side"] .rating button{font-size:.61rem;min-height:42px}.exercise-card[data-series-orientation="horizontal"] .series-list{grid-auto-columns:calc((100% - 12px)/3);gap:6px}.exercise-card[data-series-orientation="horizontal"] .series-row{padding:5px;gap:4px}.exercise-card[data-series-orientation="horizontal"] .series-row>.load-picker>summary{font-size:.53rem}}


/* Optional streak tiers inspired by the supplied gold/red/neutral reference. */
:root[data-streak-style="gold-ranks"] .exercise-streak{border-radius:5px;background:#090a0b;text-transform:uppercase;letter-spacing:.045em}
:root[data-streak-style="gold-ranks"] .exercise-streak.state-streak{color:#e9bd62;border-color:transparent;text-shadow:0 0 2px #b5781b55;box-shadow:none}
:root[data-streak-style="gold-ranks"] .exercise-streak.state-streak.tier-2{color:#ffd34d;text-shadow:0 0 5px #b5781b77}
:root[data-streak-style="gold-ranks"] .exercise-streak.state-streak.tier-3{color:#ffcd32;text-shadow:0 0 7px #e9992488}
:root[data-streak-style="gold-ranks"] .exercise-streak.state-streak.tier-3:after,:root[data-streak-style="gold-ranks"] .exercise-streak.state-streak.tier-4:after,:root[data-streak-style="gold-ranks"] .exercise-streak.state-streak.tier-5:after{content:"✦";margin-left:5px;font-size:.9em}
:root[data-streak-style="gold-ranks"] .exercise-streak.state-streak.tier-4{color:#ffc329;text-shadow:0 0 9px #f3952ecc;box-shadow:0 0 7px #ed9a2c44}
:root[data-streak-style="gold-ranks"] .exercise-streak.state-streak.tier-5{color:#fff0ae;text-shadow:0 0 3px #fff3bb,0 0 10px #ffbc32,0 0 18px #e27b1c;box-shadow:0 0 4px #ffcd6188,0 0 12px #d98a3577}
:root[data-streak-style="gold-ranks"] .exercise-streak.state-skipped{color:#ff535e;border-color:transparent;background:#090a0b;text-shadow:0 0 5px #c82233aa;box-shadow:none}
:root[data-streak-style="gold-ranks"] .exercise-streak.state-neutral{color:#aeb4bd;border-color:transparent;background:#090a0b;text-shadow:none;box-shadow:none}


/* Match the daily intake select to the rounded, full-size controls used throughout the app. */
.calorie-summary label{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;font-size:.85rem}
.calorie-summary #calorieIntakeMode{box-sizing:border-box;flex:0 1 185px;width:185px;max-width:60%;min-width:138px;min-height:42px;padding:8px 30px 8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--raised);color:var(--text);font:inherit}
@media(max-width:420px){.calorie-summary label{font-size:.78rem;gap:7px}.calorie-summary #calorieIntakeMode{flex-basis:150px;min-width:130px;max-width:58%;min-height:42px}}


/* Make the info action legible at phone scale while keeping the shared square control shape. */
.exercise-card-actions>.exercise-info-menu>summary{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 65%,var(--line));background:var(--accent-soft)}
.exercise-card-actions>.exercise-info-menu>summary svg{width:20px;height:20px;stroke-width:2.3}
.exercise-card-actions>.exercise-info-menu>summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}

/* High-definition level medallions: engraved frame, faceted core and a distinct palette for every full skin. */
html .level-medallion[data-medallion-style="engraved"]{isolation:isolate;overflow:visible;border:1px solid var(--medal-edge,#a8793d);background:conic-gradient(from -90deg,var(--medal-progress-a,#a85a24) 0deg,var(--medal-progress-b,#ef9a42) var(--xp-mid,0deg),var(--medal-highlight,#fff1d7) var(--xp-progress,0deg),var(--medal-track,#384252) var(--xp-progress,0deg) 360deg);box-shadow:0 0 0 1px var(--medal-outline,#382a1d),inset 0 1px 1px #ffffff80,inset 0 -2px 3px #0009,0 2px 5px #0009,0 0 9px var(--medal-glow,#e78b3d66);color:var(--medal-number,#ffe0b0)}
html .level-medallion[data-medallion-style="engraved"]::before{content:"";position:absolute;z-index:0;inset:2px;border:1px solid var(--medal-inner-edge,#d1a35c);border-radius:50%;box-shadow:inset 0 1px 1px #ffffff66,inset 0 -1px 2px #000b,0 0 0 1px #08090b66;pointer-events:none}
html .level-medallion[data-medallion-style="engraved"]>span{position:relative;z-index:1;box-sizing:border-box;border:2px solid var(--medal-core-edge,#8a673e);background:var(--medal-engraving,none),repeating-conic-gradient(from -8deg,#ffffff08 0deg 2deg,transparent 2deg 24deg),radial-gradient(ellipse at 30% 18%,#ffffff35,transparent 28%),radial-gradient(circle at 38% 28%,var(--medal-core-light,#405776),var(--medal-core-mid,#1c2b42) 59%,var(--medal-core-dark,#101722) 100%);box-shadow:inset 0 1px 2px #ffffff70,inset 0 -3px 5px #000b,0 0 0 1px #050608;text-shadow:0 1px 2px #000,0 0 5px var(--medal-glow,#e78b3d55)}
html .level-medallion[data-medallion-style="engraved"]::after{content:attr(data-prestige);position:absolute;z-index:3;right:-4px;bottom:-4px;display:grid;place-items:center;box-sizing:border-box;width:14px;height:14px;border:1px solid var(--medal-prestige-edge,#f6d68c);border-radius:50%;background:linear-gradient(145deg,#fff2ba 0%,#d7a64d 42%,#684219 100%);box-shadow:0 0 0 1px #1a1208,0 1px 3px #000b,0 0 6px var(--medal-glow,#dba34d66);color:#211507;font:900 6px/1 Georgia,serif;text-shadow:0 1px #fff9;pointer-events:none}
html .level-medallion[data-medallion-style="engraved"]:not([data-prestige])::after{display:none}
html .level-medallion[data-medallion-style="engraved"][data-medallion-skin="sumi"]{--medal-progress-a:#ad5b24;--medal-progress-b:#ef9639;--medal-highlight:#fff0ce;--medal-track:#3a4859;--medal-edge:#c68c4b;--medal-inner-edge:#f0c774;--medal-outline:#382719;--medal-core-edge:#947340;--medal-core-light:#455d77;--medal-core-mid:#213249;--medal-core-dark:#0d1420;--medal-glow:#e78b3d66;--medal-prestige-edge:#ffe7a1}
html .level-medallion[data-medallion-style="engraved"][data-medallion-skin="indigo"]{--medal-progress-a:#5142a4;--medal-progress-b:#9a83f4;--medal-highlight:#e4dcff;--medal-track:#393455;--medal-edge:#9584e0;--medal-inner-edge:#c9b9ff;--medal-outline:#211d39;--medal-core-edge:#7062ae;--medal-core-light:#4e4b7c;--medal-core-mid:#24213e;--medal-core-dark:#100e20;--medal-glow:#9c85f077;--medal-prestige-edge:#e1caff}
html .level-medallion[data-medallion-style="engraved"][data-medallion-skin="matcha"]{--medal-progress-a:#397144;--medal-progress-b:#91d583;--medal-highlight:#e9ffcc;--medal-track:#344538;--medal-edge:#7cb16d;--medal-inner-edge:#c7e69a;--medal-outline:#18281b;--medal-core-edge:#57834d;--medal-core-light:#416343;--medal-core-mid:#1f3527;--medal-core-dark:#0c1710;--medal-glow:#8bc87977;--medal-prestige-edge:#e6f2ad}
html .level-medallion[data-medallion-style="engraved"][data-medallion-skin="akane"]{--medal-progress-a:#8d3035;--medal-progress-b:#ee6b64;--medal-highlight:#ffd3a4;--medal-track:#49353a;--medal-edge:#bd6357;--medal-inner-edge:#eea37b;--medal-outline:#311619;--medal-core-edge:#8e454b;--medal-core-light:#603d4a;--medal-core-mid:#301c27;--medal-core-dark:#150d13;--medal-glow:#ed615866;--medal-prestige-edge:#ffd7a1}
html .level-medallion[data-medallion-style="engraved"][data-medallion-skin="kiiro"]{--medal-progress-a:#a46e1e;--medal-progress-b:#f4c84f;--medal-highlight:#fff4bb;--medal-track:#4d4228;--medal-edge:#c09a45;--medal-inner-edge:#f2d579;--medal-outline:#302410;--medal-core-edge:#927444;--medal-core-light:#64532e;--medal-core-mid:#302510;--medal-core-dark:#171105;--medal-glow:#f0c34277;--medal-prestige-edge:#fff1aa}
html .level-medallion[data-medallion-style="engraved"][data-medallion-skin="murasaki"]{--medal-progress-a:#704393;--medal-progress-b:#c084e8;--medal-highlight:#f4dfff;--medal-track:#44364f;--medal-edge:#aa76c8;--medal-inner-edge:#e2b5f5;--medal-outline:#291b35;--medal-core-edge:#805495;--medal-core-light:#553c6a;--medal-core-mid:#2b1d3b;--medal-core-dark:#120b1b;--medal-glow:#c17be977;--medal-prestige-edge:#f0caff}
html .level-medallion[data-medallion-style="engraved"][data-medallion-skin="shiro"]{--medal-progress-a:#8d969f;--medal-progress-b:#e6e4d8;--medal-highlight:#fff;--medal-track:#555c63;--medal-edge:#e0ddd2;--medal-inner-edge:#fff;--medal-outline:#343a40;--medal-core-edge:#9ba4a6;--medal-core-light:#74828b;--medal-core-mid:#38444c;--medal-core-dark:#151b20;--medal-glow:#fff4d355;--medal-prestige-edge:#fff}
html .level-medallion[data-medallion-style="engraved"][data-medallion-skin="hai"]{--medal-progress-a:#60686d;--medal-progress-b:#c1c7c9;--medal-highlight:#fff;--medal-track:#44494d;--medal-edge:#aab0b3;--medal-inner-edge:#dfe3e4;--medal-outline:#24282b;--medal-core-edge:#80898d;--medal-core-light:#596165;--medal-core-mid:#30373b;--medal-core-dark:#111416;--medal-glow:#d8e0e244;--medal-prestige-edge:#f6f7f7}
html .level-medallion[data-medallion-style="engraved"][data-medallion-skin="obsidian"]{--medal-progress-a:#26568f;--medal-progress-b:#55b2f5;--medal-highlight:#d5f3ff;--medal-track:#2d4054;--medal-edge:#5798ca;--medal-inner-edge:#a1d8ff;--medal-outline:#101c2c;--medal-core-edge:#477ba3;--medal-core-light:#315878;--medal-core-mid:#142e47;--medal-core-dark:#071321;--medal-glow:#3eaef477;--medal-prestige-edge:#caebff}
html .level-medallion[data-medallion-style="engraved"][data-medallion-skin="ember"]{--medal-progress-a:#9b3920;--medal-progress-b:#ff8a35;--medal-highlight:#ffe5a5;--medal-track:#4c3028;--medal-edge:#c76b35;--medal-inner-edge:#ffba60;--medal-outline:#30160f;--medal-core-edge:#925036;--medal-core-light:#63402f;--medal-core-mid:#302018;--medal-core-dark:#140c09;--medal-glow:#ff6a2e77;--medal-prestige-edge:#ffdc94}
html .level-medallion[data-medallion-style="engraved"][data-medallion-skin="frost"]{--medal-progress-a:#3f8da4;--medal-progress-b:#9ce9f2;--medal-highlight:#fff;--medal-track:#314c58;--medal-edge:#86d0dd;--medal-inner-edge:#d8fbff;--medal-outline:#172c36;--medal-core-edge:#5c99a8;--medal-core-light:#426b7b;--medal-core-mid:#203744;--medal-core-dark:#0a151d;--medal-glow:#7be8ff77;--medal-prestige-edge:#e4ffff}
html .level-medallion[data-medallion-style="engraved"][data-medallion-skin="wotlk"]{--medal-progress-a:#397ca8;--medal-progress-b:#8ddcff;--medal-highlight:#f2fcff;--medal-track:#354858;--medal-edge:#91c8e8;--medal-inner-edge:#d5f4ff;--medal-outline:#182a38;--medal-core-edge:#6babc9;--medal-core-light:#375b76;--medal-core-mid:#172a3b;--medal-core-dark:#0b121b;--medal-glow:#59c7ff77;--medal-prestige-edge:#e7faff}
html .level-medallion[data-medallion-style="engraved"][data-medallion-skin="vanilla"]{--medal-progress-a:#8a5825;--medal-progress-b:#d5a84c;--medal-highlight:#fff0b0;--medal-track:#54432d;--medal-edge:#ae8848;--medal-inner-edge:#e0c476;--medal-outline:#342615;--medal-core-edge:#a7854c;--medal-core-light:#455d77;--medal-core-mid:#213249;--medal-core-dark:#0d1420;--medal-glow:#d0a44b77;--medal-prestige-edge:#fff0b0}
html .level-medallion[data-medallion-style="engraved"][data-medallion-skin="starcraft"]{--medal-progress-a:#176788;--medal-progress-b:#36c9ee;--medal-highlight:#d2fbff;--medal-track:#233c4c;--medal-edge:#45bde2;--medal-inner-edge:#a4f1ff;--medal-outline:#0c202c;--medal-core-edge:#64d7f4;--medal-core-light:#14354b;--medal-core-mid:#092438;--medal-core-dark:#04131f;--medal-glow:#16b6e788;--medal-prestige-edge:#d7fcff;font-family:ui-monospace,monospace}
html .level-medallion[data-medallion-style="engraved"][data-medallion-skin="solo"]{--medal-progress-a:#513e8b;--medal-progress-b:#9d78f4;--medal-highlight:#f1e6ff;--medal-track:#322a45;--medal-edge:#a582ed;--medal-inner-edge:#e0ceff;--medal-outline:#211831;--medal-core-edge:#c2a7ff;--medal-core-light:#463469;--medal-core-mid:#24173d;--medal-core-dark:#0c0817;--medal-glow:#8d63ea88;--medal-prestige-edge:#f0e4ff;font-family:Georgia,serif}
html .level-medallion[data-medallion-style="engraved"][data-medallion-skin="sumi"]{--medal-engraving:radial-gradient(circle at 50% 50%,transparent 0 34%,#d89c5c33 35% 36%,transparent 38% 50%,#e4bc7330 51% 52%,transparent 54%)}
html .level-medallion[data-medallion-style="engraved"][data-medallion-skin="indigo"]{--medal-engraving:repeating-conic-gradient(from 0deg at 50% 50%,transparent 0 38deg,#e0cdff26 39deg 41deg,transparent 42deg 90deg),radial-gradient(circle at 50% 50%,transparent 0 43%,#bba9ff33 44% 46%,transparent 47%)}
html .level-medallion[data-medallion-style="engraved"][data-medallion-skin="matcha"]{--medal-engraving:radial-gradient(ellipse at 50% 48%,transparent 0 25%,#cbe9ac31 26% 28%,transparent 29%),linear-gradient(55deg,transparent 47%,#cbe9ac2b 48% 50%,transparent 51%),linear-gradient(125deg,transparent 47%,#cbe9ac2b 48% 50%,transparent 51%)}
html .level-medallion[data-medallion-style="engraved"][data-medallion-skin="akane"]{--medal-engraving:radial-gradient(ellipse at 50% 75%,#ff745033,transparent 48%),repeating-conic-gradient(from 8deg at 50% 50%,transparent 0 42deg,#ffc1a51f 43deg 45deg,transparent 46deg 90deg)}
html .level-medallion[data-medallion-style="engraved"][data-medallion-skin="kiiro"]{--medal-engraving:repeating-conic-gradient(from 0deg at 50% 50%,transparent 0 16deg,#fff0ad32 17deg 19deg,transparent 20deg 30deg),radial-gradient(circle at 50% 50%,transparent 0 32%,#ffe48a2b 34% 36%,transparent 38%)}
html .level-medallion[data-medallion-style="engraved"][data-medallion-skin="murasaki"]{--medal-engraving:radial-gradient(circle at 50% 50%,transparent 0 35%,#e2b5f533 36% 38%,transparent 40%),repeating-conic-gradient(from 15deg at 50% 50%,transparent 0 58deg,#efcfff22 59deg 61deg,transparent 62deg 120deg)}
html .level-medallion[data-medallion-style="engraved"][data-medallion-skin="shiro"]{--medal-engraving:radial-gradient(circle at 50% 50%,transparent 0 38%,#fff9e633 39% 41%,transparent 43%),linear-gradient(0deg,transparent 49%,#ffffff24 50%,transparent 51%),linear-gradient(90deg,transparent 49%,#ffffff24 50%,transparent 51%)}
html .level-medallion[data-medallion-style="engraved"][data-medallion-skin="hai"]{--medal-engraving:radial-gradient(circle at 50% 50%,transparent 0 29%,#e1e5e526 30% 32%,transparent 34% 43%,#e1e5e51d 44% 46%,transparent 48%)}
html .level-medallion[data-medallion-style="engraved"][data-medallion-skin="obsidian"]{--medal-engraving:radial-gradient(circle at 25% 30%,#a8e4ffbb 0 1px,transparent 1.7px),radial-gradient(circle at 72% 38%,#a8e4ff99 0 1px,transparent 1.7px),radial-gradient(circle at 58% 72%,#a8e4ff99 0 1px,transparent 1.7px),linear-gradient(145deg,transparent 31%,#83ceff22 32%,transparent 33% 58%,#83ceff22 59%,transparent 60%)}
html .level-medallion[data-medallion-style="engraved"][data-medallion-skin="ember"]{--medal-engraving:radial-gradient(ellipse at 50% 83%,#ff7a322d,transparent 48%),repeating-conic-gradient(from 0deg at 50% 50%,transparent 0 40deg,#ffc08a22 41deg 43deg,transparent 44deg 90deg)}
html .level-medallion[data-medallion-style="engraved"][data-medallion-skin="frost"]{--medal-engraving:linear-gradient(45deg,transparent 48%,#d7fbff2b 49% 51%,transparent 52%),linear-gradient(135deg,transparent 48%,#d7fbff2b 49% 51%,transparent 52%),radial-gradient(circle at 50% 50%,transparent 0 41%,#d7fbff22 42% 44%,transparent 46%)}
html .level-medallion[data-medallion-style="engraved"][data-medallion-skin="wotlk"]{--medal-engraving:repeating-conic-gradient(from 0deg at 50% 50%,transparent 0 43deg,#d8f5ff30 44deg 46deg,transparent 47deg 90deg),radial-gradient(circle at 50% 50%,transparent 0 37%,#d8f5ff2b 38% 40%,transparent 42%)}
html .level-medallion[data-medallion-style="engraved"][data-medallion-skin="vanilla"]{--medal-engraving:linear-gradient(0deg,transparent 47%,#f8dfa544 48% 51%,transparent 52%),linear-gradient(90deg,transparent 47%,#f8dfa544 48% 51%,transparent 52%),radial-gradient(circle at 50% 50%,transparent 0 28%,#f8dfa533 29% 31%,transparent 33% 43%,#f8dfa51e 44% 46%,transparent 48%)}
html .level-medallion[data-medallion-style="engraved"][data-medallion-skin="starcraft"]{--medal-engraving:linear-gradient(90deg,transparent 23%,#a6efff30 24% 27%,transparent 28% 72%,#a6efff30 73% 76%,transparent 77%),linear-gradient(0deg,transparent 23%,#a6efff30 24% 27%,transparent 28% 72%,#a6efff30 73% 76%,transparent 77%),radial-gradient(circle at 50% 50%,transparent 0 31%,#a6efff30 32% 34%,transparent 36%)}
html .level-medallion[data-medallion-style="engraved"][data-medallion-skin="solo"]{--medal-engraving:radial-gradient(circle at 50% 50%,transparent 0 19%,#d8c4ff33 20% 22%,transparent 24% 38%,#d8c4ff2e 39% 42%,transparent 44% 53%,#d8c4ff21 54% 56%,transparent 58%)}
html .level-medallion[data-medallion-style="engraved"][data-prestige-tier="1"]::after{box-shadow:0 0 0 1px #1a1208,0 1px 3px #000b,0 0 7px var(--medal-glow)}
html .level-medallion[data-medallion-style="engraved"][data-prestige-tier="2"]::after{width:15px;height:15px;border-width:1.5px;filter:brightness(1.08)}
html .level-medallion[data-medallion-style="engraved"][data-prestige-tier="3"]::after{width:16px;height:16px;filter:brightness(1.14);box-shadow:0 0 0 1px #1a1208,0 1px 3px #000b,0 0 9px var(--medal-glow)}
html .level-medallion[data-medallion-style="engraved"][data-prestige-tier="4"]::after{width:17px;height:17px;border-width:2px;filter:brightness(1.2)}
html .level-medallion[data-medallion-style="engraved"][data-prestige-tier="5"]::after{width:18px;height:18px;filter:brightness(1.24);box-shadow:0 0 0 1px #1a1208,0 1px 3px #000b,0 0 12px var(--medal-glow)}
html .level-medallion[data-medallion-style="engraved"][data-prestige-tier="6"]::after{width:19px;height:19px;border-width:2px;filter:brightness(1.3)}
html .level-medallion[data-medallion-style="engraved"][data-prestige-tier="7"]::after{width:20px;height:20px;filter:brightness(1.38);box-shadow:0 0 0 1px #1a1208,0 1px 3px #000b,0 0 15px var(--medal-glow)}
html .level-medallion[data-medallion-style="engraved"][data-prestige-tier="8"]::after{width:21px;height:21px;border-width:2px;filter:brightness(1.45);box-shadow:0 0 0 1px #1a1208,0 1px 3px #000b,0 0 18px var(--medal-glow)}

/* Keep the attendance control easy to find and tap on narrow iPhone screens. */
.exercise-name>.exercise-history-button,.progress-title-block .progress-exercise-title>.exercise-history-button{position:relative;z-index:2;display:grid;place-items:center;box-sizing:border-box;flex:0 0 30px;width:30px;height:28px;min-width:30px;min-height:28px;margin:-2px 0 0 2px;padding:0;border:1px solid color-mix(in srgb,var(--completion-color) 70%,var(--line));border-radius:50%;background:radial-gradient(circle at 35% 25%,color-mix(in srgb,var(--completion-color) 28%,var(--raised)),color-mix(in srgb,var(--completion-color) 10%,var(--card)));box-shadow:inset 0 1px 2px #ffffff24,0 1px 4px #0008,0 0 6px color-mix(in srgb,var(--completion-color) 38%,transparent);opacity:1;visibility:visible;touch-action:manipulation}
.exercise-name>.exercise-history-button::before,.progress-title-block .progress-exercise-title>.exercise-history-button::before{display:block;width:13px;height:13px;margin:0!important;background:var(--completion-color);filter:drop-shadow(0 1px 1px #000b);transform:translateY(-1px)}
.exercise-name>.exercise-history-button.streak-down::before,.progress-title-block .progress-exercise-title>.exercise-history-button.streak-down::before{transform:translateY(1px)}
.exercise-name>.exercise-history-button:active::before,.progress-title-block .progress-exercise-title>.exercise-history-button:active::before{transform:translateY(-1px) scale(.84)}
.exercise-name>.exercise-history-button.streak-down:active::before,.progress-title-block .progress-exercise-title>.exercise-history-button.streak-down:active::before{transform:translateY(1px) scale(.84)}
@media(max-width:520px){.exercise-name>.exercise-history-button,.progress-title-block .progress-exercise-title>.exercise-history-button{flex-basis:30px;width:30px;height:28px;min-width:30px;min-height:28px;margin-top:-2px}.exercise-history-button::before{width:13px;height:13px}}

/* Make the info action unmistakable and reachable on iPhone in both daily and library cards. */
.exercise-card-actions>.exercise-info-menu{display:block!important;visibility:visible!important;opacity:1!important;flex-shrink:0!important;overflow:visible!important}
.exercise-card-actions>.exercise-info-menu>summary{position:relative;z-index:4;box-sizing:border-box;width:34px;height:36px;min-width:34px;min-height:36px;flex:0 0 34px;border-radius:9px;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 78%,white);background:linear-gradient(145deg,var(--accent-soft),var(--raised));box-shadow:inset 0 1px #ffffff22,0 1px 4px #0008}
.exercise-card-actions>.exercise-info-menu>summary svg{width:20px;height:20px;stroke-width:2.4}
@media(max-width:520px){.exercise-card-actions{gap:5px;min-width:max-content}.exercise-card-actions>.exercise-info-menu{flex:0 0 34px!important;width:34px!important;height:36px!important}.exercise-card-actions>.exercise-info-menu>summary{width:34px;height:36px;min-width:34px;min-height:36px;flex-basis:34px}}

/* Every scheduled-day streak has its own visual rank; x10 is the capped pinnacle. */
.exercise-streak.state-streak.tier-1{color:#f2d39a;border-color:#92733f;background:linear-gradient(110deg,#4d3b241c,#15120d);box-shadow:inset 0 0 0 1px #e0b55a12}
.exercise-streak.state-streak.tier-2{color:#ffe09a;border-color:#b1873f;background:linear-gradient(110deg,#6d4b202b,#17130c);box-shadow:inset 0 0 0 1px #f5c76a24,0 0 3px #bd862633}
.exercise-streak.state-streak.tier-3{color:#ffe08a;border-color:#c38e34;background:linear-gradient(110deg,#76501440,#1b150a);box-shadow:inset 0 0 0 1px #ffd36c38,0 0 5px #c8862b44}
.exercise-streak.state-streak.tier-4{color:#ffdc6b;border-color:#d69e2d;background:linear-gradient(110deg,#8b5e174d,#211807);box-shadow:inset 0 0 0 1px #ffe07855,0 0 6px #d9942e55}
.exercise-streak.state-streak.tier-5{color:#ffe28a;border-color:#d5a127;background:linear-gradient(110deg,#a16a1766,#281b07);box-shadow:inset 0 0 0 1px #ffe07866,0 0 8px #dc9a2e66}
.exercise-streak.state-streak.tier-6{color:#fff0a0;border-color:#e8ae28;background:linear-gradient(110deg,#b5781470,#2a1b05);box-shadow:inset 0 0 0 1px #ffdd6c77,0 0 9px #f1a82c77,0 0 2px #fff2bd}
.exercise-streak.state-streak.tier-7{color:#fff2a3;border-color:#f0b51f;background:linear-gradient(110deg,#bf781488,#321d03);box-shadow:inset 0 0 0 1px #ffe57c88,0 0 10px #f5a42d88,0 0 3px #fff4c9}
.exercise-streak.state-streak.tier-8{color:#fff5bd;border-color:#ffbf22;background:linear-gradient(110deg,#d17d16a0,#3c2102);box-shadow:inset 0 0 0 1px #fff09a,0 0 12px #f5a42dcc,0 0 4px #fff8d8}
.exercise-streak.state-streak.tier-9{color:#fff9d4;border-color:#ffd24c;background:linear-gradient(110deg,#db8d17bb,#492704);box-shadow:inset 0 0 0 1px #fff4b8,0 0 14px #ffb52ddd,0 0 5px #fff8df}
.exercise-streak.state-streak.tier-10{color:#fffdf0;border-color:#ffe18a;background:linear-gradient(110deg,#ed9d24,#603104 52%,#3b2106);box-shadow:inset 0 0 0 1px #fff7d1,0 0 16px #ffbc36,0 0 5px #fff}
:root[data-streak-style="gold-ranks"] .exercise-streak.state-streak.tier-1:after{content:"·";margin-left:4px}
:root[data-streak-style="gold-ranks"] .exercise-streak.state-streak.tier-2:after{content:"✦";margin-left:4px}
:root[data-streak-style="gold-ranks"] .exercise-streak.state-streak.tier-3:after{content:"✦✦";margin-left:4px;font-size:.78em}
:root[data-streak-style="gold-ranks"] .exercise-streak.state-streak.tier-4:after{content:"✧✦";margin-left:4px;font-size:.78em}
:root[data-streak-style="gold-ranks"] .exercise-streak.state-streak.tier-5:after{content:"✦✦✦";margin-left:4px;font-size:.72em}
:root[data-streak-style="gold-ranks"] .exercise-streak.state-streak.tier-6:after{content:"✧✦✧";margin-left:4px;font-size:.72em}
:root[data-streak-style="gold-ranks"] .exercise-streak.state-streak.tier-7:after{content:"✦✦✦✦";margin-left:4px;font-size:.68em}
:root[data-streak-style="gold-ranks"] .exercise-streak.state-streak.tier-8:after{content:"✧✦✧✦";margin-left:4px;font-size:.68em}
:root[data-streak-style="gold-ranks"] .exercise-streak.state-streak.tier-9:after{content:"✦✦✦✦✦";margin-left:4px;font-size:.64em}
:root[data-streak-style="gold-ranks"] .exercise-streak.state-streak.tier-10:after{content:"✧✦✧✦✧";margin-left:4px;font-size:.64em}

/* Original medal remains the default; engraved high-definition artwork is an explicit option. */
.level-medallion[data-medallion-style="original"]>.medallion-art{display:none}
.exercise-name>.exercise-history-button,.progress-title-block .progress-exercise-title>.exercise-history-button{box-sizing:border-box;display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;min-width:24px;min-height:24px;margin:0 0 0 1px;padding:0;border:0!important;border-radius:50%;background:transparent!important;box-shadow:none!important;opacity:1;visibility:visible}
.exercise-name>.exercise-history-button::before,.progress-title-block .progress-exercise-title>.exercise-history-button::before{display:block;width:10px;height:10px;margin:0!important;filter:none;transform:translateY(0)}
.exercise-name>.exercise-history-button.streak-down::before,.progress-title-block .progress-exercise-title>.exercise-history-button.streak-down::before{transform:translateY(0)}
@media(max-width:520px){.exercise-name>.exercise-history-button,.progress-title-block .progress-exercise-title>.exercise-history-button{flex-basis:24px;width:24px;height:24px;min-width:24px;min-height:24px}.exercise-name>.exercise-history-button::before,.progress-title-block .progress-exercise-title>.exercise-history-button::before{width:10px;height:10px}}

/* A crisp, unmistakable information mark that survives iOS rendering and scaling. */
.exercise-card-actions>.exercise-info-menu>summary{display:grid;place-items:center;overflow:visible;color:var(--accent)!important}
.exercise-info-glyph{display:grid;place-items:center;width:21px;height:21px;border:2px solid currentColor;border-radius:50%;font:800 15px/1 system-ui,-apple-system,sans-serif;text-indent:0}
.exercise-card-actions>.exercise-info-menu>summary:active{transform:scale(.96)}
@media(max-width:520px){.exercise-card-actions>.exercise-info-menu{display:block!important;flex:0 0 36px!important;width:36px!important;min-width:36px!important;height:38px!important;visibility:visible!important;opacity:1!important}
.exercise-card-actions>.exercise-info-menu>summary{display:grid!important;visibility:visible!important;opacity:1!important;width:36px!important;height:38px!important;min-width:36px!important;min-height:38px!important;padding:0!important;color:var(--accent)!important;border:1px solid color-mix(in srgb,var(--accent) 82%,white)!important;background:linear-gradient(145deg,var(--accent-soft),var(--raised))!important}
.exercise-info-glyph{width:22px;height:22px;font-size:16px}}

/* Clean HD medal: keep the original per-skin progress ring, with balanced, symmetric detailing. */
html .level-medallion[data-medallion-style="polished"]{isolation:isolate;overflow:visible;border:1px solid color-mix(in srgb,var(--accent) 76%,white);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 26%,#171717),inset 0 1px 2px #ffffffaa,0 1px 5px #0009}
html .level-medallion[data-medallion-style="polished"]>span{position:relative;z-index:1;border:1px solid color-mix(in srgb,var(--accent) 64%,#d7d8dc);box-shadow:inset 0 1px 2px #ffffff66,inset 0 -2px 4px #0009,0 0 0 1px #08090b;text-shadow:0 1px 2px #000,0 0 4px color-mix(in srgb,var(--accent) 26%,transparent)}
html .level-medallion[data-medallion-style="polished"]::before{content:"";position:absolute;z-index:2;inset:2px;border:1px solid color-mix(in srgb,var(--accent) 62%,white);border-radius:50%;background:repeating-conic-gradient(from -1deg,transparent 0deg 43deg,color-mix(in srgb,var(--accent) 48%,transparent) 44deg 45deg,transparent 46deg 90deg);-webkit-mask:radial-gradient(circle,transparent 0 78%,#000 80% 86%,transparent 88%);mask:radial-gradient(circle,transparent 0 78%,#000 80% 86%,transparent 88%);pointer-events:none}
html .level-medallion[data-medallion-style="polished"]>.medallion-art{position:absolute;z-index:2;inset:0;width:100%;height:100%;opacity:.48;pointer-events:none}
html .level-medallion[data-medallion-style="polished"]>.medallion-art .medal-rim-outer{stroke:color-mix(in srgb,var(--accent) 76%,white);stroke-width:1.6}
html .level-medallion[data-medallion-style="polished"]>.medallion-art .medal-rim:not(.medal-rim-outer){stroke:color-mix(in srgb,var(--accent) 60%,white);stroke-width:1}
html .level-medallion[data-medallion-style="polished"]>.medallion-art .medal-ticks{stroke:color-mix(in srgb,var(--accent) 75%,white);stroke-width:2;stroke-dasharray:1 8;stroke-linecap:round}
html .level-medallion[data-medallion-style="polished"]>.medallion-art .medal-etch{fill:color-mix(in srgb,var(--accent) 70%,white);stroke:none}
html .level-medallion[data-medallion-style="polished"]>.medallion-art .medal-rivet{fill:color-mix(in srgb,var(--accent) 75%,white);stroke:#111;stroke-width:.5}
html .level-medallion[data-medallion-style="polished"]::after,html .level-medallion[data-medallion-style="engraved"]::after,html .level-medallion[data-medallion-style="original"]::after{content:attr(data-prestige);position:absolute;z-index:4;right:-3px;bottom:-3px;display:grid;place-items:center;box-sizing:border-box;width:14px;height:14px;border:1px solid color-mix(in srgb,var(--accent) 75%,#fff);border-radius:50%;background:linear-gradient(145deg,#fff8db,#d6ae5d 48%,#65481d);box-shadow:0 0 0 1px #17120c,0 1px 3px #000b;color:#20180a;font:900 6px/1 Georgia,serif;text-shadow:0 1px #fff9;pointer-events:none}
html .level-medallion[data-medallion-style="polished"]:not([data-prestige])::after,html .level-medallion[data-medallion-style="original"]:not([data-prestige])::after{display:none}
html .level-medallion[data-medallion-style="polished"][data-prestige-tier="2"]::after,html .level-medallion[data-medallion-style="original"][data-prestige-tier="2"]::after{width:15px;height:15px;border-width:1.5px}
html .level-medallion[data-medallion-style="polished"][data-prestige-tier="3"]::after,html .level-medallion[data-medallion-style="original"][data-prestige-tier="3"]::after{width:16px;height:16px;box-shadow:0 0 0 1px #17120c,0 0 5px color-mix(in srgb,var(--accent) 55%,transparent)}
html .level-medallion[data-medallion-style="polished"][data-prestige-tier="4"]::after,html .level-medallion[data-medallion-style="original"][data-prestige-tier="4"]::after{width:17px;height:17px;border-width:2px}
html .level-medallion[data-medallion-style="polished"][data-prestige-tier="5"]::after,html .level-medallion[data-medallion-style="original"][data-prestige-tier="5"]::after{width:18px;height:18px;box-shadow:0 0 0 1px #17120c,0 0 7px color-mix(in srgb,var(--accent) 62%,transparent)}
html .level-medallion[data-medallion-style="polished"][data-prestige-tier="6"]::after,html .level-medallion[data-medallion-style="original"][data-prestige-tier="6"]::after{width:19px;height:19px;border-width:2px}
html .level-medallion[data-medallion-style="polished"][data-prestige-tier="7"]::after,html .level-medallion[data-medallion-style="original"][data-prestige-tier="7"]::after{width:20px;height:20px;box-shadow:0 0 0 1px #17120c,0 0 9px color-mix(in srgb,var(--accent) 70%,transparent)}
html .level-medallion[data-medallion-style="polished"][data-prestige-tier="8"]::after,html .level-medallion[data-medallion-style="original"][data-prestige-tier="8"]::after{width:21px;height:21px;border-width:2px;box-shadow:0 0 0 1px #17120c,0 0 11px color-mix(in srgb,var(--accent) 76%,transparent)}
/* The constancy marker stays a small glyph; the element retains a larger tappable target. */
.exercise-name>.exercise-history-button,.progress-title-block .progress-exercise-title>.exercise-history-button{flex-basis:22px;width:22px;height:22px;min-width:22px;min-height:22px}
.exercise-name>.exercise-history-button::before,.progress-title-block .progress-exercise-title>.exercise-history-button::before{width:8px;height:8px}
@media(max-width:520px){.exercise-name>.exercise-history-button,.progress-title-block .progress-exercise-title>.exercise-history-button{flex-basis:22px;width:22px;height:22px;min-width:22px;min-height:22px}.exercise-name>.exercise-history-button::before,.progress-title-block .progress-exercise-title>.exercise-history-button::before{width:8px;height:8px}}

/* A single, tappable streak chip now opens the attendance calendar wherever an exercise appears. */
button.exercise-streak{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;font:inherit;cursor:pointer;touch-action:manipulation}
button.exercise-streak:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
button.exercise-streak:active{transform:translateY(1px)}

/* iPhone card header: reserve a real action column so information never gets pushed off-screen. */
@media(max-width:520px){
.exercise-head{display:grid;grid-template-columns:minmax(0,1fr) 152px;align-items:start;gap:6px}
.exercise-head>div:first-child{min-width:0}
.exercise-name{min-width:0;overflow-wrap:anywhere}
.exercise-card-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-content:flex-start;gap:4px;min-width:0!important;width:152px;max-width:152px;overflow:visible}
.exercise-card-actions .exercise-order-actions{display:flex;flex:0 0 auto;gap:4px}
.exercise-card-actions>.exercise-info-menu{display:block!important;flex:0 0 30px!important;width:30px!important;min-width:30px!important;height:30px!important;overflow:visible!important;visibility:visible!important;opacity:1!important;order:5}
.exercise-card-actions>.exercise-info-menu>summary{display:grid!important;place-items:center;box-sizing:border-box;width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;margin:0;padding:0!important;border:1px solid var(--line)!important;border-radius:9px!important;background:var(--raised)!important;color:var(--text)!important;box-shadow:none!important;list-style:none}
.exercise-card-actions>.exercise-info-menu>summary svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.exercise-card-actions{align-items:center}
.exercise-card-actions>.exercise-info-menu{align-self:center;line-height:0}
.exercise-card-actions>.exercise-info-menu>summary{line-height:1}
.exercise-card-actions>.exercise-info-menu>summary:focus-visible{outline:1px solid var(--line)!important;outline-offset:0!important}
}

/* All medal models use a square, absolute inner face so the level numeral stays optically centered. */
.level-medallion{position:relative;display:grid;place-items:center;text-align:center;line-height:1}
.level-medallion>.medallion-art{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%;pointer-events:none}
html .level-medallion[data-medallion-style="original"]>span,html .level-medallion[data-medallion-style="polished"]>span,html .level-medallion[data-medallion-style="engraved"]>span{position:absolute!important;inset:4px!important;display:grid!important;place-items:center!important;box-sizing:border-box!important;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;aspect-ratio:1/1;border-radius:50%;line-height:1!important;text-align:center!important;transform:none!important;z-index:1!important;font-variant-numeric:tabular-nums}
html .level-medallion[data-medallion-style="original"]>.medallion-art{display:none}
html .level-medallion[data-medallion-style="polished"]>.medallion-art{z-index:2;opacity:.28}
html .level-medallion[data-medallion-style="polished"]>span{background:radial-gradient(circle at 34% 25%,color-mix(in srgb,var(--accent) 42%,#34435a),#182333 62%,#0d141d)!important}
html .level-medallion[data-medallion-style="polished"]::before{z-index:0;background:repeating-conic-gradient(from -1deg,transparent 0deg 43deg,color-mix(in srgb,var(--accent) 38%,transparent) 44deg 45deg,transparent 46deg 90deg);-webkit-mask:radial-gradient(circle,transparent 0 82%,#000 84% 89%,transparent 91%);mask:radial-gradient(circle,transparent 0 82%,#000 84% 89%,transparent 91%)}
/* Keep the ornamental core a true circle and center its number independently of the artwork. */
html .level-medallion[data-medallion-style="engraved"]>span{inset:3px!important;aspect-ratio:1/1;background:var(--medal-engraving,none),radial-gradient(circle at 38% 28%,var(--medal-core-light,#405776),var(--medal-core-mid,#1c2b42) 59%,var(--medal-core-dark,#101722) 100%)!important;box-shadow:inset 0 1px 2px #ffffff70,inset 0 -3px 5px #000b,0 0 0 1px #050608!important}
html .level-medallion[data-medallion-style="engraved"]::before{inset:2px;border-radius:50%}
@media(max-width:360px){.exercise-head{grid-template-columns:minmax(0,1fr);gap:6px}.exercise-card-actions{width:100%;max-width:100%;justify-content:flex-end}}

/* Give extra-set actions breathing room after load controls and keep them visually connected to effort choices. */
.exercise-card .extra-set-actions{margin-top:12px}
.exercise-content-row{row-gap:6px}
.exercise-card[data-feeling-placement="side"] .exercise-content-row{row-gap:6px}

/* Match the info control to the adjacent exercise buttons on desktop and iPhone. */
.exercise-card-actions>.exercise-info-menu{align-self:center!important;flex:0 0 30px!important;width:30px!important;min-width:30px!important;height:30px!important;min-height:30px!important;margin:0!important;padding:0!important;line-height:0!important}
.exercise-card-actions>.exercise-info-menu>summary{display:grid!important;place-items:center!important;box-sizing:border-box!important;width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;margin:0!important;padding:0!important;border:1px solid var(--line)!important;border-radius:9px!important;background:var(--raised)!important;color:var(--muted)!important;box-shadow:none!important;line-height:1!important;list-style:none!important;outline:none}
.exercise-card-actions>.exercise-info-menu>summary::-webkit-details-marker{display:none}
.exercise-card-actions>.exercise-info-menu>summary span{display:block;font:700 14px/1 system-ui,sans-serif!important;color:inherit!important;transform:translateY(-.25px)}
.exercise-card-actions>.exercise-info-menu>summary:focus-visible{outline:2px solid var(--accent)!important;outline-offset:2px!important}
.exercise-card .extra-set-actions{margin-top:16px}
/* Match the calendar scale glyph: same italic serif i, without its circular frame. */
.exercise-card-actions>.exercise-info-menu>summary span{font:italic 750 .76rem/1 Georgia,serif!important;transform:translateY(-.5px)!important}
/* The info glyph echoes the calendar scale's italic serif i, without its circle. */
.exercise-card-actions>.exercise-info-menu>summary span{font:italic 750 .76rem/1 Georgia,serif!important;transform:translateY(-.5px)!important}
/* Restore the compact progressive-glow streak chip and prevent its label wrapping. */
.exercise-streak-line{display:flex;align-items:center;min-width:0}
button.exercise-streak{display:inline-flex;align-items:center;flex:0 0 auto;width:max-content;max-width:100%;white-space:nowrap;font:750 .72rem/1.2 system-ui,-apple-system,sans-serif;letter-spacing:.015em}
/* Restore the boxed progressive-glow design; keep every label on one line on iPhone. */
.exercise-streak-line{display:flex!important;align-items:center!important;flex-wrap:nowrap!important;min-width:0;width:max-content;max-width:100%}
button.exercise-streak{appearance:none!important;-webkit-appearance:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;width:max-content!important;max-width:100%!important;min-height:24px!important;padding:3px 8px!important;border:1px solid #69717b!important;border-radius:8px!important;background:linear-gradient(135deg,#ffffff12,#ffffff04)!important;font:750 .72rem/1.2 system-ui,-apple-system,sans-serif!important;letter-spacing:.015em!important;white-space:nowrap!important;word-break:keep-all!important;overflow-wrap:normal!important;box-shadow:inset 0 0 0 1px #ffffff08!important}
button.exercise-streak.state-streak{border-color:rgba(247,190,77,calc(.38 + var(--streak-intensity)*.6))!important;background:linear-gradient(120deg,rgba(255,190,64,calc(.07 + var(--streak-intensity)*.16)),#15120d)!important;text-shadow:0 0 calc(2px + var(--streak-intensity)*5px) rgba(255,194,64,calc(.12 + var(--streak-intensity)*.48))!important;box-shadow:inset 0 0 calc(2px + var(--streak-intensity)*8px) rgba(247,179,53,calc(.04 + var(--streak-intensity)*.17)),0 0 calc(2px + var(--streak-intensity)*7px) rgba(247,179,53,calc(var(--streak-intensity)*.22))!important}
button.exercise-streak.state-skipped{border-color:#a44850!important;background:linear-gradient(120deg,#8d252533,#21181a)!important;box-shadow:inset 0 0 0 1px #ff777713!important}
button.exercise-streak.state-neutral{border-color:#69717b!important;background:linear-gradient(135deg,#ffffff12,#ffffff04)!important}
/* Make the streak container visibly read as a compact rounded badge, not colored text. */
button.exercise-streak{border-width:1.5px!important;border-style:solid!important;border-color:#727d88!important;border-radius:8px!important;background-color:#252b31!important;box-shadow:inset 0 1px #ffffff12,0 1px 2px #0005!important}
button.exercise-streak.state-streak{border-color:#d7a846!important;background-color:#392b17!important;background-image:linear-gradient(120deg,rgba(255,190,64,calc(.1 + var(--streak-intensity)*.2)),#15120d)!important}
button.exercise-streak.state-skipped{border-color:#d05b64!important;background-color:#382124!important;background-image:linear-gradient(120deg,#a9343d55,#21181a)!important}
button.exercise-streak.state-neutral{border-color:#727d88!important;background-color:#252b31!important}
/* Strong enough contrast for the rounded streak badge on small iPhone screens. */
button.exercise-streak{min-height:25px!important;padding:4px 8px!important;box-shadow:inset 0 1px #ffffff22,0 0 0 1px #0008!important}
button.exercise-streak.state-streak{border:1.5px solid #e0b653!important;background-color:#493719!important;box-shadow:inset 0 1px #fff3,0 0 0 1px #e0b65355,0 0 6px rgba(255,184,54,calc(var(--streak-intensity)*.38))!important}
button.exercise-streak.state-skipped{color:#ffc0c4!important;border:1.5px solid #e07179!important;background-color:#482a30!important;background-image:linear-gradient(120deg,#a9343d77,#21181a)!important;box-shadow:inset 0 1px #ffffff22,0 0 0 1px #e0717955!important}
button.exercise-streak.state-neutral{border:1.5px solid #89939e!important;background-color:#2d343a!important;box-shadow:inset 0 1px #ffffff22,0 0 0 1px #0008!important}
/* Keep all streak appearances inside the compact rounded chip, including the gold-rank variant. */
:root[data-streak-style] button.exercise-streak{display:inline-flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;width:max-content!important;max-width:100%!important;min-height:25px!important;padding:3px 8px!important;border:1px solid #7f8994!important;border-radius:8px!important;background-color:#252b31!important;background-image:linear-gradient(135deg,#ffffff12,#ffffff04)!important;box-shadow:inset 0 1px #ffffff20,0 1px 2px #0008!important;text-transform:none!important;letter-spacing:normal!important;white-space:nowrap!important;word-break:keep-all!important;overflow-wrap:normal!important}
:root[data-streak-style] button.exercise-streak.state-streak{border-color:#e0b653!important;background-color:#392b17!important;background-image:linear-gradient(120deg,rgba(255,190,64,calc(.12 + var(--streak-intensity)*.2)),#15120d)!important;box-shadow:inset 0 1px #fff3,0 0 0 1px #e0b65344,0 0 calc(3px + var(--streak-intensity)*7px) rgba(255,184,54,calc(var(--streak-intensity)*.3))!important}
:root[data-streak-style] button.exercise-streak.state-skipped{color:#ffc0c4!important;border-color:#d05b64!important;background-color:#382124!important;background-image:linear-gradient(120deg,#a9343d55,#21181a)!important;text-shadow:0 0 4px #c8223355!important;box-shadow:inset 0 1px #ffffff20,0 0 0 1px #d05b6444!important}
:root[data-streak-style] button.exercise-streak.state-neutral{color:#c0c7d0!important;border-color:#7f8994!important;background-color:#252b31!important;background-image:linear-gradient(135deg,#ffffff12,#ffffff04)!important;text-shadow:none!important;box-shadow:inset 0 1px #ffffff20,0 1px 2px #0008!important}
/* v7.10.37: clearer mobile routine shifting and appearance settings. */
.postpone-card .postpone-intro{margin:4px 0 12px}.postpone-card .move-routine-form label>span{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.8rem}.postpone-card .move-routine-form label>span b{display:inline-grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border:1px solid var(--line);border-radius:50%;color:var(--text);font-size:.72rem}.postpone-card #resetSchedule{margin-top:8px}
#config-appearance .appearance-intro{padding:2px 2px 5px}#config-appearance .appearance-sections{gap:11px}#config-appearance .appearance-subsection{padding:13px 15px;border-radius:14px}#config-appearance .appearance-subsection>summary{min-height:46px}#config-appearance .appearance-subsection>summary strong{font-size:.96rem}#config-appearance .appearance-subsection>summary span{line-height:1.35}#config-appearance .appearance-subsection[open]>summary{margin-bottom:13px;padding-bottom:11px}#config-appearance .appearance-controls{gap:12px}#config-appearance .appearance-controls label:not(.setting-toggle){display:grid;align-content:start;gap:6px}#config-appearance .appearance-controls label>span:first-child{line-height:1.3}#config-appearance .appearance-note{line-height:1.45}
html .level-medallion[data-medallion-style="engraved"]>span{display:grid!important;place-items:center!important;inset:3px!important;min-width:0!important;min-height:0!important;aspect-ratio:1/1!important;margin:0!important;transform:none!important;text-align:center!important;font-variant-numeric:tabular-nums}
@media(max-width:620px){.move-routine-form{grid-template-columns:minmax(0,1fr);gap:9px}.move-routine-form label{display:grid;gap:6px;margin:0;padding:10px 11px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--card) 82%,var(--raised))}.move-routine-form label input{min-height:44px}.move-routine-form button{grid-column:1;width:100%;min-height:46px}.postpone-card #resetSchedule{width:100%;min-height:43px;margin-top:8px}#config-appearance .appearance-subsection{padding:12px}#config-appearance .appearance-controls{gap:11px}}
html[data-show-condition-medallion-home="off"] .today-pinned .hp-card #conditionLevel{display:none!important}
html .condition-medallion[data-condition-tier]{color:var(--condition-number)!important;background:conic-gradient(from -90deg,var(--condition-energy) 0deg var(--xp-progress),var(--condition-track) var(--xp-progress) 360deg)!important;border-color:var(--condition-rim)!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--condition-rim) 80%,transparent),0 0 10px color-mix(in srgb,var(--condition-energy) 38%,transparent)!important}
html .condition-medallion[data-condition-tier]>span{border-color:var(--condition-rim)!important;background:radial-gradient(circle at 35% 22%,var(--condition-core-light),var(--condition-core-mid) 60%,var(--condition-core-dark))!important;color:var(--condition-number)!important}
html .condition-medallion[data-condition-tier] .level-number text{fill:var(--condition-number)!important}
html .calendar-day .calendar-rest-dots[data-extra-marks="scratches"]{gap:2px;max-height:18px;overflow:hidden}
html .calendar-day .calendar-rest-dots[data-extra-marks="scratches"] .extra-scratch{display:block;flex:0 0 2px;width:2px;height:8px;border-radius:2px;background:#d7b8ff;transform:rotate(32deg);box-shadow:0 0 3px #c7a9ff88}
html .calendar-day .calendar-rest-dots[data-extra-marks="tally"]{gap:2px;max-height:18px;overflow:hidden}
html .calendar-day .calendar-rest-dots[data-extra-marks="tally"] .extra-tally{display:block;flex:0 0 2px;width:2px;height:9px;border-radius:1px;background:#d7b8ff;box-shadow:0 0 2px #c7a9ff66}
html .calendar-day .calendar-rest-dots[data-extra-marks="tally"] .extra-tally.diagonal{width:8px;flex-basis:8px;height:2px;margin:3px 0 4px -1px;transform:rotate(-48deg);transform-origin:center;background:#e7d7ff}
html #config-appearance .appearance-controls>h4{grid-column:1/-1;margin:8px 0 0;padding:0 0 5px;border-bottom:1px solid var(--line);font-size:.83rem}
/* One shared surface and optical center for the Today card controls. */
html .exercise-card-actions{align-items:center!important;gap:4px!important}
html .exercise-card-actions .exercise-order-actions{align-items:center!important;gap:4px!important}
html .exercise-card-actions .icon-button,html .exercise-card-actions>.exercise-info-menu>summary{appearance:none!important;-webkit-appearance:none!important;display:grid!important;place-items:center!important;box-sizing:border-box!important;width:30px!important;min-width:30px!important;height:30px!important;min-height:30px!important;padding:0!important;margin:0!important;border:1px solid var(--line)!important;border-radius:9px!important;background:var(--raised)!important;color:var(--muted)!important;box-shadow:none!important;opacity:1!important;line-height:1!important;vertical-align:middle!important;transform:none!important}
html .exercise-card-actions .icon-button svg{display:block!important;width:15px!important;height:15px!important;margin:0!important;fill:none!important;stroke:currentColor!important;stroke-width:1.6!important;stroke-linecap:round!important;stroke-linejoin:round!important}
html .exercise-card-actions>.exercise-info-menu>summary span{display:grid!important;place-items:center!important;width:15px!important;height:15px!important;margin:0!important;padding:0!important;font:italic 700 14px/15px Georgia,serif!important;color:inherit!important;transform:none!important}
/* Keep the core broad and concentric; the XP ring occupies only a narrow rim. */
html .level-medallion[data-medallion-style]>span{inset:2px!important;width:auto!important;height:auto!important;max-width:none!important;max-height:none!important;border-width:1px!important;aspect-ratio:1!important;align-self:stretch!important;justify-self:stretch!important;transform:none!important}
/* Explicit dimensions avoid Safari's intrinsic sizing of an absolute grid core. */
html .level-medallion[data-medallion-style]>span{top:2px!important;left:2px!important;right:auto!important;bottom:auto!important;width:calc(100% - 4px)!important;height:calc(100% - 4px)!important;aspect-ratio:auto!important;border-radius:50%!important}
html button.exercise-streak{-webkit-text-fill-color:currentColor!important;-webkit-appearance:none!important}
html button.exercise-streak .streak-flame{display:block;flex:0 0 13px;width:13px;height:15px;margin-left:6px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
/* Burning Crusade: the Dark Portal's bronze frame and contained fel energy. */
html[data-theme="tbc"]{--bg:#10150f;--card:#1c231a;--raised:#293126;--text:#ebe9d6;--muted:#aeb7a1;--line:#626044;--accent:#afd66a;--accent-soft:#304125}
html[data-theme="tbc"] body{background:radial-gradient(ellipse at 50% 0,#293c222e,transparent 480px),var(--bg)}
html[data-theme="tbc"] :is(.card,.exercise-card,.progress-item,.calendar-card){background:linear-gradient(135deg,#d2ac6810,transparent 35%),var(--card);border-color:#756747;box-shadow:inset 0 0 0 3px #12190f,inset 0 0 0 4px #b3995428,0 3px 10px #0005}
html[data-theme="tbc"] .app-header h1::before{content:"";display:inline-block;width:15px;height:20px;margin-right:8px;vertical-align:-3px;border:2px solid #ad9250;border-radius:8px 8px 2px 2px;background:radial-gradient(ellipse,#c8ff81,#519237 55%,#1b3016 75%);box-shadow:0 0 7px #8bdd5344,inset 0 0 0 2px #1c2917}
html[data-theme="tbc"] .tabs{background:#11180ff2;border-color:#70633f}html[data-theme="tbc"] .tab.active{box-shadow:inset 0 0 0 1px #a28b4b,inset 0 0 0 3px #171e13;color:#d2ee95}
html[data-theme="tbc"] :is(h1,h2,h3){font-family:Georgia,serif;letter-spacing:.015em}
html .level-medallion[data-medallion-skin="tbc"]{--medal-progress-a:#527e2b;--medal-progress-b:#b4eb69;--medal-highlight:#efffc8;--medal-track:#434932;--medal-edge:#a89154;--medal-inner-edge:#c9b878;--medal-outline:#202518;--medal-core-edge:#a39053;--medal-core-light:#3e5430;--medal-core-mid:#1e301b;--medal-core-dark:#0c180d;--medal-glow:#9ae65055;--medal-number:#f4e3a9}
html .level-medallion[data-medallion-skin="tbc"][data-medallion-style="original"]{background:conic-gradient(from -90deg,#527e2b 0deg,#b4eb69 var(--xp-mid),#efffc8 var(--xp-progress),#434932 var(--xp-progress) 360deg);color:#f4e3a9;box-shadow:0 0 0 1px #a89154,0 0 8px #9ae65044}
html .level-medallion[data-medallion-skin="tbc"][data-medallion-style="original"]>span{border-color:#a39053;background:radial-gradient(circle at 35% 25%,#3e5430,#1e301b 60%,#0c180d)}
html[data-daily-progress-skin="tbc"] .hp-track,html[data-theme="tbc"][data-daily-progress-skin="inherit"] .hp-track{border:1px solid #a28b4b;background:linear-gradient(#24311c,#10190d);box-shadow:inset 0 2px 5px #000b,0 0 0 1px #2c3220}
html[data-daily-progress-skin="tbc"] .hp-track>div,html[data-theme="tbc"][data-daily-progress-skin="inherit"] .hp-track>div{background-image:linear-gradient(180deg,#ffffff55,transparent 55%,#0003),var(--completion-color);box-shadow:inset 0 1px #eaffbc77}
html[data-calendar-skin="tbc"] .calendar-day,html[data-theme="tbc"][data-calendar-skin="inherit"] .calendar-day{border:1px solid #91804766;border-radius:7px;box-shadow:inset 0 0 0 2px #151c101a,inset 0 1px #d9c88644}
html[data-calendar-skin="tbc"] .calendar-day.selected,html[data-theme="tbc"][data-calendar-skin="inherit"] .calendar-day.selected{outline:2px solid #bded80;outline-offset:1px}
html[data-tabata-skin="tbc"] .timer-mini,html[data-theme="tbc"][data-tabata-skin="inherit"] .timer-mini{border-color:#a28b4b;background:linear-gradient(135deg,#304123,#152010 75%);box-shadow:inset 0 0 0 3px #0e180c,inset 0 0 0 4px #ad925033,0 3px 10px #0005}
html[data-tabata-skin="tbc"] .routine-timer-bar,html[data-theme="tbc"][data-tabata-skin="inherit"] .routine-timer-bar{border-color:#8b854d;background:#0c170b}
html[data-tabata-skin="tbc"] .routine-timer-bar.work i,html[data-theme="tbc"][data-tabata-skin="inherit"] .routine-timer-bar.work i{background:linear-gradient(90deg,#527e2b,#b4eb69,#efffc8)}
html[data-tabata-skin="tbc"] .routine-timer-bar.rest i,html[data-theme="tbc"][data-tabata-skin="inherit"] .routine-timer-bar.rest i{background:linear-gradient(90deg,#77715e,#cac2a4)}
/* Frozen Throne: carved stone, cold silver and angular frost accents. */
html[data-theme="frozen"]{--bg:#101821;--card:#202a35;--raised:#303d4a;--text:#e8f1f7;--muted:#a7bac8;--line:#63788c;--accent:#a7d9f2;--accent-soft:#263f50}
html[data-theme="frozen"] body{background:radial-gradient(ellipse at top,#476a8c33,transparent 550px),var(--bg)}
html[data-theme="frozen"] :is(.card,.exercise-card,.progress-item,.calendar-card){background:linear-gradient(135deg,#ffffff0b,transparent 35%),var(--card);border:1px solid #8495a5;border-radius:12px;box-shadow:inset 0 0 0 3px #121c27,inset 0 0 0 4px #63778855,0 3px 8px #0007}
html[data-theme="frozen"] :is(h1,h2,h3){font-family:Georgia,serif;text-shadow:0 1px #07111d;letter-spacing:.02em}
html[data-theme="frozen"] .app-header h1::before{content:"✧";display:inline-block;margin-right:8px;color:#bceaff;text-shadow:0 0 6px #71bcec}
html[data-theme="frozen"] .tabs{background:#131f2bf2;border-color:#8194a7}html[data-theme="frozen"] .tab.active{box-shadow:inset 0 0 0 1px #a1cce2,inset 0 0 0 3px #142738;border-radius:8px}
/* SNES arcade framing: crisp pixels, rounded game tiles and a bomb emblem. */
html[data-theme="bomberman"]{--bg:#181535;--card:#292655;--raised:#3b3772;--text:#fffbe5;--muted:#cac7e5;--line:#7772ba;--accent:#ffe16b;--accent-soft:#534527}
html[data-theme="bomberman"] body{background:repeating-linear-gradient(0deg,#ffffff02 0 2px,transparent 2px 4px),var(--bg)}
html[data-theme="bomberman"] :is(.card,.exercise-card,.progress-item,.calendar-card){border:2px solid #9088d0;border-radius:10px;box-shadow:inset 0 0 0 2px #181535,3px 3px 0 #0b0a22;background:linear-gradient(#ffffff07,transparent 40%),var(--card)}
html[data-theme="bomberman"] :is(h1,h2,h3){font-family:ui-monospace,monospace;font-weight:900;letter-spacing:-.03em;text-shadow:2px 2px #090720}
html[data-theme="bomberman"] .app-header h1::before{content:"";display:inline-block;position:relative;width:17px;height:17px;margin-right:9px;vertical-align:-2px;border:2px solid #dad9ef;border-radius:50%;background:radial-gradient(circle at 32% 30%,#7f7da4 0 15%,#17152c 20%);box-shadow:3px -5px 0 -4px #ffe16b}
html[data-theme="bomberman"] .tabs{background:#211d46f5;border-top:2px solid #9088d0}html[data-theme="bomberman"] .tab.active{border-radius:8px;box-shadow:inset 0 0 0 2px #ffe16b,2px 2px #0b0a22}
html .level-medallion[data-medallion-skin="frozen"]{--medal-progress-a:#407596;--medal-progress-b:#93d1ee;--medal-highlight:#effaff;--medal-track:#34485c;--medal-edge:#a2b7cb;--medal-inner-edge:#d7ecfa;--medal-outline:#121d29;--medal-core-edge:#829bb1;--medal-core-light:#536c89;--medal-core-mid:#25374d;--medal-core-dark:#111e2d;--medal-glow:#8acfff44;--medal-number:#f2f7ff}
html .level-medallion[data-medallion-skin="bomberman"]{--medal-progress-a:#e58d28;--medal-progress-b:#ffdf55;--medal-highlight:#fff8cd;--medal-track:#514683;--medal-edge:#aa9de0;--medal-inner-edge:#e6dbff;--medal-outline:#15112f;--medal-core-edge:#a79ad5;--medal-core-light:#514b84;--medal-core-mid:#282344;--medal-core-dark:#14102a;--medal-glow:#ffe16b33;--medal-number:#fffbe5}
html .level-medallion:is([data-medallion-skin="frozen"],[data-medallion-skin="bomberman"])[data-medallion-style="original"]{background:conic-gradient(from -90deg,var(--medal-progress-a) 0deg,var(--medal-progress-b) var(--xp-mid),var(--medal-highlight) var(--xp-progress),var(--medal-track) var(--xp-progress) 360deg);color:var(--medal-number);box-shadow:0 0 0 1px var(--medal-edge),0 0 8px var(--medal-glow)}
html .level-medallion:is([data-medallion-skin="frozen"],[data-medallion-skin="bomberman"])[data-medallion-style="original"]>span{border-color:var(--medal-core-edge);background:radial-gradient(circle at 35% 25%,var(--medal-core-light),var(--medal-core-mid) 60%,var(--medal-core-dark))}
html[data-daily-progress-skin="frozen"] .hp-track,html[data-theme="frozen"][data-daily-progress-skin="inherit"] .hp-track{border:1px solid #91b7d0;box-shadow:inset 0 2px 5px #0009,0 0 0 2px #26394b;background:#10202d;border-radius:5px}
html[data-daily-progress-skin="bomberman"] .hp-track,html[data-theme="bomberman"][data-daily-progress-skin="inherit"] .hp-track{border:2px solid #c6b6f0;border-radius:5px;background:#17122f;box-shadow:2px 2px #0b0820}
html:is([data-daily-progress-skin="bomberman"],[data-theme="bomberman"][data-daily-progress-skin="inherit"]) .hp-track>div{background-image:repeating-linear-gradient(90deg,transparent 0 11px,#16112944 11px 13px),linear-gradient(#ffffff55,transparent),var(--completion-color)}
html[data-calendar-skin="frozen"] .calendar-day,html[data-theme="frozen"][data-calendar-skin="inherit"] .calendar-day{border:1px solid #a0b5c466;border-radius:5px;box-shadow:inset 0 1px #ffffff66,inset 0 -2px #07132133}
html[data-calendar-skin="bomberman"] .calendar-day,html[data-theme="bomberman"][data-calendar-skin="inherit"] .calendar-day{border:2px solid #9990d066;border-radius:5px;box-shadow:2px 2px #120e2c;font-family:ui-monospace,monospace}
html[data-tabata-skin="frozen"] .timer-mini,html[data-theme="frozen"][data-tabata-skin="inherit"] .timer-mini{background:linear-gradient(135deg,#354a5b,#172533);border-color:#93adc2;box-shadow:inset 0 0 0 3px #122131,inset 0 0 0 4px #9dc2da44;border-radius:10px}
html[data-tabata-skin="bomberman"] .timer-mini,html[data-theme="bomberman"][data-tabata-skin="inherit"] .timer-mini{background:#292451;border:2px solid #a79bdf;box-shadow:inset 0 0 0 2px #17122f,3px 3px #100c28;border-radius:8px}
html[data-tabata-skin="frozen"] .routine-timer-bar.work i,html[data-theme="frozen"][data-tabata-skin="inherit"] .routine-timer-bar.work i{background:linear-gradient(90deg,#407596,#93d1ee,#effaff)}
html[data-tabata-skin="bomberman"] .routine-timer-bar.work i,html[data-theme="bomberman"][data-tabata-skin="inherit"] .routine-timer-bar.work i{background:repeating-linear-gradient(90deg,#ffda55 0 10px,#cf932b 10px 12px)}

/* Additional medallion identities preserve every existing option. */
html .level-medallion[data-medallion-skin="classic-royal"]{--medal-progress-a:#d2a14b;--medal-progress-b:#f0db9b;--medal-highlight:#fffbe5;--medal-track:#071744;--medal-edge:#dcc27b;--medal-inner-edge:#f0db9b;--medal-outline:#071744;--medal-core-edge:#dcc27b;--medal-core-light:#466bd6;--medal-core-mid:#122e7a;--medal-core-dark:#071744;--medal-glow:#d2a14b55;--medal-number:#f0db9b;font-family:Georgia,serif;color:#f0db9b}
html .level-medallion[data-medallion-skin="classic-royal"][data-medallion-style="original"]{background:conic-gradient(from -90deg,#d2a14b 0deg,#f0db9b var(--xp-mid),#fffbe5 var(--xp-progress),#071744 var(--xp-progress) 360deg);box-shadow:0 0 0 1px #dcc27b,0 0 8px #d2a14b44}
html .level-medallion[data-medallion-skin="classic-royal"]>span{background:radial-gradient(circle at 35% 25%,#466bd6,#122e7a 62%,#071744)!important;border-color:#dcc27b!important;font-family:Georgia,serif!important;color:#f0db9b!important;text-shadow:0 1px 2px #000!important}
html .level-medallion[data-medallion-skin="classic-emerald"]{--medal-progress-a:#d2a14b;--medal-progress-b:#f0db9b;--medal-highlight:#fffbe5;--medal-track:#0b2018;--medal-edge:#dcc27b;--medal-inner-edge:#f0db9b;--medal-outline:#0b2018;--medal-core-edge:#dcc27b;--medal-core-light:#497c66;--medal-core-mid:#193f30;--medal-core-dark:#0b2018;--medal-glow:#d2a14b55;--medal-number:#f0db9b;font-family:Georgia,serif;color:#f0db9b}
html .level-medallion[data-medallion-skin="classic-emerald"][data-medallion-style="original"]{background:conic-gradient(from -90deg,#d2a14b 0deg,#f0db9b var(--xp-mid),#fffbe5 var(--xp-progress),#0b2018 var(--xp-progress) 360deg);box-shadow:0 0 0 1px #dcc27b,0 0 8px #d2a14b44}
html .level-medallion[data-medallion-skin="classic-emerald"]>span{background:radial-gradient(circle at 35% 25%,#497c66,#193f30 62%,#0b2018)!important;border-color:#dcc27b!important;font-family:Georgia,serif!important;color:#f0db9b!important;text-shadow:0 1px 2px #000!important}
html .level-medallion[data-medallion-skin="classic-crimson"]{--medal-progress-a:#d2a14b;--medal-progress-b:#f0db9b;--medal-highlight:#fffbe5;--medal-track:#230d18;--medal-edge:#dcc27b;--medal-inner-edge:#f0db9b;--medal-outline:#230d18;--medal-core-edge:#dcc27b;--medal-core-light:#824754;--medal-core-mid:#491e30;--medal-core-dark:#230d18;--medal-glow:#d2a14b55;--medal-number:#f0db9b;font-family:Georgia,serif;color:#f0db9b}
html .level-medallion[data-medallion-skin="classic-crimson"][data-medallion-style="original"]{background:conic-gradient(from -90deg,#d2a14b 0deg,#f0db9b var(--xp-mid),#fffbe5 var(--xp-progress),#230d18 var(--xp-progress) 360deg);box-shadow:0 0 0 1px #dcc27b,0 0 8px #d2a14b44}
html .level-medallion[data-medallion-skin="classic-crimson"]>span{background:radial-gradient(circle at 35% 25%,#824754,#491e30 62%,#230d18)!important;border-color:#dcc27b!important;font-family:Georgia,serif!important;color:#f0db9b!important;text-shadow:0 1px 2px #000!important}
html .level-medallion[data-medallion-skin="sc2-terran"]{--medal-progress-a:#65c7ed;--medal-progress-b:#d4f3ff;--medal-highlight:#fffbe5;--medal-track:#071826;--medal-edge:#92b0bc;--medal-inner-edge:#d4f3ff;--medal-outline:#071826;--medal-core-edge:#92b0bc;--medal-core-light:#42677b;--medal-core-mid:#193447;--medal-core-dark:#071826;--medal-glow:#65c7ed55;--medal-number:#d4f3ff;font-family:ui-monospace,monospace;color:#d4f3ff}
html .level-medallion[data-medallion-skin="sc2-terran"][data-medallion-style="original"]{background:conic-gradient(from -90deg,#65c7ed 0deg,#d4f3ff var(--xp-mid),#fffbe5 var(--xp-progress),#071826 var(--xp-progress) 360deg);box-shadow:0 0 0 1px #92b0bc,0 0 8px #65c7ed44}
html .level-medallion[data-medallion-skin="sc2-terran"]>span{background:radial-gradient(circle at 35% 25%,#42677b,#193447 62%,#071826)!important;border-color:#92b0bc!important;font-family:ui-monospace,monospace!important;color:#d4f3ff!important;text-shadow:0 1px 2px #000!important}
html .level-medallion[data-medallion-skin="sc2-protoss"]{--medal-progress-a:#74ddff;--medal-progress-b:#fff0bc;--medal-highlight:#fffbe5;--medal-track:#111d43;--medal-edge:#d6ba67;--medal-inner-edge:#fff0bc;--medal-outline:#111d43;--medal-core-edge:#d6ba67;--medal-core-light:#587cb4;--medal-core-mid:#263e79;--medal-core-dark:#111d43;--medal-glow:#74ddff55;--medal-number:#fff0bc;font-family:Georgia,serif;color:#fff0bc}
html .level-medallion[data-medallion-skin="sc2-protoss"][data-medallion-style="original"]{background:conic-gradient(from -90deg,#74ddff 0deg,#fff0bc var(--xp-mid),#fffbe5 var(--xp-progress),#111d43 var(--xp-progress) 360deg);box-shadow:0 0 0 1px #d6ba67,0 0 8px #74ddff44}
html .level-medallion[data-medallion-skin="sc2-protoss"]>span{background:radial-gradient(circle at 35% 25%,#587cb4,#263e79 62%,#111d43)!important;border-color:#d6ba67!important;font-family:Georgia,serif!important;color:#fff0bc!important;text-shadow:0 1px 2px #000!important}
html .level-medallion[data-medallion-skin="sc2-zerg"]{--medal-progress-a:#c472df;--medal-progress-b:#f5ccef;--medal-highlight:#fffbe5;--medal-track:#1c1026;--medal-edge:#ad779c;--medal-inner-edge:#f5ccef;--medal-outline:#1c1026;--medal-core-edge:#ad779c;--medal-core-light:#784a7d;--medal-core-mid:#3d1c46;--medal-core-dark:#1c1026;--medal-glow:#c472df55;--medal-number:#f5ccef;font-family:Trebuchet MS,sans-serif;color:#f5ccef}
html .level-medallion[data-medallion-skin="sc2-zerg"][data-medallion-style="original"]{background:conic-gradient(from -90deg,#c472df 0deg,#f5ccef var(--xp-mid),#fffbe5 var(--xp-progress),#1c1026 var(--xp-progress) 360deg);box-shadow:0 0 0 1px #ad779c,0 0 8px #c472df44}
html .level-medallion[data-medallion-skin="sc2-zerg"]>span{background:radial-gradient(circle at 35% 25%,#784a7d,#3d1c46 62%,#1c1026)!important;border-color:#ad779c!important;font-family:Trebuchet MS,sans-serif!important;color:#f5ccef!important;text-shadow:0 1px 2px #000!important}

/* Terran: bolted steel and radial instrument ticks. */
html .level-medallion[data-medallion-skin="sc2-terran"]{box-shadow:0 0 0 1px #92b0bc,0 0 0 3px #263845,inset 0 1px #e5f4ff66!important}
html .level-medallion[data-medallion-skin="sc2-terran"]>span{font-weight:900!important;letter-spacing:-.05em;box-shadow:inset 0 2px #c7efff44,inset 0 -2px #0008!important}
html .level-medallion[data-medallion-skin="sc2-terran"]::before{content:"";position:absolute;inset:-2px;border:1px dashed #9fb9c0;border-radius:50%;pointer-events:none}
/* Protoss: four symmetric crystal facets and polished gold. */
html .level-medallion[data-medallion-skin="sc2-protoss"]{box-shadow:0 0 0 1px #d6ba67,0 0 0 3px #514322,0 0 9px #74ddff44!important}
html .level-medallion[data-medallion-skin="sc2-protoss"]::before{content:"";position:absolute;inset:-3px;border:1px solid #bca261;border-radius:8px;transform:rotate(45deg);z-index:0;pointer-events:none}
html .level-medallion[data-medallion-skin="sc2-protoss"]>span{box-shadow:inset 0 0 0 1px #78c5ff55,inset 0 1px #d8ecff88!important;font-weight:700!important}
/* Zerg: concentric organic plating, distinct from the metallic races. */
html .level-medallion[data-medallion-skin="sc2-zerg"]{box-shadow:0 0 0 1px #92567d,0 0 0 3px #30152e,0 0 0 4px #694464!important}
html .level-medallion[data-medallion-skin="sc2-zerg"]::before{content:"";position:absolute;inset:-3px;border:2px solid #9c688f;border-radius:44% 56% 44% 56%;transform:rotate(45deg);pointer-events:none}
html .level-medallion[data-medallion-skin="sc2-zerg"]>span{font-style:italic!important;font-weight:800!important;box-shadow:inset 0 2px 3px #ddb0cb44,inset 0 -3px 3px #140516aa!important}
.personal-records>summary{display:flex;align-items:center;gap:10px}.personal-records>summary>span{display:grid;gap:2px}.personal-records>summary small{color:var(--muted);font-size:.72rem;font-weight:400}.personal-record-list{display:grid;gap:10px;margin-top:10px}.personal-record{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;padding:12px;border:1px solid color-mix(in srgb,var(--accent) 55%,var(--line));border-radius:12px;background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 8%,var(--card)),var(--card));box-shadow:inset 0 1px #ffffff12}.personal-record>div{display:grid;gap:2px;min-width:0}.personal-record strong{font-size:1.1rem;line-height:1.2}.personal-record small{font-size:.7rem;color:var(--muted);line-height:1.4}.personal-record small:first-child{color:var(--accent);font-weight:700;letter-spacing:.03em}.personal-record span:not(.record-crest){font-size:.8rem}.record-crest{display:grid;place-items:center;width:48px;height:52px;clip-path:polygon(50% 0,94% 23%,94% 77%,50% 100%,6% 77%,6% 23%);background:linear-gradient(145deg,#f5db8b,#b4893f 48%,#ead39b);position:relative}.record-crest:before{content:"";position:absolute;inset:2px;clip-path:inherit;background:radial-gradient(circle at 35% 25%,#31587b,#10273e 65%)}.record-crest svg{z-index:1;width:29px;height:29px;fill:none;stroke:#f6dc8c;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.app-header h1{display:none!important}.app-header{padding-top:max(14px,env(safe-area-inset-top));padding-bottom:14px}.app-header p{margin-top:0}
#calorieForm>label{display:grid;gap:6px;min-width:0;width:100%;margin:12px 0}#calorieForm input,#calorieForm select{box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:44px;margin:0;border:1px solid var(--line);border-radius:10px;padding:9px 12px;background:var(--raised);color:var(--text)}
.stage-chapter>summary{display:flex;justify-content:space-between;align-items:center;gap:12px}.stage-chapter>summary>span{display:grid;gap:2px}.stage-chapter small{color:var(--muted);font-size:.72rem}.stage-chapter h4{margin:16px 0 5px;font-size:.85rem;color:var(--accent)}.stage-chapter p{font-size:.82rem}.stage-days{display:flex;gap:8px;margin:14px 0}.stage-day{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:50%;font-size:.7rem;background:#747984;color:#111}.stage-day.complete{background:#42bd7c}.stage-day.incomplete{background:#dfb58e}.stage-day.rest,.stage-day.pending{background:#7d838855;color:var(--muted)}.stage-banner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.stage-banner>div{display:grid;gap:2px}.stage-banner small{color:var(--accent);font-size:.65rem;letter-spacing:.08em}.stage-banner strong{font-size:.88rem}.stage-banner span{color:var(--muted);font-size:.75rem}.stage-banner>[data-stage-close]{grid-column:2;grid-row:1;width:28px;height:28px}.stage-banner>[data-stage-open]{grid-column:1/-1;min-height:38px;font-size:.8rem}
html .level-medallion>span>.level-number{display:block;width:100%;height:100%;overflow:visible;fill:currentColor;pointer-events:none}
html .level-medallion .level-number text{font-size:38px;font-family:inherit;font-style:inherit;font-weight:inherit;letter-spacing:0;fill:currentColor;stroke:none}
/* Exact core palette of the first medallion, preserved as its own choice. */
html .level-medallion[data-medallion-skin="classic-original-blue"]{--medal-progress-a:#d87526;--medal-progress-b:#f39a42;--medal-highlight:#fff1d7;--medal-track:#4d5868;--medal-edge:#8e7543;--medal-inner-edge:#d1a35c;--medal-outline:#392f21;--medal-core-edge:#8e7543;--medal-core-light:#42617b;--medal-core-mid:#1b2b42;--medal-core-dark:#101923;--medal-glow:#e78b3d55;--medal-number:#ffe0b0;color:#ffe0b0;font-family:Georgia,serif}
html .level-medallion[data-medallion-skin="classic-original-blue"][data-medallion-style="original"]{background:conic-gradient(from -90deg,#d87526 0deg,#f39a42 var(--xp-mid),#fff1d7 var(--xp-progress),#4d5868 var(--xp-progress) 360deg);box-shadow:0 0 0 1px #55341c,0 0 8px #e78b3d55}
html .level-medallion[data-medallion-skin="classic-original-blue"]>span{border-color:#8e7543!important;background:radial-gradient(circle at 35% 25%,#42617b,#1b2b42 58%,#101923)!important;color:#ffe0b0!important;font-family:Georgia,serif!important}
.sound-timer-previews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px}.sound-timer-previews button{min-width:0;padding:8px 4px;font-size:.75rem}.reset-today-record{margin:8px 0 0;width:100%;min-height:38px;font-size:.8rem}
.saved-record-actions{display:flex;align-items:center;gap:8px;margin-top:10px}.saved-record-actions>.ghost{display:grid;place-items:center;flex:0 0 90px;width:90px;min-width:90px;min-height:44px;margin:0;padding:8px;font-size:.8rem;line-height:1;white-space:nowrap}
html .level-medallion .level-number text{text-shadow:none!important}
@media(max-width:520px){.config-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.config-tab[data-config="profile"]{grid-column:1/-1}}#config-profile label{display:grid;gap:6px;min-width:0}#config-profile select,#config-profile input{width:100%;min-width:0;max-width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:10px;background:var(--raised);color:var(--text);padding:9px 11px;min-height:44px}

.add-today-card>summary{list-style:none!important}.add-today-card>summary::-webkit-details-marker{display:none!important}.add-today-card>summary::marker{content:""!important}.add-today-card>summary::before{display:none!important;content:none!important}.saved-record-actions{justify-content:center}
.exercise-card .rating button{min-height:36px!important;height:36px;padding:4px!important;line-height:1.2;display:grid;place-items:center}
.exercise-card>.save-btn{min-height:38px!important;height:38px;padding:5px 12px!important;display:grid;place-items:center;line-height:1.2}
/* Large keeps the existing layout; smaller controls preserve horizontal widths. */
html[data-series-control-size="normal"]{--series-control-height:36px;--series-check-size:36px;--series-tick-size:24px;--series-horizontal-check:18px}
html[data-series-control-size="compact"]{--series-control-height:30px;--series-check-size:30px;--series-tick-size:20px;--series-horizontal-check:16px}
html:is([data-series-control-size="normal"],[data-series-control-size="compact"]) .exercise-card .rep-stepper>button,html:is([data-series-control-size="normal"],[data-series-control-size="compact"]) .exercise-card .rep-stepper>input{min-height:var(--series-control-height)!important;height:var(--series-control-height)!important;padding-top:2px!important;padding-bottom:2px!important;line-height:1.2;box-sizing:border-box}
html:is([data-series-control-size="normal"],[data-series-control-size="compact"]) .exercise-card .rep-stepper>input{font-size:16px!important}
html:is([data-series-control-size="normal"],[data-series-control-size="compact"]) .exercise-card[data-series-orientation="vertical"] .series-row>input[type="checkbox"]{width:var(--series-check-size)!important;height:var(--series-check-size)!important;min-height:var(--series-check-size)!important;justify-self:center;background-size:var(--series-tick-size) var(--series-tick-size);border-radius:9px}
html:is([data-series-control-size="normal"],[data-series-control-size="compact"]) .exercise-card[data-series-orientation="horizontal"] .series-row>input[type="checkbox"]{width:var(--series-horizontal-check)!important;height:var(--series-horizontal-check)!important;min-height:var(--series-horizontal-check)!important;background-size:12px 12px}
html:is([data-series-control-size="normal"],[data-series-control-size="compact"]) .exercise-card .load-picker>summary{min-height:var(--series-control-height)!important;padding-top:4px!important;padding-bottom:4px!important}

/* Independent progress palette and mobile timer heading */
.timer-mini>summary{display:flex;align-items:center;gap:8px}.today-timer-remaining{margin-left:auto;font-size:.72rem;white-space:nowrap;font-weight:500}.timer-config-list article details>summary{padding:10px;cursor:pointer}.timer-config-list article details>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.timer-config-list input{width:100%;min-width:0}
html[data-progress-palette="sunset"] .hp-card .tone-red{--completion-color:#9d3d3d}
html[data-progress-palette="sunset"] .hp-card .tone-orange{--completion-color:#d36b3d}
html[data-progress-palette="sunset"] .hp-card .tone-yellow{--completion-color:#e5ad52}
html[data-progress-palette="sunset"] .hp-card .tone-soft-green{--completion-color:#a9b86e}
html[data-progress-palette="sunset"] .hp-card .tone-green{--completion-color:#5ca86f}
html[data-progress-palette="ocean"] .hp-card .tone-red{--completion-color:#765071}
html[data-progress-palette="ocean"] .hp-card .tone-orange{--completion-color:#8a6a78}
html[data-progress-palette="ocean"] .hp-card .tone-yellow{--completion-color:#7c8d91}
html[data-progress-palette="ocean"] .hp-card .tone-soft-green{--completion-color:#5899a1}
html[data-progress-palette="ocean"] .hp-card .tone-green{--completion-color:#31b6ad}
html[data-progress-palette="sakura"] .hp-card .tone-red{--completion-color:#9b5263}
html[data-progress-palette="sakura"] .hp-card .tone-orange{--completion-color:#c47679}
html[data-progress-palette="sakura"] .hp-card .tone-yellow{--completion-color:#dc9d91}
html[data-progress-palette="sakura"] .hp-card .tone-soft-green{--completion-color:#c6b89c}
html[data-progress-palette="sakura"] .hp-card .tone-green{--completion-color:#92b799}
html[data-progress-palette="mono"] .hp-card .tone-red{--completion-color:#555}
html[data-progress-palette="mono"] .hp-card .tone-orange{--completion-color:#777}
html[data-progress-palette="mono"] .hp-card .tone-yellow{--completion-color:#999}
html[data-progress-palette="mono"] .hp-card .tone-soft-green{--completion-color:#bbb}
html[data-progress-palette="mono"] .hp-card .tone-green{--completion-color:#eee}
html[data-progress-palette="neon"] .hp-card .tone-red{--completion-color:#ff486a}
html[data-progress-palette="neon"] .hp-card .tone-orange{--completion-color:#ff9b38}
html[data-progress-palette="neon"] .hp-card .tone-yellow{--completion-color:#f4ed45}
html[data-progress-palette="neon"] .hp-card .tone-soft-green{--completion-color:#8ae85f}
html[data-progress-palette="neon"] .hp-card .tone-green{--completion-color:#39ff88}
html[data-progress-palette="arcane"] .hp-card .tone-red{--completion-color:#633a87}
html[data-progress-palette="arcane"] .hp-card .tone-orange{--completion-color:#7751a6}
html[data-progress-palette="arcane"] .hp-card .tone-yellow{--completion-color:#8172c5}
html[data-progress-palette="arcane"] .hp-card .tone-soft-green{--completion-color:#6d98db}
html[data-progress-palette="arcane"] .hp-card .tone-green{--completion-color:#55c8ef}
html[data-progress-palette] #completionFill{background-color:var(--completion-color)!important;background-image:linear-gradient(180deg,#ffffff33,transparent 48%,#00000022)!important}

html[data-theme="wow"] body{background:radial-gradient(ellipse at 50% 0%,#61451f44,transparent 48%),repeating-linear-gradient(0deg,#21190e20 0 1px,transparent 1px 5px),linear-gradient(180deg,#18140e,#100e0a 70%,#1b150c)}
html[data-theme="wow"] .app-header h1,html[data-theme="wow"] h2,html[data-theme="wow"] h3,html[data-theme="wow"] .exercise-name,html[data-theme="wow"] .progress-exercise-title,html[data-theme="wow"] .calendar-heading h2{font-family:Georgia,'Times New Roman',serif;letter-spacing:.015em;color:#f0d69b}
html[data-theme="wow"] .card,html[data-theme="wow"] .exercise-card,html[data-theme="wow"] .progress-item,html[data-theme="wow"] .history-item,html[data-theme="wow"] .calendar-card{background-image:linear-gradient(135deg,#d6ad5e12,transparent 38%),linear-gradient(180deg,#2c2418,#1e190f);border-color:#76603a;box-shadow:inset 0 0 0 1px #d9b96c16,inset 0 1px #f3dfa522,0 8px 22px #05040366}
html[data-theme="wow"] .primary,html[data-theme="wow"] .save-btn{background:linear-gradient(180deg,#dfc27b,#a77a35);border-color:#e4c982;color:#21190e}
html[data-theme="wow"] .tabs{background:linear-gradient(180deg,#20190ff5,#120f0bf9);border-color:#76603a}
html[data-theme="wow"]{--bg:#14110b;--card:#211b11;--raised:#30271a;--text:#f3e9d1;--muted:#b9a985;--line:#4e4128;--accent:#d8b361;--accent-soft:#41351e;--bad:#d4745d}
html[data-theme="wotlk"] .calendar-day,html[data-theme="wow"] .calendar-day,html[data-theme="starcraft"] .calendar-day,html[data-theme="solo"] .calendar-day{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent)}
html[data-theme="wotlk"] .app-header h1,html[data-theme="wow"] .app-header h1,html[data-theme="starcraft"] .app-header h1,html[data-theme="solo"] .app-header h1{letter-spacing:.015em}
html[data-theme="wotlk"] .app-header h1::before,html[data-theme="wow"] .app-header h1::before,html[data-theme="starcraft"] .app-header h1::before,html[data-theme="solo"] .app-header h1::before{content:"";display:inline-block;width:18px;height:18px;margin:0 8px 0 1px;vertical-align:-3px;position:relative;flex:none}
html[data-theme="wow"] .app-header h1::before{width:17px;height:19px;background:linear-gradient(135deg,#ffe8a0,#9c6828 48%,#eac976 52%,#66441f);clip-path:polygon(50% 0,90% 12%,84% 62%,50% 100%,16% 62%,10% 12%);filter:drop-shadow(0 0 3px #d7a94c);box-shadow:inset 0 0 0 2px #f4df9b}
html[data-theme="wow"] .exercise-card,html[data-theme="wow"] .progress-item{outline:1px solid #d3ab5a20;outline-offset:-5px}
html[data-theme="wow"] .tab.active{box-shadow:inset 0 0 0 1px #d8b86d66}
@media(max-width:520px){html[data-theme="wotlk"] .app-header h1::before,html[data-theme="wow"] .app-header h1::before,html[data-theme="starcraft"] .app-header h1::before,html[data-theme="solo"] .app-header h1::before{width:15px;height:15px;margin-right:6px}html[data-theme="wow"] .app-header h1::before{height:17px}}
html .level-medallion[data-medallion-skin="wow"]{background:conic-gradient(from -90deg,#8a5825 0deg,#d5a84c var(--xp-mid,0deg),#fff0b0 var(--xp-progress,0deg),#54432d var(--xp-progress,0deg) 360deg);box-shadow:0 0 0 1px #ae8848,0 0 10px #d0a44b66;color:#fff0c6}html .level-medallion[data-medallion-skin="wow"]>span{border-color:#e0c476;background:radial-gradient(circle at 35% 22%,#584323,#2a2113 64%,#17130d);box-shadow:inset 0 0 0 1px #e7cb7c44}
html[data-theme="wow"] .hp-track{border-color:#987c47;background:linear-gradient(180deg,#392b19,#17120b);box-shadow:inset 0 2px 6px #000b,0 0 0 1px #d8b15b22}html[data-theme="wow"] .hp-track>div{background-image:linear-gradient(90deg,#ffe5a233,#fff4c655 52%,#ffe5a233),linear-gradient(180deg,#ffffff33,transparent 54%,#0003),var(--completion-color);background-blend-mode:screen,normal,normal}
html[data-theme="wow"] .calendar-day{border:1px solid #9b7c443d;box-shadow:inset 0 1px #fff2c333}html[data-theme="wow"] .calendar-day.complete{box-shadow:inset 0 0 0 2px #e4c676,inset 0 1px #fff2c333}
html[data-theme="wow"] .timer-mini{border-color:#806943;background:linear-gradient(145deg,#332918,#1a140c 80%);box-shadow:inset 0 1px #f1d69030,0 8px 18px #08050366}html[data-theme="wow"] .timer-mini>summary{color:#f0d69b}html[data-theme="wow"] .routine-timer-bar{border-color:#927646;background:#171109}html[data-theme="wow"] .routine-timer-bar.work i{background:linear-gradient(90deg,#9c6828,#f4d27a)}html[data-theme="wow"] .routine-timer-bar.rest i{background:linear-gradient(90deg,#8d877a,#f4e8c9)}
html .level-medallion[data-medallion-skin="wow"]{background:conic-gradient(from -90deg,#8a5825 0deg,#d5a84c var(--xp-mid,0deg),#fff0b0 var(--xp-progress,0deg),#54432d var(--xp-progress,0deg) 360deg);box-shadow:0 0 0 1px #ae8848,0 0 10px #d0a44b66;color:#fff0c6}html .level-medallion[data-medallion-skin="wow"]>span{border-color:#e0c476;background:radial-gradient(circle at 35% 22%,#584323,#2a2113 64%,#17130d);box-shadow:inset 0 0 0 1px #e7cb7c44}
html[data-daily-progress-skin="wow"] .hp-track{border-color:#927646;background:repeating-linear-gradient(90deg,#19150d 0 8px,#241c10 8px 10px)}html[data-daily-progress-skin="wow"] .hp-track>div{background:linear-gradient(90deg,#9c6828,#f4d27a);box-shadow:inset 0 1px #fff9,0 0 8px #d3a95566}
html[data-calendar-skin="wow"] .calendar-day{border:1px solid #9b7c443d;box-shadow:inset 0 1px #fff2c333}html[data-calendar-skin="wow"] .calendar-day.complete{box-shadow:inset 0 0 0 2px #e4c676,inset 0 1px #fff2c333}
html[data-tabata-skin="wow"] .timer-mini{border-color:#806943;background:linear-gradient(145deg,#332918,#1a140c 80%);box-shadow:inset 0 1px #f1d69030,0 8px 18px #08050366}html[data-tabata-skin="wow"] .timer-mini>summary{color:#f0d69b}html[data-tabata-skin="wow"] .routine-timer-bar{border-color:#927646;background:#171109}html[data-tabata-skin="wow"] .routine-timer-bar.work i{background:linear-gradient(90deg,#9c6828,#f4d27a)}html[data-tabata-skin="wow"] .routine-timer-bar.rest i{background:linear-gradient(90deg,#8d877a,#f4e8c9)}
html .level-medallion[data-medallion-style="engraved"][data-medallion-skin="wow"]{--medal-progress-a:#8a5825;--medal-progress-b:#d5a84c;--medal-highlight:#fff0b0;--medal-track:#54432d;--medal-edge:#ae8848;--medal-inner-edge:#e0c476;--medal-outline:#342615;--medal-core-edge:#a7854c;--medal-core-light:#455d77;--medal-core-mid:#213249;--medal-core-dark:#0d1420;--medal-glow:#d0a44b77;--medal-prestige-edge:#fff0b0}
html .level-medallion[data-medallion-style="engraved"][data-medallion-skin="wow"]{--medal-engraving:linear-gradient(0deg,transparent 47%,#f8dfa544 48% 51%,transparent 52%),linear-gradient(90deg,transparent 47%,#f8dfa544 48% 51%,transparent 52%),radial-gradient(circle at 50% 50%,transparent 0 28%,#f8dfa533 29% 31%,transparent 33% 43%,#f8dfa51e 44% 46%,transparent 48%)}
html[data-theme="wow"]{--bg:#0c1627;--surface:#172d49;--surface2:#203c5d;--text:#edf3ff;--muted:#aebed3;--accent:#e99a42;--border:#6e604b}html[data-theme="wow"] body{background:radial-gradient(ellipse at 50% 0%,#254b7e44,transparent 48%),linear-gradient(180deg,#0c1627,#0a1321)}html[data-theme="wow"] :is(.card,.exercise-card,.progress-item,.history-item,.calendar-card){background:linear-gradient(145deg,#203b5c,#14263e);border-color:#a57e46;box-shadow:inset 0 1px #f2c78622,0 5px 18px #0003}html[data-theme="wow"] :is(button,select,.load-picker>summary){border-color:#796548;background-color:#203852;color:#f4dfb8}html[data-theme="wow"] .tabs{background:#0e1e33;border-color:#796548}html[data-theme="wow"] .tabs button.active{background:linear-gradient(#345a83,#223e61);border-color:#d89843;color:#ffdfaa}html[data-theme="wow"] .timer-mini,html[data-tabata-skin="wow"] .timer-mini{background:linear-gradient(145deg,#203b5c,#14263e);border-color:#a57e46}html[data-theme="wow"] .hp-track,html[data-daily-progress-skin="wow"] .hp-track{background:repeating-linear-gradient(90deg,#0c1a2c 0 10px,#162c46 10px 12px);border-color:#b08243}
html .level-medallion[data-medallion-skin="wow"]{--medal-progress-a:#d87526;--medal-progress-b:#f39a42;--medal-highlight:#fff1d7;--medal-track:#4d5868;--medal-edge:#8e7543;--medal-inner-edge:#d1a35c;--medal-outline:#392f21;--medal-core-edge:#8e7543;--medal-core-light:#42617b;--medal-core-mid:#1b2b42;--medal-core-dark:#101923;--medal-glow:#e78b3d55;--medal-number:#ffe0b0;color:#ffe0b0;font-family:Georgia,serif}
html .level-medallion[data-medallion-skin="wow"][data-medallion-style="original"]{background:conic-gradient(from -90deg,#d87526 0deg,#f39a42 var(--xp-mid),#fff1d7 var(--xp-progress),#4d5868 var(--xp-progress) 360deg);box-shadow:0 0 0 1px #55341c,0 0 8px #e78b3d55}
html .level-medallion[data-medallion-skin="wow"]>span{border-color:#8e7543!important;background:radial-gradient(circle at 35% 25%,#42617b,#1b2b42 58%,#101923)!important;color:#ffe0b0!important;font-family:Georgia,serif!important}

/* Popup must not inherit the zero line-height of its icon control. */
html .exercise-info-menu .exercise-info-panel{line-height:1.5!important;font-size:.82rem;white-space:normal;text-align:left;max-height:min(420px,65dvh);overflow-y:auto;box-sizing:border-box}html .exercise-info-panel section{display:grid;gap:7px;height:auto;min-height:0;margin:0 0 14px}html .exercise-info-panel :is(strong,span,ol,li){line-height:1.5!important;height:auto;white-space:normal}html .exercise-info-panel strong{display:block}html .exercise-info-panel ol{padding-left:20px}html .exercise-info-panel li+li{margin-top:8px}html .exercise-info-actions{padding-top:12px;gap:10px}

html[data-theme="wow"]{--card:#14263e;--raised:#203852;--line:#796548;--accent-soft:#2b4261}html .today-pinned.is-pinned .timer-mini{grid-template-columns:minmax(0,1fr)}html .today-pinned.is-pinned .timer-mini>summary{display:flex;font-size:.72rem;line-height:1.4;min-height:28px;padding:4px 10px;gap:8px}html .today-pinned.is-pinned .timer-mini>summary::before{content:'\25be';color:var(--muted)}html .today-pinned.is-pinned .timer-mini:not([open])>summary::before{content:'\25b8'}html .today-pinned.is-pinned .today-timer-remaining{font-size:.68rem;line-height:1.4}

.extend-rest{width:100%;min-height:34px;padding:6px 10px;margin-top:8px;font-size:.78rem}.today-pinned.is-pinned .extend-rest{min-height:30px;margin:4px 0 0;padding:4px 8px}

.order-confirm-dialog{width:min(360px,calc(100vw - 32px));padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--card);color:var(--text)}.order-confirm-dialog::backdrop{background:#0009}.order-confirm-dialog p{margin:12px 0 20px;line-height:1.5}.order-confirm-dialog form>div{display:flex;justify-content:center;gap:10px}.order-confirm-dialog button{flex:1}

.timer-sound-settings{margin:18px 0;padding:14px;border:1px solid var(--line);border-radius:12px}.timer-sound-settings>label:first-of-type{display:flex;gap:8px;align-items:center}.timer-sound-settings input[type="checkbox"]{width:20px;height:20px;min-height:20px}.timer-sound-settings p{margin:10px 0;font-size:.78rem}

.timer-sound-settings>label{display:grid!important;grid-template-columns:minmax(0,1fr);gap:6px;min-width:0}.timer-sound-settings select{width:100%;min-width:0;max-width:100%;box-sizing:border-box}

/* Preserve playback controls in the sticky miniature player. */
html .today-pinned.is-pinned .timer-mini .routine-timer-actions.transport{display:flex!important;grid-column:1/-1;grid-row:3;justify-content:center;align-items:center;gap:7px;margin:3px 0 0;min-width:0}
html .today-pinned.is-pinned .timer-mini .timer-speed{display:none!important}
html .today-pinned.is-pinned .timer-mini .routine-timer-actions.transport [data-workout-action]{display:grid!important;place-items:center;flex:0 0 32px;width:32px;height:32px;min-height:32px;padding:0;border-radius:8px}
html .today-pinned.is-pinned .timer-mini .routine-timer-actions.transport svg{width:15px;height:15px}
html .today-pinned.is-pinned .timer-mini .extend-rest{grid-column:1/-1;grid-row:4}

.exercise-search{display:grid;gap:6px;margin:14px 0 8px;font-size:.85rem;color:var(--muted)}.exercise-search input{width:100%;min-width:0;font-size:16px}.progress-group[hidden],.progress-item[hidden]{display:none!important}#exerciseSearchStatus:empty{display:none}

.exercise-card.completed .exercise-order-actions,.exercise-card.completed .play-exercise{display:none!important}
html .progress-group>h3.group-attention{color:var(--completion-color)!important}.group-attention.tone-neutral{--completion-color:var(--muted)}
.calorie-summary{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important}.calorie-summary>p{margin:0!important;line-height:1.4}.calorie-summary #calorieIntake{padding-bottom:12px;border-bottom:1px solid var(--line);font-weight:650}.calorie-summary #calorieOutflow{padding-top:12px;border-top:1px solid var(--line)}
.timer-config-list article details>div{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:10px}.timer-config-list label{min-width:0;font-size:.76rem}.timer-config-list select{min-width:0;width:100%;font-size:16px}.timer-duration-preview{padding:0 10px 10px;font-size:.76rem}.timer-tempo-sources{margin:14px 0;font-size:.78rem}.timer-tempo-sources p{margin:8px 0}

.timer-sound-settings label[hidden]{display:none!important}

/* Permanent and Condition use the existing medal artwork at equal quality. */
html #experiencePanel.dual-progress-panel{display:block;margin:14px 0 0;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--card);max-height:68dvh;overflow:auto;overscroll-behavior:contain;line-height:1.5}
html #experiencePanel[hidden]{display:none!important}.dual-progress-panel .dual-levels{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.dual-level{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;text-align:center;min-width:0}.dual-level>div:first-child{justify-self:center;height:62px}.dual-level small{display:block;font-size:.7rem;line-height:1.4;color:var(--muted)}.dual-level strong{font-size:.87rem}.dual-level .level-medallion{pointer-events:none;aspect-ratio:1;min-width:0!important;min-height:0!important;margin:0;padding:0}.dual-level .level-medallion>span{inset:2px!important;width:calc(100% - 4px)!important;height:calc(100% - 4px)!important;border-radius:50%!important}.dual-level .level-number{width:100%!important;height:100%!important}.dual-level [role="progressbar"]{height:7px!important;min-width:0;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--raised);margin:0!important}.dual-level [role="progressbar"] i{display:block;height:100%;background:var(--accent)}#conditionBar i{background:linear-gradient(90deg,var(--accent-soft),var(--accent))}.dual-progress-panel>p{font-size:.72rem;margin:12px 0}.dual-progress-panel details>summary{font-size:.78rem;padding:10px 0;cursor:pointer}.progression-radar{display:block;width:100%;max-width:250px;height:auto;margin:6px auto}.radar-grid{fill:none;stroke:var(--line);stroke-width:1}.radar-target{fill:none;stroke:#d5b75e;stroke-width:1.5;stroke-dasharray:4 3}.radar-value{fill:var(--accent-soft);fill-opacity:.65;stroke:var(--accent);stroke-width:2}.progression-radar text{font:8px system-ui,sans-serif;fill:var(--text)}#conditionFactors{display:grid;grid-template-columns:1fr 1fr;gap:6px;font-size:.72rem}#conditionFactors span{display:grid;color:var(--muted)}#conditionFactors b{color:var(--text)}.milestone-radar{border-top:1px solid var(--line)}.milestone-radar summary{display:flex;justify-content:space-between;gap:8px}.milestone-radar summary span{color:var(--muted)}.milestone-radar ul{list-style:none;padding:0;margin:8px 0}.milestone-radar li{display:grid;gap:3px;padding:7px 0;font-size:.75rem}.milestone-radar li small{color:var(--muted);font-size:.7rem}.milestone-radar .met strong{color:var(--accent)}.milestone-radar .pending strong{color:var(--muted)}

/* Both XP bars inherit the same theme finish. */
#conditionBar{height:8px;overflow:hidden;border:1px solid #746647;border-radius:99px;background:#111722;box-shadow:inset 0 1px 3px #000b}
#conditionBar i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3197aa,#61c5d1 55%,#c1e8dd);box-shadow:0 0 8px #64c4d5aa;transition:width .35s ease}
html[data-theme="wotlk"] #conditionBar{background:linear-gradient(90deg,#122436,#26394a);border-color:#54728d}

html #experiencePanel.dual-progress-panel{position:fixed;inset:0;margin:auto;width:min(440px,calc(100vw - 28px));max-width:calc(100vw - 28px);height:max-content;max-height:82dvh;padding:38px 20px 20px;border-radius:24px;border:1px solid var(--line);background:var(--card);background:color-mix(in srgb,var(--card) 91%,transparent);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 24px 80px #0008,inset 0 1px 0 #ffffff18;overflow:auto;overscroll-behavior:contain}html #experiencePanel:not([open]){display:none!important}#experiencePanel::backdrop{background:#05091188;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.progression-modal-open{overflow:hidden}.progression-close{position:absolute;top:8px;right:10px;display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:23px}.progression-radar{max-width:330px;color:var(--accent);filter:drop-shadow(0 5px 15px #0003)}.radar-surface{fill:var(--accent);fill-opacity:.035;stroke:var(--line);stroke-width:.75}.radar-grid{stroke:var(--text);stroke-opacity:.12;stroke-width:.65}.radar-spoke{fill:none;stroke:var(--text);stroke-opacity:.1;stroke-width:.6}.radar-value{fill:var(--accent);fill-opacity:.14;stroke:var(--accent);stroke-opacity:.95;stroke-width:1.6;stroke-linejoin:round}.radar-node{fill:var(--accent);stroke:var(--card);stroke-width:1}.progression-radar text{font:9px system-ui,sans-serif;fill:var(--muted);letter-spacing:.1px}.dual-progress-panel .dual-levels{padding:0 0 16px;border-bottom:1px solid var(--line)}.milestone-requirements summary{color:var(--muted)}.postpone-card,.move-routine-form,.move-routine-form label{min-width:0!important;max-width:100%!important}.move-routine-form{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important}.move-routine-form input[type="date"]{display:block;box-sizing:border-box;min-width:0!important;width:100%!important;max-width:100%!important;-webkit-appearance:none}.move-routine-form button,#resetSchedule{box-sizing:border-box;width:100%;min-width:0;max-width:100%;white-space:normal}.postpone-card label{margin:0!important}

.load-category-form{display:grid;gap:8px}.load-category-row{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(110px,.45fr);align-items:center;gap:12px;margin:0!important;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--card) 82%,var(--raised))}.load-category-row>span:first-child{font-weight:600}.load-category-row .field-with-unit{width:100%;max-width:150px;justify-self:end}.load-category-form>button{width:100%;margin-top:4px}#loadCategoryError{margin:0;color:var(--bad);font-size:.85rem}@media(max-width:390px){.load-category-row{grid-template-columns:minmax(0,1fr) minmax(95px,.55fr);gap:8px;padding:9px}.load-category-row .field-with-unit{max-width:130px}}

/* Circular medal family, size presets, and Condition's living core. */
html[data-medallion-size="medium"] #accountLevel{width:53px;height:53px;flex-basis:53px}
html[data-medallion-size="large"] #accountLevel{width:66px;height:66px;flex-basis:66px}
html[data-medallion-size="small"][data-progress-size="compact"] #accountLevel{width:40px;height:40px;flex-basis:40px}
html[data-medallion-size="medium"][data-progress-size="compact"] #accountLevel{width:48px;height:48px;flex-basis:48px}
html[data-medallion-size="large"][data-progress-size="compact"] #accountLevel{width:60px;height:60px;flex-basis:60px}
html .level-medallion[data-medallion-skin="sc2-protoss"]::before{border-radius:50%!important;transform:none!important;border-style:dashed!important;inset:-3px!important}
html .level-medallion[data-medallion-skin="sc2-zerg"]::before{border-radius:50%!important;transform:none!important;inset:-3px!important}
html .level-medallion,html .level-medallion::before,html .level-medallion::after,html .level-medallion>span{border-radius:50%!important}
.dual-level.condition .condition-medallion{animation:condition-heartbeat var(--condition-beat-duration,2s) ease-in-out infinite;transform-origin:center;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 72%,transparent),0 0 12px color-mix(in srgb,var(--accent) 34%,transparent)}
.dual-level.condition .condition-medallion::after{content:"28D";position:absolute;right:-5px;bottom:-3px;display:grid;place-items:center;min-width:23px;height:14px;padding:0 3px;border:1px solid color-mix(in srgb,var(--accent) 66%,var(--line));border-radius:99px;background:var(--card);color:var(--text);font:700 7px/1 system-ui;letter-spacing:.04em}
.condition-comparison{margin:7px 0 12px;text-align:center;color:var(--muted);font-size:.76rem;line-height:1.45}
.radar-target{fill:color-mix(in srgb,var(--accent) 6%,transparent);stroke:color-mix(in srgb,var(--accent) 72%,#fff);stroke-width:1.4;stroke-dasharray:3 2}
@keyframes condition-heartbeat{0%,100%{transform:scale(1);filter:brightness(.98);box-shadow:0 0 0 1px color-mix(in srgb,var(--condition-energy,var(--accent)) 65%,transparent),0 0 9px color-mix(in srgb,var(--condition-energy,var(--accent)) 28%,transparent)}12%{transform:scale(1.045);filter:brightness(1.16);box-shadow:0 0 0 1px color-mix(in srgb,var(--condition-energy,var(--accent)) 85%,transparent),0 0 15px color-mix(in srgb,var(--condition-energy,var(--accent)) 52%,transparent)}24%,100%{transform:scale(1);filter:brightness(.98)}}
@media(prefers-reduced-motion:reduce){.dual-level.condition .condition-medallion{animation:none;transform:none}}

/* A single circular silhouette applies to every skin; Protoss keeps its concentric energy rings, without the old diamond. */
html .level-medallion[data-medallion-skin="sc2-protoss"]::before,html .level-medallion[data-medallion-skin="sc2-zerg"]::before{clip-path:none!important;transform:none!important;border-radius:50%!important}
html .dual-level.condition>div:first-child{height:62px!important;display:grid;place-items:center;align-self:center}
html .dual-level.condition .condition-medallion::after{right:-6px;bottom:-2px}

/* Condition keeps each skin's language, with a smaller cool energy ring. */
html .dual-level.condition .condition-medallion{--condition-energy:#72d2e3;--condition-track:#28505b;background:conic-gradient(from -90deg,var(--condition-energy) 0deg var(--xp-progress),var(--condition-track) var(--xp-progress) 360deg)!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--condition-energy) 75%,transparent),0 0 12px color-mix(in srgb,var(--condition-energy) 40%,transparent)}
html .dual-level.condition .condition-medallion>span{border-color:color-mix(in srgb,var(--condition-energy) 72%,var(--line))!important}
html .dual-level.condition .condition-medallion[data-medallion-skin="wotlk"],html .dual-level.condition .condition-medallion[data-medallion-skin="frozen"]{--condition-energy:#b6dcf4;--condition-track:#334b5e}
html .dual-level.condition .condition-medallion[data-medallion-skin="bomberman"],html .dual-level.condition .condition-medallion[data-medallion-skin="solo"]{--condition-energy:#b39aff;--condition-track:#40335e}
html .dual-level.condition .condition-medallion[data-medallion-skin="tbc"]{--condition-energy:#8dd8bb;--condition-track:#315849}
html .dual-level.condition .condition-medallion[data-medallion-skin^="classic-"],html .dual-level.condition .condition-medallion[data-medallion-skin="vanilla"]{--condition-energy:#d9c17a;--condition-track:#51452a}
html .dual-level.condition .condition-medallion[data-medallion-skin="sc2-terran"],html .dual-level.condition .condition-medallion[data-medallion-skin="starcraft"]{--condition-energy:#a1d4e2;--condition-track:#304954}
html .dual-level.condition .condition-medallion[data-medallion-skin="sc2-protoss"]{--condition-energy:#7be8ff;--condition-track:#255568}
html .dual-level.condition .condition-medallion[data-medallion-skin="sc2-zerg"]{--condition-energy:#d294c2;--condition-track:#50324d}

/* Selectable career and live Condition radars */
.dual-level[role="button"]{box-sizing:border-box;padding:7px;border:1px solid transparent;border-radius:14px;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease;outline:none}.dual-level[role="button"]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dual-level.radar-selected.permanent{border-color:#d7b764;background:color-mix(in srgb,#d7b764 8%,transparent);box-shadow:0 0 18px #d7b76418}.dual-level.radar-selected.condition{border-color:#72d2e3;background:color-mix(in srgb,#72d2e3 8%,transparent);box-shadow:0 0 18px #72d2e318}.progression-radar-card{margin:12px 0;padding:12px 12px 10px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,color-mix(in srgb,var(--card) 94%,white),color-mix(in srgb,var(--raised) 88%,transparent));box-shadow:inset 0 1px 0 #ffffff0c,0 8px 22px #0002}.progression-radar-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.progression-radar-heading>div{display:grid;gap:3px}.progression-radar-heading strong{font-size:.84rem}.progression-radar-heading small,.progression-radar-heading>span{font-size:.65rem;color:var(--muted)}.progression-radar-heading>span{text-align:right}.progression-radar{max-width:330px}.progression-radar.radar-permanent{--radar-color:#dfbd6e;--radar-halo:#d5a945}.progression-radar.radar-condition{--radar-color:#7cd9ee;--radar-halo:#4dbbd7}.radar-grid{fill:none;stroke:var(--text);stroke-opacity:.16;stroke-width:.7;vector-effect:non-scaling-stroke}.radar-spoke{stroke:var(--text);stroke-opacity:.15;stroke-width:.7;vector-effect:non-scaling-stroke}.radar-value{fill:var(--radar-color,var(--accent));fill-opacity:.18;stroke:var(--radar-color,var(--accent));stroke-width:1.8;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 3px color-mix(in srgb,var(--radar-halo,var(--accent)) 40%,transparent))}.radar-node{fill:var(--radar-color,var(--accent));stroke:var(--card);stroke-width:.7;vector-effect:non-scaling-stroke}#progressionRadarFactors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px 8px;margin-top:-3px;font-size:.66rem}#progressionRadarFactors span{display:flex;align-items:center;justify-content:space-between;gap:4px;color:var(--muted)}#progressionRadarFactors b{color:var(--text);font-variant-numeric:tabular-nums}@media(max-width:380px){.progression-radar-heading>span{max-width:78px}#progressionRadarFactors{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.dual-level[role="button"]{transition:none}}

.radar-method-note{margin:8px 0 0;color:var(--muted);font-size:.65rem;line-height:1.4}

/* Balanced dual medallions and adaptive daily progress layout */
html .today-pinned .hp-card .daily-progress-row{display:flex!important;flex-flow:row nowrap!important;align-items:center!important;gap:clamp(4px,2vw,10px)!important;width:100%;min-width:0}
html .daily-progress-center{position:relative;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:4px;flex:1 1 0;width:auto;min-width:0}
html .daily-progress-center #completionBar{width:100%;min-width:0}
html .daily-progress-percent{display:block;justify-self:center;min-height:1em;font-size:.72rem;line-height:1.1;font-weight:750;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--muted)}
html .daily-progress-center[data-percent-position="above"] .daily-progress-percent{grid-row:1}
html .daily-progress-center[data-percent-position="above"] #completionBar{grid-row:2}
html .daily-progress-center[data-percent-position="inside-center"] .daily-progress-percent,html .daily-progress-center[data-percent-position="inside-left"] .daily-progress-percent,html .daily-progress-center[data-percent-position="inside-right"] .daily-progress-percent{position:absolute;top:50%;transform:translateY(-50%);z-index:2;padding:2px 6px;border-radius:99px;background:color-mix(in srgb,var(--card) 78%,transparent);color:var(--text);text-shadow:0 1px 3px #0008;pointer-events:none}
html .daily-progress-center[data-percent-position="inside-center"] .daily-progress-percent{left:50%;transform:translate(-50%,-50%)}
html .daily-progress-center[data-percent-position="inside-left"] .daily-progress-percent{left:6px}
html .daily-progress-center[data-percent-position="inside-right"] .daily-progress-percent{right:6px}
html .daily-progress-center[data-percent-position="left"],html .daily-progress-center[data-percent-position="right"]{grid-template-columns:max-content minmax(0,1fr);gap:6px}
html .daily-progress-center[data-percent-position="left"] .daily-progress-percent{grid-column:1;grid-row:1}
html .daily-progress-center[data-percent-position="left"] #completionBar{grid-column:2;grid-row:1}
html .daily-progress-center[data-percent-position="right"]{grid-template-columns:minmax(0,1fr) max-content}
html .daily-progress-center[data-percent-position="right"] #completionBar{grid-column:1;grid-row:1}
html .daily-progress-center[data-percent-position="right"] .daily-progress-percent{grid-column:2;grid-row:1}
html .daily-progress-center[data-percent-position="above-left"],html .daily-progress-center[data-percent-position="above-right"],html .daily-progress-center[data-percent-position="below-left"],html .daily-progress-center[data-percent-position="below-right"]{grid-template-columns:minmax(0,1fr);gap:4px}
html .daily-progress-center[data-percent-position="above-left"] .daily-progress-percent,html .daily-progress-center[data-percent-position="below-left"] .daily-progress-percent{justify-self:start}
html .daily-progress-center[data-percent-position="above-right"] .daily-progress-percent,html .daily-progress-center[data-percent-position="below-right"] .daily-progress-percent{justify-self:end}
html .daily-progress-center[data-percent-position="above-left"] .daily-progress-percent,html .daily-progress-center[data-percent-position="above-right"] .daily-progress-percent{grid-row:1}
html .daily-progress-center[data-percent-position="above-left"] #completionBar,html .daily-progress-center[data-percent-position="above-right"] #completionBar{grid-row:2}
html .daily-progress-center[data-percent-position="below-left"] #completionBar,html .daily-progress-center[data-percent-position="below-right"] #completionBar{grid-row:1}
html .daily-progress-center[data-percent-position="below-left"] .daily-progress-percent,html .daily-progress-center[data-percent-position="below-right"] .daily-progress-percent{grid-row:2}
html .today-pinned .hp-card #accountLevel,html .today-pinned .hp-card #conditionLevel{box-sizing:border-box;min-width:0!important;min-height:0!important;max-width:100%;padding:0!important;flex:0 0 auto;align-self:center}
html .today-pinned .hp-card #conditionLevel{cursor:pointer;background:conic-gradient(from -90deg,var(--condition-energy) 0deg var(--xp-progress),var(--condition-track) var(--xp-progress) 360deg)!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--condition-energy) 75%,transparent),0 0 9px color-mix(in srgb,var(--condition-energy) 32%,transparent)}
html .today-pinned .hp-card #conditionLevel>span{border-color:color-mix(in srgb,var(--condition-energy) 72%,var(--line))!important}
html .condition-medallion[data-medallion-skin="wotlk"],html .condition-medallion[data-medallion-skin="frozen"]{--condition-energy:#b6dcf4;--condition-track:#334b5e}
html .condition-medallion[data-medallion-skin="bomberman"],html .condition-medallion[data-medallion-skin="solo"]{--condition-energy:#b39aff;--condition-track:#40335e}
html .condition-medallion[data-medallion-skin="tbc"]{--condition-energy:#8dd8bb;--condition-track:#315849}
html .condition-medallion[data-medallion-skin^="classic-"],html .condition-medallion[data-medallion-skin="vanilla"]{--condition-energy:#d9c17a;--condition-track:#51452a}
html .condition-medallion[data-medallion-skin="sc2-terran"],html .condition-medallion[data-medallion-skin="starcraft"]{--condition-energy:#a1d4e2;--condition-track:#304954}
html .condition-medallion[data-medallion-skin="sc2-protoss"]{--condition-energy:#7be8ff;--condition-track:#255568}
html .condition-medallion[data-medallion-skin="sc2-zerg"]{--condition-energy:#d294c2;--condition-track:#50324d}
html .condition-medallion{--condition-energy:#72d2e3;--condition-track:#28505b;background:conic-gradient(from -90deg,var(--condition-energy) 0deg var(--xp-progress),var(--condition-track) var(--xp-progress) 360deg)!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--condition-energy) 75%,transparent),0 0 9px color-mix(in srgb,var(--condition-energy) 32%,transparent)}
html .dual-level.condition .condition-medallion{animation:none;transform-origin:center}
html .level-medallion[data-medallion-animation="pulse"]{animation:medal-pulse var(--condition-beat-duration,3.2s) ease-in-out infinite;transform-origin:center}
html .level-medallion[data-medallion-animation="halo"]{animation:medal-halo 3.4s ease-in-out infinite}
html .level-medallion[data-medallion-animation="spark"]{animation:medal-spark 4.8s ease-in-out infinite}
html .level-medallion[data-medallion-animation="float"]{animation:medal-float 4s ease-in-out infinite}
html .level-medallion[data-medallion-animation="orbit"]{animation:medal-orbit 8s linear infinite}
html .level-medallion[data-medallion-animation="breathe"]{animation:medal-breathe 3.6s ease-in-out infinite;transform-origin:center}
@keyframes medal-pulse{0%,100%{transform:scale(1);filter:drop-shadow(0 0 0 transparent)}50%{transform:scale(1.045);filter:drop-shadow(0 0 7px color-mix(in srgb,var(--accent) 60%,transparent))}}
@keyframes medal-halo{0%,100%{filter:drop-shadow(0 0 2px color-mix(in srgb,var(--accent) 24%,transparent))}50%{filter:drop-shadow(0 0 10px color-mix(in srgb,var(--accent) 74%,transparent))}}
@keyframes medal-spark{0%,78%,100%{filter:brightness(1)}82%{filter:brightness(1.7)}86%{filter:brightness(1.05)}91%{filter:brightness(1.5)}}
@keyframes medal-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes medal-orbit{0%{filter:drop-shadow(3px 0 3px color-mix(in srgb,var(--accent) 70%,transparent))}25%{filter:drop-shadow(0 3px 3px color-mix(in srgb,var(--accent) 70%,transparent))}50%{filter:drop-shadow(-3px 0 3px color-mix(in srgb,var(--accent) 70%,transparent))}75%{filter:drop-shadow(0 -3px 3px color-mix(in srgb,var(--accent) 70%,transparent))}100%{filter:drop-shadow(3px 0 3px color-mix(in srgb,var(--accent) 70%,transparent))}}
@keyframes medal-breathe{0%,100%{transform:scale(.985);filter:brightness(.97)}50%{transform:scale(1.025);filter:brightness(1.2)}}
html #experiencePanel .dual-level>div:first-child{height:62px!important;min-height:62px;display:grid;place-items:center}
html #experiencePanel .dual-level .level-medallion{flex-shrink:0}
html .medallion-personalization-grid{display:grid;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0;width:100%}
html .medallion-personalization{display:grid;gap:8px;min-width:0;margin:0;padding:12px;border:1px solid var(--line);border-radius:14px}
html .medallion-personalization legend{padding:0 5px;font-size:.82rem;font-weight:700}
html .medallion-personalization label{display:grid;gap:4px;min-width:0}
html .medallion-personalization select{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
@media(max-width:520px){html .medallion-personalization-grid{grid-template-columns:minmax(0,1fr)}html .today-pinned .hp-card .daily-progress-row{gap:5px!important}}
/* Weekly routine board: seven compact desktop columns, swipe-and-snap cards on phones. */
html .routine-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:start;align-content:start;gap:8px;min-width:0;width:100%;box-sizing:border-box}
html .routine-day{box-sizing:border-box;min-width:0;overflow:visible;padding:9px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--raised) 46%,transparent);scroll-snap-align:start}
html .routine-day[data-today="true"]{border-color:color-mix(in srgb,var(--accent) 68%,var(--line));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent)}
html .routine-day>summary{align-items:flex-start;gap:4px;min-height:40px;font-size:.78rem;font-weight:750;text-transform:capitalize}
html .routine-day>summary small{font-size:.64rem;white-space:nowrap}
html .routine-day-list{display:grid;gap:6px;min-height:18px}
html .routine-week-grid .routine-config-row.slot-row{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;align-items:stretch;padding:7px 0;border-top:1px solid var(--line)}
html .routine-slot-summary{display:flex;align-items:flex-start;gap:5px;min-width:0}
html .routine-slot-summary>div{display:grid;gap:2px;min-width:0}
html .routine-slot-summary strong{font-size:.7rem;line-height:1.25;overflow-wrap:anywhere}
html .routine-slot-summary small{font-size:.62rem;line-height:1.3;color:var(--muted)}
html .routine-week-grid .drag-handle{flex:0 0 28px;width:28px;min-height:30px;padding:0;touch-action:none;cursor:grab}
html .routine-slot-actions{display:grid;grid-template-columns:minmax(0,1fr) 30px;gap:4px;align-items:end;min-width:0}
html .routine-slot-actions .move-target-label{display:grid;gap:2px;min-width:0}
html .routine-slot-actions .move-target-label span{font-size:.6rem}
html .routine-slot-actions select{min-height:34px;padding:4px;font-size:.64rem}
html .routine-slot-actions .remove-slot{width:30px;min-height:34px;padding:0;margin:0}
html .routine-week-grid .slot-editor{min-width:0;font-size:.68rem}
html .routine-week-grid .slot-editor>summary{padding:5px 0;color:var(--accent)}
html .routine-week-grid .routine-prescription-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
html .routine-week-grid .routine-prescription-editor label{display:grid;gap:2px;min-width:0;font-size:.6rem}
html .routine-week-grid .routine-prescription-editor input,html .routine-week-grid .routine-prescription-editor select{box-sizing:border-box;width:100%;min-width:0;min-height:34px;padding:4px;font-size:.68rem}
html .routine-week-grid .routine-prescription-editor .slot-gear-label,html .routine-week-grid .routine-prescription-editor .slot-rest-progressive{grid-column:1/-1}
html .routine-week-grid .routine-prescription-editor .slot-rest-progressive{display:flex;align-items:center;gap:5px}
html .routine-week-grid .routine-prescription-editor .slot-rest-progressive input{width:18px;min-height:18px}
html .routine-week-grid .add-slot{width:100%;min-height:36px;padding:5px 4px;font-size:.66rem;line-height:1.2;white-space:normal}
html .slot-row.dragging,html .slot-row.touch-dragging{opacity:.62;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 40%,transparent)}
html .routine-day.drop-target{background:color-mix(in srgb,var(--accent) 12%,var(--raised));outline:2px dashed var(--accent);outline-offset:-4px}
html.routine-dragging{user-select:none;touch-action:none}
@media(min-width:900px){html .routine-week-grid{gap:10px}html .routine-day{padding:11px}}
@media(max-width:899px){html .routine-week-grid{grid-auto-columns:minmax(0,calc(100% - 6px));grid-auto-flow:column;grid-template-columns:none;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;padding:2px 2px 10px}
html .routine-day{min-height:160px}}
@media(max-width:520px){html .routine-week-grid{grid-auto-columns:minmax(0,calc(100% - 8px));gap:8px}html .routine-day{min-width:0}html .medallion-personalization-grid{grid-template-columns:minmax(0,1fr)}}
html .inline-help{position:relative;display:inline-block;vertical-align:middle;margin-inline-start:5px}
html .inline-help>summary{display:grid;place-items:center;width:20px;height:20px;min-height:20px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--raised);color:var(--muted);font:italic 700 .75rem Georgia,serif;line-height:1;cursor:pointer;list-style:none}
html .inline-help>summary::-webkit-details-marker{display:none}
html .inline-help>p{position:absolute;z-index:8;inset-block-start:25px;inset-inline-end:0;width:min(270px,calc(100vw - 56px));margin:0;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card);box-shadow:0 8px 28px #0008;color:var(--muted);font-size:.76rem;line-height:1.45}
html .dual-progress-panel .inline-help>p{inset-block-start:auto;inset-block-end:25px}
html .experience-audit-wrap{display:flex;align-items:flex-start;gap:5px}
@media(prefers-reduced-motion:reduce){html .level-medallion[data-medallion-animation]{animation:none!important;transform:none!important;filter:none!important}}html .dual-level.condition .condition-medallion[data-medallion-animation="pulse"]{animation:medal-pulse var(--condition-beat-duration,3.2s) ease-in-out infinite}
html .dual-level.condition .condition-medallion[data-medallion-animation="halo"]{animation:medal-halo 3.4s ease-in-out infinite}
html .dual-level.condition .condition-medallion[data-medallion-animation="spark"]{animation:medal-spark 4.8s ease-in-out infinite}
html .dual-level.condition .condition-medallion[data-medallion-animation="float"]{animation:medal-float 4s ease-in-out infinite}
html .dual-level.condition .condition-medallion[data-medallion-animation="orbit"]{animation:medal-orbit 8s linear infinite}
html .dual-level.condition .condition-medallion[data-medallion-animation="breathe"]{animation:medal-breathe 3.6s ease-in-out infinite;transform-origin:center}

/* Keep every Body-tab control inside its card on narrow iPhone viewports. */
html #tab-calories{width:100%;max-width:100%;min-width:0;overflow-x:clip}
html #tab-calories>*{min-width:0;max-width:100%}
html #tab-calories .calorie-module,html #tab-calories .body-measurements{min-width:0;width:100%;max-width:100%}
html #tab-calories .section-head{min-width:0;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
html #tab-calories .section-head h2{min-width:0;max-width:100%;overflow-wrap:anywhere}
html #tab-calories #calorieTotal,html #tab-calories #shoulderWaistRatio{min-width:0;max-width:100%;margin-left:auto;text-align:right;overflow-wrap:anywhere;font-size:clamp(.9rem,4.5vw,1.25rem)}
html #tab-calories .card,html #tab-calories form{min-width:0;max-width:100%}
html #calorieForm>label{min-width:0;width:100%;max-width:100%}
html #calorieForm input,html #calorieForm select,html #calorieForm button{box-sizing:border-box;width:100%;min-width:0;max-width:100%}
html #calorieForm button{white-space:normal;overflow-wrap:anywhere}
html #tab-calories .measurement-date{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;width:100%;min-width:0;max-width:100%}
html #tab-calories .measurement-date input{box-sizing:border-box;width:100%;min-width:0;max-width:100%}
html #tab-calories .measurement-visual{position:relative;width:100%;min-width:0;max-width:100%;overflow:hidden;contain:paint}
html #tab-calories .measurement-callout{box-sizing:border-box;width:min(30%,110px);min-width:0;max-width:30%;padding-inline:1px}
html #tab-calories .measurement-callout span,html #tab-calories .measurement-callout strong{max-width:100%;overflow-wrap:anywhere;white-space:normal}
html #tab-calories .measurement-callout strong{font-size:clamp(.68rem,3.2vw,.82rem)}
html #tab-calories .measurement-callout small{font-size:.6rem}
html #tab-calories .measurement-ratio{box-sizing:border-box;right:8px;top:8px;min-width:0;max-width:42%;overflow-wrap:anywhere}
html #measurementDialog{box-sizing:border-box;width:min(460px,calc(100vw - 24px));max-width:calc(100vw - 24px);min-width:0}
html #measurementDialog .measurement-form,html #measurementDialog .measurement-form>*{min-width:0;max-width:100%}
html #measurementDialog input,html #measurementDialog button{box-sizing:border-box;width:100%;min-width:0;max-width:100%}
@media(max-width:360px){html #tab-calories .measurement-visual{height:560px;min-height:560px}html #tab-calories .measurement-callout{width:29%;max-width:29%}html #tab-calories .measurement-ratio{max-width:38%;padding:6px}}
/* Center level numerals as a grid item inside the actual circular face. Avoid absolute
   coordinates: medal skins and sizing rules otherwise change the containing block. */
html .level-medallion[data-medallion-style]>span{position:absolute!important;display:grid!important;place-items:center!important}
html .level-medallion>span>.medallion-level-number{position:absolute!important;inset:0!important;display:grid!important;place-items:center!important;box-sizing:border-box!important;width:100%!important;height:100%!important;max-width:none!important;margin:0!important;padding:0!important;font-family:inherit!important;font-style:inherit!important;font-weight:inherit!important;line-height:1!important;letter-spacing:0!important;text-align:center!important;white-space:nowrap!important;font-variant-numeric:tabular-nums!important;transform:none!important;pointer-events:none!important}
/* The modal receives focus on its close control when it opens. Keep its focus
   accessible without drawing a browser-blue ring around the close glyph. */
html #experiencePanel .progression-close:focus,html #experiencePanel .progression-close:focus-visible{outline:0!important;outline-offset:0!important;box-shadow:none!important;-webkit-tap-highlight-color:transparent}
/* Modal help cards stay positioned against their own icon, inside the dialog's
   clipping area instead of using viewport coordinates under backdrop-filter. */
html #experiencePanel{backdrop-filter:none;-webkit-backdrop-filter:none}
html #experiencePanel .viewport-info-panel{position:fixed!important;max-width:min(320px,calc(100vw - 48px))!important;max-height:min(70dvh,calc(100dvh - 48px))!important}
html #experiencePanel .inline-help{display:block;width:100%;margin:8px 0 0}
html #experiencePanel details.inline-help[open]>p{position:fixed!important;inset:auto!important;top:50%!important;left:50%!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-50%)!important;display:block;width:min(320px,calc(100vw - 48px))!important;max-width:calc(100vw - 48px)!important;max-height:calc(100dvh - 96px)!important;overflow:auto!important;box-sizing:border-box!important;margin:0!important;padding:14px!important;z-index:10001!important;background:var(--raised)!important;box-shadow:0 18px 44px #000b!important}
html #experiencePanel.dual-progress-panel{max-height:calc(100dvh - 48px)}
/* Readable weekly editor: stack days, then swipe through full-width exercise cards. */
html[data-routine-builder-layout="days-vertical-exercises-horizontal"] .routine-week-grid{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:12px!important;overflow:visible!important}
html[data-routine-builder-layout="days-vertical-exercises-horizontal"] .routine-day{width:100%!important;min-width:0!important;min-height:0!important;overflow:hidden!important;padding:12px!important}
html[data-routine-builder-layout="days-vertical-exercises-horizontal"] .routine-day-list{display:grid!important;grid-auto-flow:column!important;grid-auto-columns:minmax(min(290px,84vw),360px)!important;grid-template-columns:none!important;align-items:stretch!important;gap:10px!important;max-width:100%!important;padding:4px 2px 10px!important;overflow-x:auto!important;overscroll-behavior-inline:contain!important;scroll-snap-type:x mandatory!important;scrollbar-width:thin!important}
html[data-routine-builder-layout="days-vertical-exercises-horizontal"] .routine-config-row.slot-row{box-sizing:border-box!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;align-self:stretch!important;min-width:0!important;max-width:100%!important;margin:0!important;padding:10px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:color-mix(in srgb,var(--card) 88%,var(--raised))!important;scroll-snap-align:start!important}
html[data-routine-builder-layout="days-vertical-exercises-horizontal"] .routine-slot-summary{align-items:center!important;gap:8px!important;min-height:42px!important}
html[data-routine-builder-layout="days-vertical-exercises-horizontal"] .routine-slot-summary>div{flex:1 1 auto!important}
html[data-routine-builder-layout="days-vertical-exercises-horizontal"] .routine-slot-summary strong{font-size:.84rem!important;overflow-wrap:anywhere!important}
html[data-routine-builder-layout="days-vertical-exercises-horizontal"] .routine-slot-summary small{font-size:.72rem!important;line-height:1.4!important}
html[data-routine-builder-layout="days-vertical-exercises-horizontal"] .routine-slot-actions{grid-template-columns:minmax(0,1fr) 36px!important;gap:8px!important;align-items:end!important}
html[data-routine-builder-layout="days-vertical-exercises-horizontal"] .routine-slot-actions select{min-height:40px!important;font-size:.76rem!important}
html[data-routine-builder-layout="days-vertical-exercises-horizontal"] .routine-slot-actions .remove-slot{width:36px!important;min-height:40px!important}
html[data-routine-builder-layout="days-vertical-exercises-horizontal"] .routine-week-grid .slot-editor{font-size:.78rem!important}
html[data-routine-builder-layout="days-vertical-exercises-horizontal"] .routine-week-grid .slot-editor>summary{padding:9px 0!important}
html[data-routine-builder-layout="days-vertical-exercises-horizontal"] .routine-week-grid .routine-prescription-editor{gap:8px!important}
html[data-routine-builder-layout="days-vertical-exercises-horizontal"] .routine-week-grid .routine-prescription-editor label{font-size:.72rem!important;gap:4px!important}
html[data-routine-builder-layout="days-vertical-exercises-horizontal"] .routine-week-grid .routine-prescription-editor input,html[data-routine-builder-layout="days-vertical-exercises-horizontal"] .routine-week-grid .routine-prescription-editor select{min-height:40px!important;padding:6px!important;font-size:.76rem!important}
html[data-routine-builder-layout="days-vertical-exercises-horizontal"] .routine-week-grid .add-slot{min-height:42px!important;margin-top:10px!important;font-size:.78rem!important}
html[data-routine-builder-layout="days-horizontal-exercises-vertical"] .routine-week-grid{display:grid!important;grid-auto-flow:column!important;grid-auto-columns:minmax(260px,min(340px,82vw))!important;grid-template-columns:none!important;align-items:start!important;overflow-x:auto!important;overflow-y:hidden!important;overscroll-behavior-inline:contain!important;scroll-snap-type:x mandatory!important;padding:4px 3px 12px!important}
html[data-routine-builder-layout="days-horizontal-exercises-vertical"] .routine-day{width:auto!important;min-width:0!important;min-height:0!important;overflow:visible!important}
html[data-routine-builder-layout="days-horizontal-exercises-vertical"] .routine-day-list{display:grid!important;grid-auto-flow:row!important;grid-auto-columns:auto!important;grid-template-columns:minmax(0,1fr)!important;overflow:visible!important;padding:0!important}
.routine-layout-setting{display:grid;gap:6px;margin:10px 0 14px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--card) 88%,var(--raised))}
.routine-layout-setting>span{font-size:.78rem;color:var(--muted);font-weight:650}

/* One shared face geometry for home, dialog, every skin and every size. */
html .level-medallion{box-sizing:border-box!important;padding:0!important;}
html .level-medallion[data-medallion-style]>span{position:absolute!important;inset:var(--medal-face-inset,4%)!important;box-sizing:border-box!important;width:auto!important;height:auto!important;border-width:1px!important;display:grid!important;place-items:center!important;border-radius:50%!important;}
html .level-medallion>span>.medallion-level-number{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;transform:none!important;}
html .medallion-level-number>svg{display:block;width:100%;height:100%;overflow:visible;}
html .medallion-level-number>svg>text{fill:currentColor;stroke:none;font-variant-numeric:normal;font-kerning:normal;letter-spacing:0;}
/* Optional secondary-action density. The existing design remains the default. */
html[data-extra-set-appearance="compact"] .exercise-card .extra-set-actions,html[data-extra-set-appearance="subtle"] .exercise-card .extra-set-actions{gap:8px;margin-top:10px}
.extra-action-short{display:none}
html[data-extra-set-appearance="compact"] .exercise-card .extra-set-actions button{min-height:34px!important;height:34px!important;padding:4px 8px!important;font-size:.68rem!important;line-height:1.15;box-shadow:none!important;border-radius:8px}
html[data-extra-set-appearance="subtle"] .exercise-card .extra-set-actions button{min-height:30px!important;height:30px!important;padding:4px 7px!important;font-size:.72rem!important;line-height:1.25;background:transparent!important;border-color:color-mix(in srgb,var(--line) 65%,transparent)!important;box-shadow:none!important;border-radius:7px;font-weight:550}
html[data-extra-set-appearance="subtle"] .extra-action-full{display:none}
html[data-extra-set-appearance="subtle"] .extra-action-short{display:block;white-space:nowrap}
html[data-effort-appearance="compact"] .exercise-card .rating button{min-height:30px!important;height:30px!important;padding:3px 8px!important;font-size:.74rem!important}
html[data-effort-appearance="subtle"] .exercise-card .rating button{min-height:28px!important;height:28px!important;padding:3px 6px!important;font-size:.7rem!important;box-shadow:none!important}
html[data-save-appearance="compact"] .exercise-card>.save-btn{min-height:32px!important;height:32px!important;padding:4px 10px!important;font-size:.8rem!important;margin-top:10px}
html[data-save-appearance="subtle"] .exercise-card>.save-btn{min-height:30px!important;height:30px!important;padding:4px 10px!important;font-size:.76rem!important;font-weight:600!important;background:color-mix(in srgb,var(--accent) 12%,var(--card))!important;color:var(--text)!important;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line))!important;box-shadow:none!important;margin-top:9px;border-radius:8px}
html[data-streak-spacing="comfortable"] .exercise-card .exercise-streak-line{margin-top:8px!important}
html[data-streak-spacing="spacious"] .exercise-card .exercise-streak-line{margin-top:12px!important}
html[data-streak-spacing="current"] .exercise-card .exercise-streak-line{margin-top:2px!important}
html[data-streak-bottom-spacing="comfortable"] .exercise-card .exercise-streak-line{margin-bottom:6px!important}
html[data-streak-bottom-spacing="spacious"] .exercise-card .exercise-streak-line{margin-bottom:12px!important}
html[data-series-label-spacing="compact"]{--series-label-gap:2px}
html[data-series-label-spacing="balanced"]{--series-label-gap:4px}
html[data-series-label-spacing="wide"]{--series-label-gap:6px}
html[data-series-label-spacing] .exercise-card[data-series-orientation="vertical"] .series-row{grid-template-columns:max-content max-content minmax(0,1fr)!important;column-gap:var(--series-label-gap)!important}
html[data-series-label-spacing] .exercise-card[data-series-orientation="vertical"] .series-row>input[type="checkbox"]{justify-self:start!important}
html[data-series-label-spacing] .exercise-card[data-series-orientation="horizontal"] .series-row{column-gap:var(--series-label-gap)!important}
html[data-series-label-spacing] .exercise-card[data-series-orientation="horizontal"] .series-row>strong{justify-self:end}
.exercise-card .extra-set-actions{border-bottom:1px solid var(--line);padding-bottom:6px;margin-top:8px!important;margin-bottom:0!important}
.exercise-card .exercise-content-row{row-gap:4px!important}
.exercise-card .rating[data-action-placement="inline"]{margin-top:0!important}
.exercise-card[data-feeling-placement="side"] .rating[data-action-placement="inline"]{margin-top:0!important}
.exercise-card>:is(.extra-set-actions,.rating)[data-action-placement="before-save"],.exercise-card>:is(.extra-set-actions,.rating)[data-action-placement="after-save"]{width:100%;margin-top:8px!important;margin-bottom:0!important;grid-template-columns:repeat(3,minmax(0,1fr))}
.exercise-card>.extra-set-actions[data-action-placement]{grid-template-columns:repeat(2,minmax(0,1fr))}
.exercise-card>.extra-set-actions[data-action-placement]{border-top:1px solid var(--line);padding-top:8px}
html:is([data-effort-block-placement="before-save"],[data-effort-block-placement="after-save"]) .exercise-card[data-feeling-placement="side"] .exercise-content-row{grid-template-columns:minmax(0,1fr)!important}
/* Opt-in HUD uses the selected skin, keeps all transport controls and pause extensions. */
html[data-timer-presentation="hud"] :is([data-timer-hud-scope="both"] .today-pinned,[data-timer-hud-scope="sticky"] .today-pinned.is-pinned,[data-timer-hud-scope="fixed"] .today-pinned:not(.is-pinned)) .timer-mini{padding:0!important;border-radius:10px;overflow:hidden;box-shadow:inset 0 1px #ffffff0b!important}
html[data-timer-presentation="hud"] :is([data-timer-hud-scope="both"] .today-pinned,[data-timer-hud-scope="sticky"] .today-pinned.is-pinned,[data-timer-hud-scope="fixed"] .today-pinned:not(.is-pinned)) .timer-mini>summary{min-height:25px!important;padding:3px 9px!important;font-size:.7rem!important;line-height:1.3}
html[data-timer-presentation="hud"] :is([data-timer-hud-scope="both"] .today-pinned,[data-timer-hud-scope="sticky"] .today-pinned.is-pinned,[data-timer-hud-scope="fixed"] .today-pinned:not(.is-pinned)) .timer-mini .workout-timer-controller{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:5px 8px!important;padding:5px 9px 7px!important;min-width:0}
html[data-timer-presentation="hud"] :is([data-timer-hud-scope="both"] .today-pinned,[data-timer-hud-scope="sticky"] .today-pinned.is-pinned,[data-timer-hud-scope="fixed"] .today-pinned:not(.is-pinned)) .timer-mini .routine-timer-top{grid-column:1!important;grid-row:1!important;display:flex!important;align-items:center!important;gap:6px!important;min-width:0;margin:0!important}
html[data-timer-presentation="hud"] :is([data-timer-hud-scope="both"] .today-pinned,[data-timer-hud-scope="sticky"] .today-pinned.is-pinned,[data-timer-hud-scope="fixed"] .today-pinned:not(.is-pinned)) .timer-mini .routine-timer-top>div{min-width:0;flex:1 1 auto}
html[data-timer-presentation="hud"] :is([data-timer-hud-scope="both"] .today-pinned,[data-timer-hud-scope="sticky"] .today-pinned.is-pinned,[data-timer-hud-scope="fixed"] .today-pinned:not(.is-pinned)) .timer-mini .routine-timer-top strong{display:block!important;font-size:.72rem!important;line-height:1.3!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-timer-presentation="hud"] :is([data-timer-hud-scope="both"] .today-pinned,[data-timer-hud-scope="sticky"] .today-pinned.is-pinned,[data-timer-hud-scope="fixed"] .today-pinned:not(.is-pinned)) .timer-mini .routine-timer-top output{font-size:1rem!important;line-height:1!important;flex:0 0 auto;font-variant-numeric:tabular-nums}
html[data-timer-presentation="hud"] :is([data-timer-hud-scope="both"] .today-pinned,[data-timer-hud-scope="sticky"] .today-pinned.is-pinned,[data-timer-hud-scope="fixed"] .today-pinned:not(.is-pinned)) .timer-mini :is(.routine-timer-top>div>span,.timer-total,.timer-remaining,.routine-timer-next,.timer-speed){display:none!important}
html[data-timer-presentation="hud"] :is([data-timer-hud-scope="both"] .today-pinned,[data-timer-hud-scope="sticky"] .today-pinned.is-pinned,[data-timer-hud-scope="fixed"] .today-pinned:not(.is-pinned)) .timer-mini .routine-timer-bar{grid-column:1/-1!important;grid-row:2!important;height:3px!important;min-height:3px!important;margin:0!important;border-width:0!important;border-radius:3px}
html[data-timer-presentation="hud"] :is([data-timer-hud-scope="both"] .today-pinned,[data-timer-hud-scope="sticky"] .today-pinned.is-pinned,[data-timer-hud-scope="fixed"] .today-pinned:not(.is-pinned)) .timer-mini .routine-timer-actions.transport{display:flex!important;grid-column:2!important;grid-row:1!important;align-items:center!important;justify-content:end!important;gap:3px!important;margin:0!important;min-width:0}
html[data-timer-presentation="hud"] :is([data-timer-hud-scope="both"] .today-pinned,[data-timer-hud-scope="sticky"] .today-pinned.is-pinned,[data-timer-hud-scope="fixed"] .today-pinned:not(.is-pinned)) .timer-mini .routine-timer-actions.transport [data-workout-action]{display:grid!important;place-items:center!important;width:26px!important;min-width:26px!important;flex:0 0 26px!important;height:28px!important;min-height:28px!important;padding:0!important;border-radius:6px!important}
html[data-timer-presentation="hud"] :is([data-timer-hud-scope="both"] .today-pinned,[data-timer-hud-scope="sticky"] .today-pinned.is-pinned,[data-timer-hud-scope="fixed"] .today-pinned:not(.is-pinned)) .timer-mini .routine-timer-actions.transport svg{width:13px!important;height:13px!important}
html[data-timer-presentation="hud"] :is([data-timer-hud-scope="both"] .today-pinned,[data-timer-hud-scope="sticky"] .today-pinned.is-pinned,[data-timer-hud-scope="fixed"] .today-pinned:not(.is-pinned)) .timer-mini .extend-rest{grid-column:1/-1!important;grid-row:3!important;margin:0!important;min-height:28px!important;padding:3px 8px!important;font-size:.7rem}
html[data-timer-presentation="hud"] :is([data-timer-hud-scope="both"] .today-pinned,[data-timer-hud-scope="sticky"] .today-pinned.is-pinned,[data-timer-hud-scope="fixed"] .today-pinned:not(.is-pinned)) .timer-mini .routine-timer-empty{grid-column:1!important;min-width:0;font-size:.72rem}
/* Fonts follow their object's skin unless a general or individual override is chosen. */
html[data-font-global],html[data-font-global] body,html[data-font-global] :is(button,input,select,textarea,h1,h2,h3,h4){font-family:var(--font-global)!important}
html[data-font-permanent] :is(#accountLevel,#permanentMedallion .level-medallion),html[data-font-permanent] :is(#accountLevel,#permanentMedallion .level-medallion)>span{font-family:var(--font-permanent)!important}
html[data-font-condition] :is(#conditionLevel,#conditionMedallion .level-medallion),html[data-font-condition] :is(#conditionLevel,#conditionMedallion .level-medallion)>span{font-family:var(--font-condition)!important}
html[data-font-progress] :is(#completionPercent,#completionSummary,#routineName){font-family:var(--font-progress)!important}
html[data-font-calendar] .calendar-card,html[data-font-calendar] .calendar-card :is(button,summary,span,strong,h2){font-family:var(--font-calendar)!important}
html[data-font-exercise] .exercise-card,html[data-font-exercise] .exercise-card :is(button,input,select,strong,summary,span,small){font-family:var(--font-exercise)!important}
html[data-font-series] .exercise-card .series-row,html[data-font-series] .exercise-card .series-row :is(button,input,select,strong,summary,span,small){font-family:var(--font-series)!important}
html[data-font-streak] .exercise-card .exercise-streak,html[data-font-streak] .exercise-card .exercise-streak *{font-family:var(--font-streak)!important}
html[data-font-tabata] .workout-timer-controller,html[data-font-tabata] .workout-timer-controller :is(button,select,strong,span,p,label,output),html[data-font-tabata] .timer-disclosure>summary{font-family:var(--font-tabata)!important}
html[data-font-radar] .progression-radar-card,html[data-font-radar] .progression-radar-card :is(text,strong,span,b){font-family:var(--font-radar)!important}
html[data-font-body] #tab-calories,html[data-font-body] #tab-calories :is(button,input,select,strong,span,h2,h3,summary){font-family:var(--font-body)!important}
html[data-font-navigation] .tabs button,html[data-font-navigation] .config-tabs button{font-family:var(--font-navigation)!important}
html[data-font-routine] .routine-week-grid,html[data-font-routine] .routine-week-grid :is(button,input,select,strong,span,small,summary,h4){font-family:var(--font-routine)!important}
#config-appearance .appearance-object{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0;margin:14px 0 0;padding:14px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--card) 94%,var(--raised))}
#config-appearance .appearance-object legend{padding:0 6px;font-size:.84rem;font-weight:750}
#config-appearance .appearance-object label{min-width:0;gap:6px}
#config-appearance :is(.appearance-controls,.appearance-object)>label.setting-toggle{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px}
#config-appearance label.setting-toggle input{width:20px;min-width:20px;max-width:20px}
#config-appearance select{box-sizing:border-box;max-width:100%;font-size:.85rem}
#config-appearance .font-sample{font-size:1rem;color:var(--muted);line-height:1.3}
@media(max-width:600px){#config-appearance :is(.appearance-object,.appearance-controls){grid-template-columns:minmax(0,1fr)!important}#config-appearance .appearance-object{padding:12px}#config-appearance .appearance-subsection>summary strong{overflow-wrap:anywhere}}
/* Routine editing should keep the document scrollable on iPhone. Only each exercise rail
   or the seven-day board owns horizontal gestures; the drag handle owns long-press. */
html.routine-dragging{user-select:none!important;-webkit-user-select:none!important;}
html .routine-week-grid .drag-handle{touch-action:none!important;-webkit-touch-callout:none;}
html[data-routine-builder-layout="days-vertical-exercises-horizontal"] .routine-week-grid{height:auto!important;max-height:none!important;overflow:visible!important;}
html[data-routine-builder-layout="days-vertical-exercises-horizontal"] .routine-day-list{overscroll-behavior-y:auto!important;}
html[data-routine-builder-layout="days-horizontal-exercises-vertical"] .routine-week-grid{height:auto!important;max-height:none!important;overflow-x:auto!important;overflow-y:visible!important;touch-action:pan-x pan-y!important;}
html[data-routine-builder-layout="days-horizontal-exercises-vertical"] .routine-day{max-height:none!important;}
.exercise-set-count{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin:14px 0;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--raised)}
.exercise-set-count label{display:grid;gap:5px;font-size:.78rem;color:var(--muted)}
.exercise-set-count input{box-sizing:border-box;width:100%;min-width:0;min-height:42px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--text);font:inherit}
.exercise-set-count button{min-height:42px;white-space:nowrap}
html .progress-routine-summary{margin:6px 0!important;font-size:.7rem;line-height:1.45;color:var(--muted);overflow-wrap:anywhere}
@media(max-width:380px){.exercise-set-count{grid-template-columns:minmax(0,1fr);}.exercise-set-count button{width:100%;}}
.routine-layout-setting select{box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:42px}
/* Keep controls inside every tab's card gutters and center their labels consistently. */
html .tab-panel{min-width:0;max-width:100%}
html .tab-panel button{box-sizing:border-box;min-width:0;max-width:100%;text-align:center;vertical-align:middle}
html .tab-panel :is(input,select,textarea){box-sizing:border-box;min-width:0;max-width:100%}
html .tab-panel .card,html .tab-panel fieldset,html .tab-panel form{min-width:0;max-width:100%}
html .viewport-info-panel{position:fixed!important;inset:auto!important;inset-block:auto!important;inset-inline:auto!important;right:auto!important;bottom:auto!important;z-index:10000!important;box-sizing:border-box!important;max-width:calc(100vw - 24px)!important;max-height:calc(100dvh - 24px)!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;margin:0!important;transform:none!important;visibility:visible!important;opacity:1!important;white-space:normal!important;text-align:left!important;-webkit-overflow-scrolling:touch}
@supports not (height:100dvh){html .viewport-info-panel{max-height:calc(100vh - 24px)!important}}
html #permanentGateNote{white-space:pre-line!important}

/* Consistent picker glyph and balanced separators at every control density. */
.exercise-card .load-picker>summary{position:relative;list-style:none;padding-right:32px!important}
.exercise-card .load-picker>summary::-webkit-details-marker{display:none}
.exercise-card .load-picker>summary:after{content:'';width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;top:50%;right:14px;transform:translateY(-70%) rotate(45deg);opacity:.65}
.exercise-card .load-picker[open]>summary:after{transform:translateY(-25%) rotate(225deg)}
.exercise-card .series-row{padding-top:10px;padding-bottom:10px}
.exercise-card .extra-set-actions{padding-top:10px;padding-bottom:10px;margin-top:0!important;border-bottom:1px solid var(--line)}
.exercise-card .extra-set-actions+.rating{margin-top:10px!important}
.exercise-card .exercise-content-row{row-gap:0}
.exercise-card>.extra-set-actions[data-action-placement]{padding-top:10px;padding-bottom:10px;margin-top:10px!important;margin-bottom:10px!important}

/* Independently adjustable series typography; inherited settings leave theme sizing intact. */
html[data-series-label-font-size="small"] .exercise-card .series-row>strong{font-size:11px!important;line-height:1.2!important}
html[data-series-label-font-size="medium"] .exercise-card .series-row>strong{font-size:13px!important;line-height:1.2!important}
html[data-series-label-font-size="large"] .exercise-card .series-row>strong{font-size:16px!important;line-height:1.2!important}
html[data-series-value-font-size="small"] .exercise-card .series-row .rep-stepper input{font-size:14px!important;line-height:1.2!important}
html[data-series-value-font-size="medium"] .exercise-card .series-row .rep-stepper input{font-size:18px!important;line-height:1.2!important}
html[data-series-value-font-size="large"] .exercise-card .series-row .rep-stepper input{font-size:22px!important;line-height:1.2!important}
html[data-series-stepper-font-size="small"] .exercise-card .series-row .rep-stepper button{font-size:14px!important;line-height:1.2!important}
html[data-series-stepper-font-size="medium"] .exercise-card .series-row .rep-stepper button{font-size:18px!important;line-height:1.2!important}
html[data-series-stepper-font-size="large"] .exercise-card .series-row .rep-stepper button{font-size:22px!important;line-height:1.2!important}
html[data-series-load-font-size="small"] .exercise-card .series-row .load-picker :is(summary,strong,small){font-size:11px!important;line-height:1.2!important}
html[data-series-load-font-size="medium"] .exercise-card .series-row .load-picker :is(summary,strong,small){font-size:13px!important;line-height:1.2!important}
html[data-series-load-font-size="large"] .exercise-card .series-row .load-picker :is(summary,strong,small){font-size:16px!important;line-height:1.2!important}
html[data-series-follow-font-size="small"] .exercise-card .series-row .follow-s1{font-size:11px!important;line-height:1.2!important}
html[data-series-follow-font-size="medium"] .exercise-card .series-row .follow-s1{font-size:13px!important;line-height:1.2!important}
html[data-series-follow-font-size="large"] .exercise-card .series-row .follow-s1{font-size:16px!important;line-height:1.2!important}
.exercise-card .load-picker>summary{min-width:0}.exercise-card .follow-s1{max-width:100%;white-space:normal}

/* Opaque safe-area cap: scrolling cards cannot show above the floating Today dock. */
#todayDockTopCover{position:fixed;inset:0 0 auto;z-index:9;background:var(--bg);pointer-events:none;width:100%;margin:0;padding:0;border:0}
#todayDockTopCover[hidden]{display:none!important}

.rest-edit-dialog{width:min(380px,calc(100vw - 28px));box-sizing:border-box}.rest-edit-dialog form{display:grid;gap:14px}.rest-edit-dialog label{display:grid;gap:6px;min-width:0}.rest-edit-dialog input{width:100%;min-width:0;box-sizing:border-box}.exercise-info-actions{flex-wrap:wrap}

.series-row>.series-side-order{grid-column:3;display:flex;align-items:center;justify-content:center;gap:8px;font-size:.65rem;line-height:1.3;color:var(--muted);flex-wrap:wrap;padding:3px 0}.series-side-order>span:not([aria-hidden]){padding:3px 6px;border:1px solid var(--line);border-radius:5px}.exercise-card[data-series-orientation="horizontal"] .series-side-order{grid-column:1/-1}

/* Rest extension has its own full-width row in every sticky player layout. */
html .today-pinned.is-pinned .timer-mini .extend-rest{display:block!important;width:100%!important;box-sizing:border-box;align-self:stretch;justify-self:stretch;min-height:32px!important;margin:5px 0 2px!important;line-height:1.25;grid-column:1/-1!important}
html .today-pinned.is-pinned .timer-mini .workout-timer-controller:has(.extend-rest){padding-bottom:9px!important;row-gap:6px!important}

.calorie-balance-deficit{color:#60cc91}.calorie-balance-surplus{color:#ef7b83}.calorie-balance-neutral{color:var(--muted)}.history-day>summary{white-space:normal;line-height:1.5;overflow-wrap:anywhere}
.unified-progression-info{box-sizing:border-box;width:min(420px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 40px);overflow:auto;overscroll-behavior:contain;margin:auto;padding:20px;inset:0;background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:16px}.unified-progression-info::backdrop{background:#0008}.unified-progression-info p{font-size:.85rem;line-height:1.6;white-space:pre-line;overflow-wrap:anywhere}.progression-info-button{display:grid;place-items:center;width:26px;height:26px;min-height:26px;border:1px solid var(--line);border-radius:50%;padding:0;background:transparent;color:var(--muted)}
.series-row>.series-side-order{gap:6px;padding:0;justify-content:center;font-size:.62rem;letter-spacing:.04em;opacity:.8}.series-side-order>span:not([aria-hidden]){border:0;padding:0}.side-order-track{width:28px;height:1px;background:var(--line);position:relative}.side-order-track:after{content:'';position:absolute;right:0;top:-2px;width:4px;height:4px;border-top:1px solid var(--muted);border-right:1px solid var(--muted);transform:rotate(45deg)}
.exercise-card .extra-set-actions{padding-top:10px!important;padding-bottom:10px!important;border-top:1px solid var(--line);margin-top:10px!important;margin-bottom:10px!important}.exercise-card .series-list>.series-row:last-child{border-bottom:0}.exercise-card .extra-set-actions+.rating{margin-top:0!important}

.history-day>summary{text-transform:none}

.exercise-card .series-list:has(+.extra-set-actions)>.series-row:last-child{padding-bottom:0!important}.exercise-card>.extra-set-actions+.save-btn,.exercise-card>.extra-set-actions+.rating{margin-top:0!important}.unified-progression-info{position:fixed!important}.calendar-legend.viewport-info-panel{display:flex!important;gap:8px;flex-wrap:wrap}
/* Balanced exercise separators and progression workspace */
.exercise-card .series-list:has(+.extra-set-actions)>.series-row:last-child{padding-bottom:10px!important}
.exercise-card[data-series-orientation="vertical"] .series-row{padding-top:10px;padding-bottom:10px}
.exercise-workspace-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.exercise-workspace-nav button{flex:1 1 70px;min-width:0;padding:9px 8px}.exercise-workspace-nav button.active{border-color:var(--accent);background:var(--surface)}
#tab-progress [hidden]{display:none!important}
.gate-checks{list-style:none;padding:0;display:grid;gap:12px}.gate-checks li{padding:10px;border:1px solid currentColor;border-radius:10px;line-height:1.5;overflow-wrap:anywhere}.gate-checks .gate-met{color:#74dca0}.gate-checks .gate-missing{color:#ff9393}
.development-plan .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.development-plan label{min-width:0}.development-plan input[type=number]{width:100%;box-sizing:border-box}.development-plan fieldset{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0;padding:12px;border:1px solid var(--line);border-radius:12px}.development-plan label:has(input[type=checkbox]){display:flex;align-items:center;gap:8px}.development-plan input[type=checkbox]{flex:none}
.achievement-gallery,.achievement-celebration{box-sizing:border-box;width:min(680px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:auto;border:1px solid #aa874a;border-radius:18px;background:var(--surface,#202728);color:var(--text,#eee);padding:22px}.achievement-gallery::backdrop,.achievement-celebration::backdrop{background:#07101bb8;backdrop-filter:blur(6px)}
.achievement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.achievement-tile{border:1px solid #a98542;border-radius:12px;padding:14px;background:linear-gradient(145deg,#283747,#1b242e);color:#f5d489;overflow-wrap:anywhere}.achievement-tile strong,.achievement-tile small{display:block}.achievement-tile small{font-size:.72rem;line-height:1.5;color:#c9c4b8}.achievement-tile p{font-size:.85rem}.achievement-tile.locked{filter:grayscale(1);opacity:.55}.achievement-tile-crest{display:block;font-size:30px;color:#edc46a;margin-bottom:8px}
.achievement-celebration{width:min(420px,calc(100vw - 32px));text-align:center;background:radial-gradient(ellipse at top,#385068,#111c2a 70%);border:2px solid #c69c4d;box-shadow:0 0 45px #e9b44a44;padding:28px 20px}.achievement-celebration h2{font-family:Georgia,serif;color:#f9da92;font-size:1.4rem}.achievement-celebration strong{display:block;color:#fff1c3;font-size:1.1rem}.achievement-celebration-crest{display:block;font-size:60px;color:#f6cb69;text-shadow:0 0 22px #ffb72d}.achievement-celebration button{margin-top:12px}
@media(max-width:440px){.development-plan .form-grid{grid-template-columns:minmax(0,1fr)}.achievement-grid{gap:8px}.achievement-tile{padding:10px}.achievement-gallery{padding:16px}}
/* Portal content keeps its own layout outside the exercise card. */
html .exercise-info-panel.viewport-info-panel{display:block!important;width:340px!important;max-width:calc(100vw - 24px)!important;padding:16px!important;border:1px solid var(--line)!important;border-radius:14px!important;background:var(--raised,#263034)!important;color:var(--text,#eee)!important;box-shadow:0 16px 40px #0009!important;font-size:14px!important;line-height:1.5!important;min-width:0!important;height:auto!important}
html .exercise-info-panel.viewport-info-panel section{display:grid!important;gap:8px!important;height:auto!important;min-height:0!important;margin:0 0 16px!important;padding:0!important;position:static!important}
html .exercise-info-panel.viewport-info-panel :is(strong,span,ol,li){line-height:1.5!important;white-space:normal!important;height:auto!important;overflow-wrap:anywhere}
html .exercise-info-panel.viewport-info-panel ol{margin:0!important;padding-left:20px!important}.exercise-info-panel.viewport-info-panel li+li{margin-top:8px!important}
html .exercise-info-panel.viewport-info-panel .exercise-info-actions{display:flex!important;flex-wrap:wrap!important;gap:10px!important;align-items:center!important;justify-content:center!important;padding-top:12px!important;border-top:1px solid var(--line)}
.exercise-name>.configure-today-exercise{display:block!important;text-align:left!important;width:auto!important;min-width:0!important;max-width:100%!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:inherit!important;font:inherit!important;line-height:inherit!important;white-space:normal!important;overflow-wrap:anywhere;box-shadow:none!important}.configure-today-exercise:focus-visible{outline:2px solid var(--accent)!important;outline-offset:4px}.full-exercise-config{margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:12px}.full-exercise-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.full-exercise-grid label{min-width:0;display:grid;gap:6px}.full-exercise-grid :is(input,select,textarea){width:100%;min-width:0;box-sizing:border-box}.full-exercise-grid label:has([type=checkbox]){display:flex;align-items:center}.full-exercise-grid [type=checkbox]{width:auto}.full-exercise-config button[type=submit]{margin-top:12px;width:100%}@media(max-width:420px){.full-exercise-grid{grid-template-columns:minmax(0,1fr)}}
html,body{touch-action:pan-x pan-y}button,a,summary,input,select,textarea{touch-action:manipulation}
@media(max-width:600px){html body input:not([type=checkbox]):not([type=radio]),html body select,html body textarea{font-size:16px!important}html[data-series-value-font-size="large"] .exercise-card .series-row .rep-stepper input{font-size:22px!important}html[data-series-value-font-size="medium"] .exercise-card .series-row .rep-stepper input{font-size:18px!important}html[data-series-value-font-size="small"] .exercise-card .series-row .rep-stepper input{font-size:16px!important}}
.sound-category-settings{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}.sound-category-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px;padding:14px 0;border-bottom:1px solid var(--line)}.sound-category-row>strong{grid-column:1/-1}.sound-category-row select{width:100%;min-width:0;box-sizing:border-box}.sound-category-row button{padding:8px 10px}@media(max-width:440px){.sound-category-row{grid-template-columns:minmax(0,1fr) auto}.sound-category-row>select:first-of-type{grid-column:1/-1}}
.sound-category-row{grid-template-columns:minmax(0,1fr) auto}.sound-category-row>select:first-of-type{grid-column:auto}.sound-phase-announcements{display:flex!important;align-items:center;gap:9px;margin:12px 0}.sound-phase-announcements>input{width:auto;flex:none}
.expanded-sticky-timer{position:fixed;z-index:13;box-sizing:border-box;padding:0 0 8px;background:var(--bg);overflow-y:auto;overflow-x:hidden;overscroll-behavior:auto;-webkit-overflow-scrolling:touch;box-shadow:0 12px 24px #0005;border-radius:0 0 14px 14px}.expanded-sticky-timer>.timer-disclosure{margin:0!important;width:100%;box-sizing:border-box}.expanded-sticky-timer>.timer-disclosure>summary{cursor:default}.expanded-sticky-timer .workout-timer-controller{min-width:0}.expanded-sticky-timer .extend-rest{max-width:100%;box-sizing:border-box}


.calorie-closeout{box-sizing:border-box;width:min(420px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:auto;margin:auto;padding:24px;border:1px solid var(--border,#555);border-radius:20px;background:var(--card,#222727);color:var(--text,#eee)}.calorie-closeout::backdrop{background:#0009;backdrop-filter:blur(5px)}.calorie-closeout form{display:grid;gap:16px;min-width:0}.calorie-closeout h2,.calorie-closeout p{margin:0}.calorie-closeout label{display:grid;gap:8px;min-width:0}.calorie-closeout input,.calorie-closeout select,.calorie-closeout button{box-sizing:border-box;width:100%;min-width:0;font-size:16px}.calorie-closeout .closeout-date{opacity:.7}.closeout-error{color:#ff9898}

.daily-reward-status{color:#b5a3e8;font-size:.8rem;margin:8px 0 16px;overflow-wrap:anywhere}.daily-reward-status[hidden]{display:none}

.progression-radar text.radar-category{fill:var(--completion-color)!important}.radar-category-value,.radar-category-value b{color:var(--completion-color)!important}

.permanent-reward{margin:8px 0 12px;color:#c7b4f0}.permanent-reward[hidden]{display:none}.permanent-reward summary{cursor:pointer;font-size:.85rem;list-style:none}.permanent-reward summary::-webkit-details-marker{display:none}.permanent-reward p{font-size:.8rem;line-height:1.5;margin:8px 0;overflow-wrap:anywhere}.rested-sparkles{display:none;position:absolute;inset:-8px;pointer-events:none;z-index:5}.rested-glow>.rested-sparkles{display:block}.rested-sparkles i{position:absolute;color:#c7aceb;font-style:normal;font-size:12px;text-shadow:0 0 7px #af88df;animation:rested-shimmer 3.8s ease-in-out infinite}.rested-sparkles i:nth-child(1){left:9%;top:8%}.rested-sparkles i:nth-child(2){right:0;top:35%;animation-delay:-1s}.rested-sparkles i:nth-child(3){left:20%;bottom:0;animation-delay:-2s}.rested-sparkles i:nth-child(4){left:-2%;top:53%;animation-delay:-3s}@keyframes rested-shimmer{0%,100%{opacity:.2;transform:translateY(2px) scale(.7)}50%{opacity:.9;transform:translateY(-3px) scale(1.15)}}@media(prefers-reduced-motion:reduce){.rested-sparkles i{animation:none;opacity:.7}}

/* Progress detail: separate career reward from the radar header. */
#experiencePanel .permanent-reward{display:block;box-sizing:border-box;margin:12px 0 0;padding:0;border:0;background:none;box-shadow:none;width:100%;min-width:0}#experiencePanel .permanent-reward[hidden]{display:none!important}#experiencePanel .permanent-reward>summary{display:block;width:fit-content;max-width:100%;box-sizing:border-box;margin:0;padding:6px 10px;min-height:0;border:1px solid #c7b4f02b;border-radius:20px;background:#b591e80b;color:#c7b4f0;font-size:.75rem;line-height:1.4;white-space:normal}#experiencePanel .permanent-reward>p{margin:10px 0 0;padding:10px 12px;background:var(--raised);border-radius:10px;font-size:.75rem;line-height:1.5}#experiencePanel .progression-radar-card{margin:14px 0 0;padding:12px}#experiencePanel .progression-radar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:30px;margin:0 0 8px;padding:0}#experiencePanel .progression-radar-heading strong{min-width:0;font-size:.85rem}#experiencePanel .progression-radar-heading>.progression-info-button{flex:0 0 26px;width:26px;height:26px;min-width:26px;min-height:26px;margin:0;padding:0;display:grid;place-items:center}#experiencePanel #progressionRadarFactors{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin:6px 0 0;padding-top:10px;border-top:1px solid var(--line);font-size:.7rem}#experiencePanel #progressionRadarFactors span{min-width:0;gap:6px}#experiencePanel #progressionRadarFactors b{flex-shrink:0;font-variant-numeric:tabular-nums}#experiencePanel .progression-radar{margin:0 auto;max-width:310px}

/* Actual: smooth liquid ring; keep the core, skin and level number. */
html .condition-medallion{background:var(--condition-track)!important}html .condition-medallion>.medallion-art{display:none!important}.condition-fluid-ring{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;transform:rotate(-90deg);z-index:3}.condition-fluid-ring circle{fill:none;stroke-width:5;stroke-linecap:round}.condition-fluid-ring .fluid-track{stroke:var(--condition-track)}.condition-fluid-ring .fluid-fill{stroke:var(--condition-energy);stroke-dasharray:var(--fluid-progress,0) 100;transition:stroke-dasharray 1s ease;filter:drop-shadow(0 0 2px var(--condition-energy))}.condition-fluid-ring .fluid-shine{stroke:#ffffff;stroke-opacity:.32;stroke-width:2;stroke-dasharray:4 96;animation:condition-fluid-flow 9s linear infinite}@keyframes condition-fluid-flow{to{stroke-dashoffset:-100}}.rested-sparkles i{color:#eadbff;text-shadow:0 0 6px #d3b3fa,0 0 12px #cba5f566}@media(prefers-reduced-motion:reduce){.condition-fluid-ring .fluid-shine{animation:none}.condition-fluid-ring .fluid-fill{transition:none}}

html[data-condition-ring-style="continuous"] .condition-fluid-ring .fluid-shine,html[data-condition-ring-style="segmented"] .condition-fluid-ring .fluid-shine{display:none}html[data-condition-ring-style="continuous"] .condition-fluid-ring .fluid-fill{filter:none}html[data-condition-ring-style="segmented"] .condition-fluid-ring{mask-image:repeating-conic-gradient(#000 0deg 8deg,transparent 8deg 12deg);-webkit-mask-image:repeating-conic-gradient(#000 0deg 8deg,transparent 8deg 12deg)}

/* Muted development accents: labels stay neutral, percentages carry the signal. */
#experiencePanel .progression-radar text.radar-category{fill:var(--muted)!important;font-weight:400}#experiencePanel .radar-category-value{color:var(--muted)!important;font-weight:400}#experiencePanel .radar-category-value.tone-red{--radar-tone:#b79594}#experiencePanel .radar-category-value.tone-orange{--radar-tone:#b9a48f}#experiencePanel .radar-category-value.tone-yellow{--radar-tone:#bcb18c}#experiencePanel .radar-category-value.tone-soft-green{--radar-tone:#a3b39f}#experiencePanel .radar-category-value.tone-green{--radar-tone:#8cb49f}#experiencePanel .radar-category-value b{color:var(--radar-tone,var(--muted))!important;font-weight:600}#experiencePanel .radar-selected.permanent{border-color:#bca66b88;box-shadow:none;background:#bca66b08}#experiencePanel .radar-selected.condition{border-color:#8cabb888;box-shadow:none;background:#8cabb808}
.condition-liquid{display:none;position:absolute;inset:8%;border-radius:50%;overflow:hidden;pointer-events:none;z-index:1;background:radial-gradient(circle at 35% 25%,color-mix(in srgb,var(--condition-energy) 16%,#172026),#10181f 80%)}html[data-condition-ring-style="fluid"] .condition-liquid{display:block}html[data-condition-ring-style="fluid"] .condition-medallion>span{position:relative;z-index:2;background:transparent!important}html[data-condition-ring-style="fluid"] .condition-fluid-ring .fluid-fill,html[data-condition-ring-style="fluid"] .condition-fluid-ring .fluid-shine{display:none}.condition-liquid-fill{position:absolute;bottom:0;left:0;width:100%;height:calc(var(--fluid-progress,0)*1%);background:linear-gradient(135deg,color-mix(in srgb,var(--condition-energy) 74%,#fff),color-mix(in srgb,var(--condition-energy) 54%,#12212b));box-shadow:inset 0 3px 6px #ffffff25;transition:height 1.2s ease}.condition-liquid-fill::before,.condition-liquid-fill::after{content:'';position:absolute;left:-50%;top:-5px;width:200%;height:11px;border-radius:42%;background:color-mix(in srgb,var(--condition-energy) 80%,#fff);animation:liquid-wave 4.8s ease-in-out infinite;transform-origin:center}.condition-liquid-fill::after{top:-4px;opacity:.35;animation-direction:reverse;animation-duration:6.3s}@keyframes liquid-wave{0%,100%{transform:translateX(-4%) rotate(-3deg)}50%{transform:translateX(4%) rotate(3deg)}}html[data-condition-ring-style="fluid"] .condition-medallion .medallion-level-number{color:#f4f7f8!important;text-shadow:0 1px 3px #000,0 0 5px #0009}@media(prefers-reduced-motion:reduce){.condition-liquid-fill{transition:none}.condition-liquid-fill::before,.condition-liquid-fill::after{animation:none}}

/* Hints are visually secondary; input font size remains unchanged for iPhone. */
html body input::placeholder,html body textarea::placeholder{font-size:.8em!important;font-weight:400!important;color:var(--muted,#929b9a)!important;opacity:.72!important}html body .exercise-card .rep-stepper input::placeholder{font-size:.76em!important;font-weight:400!important;opacity:.72!important}

/* Leave a reliable dismissal gutter around every mobile dialog. */
html body dialog{box-sizing:border-box!important;min-width:0!important;max-width:calc(100vw - 48px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px))!important;max-height:calc(100dvh - 48px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}html body #experiencePanel.dual-progress-panel{max-width:calc(100vw - 48px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px))!important}html body .exercise-info-panel.viewport-info-panel{max-width:calc(100vw - 48px)!important}html body dialog :is(form,fieldset,section){min-width:0;max-width:100%;box-sizing:border-box}

.toast[popover]{position:fixed;inset:auto auto calc(88px + env(safe-area-inset-bottom)) 50%;margin:0;border:0;overflow-wrap:anywhere;max-height:30dvh;overflow:auto}.toast[popover]::backdrop{background:transparent;pointer-events:none}button[data-save-status="saving"]{cursor:progress}button[data-save-status="saving"]::after{content:" · Guardando…";font-size:.8em}button[data-save-status="saved"]::after{content:" ✓"}button[data-save-status="error"]::after{content:" · Reintentar";font-size:.8em}

/* Distinguish the two measures while keeping the panel restrained. */
#experiencePanel .progression-radar-card[data-radar-view="permanent"]{--radar-view-accent:#c5ad72;border-top:2px solid #c5ad7288}#experiencePanel .progression-radar-card[data-radar-view="condition"]{--radar-view-accent:#7ab9c6;border-top:2px solid #7ab9c688}#experiencePanel .progression-radar-heading strong{color:var(--radar-view-accent,var(--text));font-weight:600}#experiencePanel #progressionRadarFactors{gap:13px 18px;padding-top:14px;margin-top:8px}#experiencePanel .radar-category-value{display:grid;gap:6px;min-width:0}#experiencePanel .radar-factor-heading{display:flex;justify-content:space-between;align-items:baseline;gap:6px;min-width:0}#experiencePanel .radar-factor-heading span{display:block;color:var(--muted)!important;min-width:0;line-height:1.3}#experiencePanel .radar-factor-heading b{font-size:.75rem;font-weight:600}#experiencePanel .radar-factor-track{width:100%;height:4px;border-radius:4px;overflow:hidden;background:color-mix(in srgb,var(--text) 9%,transparent)}#experiencePanel .radar-factor-track>i{display:block;height:100%;border-radius:inherit;background:var(--radar-tone,var(--radar-view-accent));transition:width .5s ease}#experiencePanel .radar-category-value.tone-red{--radar-tone:#b78d8b}#experiencePanel .radar-category-value.tone-orange{--radar-tone:#c1a17b}#experiencePanel .radar-category-value.tone-yellow{--radar-tone:#bfb17b}#experiencePanel .radar-category-value.tone-soft-green{--radar-tone:#9bb794}#experiencePanel .radar-category-value.tone-green{--radar-tone:#7eb598}.progression-radar.radar-condition .radar-value{stroke-dasharray:4 2;fill-opacity:.13}.progression-radar.radar-permanent .radar-value{stroke-dasharray:none;fill-opacity:.2}@media(prefers-reduced-motion:reduce){#experiencePanel .radar-factor-track>i{transition:none}}

#experiencePanel .permanent>div:nth-child(2){position:relative}#experiencePanel .permanent-reward{position:absolute!important;top:0;right:0;width:auto!important;margin:0!important;padding:0!important;border:0!important;z-index:6}#experiencePanel .permanent-reward>summary{padding:0 2px!important;min-height:0!important;width:20px!important;height:20px!important;line-height:20px!important;border:0!important;background:none!important;color:#decbfa;font-size:15px!important}#experiencePanel .permanent-reward>p{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);box-sizing:border-box;width:min(310px,calc(100vw - 64px));max-height:65dvh;overflow:auto;margin:0!important;padding:18px!important;border:1px solid var(--line);box-shadow:0 16px 48px #0009;z-index:30;text-align:left}#experiencePanel .permanent-reward:not([open])>p{display:none}.condition-liquid-number{display:none;position:absolute;inset:8%;width:84%;height:84%;pointer-events:none;z-index:10;overflow:visible}html[data-condition-ring-style="fluid"] .condition-liquid-number{display:block!important}html[data-condition-ring-style="fluid"] .condition-medallion .medallion-level-number{visibility:hidden!important}.condition-liquid-number text{fill:#f4f7f8!important;font-family:inherit;font-size:var(--medal-ink-height,44px);font-weight:700;paint-order:stroke;stroke:#09131a;stroke-width:1.1;filter:drop-shadow(0 1px 2px #0009)}

.condition-liquid-number text{font-size:calc(var(--medal-ink-height,44)*1px)}

/* Keep the overview lean; exact figures remain in the information dialog. */
#experiencePanel #experienceSummary,#experiencePanel #conditionSummary,#experiencePanel #conditionComparison{display:none!important}#experiencePanel .dual-levels{padding-bottom:14px;align-items:stretch}#experiencePanel .dual-level{gap:10px}#experiencePanel .dual-level>div:nth-child(2){min-height:22px;display:flex;justify-content:center;align-items:center}#experiencePanel .dual-level strong{font-size:.83rem;font-weight:600}#experiencePanel .permanent-reward{top:50%!important;transform:translateY(-50%)}#experiencePanel .progression-radar-card{margin-top:14px}#experiencePanel .progression-radar-heading strong{font-size:.8rem}

/* Shared restrained surface language, retaining the selected theme and sizes. */
.tab-panel :is(.card,.exercise-card,.progress-item,.calendar-card,.history-item,.postpone-card){border-color:color-mix(in srgb,var(--text) 15%,transparent);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--text) 3%,transparent);background:var(--card)}.tab-panel :is(h2,h3,.exercise-title-text,.progress-exercise-title){font-weight:650;letter-spacing:-.015em}.tab-panel :is(.muted,.last-session,.progress-routine-summary){color:var(--muted);line-height:1.5}.tab-panel :is(.ghost,.subtle-add,.subtle-remove,.rating button){border-color:color-mix(in srgb,var(--text) 16%,transparent);box-shadow:none}.tab-panel .icon-button{border-color:color-mix(in srgb,var(--text) 14%,transparent);background:color-mix(in srgb,var(--text) 3%,var(--card));color:var(--muted)}.tab-panel :is(input:not([type=checkbox]):not([type=radio]),select,textarea){border-color:color-mix(in srgb,var(--text) 17%,transparent);box-shadow:none}.appearance-object{border-color:color-mix(in srgb,var(--text) 12%,transparent)}.appearance-object legend{font-weight:600;color:var(--muted)}.tabs .tab{font-weight:500}.tabs .tab.active{font-weight:650}.tab-panel .section-head{gap:12px}.tab-panel .rating button.selected{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:color-mix(in srgb,var(--accent) 8%,var(--raised))}
#experiencePanel .progression-radar-heading{justify-content:flex-start}#experiencePanel .progression-radar-heading strong{flex:1}#experiencePanel .radar-overlay-button{display:grid;place-items:center;flex:0 0 26px;min-height:26px;width:26px;height:26px;margin:0;padding:4px;border:1px solid var(--line);border-radius:8px;background:none;color:var(--muted)}.radar-overlay-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.25}#experiencePanel .radar-overlay-button[aria-pressed="true"]{color:#c5c3cf;background:#b6abc514;border-color:#b6abc56b}.radar-comparison{fill-opacity:.09;stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-linejoin:round}.radar-permanent .radar-comparison{fill:#7ab9c6;stroke:#7ab9c6;stroke-dasharray:4 2}.radar-condition .radar-comparison{fill:#c5ad72;stroke:#c5ad72;stroke-dasharray:none}

/* The bonus belongs to the name, not the far edge of its card. */
#experiencePanel .permanent>div:nth-child(2){display:flex;align-items:center;justify-content:center;gap:5px}#experiencePanel .permanent-reward{position:static!important;inset:auto!important;transform:none!important;flex:0 0 auto;width:18px!important;height:20px;margin:0!important}#experiencePanel .permanent-reward>summary{width:18px!important;padding:0!important}#experiencePanel .permanent-reward>p{transform:translate(-50%,-50%)!important}
.condition-liquid-number-submerged{clip-path:inset(calc(100% - var(--fluid-progress,0)*1%) 0 0 0);z-index:11}.condition-liquid-number-submerged text{fill:var(--liquid-number-ink,#111923)!important;stroke:color-mix(in srgb,var(--condition-energy) 85%,white);stroke-width:.65;filter:none}

#exerciseWorkspaceNav~[data-exercise-pane]>.progress-intro{margin-top:6px}#tab-progress .exercise-search{display:grid;gap:6px;margin:16px 0 8px;font-size:.85rem;color:var(--muted)}#tab-progress .exercise-search input{box-sizing:border-box;display:block;width:100%;min-width:0;font-size:16px}#timerExerciseSearchStatus:empty{display:none}#tab-progress :is(#exerciseSearchStatus,#timerExerciseSearchStatus){font-size:.75rem;margin:0 0 12px}#tab-progress #workoutTimerConfigForm>.exercise-search{margin-top:16px}#tab-progress .timer-preparation{margin-top:20px}
/* Achievement archive: coherent heraldry, progressive tiers, quiet organization. */
.achievement-gallery>h2{margin-bottom:6px;font-size:1.15rem}.achievement-gallery>p{font-size:.75rem}.achievement-section{margin-top:24px}.achievement-section>h3{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:12px}.achievement-category{border-top:1px solid var(--line);padding:12px 0}.achievement-category>summary{font-size:.85rem;font-weight:600;cursor:pointer;list-style-position:inside}.achievement-grid{margin:14px 0 2px;gap:12px}.achievement-tile{position:relative;border:1px solid #c2ac792b;border-radius:14px;padding:16px;background:linear-gradient(145deg,#c2ac7909,transparent 60%),var(--card);color:var(--text);min-width:0}.achievement-tile.earned{--emblem-color:#bca577;--emblem-core:#393229}.achievement-tile[data-tier="2"].earned{--emblem-color:#97b8c2;--emblem-core:#24373e}.achievement-tile[data-tier="3"].earned{--emblem-color:#b6a0d3;--emblem-core:#342d46}.achievement-tile[data-tier="4"].earned{--emblem-color:#d3b772;--emblem-core:#453821}.achievement-tile[data-tier="5"].earned,.achievement-tile[data-tier="6"].earned{--emblem-color:#d5b5a4;--emblem-core:#492a2e}.achievement-tile.locked{--emblem-color:#858a92;--emblem-core:#252931;filter:grayscale(1);opacity:1;color:#969ba3;border-color:#ffffff0e;background:#ffffff02}.achievement-tile.locked p,.achievement-tile.locked strong,.achievement-tile.locked small{color:#969ba3}.achievement-tile-crest{display:block;width:66px;height:66px;margin:0 0 12px}.achievement-emblem{display:block;width:100%;height:100%;overflow:visible}.emblem-halo{fill:var(--emblem-color,#d3b772);fill-opacity:.04}.emblem-frame{fill:var(--emblem-core,#393229);stroke:var(--emblem-color,#d3b772);stroke-width:1.4;stroke-linejoin:round}.emblem-inner{fill:none;stroke:var(--emblem-color,#d3b772);stroke-width:.6;opacity:.55}.emblem-ornament,.emblem-crown{fill:none;stroke:var(--emblem-color,#d3b772);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.emblem-crown{fill:var(--emblem-core,#393229)}.emblem-icon{fill:none;stroke:var(--emblem-color,#d3b772);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.achievement-emblem text{font:7px Georgia,serif;fill:var(--emblem-color,#d3b772)}.achievement-tile strong{font-size:.8rem;font-weight:600;line-height:1.35}.achievement-tile>p{font-size:.78rem;margin-top:5px;line-height:1.4}.achievement-tile .achievement-tier-label{font-size:.64rem;margin-top:9px;color:var(--emblem-color)}.achievement-tile .achievement-next{font-size:.65rem;margin-top:7px;color:var(--muted)}.achievement-tile>details{margin-top:12px;padding-top:9px;border-top:1px solid #ffffff0b}.achievement-tile>details>summary{font-size:.65rem;cursor:pointer;color:var(--muted)}.achievement-tile .achievement-step{font-size:.67rem;line-height:1.5;padding:6px 0;margin:0;color:var(--muted)}.achievement-step.locked{filter:grayscale(1);color:#8b9098!important}.achievement-celebration-crest{width:110px;height:110px;margin:0 auto 14px;--emblem-color:#e2c685;--emblem-core:#3b3440}.achievement-celebration h2{font-size:1.1rem}.achievement-celebration{padding-top:28px}.achievement-celebration-crest .achievement-emblem{filter:drop-shadow(0 0 16px #d3b77230)}#personalRecords:empty{display:none}
@media(max-width:380px){.achievement-grid{grid-template-columns:minmax(0,1fr)}.achievement-tile{padding:14px}.achievement-tile-crest{width:58px;height:58px}}
.medallion-honor{position:absolute;inset:-18%;pointer-events:none;z-index:6;overflow:visible;color:#cfb5ec}.honor-art{display:block;width:100%;height:100%;overflow:visible;fill:none;stroke:currentColor;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 3px #c5a8e02e)}.honor-lines{opacity:.4;stroke-width:.6}.honor-stars{fill:currentColor;stroke-width:.4;animation:honor-starlight 5s ease-in-out infinite}.honor-laurels{color:#c6b88b;stroke-width:1.1}.honor-runes{color:#b8cbd8;animation:honor-orbit 55s linear infinite}.honor-comets{color:#d0c1ee;animation:honor-orbit 17s linear infinite}.honor-comets circle{fill:currentColor;stroke:none}.honor-orbit{stroke-width:.35;opacity:.18}.honor-trail{stroke-width:1.4;stroke-dasharray:1 2;opacity:.6}.honor-crown{color:#dfc991;stroke-width:1.1}.honor-aurora-back{stroke:#9bc3d2;stroke-width:1;stroke-dasharray:20 15;opacity:.5}.honor-aurora-front{stroke:#c2a5e0;stroke-width:2;stroke-dasharray:14 48;stroke-dashoffset:18;animation:honor-current 14s linear infinite}.honor-preview{display:flex;align-items:center;gap:20px;min-width:0;padding:20px 8px 6px;grid-column:1/-1}.honor-preview-medal{position:relative;display:grid;place-items:center;flex:0 0 54px;height:54px;border-radius:50%;border:2px solid #a8976d;background:radial-gradient(circle at 35% 25%,#334756,#14212c);color:#ebdab2;font-family:Georgia,serif}.honor-preview>div:last-child{min-width:0}.honor-preview small{font-size:.65rem;color:var(--muted)}.honor-preview p{font-size:.73rem;line-height:1.45;margin:3px 0 0}.honor-preview .medallion-honor{inset:-16%}@keyframes honor-orbit{to{transform:rotate(360deg)}}@keyframes honor-current{to{stroke-dashoffset:-230}}@keyframes honor-starlight{0%,100%{opacity:.45}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.honor-art,.honor-stars,.honor-aurora-front{animation:none!important}}

/* Optional fourth calendar size; existing choices and defaults are unchanged. */
html[data-calendar-size="mini"] body .calendar-card{padding:10px!important}html[data-calendar-size="mini"] .calendar-grid,html[data-calendar-size="mini"] .calendar-weekdays{gap:3px!important}html[data-calendar-size="mini"] .calendar-day{height:24px!important;min-height:24px!important;aspect-ratio:auto!important;font-size:.65rem!important;border-radius:5px}html[data-calendar-size="mini"] .calendar-weekdays{font-size:.58rem!important;margin:4px 0!important;letter-spacing:.02em}html[data-calendar-size="mini"] .calendar-heading{padding-bottom:6px!important;margin-bottom:6px;gap:8px}html[data-calendar-size="mini"] #calendarMonth{font-size:.9rem!important;margin-top:0}html[data-calendar-size="mini"] .month-controls{gap:4px}html[data-calendar-size="mini"] .month-controls button{width:28px;min-height:28px;height:28px;padding:0;font-size:1rem}html[data-calendar-size="mini"] .calendar-day small{font-size:.5rem;line-height:1}html[data-calendar-size="mini"] .calendar-card .eyebrow{font-size:.55rem}html[data-calendar-size="mini"] .calendar-card .calendar-legend{margin-top:8px;font-size:.6rem;gap:4px 8px}

/* Identical search geometry in both exercise sub-tabs, independent of form defaults. */
html body #tab-progress :is(#exerciseSearch,#timerExerciseSearch){box-sizing:border-box!important;display:block;width:100%;min-width:0;height:36px!important;min-height:36px!important;max-height:36px!important;margin:0!important;padding:7px 12px!important;border-width:1px!important;border-style:solid;font-size:16px!important;line-height:20px!important;-webkit-appearance:none;appearance:none;vertical-align:middle}html body #tab-progress .exercise-search{gap:6px!important;line-height:1.4}html body #tab-progress .exercise-search>span{display:block;margin:0;padding:0;line-height:1.4}
/* Buff-only colors do not alter the underlying skin or base animation. */
html[data-buff-effects-version="2"] .rested-glow>.rested-sparkles{display:none!important}.medallion-honor .honor-art{color:var(--buff-effect-color,#eadbff)!important;filter:drop-shadow(0 0 3px color-mix(in srgb,var(--buff-effect-color,#eadbff) 28%,transparent))}.medallion-honor :is(.honor-aurora-back,.honor-aurora-front){stroke:currentColor}.buff-shiny path{fill:currentColor;stroke:none;animation:buff-glint 5s ease-in-out infinite}.buff-stardust{fill:currentColor;stroke:none;transform-origin:50px 50px;animation:honor-orbit 40s linear infinite}.buff-prism{fill:color-mix(in srgb,currentColor 8%,transparent);transform-origin:50px 50px;animation:honor-orbit 30s linear infinite}.buff-circuit{stroke-dasharray:15 5;animation:buff-circuit-flow 10s linear infinite}.buff-solar{transform-origin:50px 50px;animation:honor-orbit 60s linear infinite;stroke-width:.75}.buff-embers path{fill:currentColor;stroke:none;animation:buff-ember-drift 6s ease-out infinite}.buff-crystals{fill:color-mix(in srgb,currentColor 7%,transparent);stroke-width:.8}#buffEffectColor{display:block;width:100%;height:36px;min-height:36px;padding:6px 12px;font-size:16px;color:var(--text);box-sizing:border-box;border:1px solid var(--line);border-radius:8px;background:var(--raised)}@keyframes buff-glint{0%,100%{opacity:.2}45%{opacity:1}}@keyframes buff-circuit-flow{to{stroke-dashoffset:-80}}@keyframes buff-ember-drift{0%{opacity:0;transform:translateY(3px)}25%{opacity:.9}100%{opacity:0;transform:translateY(-18px)}}@media(prefers-reduced-motion:reduce){.medallion-honor *{animation:none!important}}

/* Shared light lavender with the medallion shine, across UI styles. */
:root .tab-panel .add-today-card{border-color:#eadbff!important}

.medallion-honor[data-buff-tier="2"]{inset:-25%}.medallion-honor[data-buff-tier="3"]{inset:-33%}.medallion-honor[data-buff-tier="2"] .honor-art{filter:drop-shadow(0 0 4px color-mix(in srgb,var(--buff-effect-color) 45%,transparent))}.medallion-honor[data-buff-tier="3"] .honor-art{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--buff-effect-color) 65%,transparent))}.buff-tier-orbit{fill:currentColor;stroke-width:.5;transform-origin:50px 50px;animation:honor-orbit 24s linear infinite}.buff-tier-trace{stroke-dasharray:4 10;opacity:.6;animation:honor-current 18s linear infinite}.buff-tier-rays{stroke-width:1.2;transform-origin:50px 50px;animation:honor-orbit 48s linear reverse infinite}.buff-tier-outer{opacity:.25;stroke-width:.6;stroke-dasharray:22 8}.honor-preview:has([data-buff-tier="3"]){padding-block:28px 14px;gap:30px}

/* WotLK-inspired silhouettes: keep the center open for the level numeral. */
.class-buff{stroke-width:1;opacity:.9}.class-plume,.class-blade,.class-leaf,.class-beast,.class-demon{fill:currentColor;fill-opacity:.18;stroke:currentColor}.class-detail{fill:none;stroke-width:.65;opacity:.65}.class-buff-left,.class-buff-right{transform-box:view-box;transform-origin:0 0}.class-plume{animation:class-light 5s ease-in-out infinite}.class-energy{stroke-dasharray:14 5;animation:class-flow 6s linear infinite}.class-claws{stroke-width:1.5;animation:class-light 3.6s ease-in-out infinite}.class-blood-flame{fill:currentColor;fill-opacity:.2;stroke-width:1.1;animation:class-flame 3s ease-in-out infinite;transform-origin:center;transform-box:fill-box}.class-rain path{stroke-width:.8;animation:class-rain 4s linear infinite}.class-leaf{animation:class-light 7s ease-in-out infinite}.class-frost-ring{opacity:.5;stroke-dasharray:2 8;animation:class-flow 20s linear infinite}.class-halo{fill:none;stroke-width:1.3;animation:class-light 4s ease-in-out infinite}.class-shadow{fill:currentColor;fill-opacity:.18;stroke-opacity:.5;animation:class-light 5s ease-in-out infinite}.class-smoke{stroke-dasharray:9 8;opacity:.45;animation:class-flow 9s linear infinite}.class-horn{stroke-width:1.5}.class-rune{stroke-width:1.2;animation:class-light 6s ease-in-out infinite}.class-ice{stroke-width:.9}.medallion-honor:has(.class-buff){z-index:4}.honor-preview:has(.class-buff){gap:30px;padding-inline:14px}.honor-preview:has(.class-buff) .honor-preview-medal{flex-basis:64px;height:64px}@keyframes class-light{0%,100%{opacity:.55}50%{opacity:1}}@keyframes class-flow{to{stroke-dashoffset:-76}}@keyframes class-flame{0%,100%{opacity:.55;transform:scaleY(.96)}50%{opacity:1;transform:scaleY(1.04)}}@keyframes class-rain{0%{opacity:0;transform:translateY(-4px)}30%{opacity:.8}100%{opacity:0;transform:translateY(8px)}}@media(prefers-reduced-motion:reduce){.class-buff *{animation:none!important}}

/* Pair S1 with its checkbox; separate that pair from the repetition controls. */
html[data-series-label-spacing] .exercise-card[data-series-orientation="vertical"] .series-row{column-gap:0!important}
html[data-series-label-spacing] .exercise-card[data-series-orientation="vertical"] .series-row>input[type="checkbox"]{margin-inline-end:var(--series-label-gap,4px)!important}
html[data-series-label-spacing] .exercise-card[data-series-orientation="vertical"] .series-row>strong{margin-inline-end:calc(var(--series-label-gap,4px) + 8px);justify-self:start}

html .level-medallion>.medallion-honor{display:block;visibility:visible;overflow:visible;pointer-events:none}.permanent-reward.buff-inactive>summary{color:var(--muted);opacity:.65}.permanent-reward p,.buff-readiness-info{white-space:pre-line}

/* Buffs are siblings of native buttons, never clipped inside their paint box. */
html .medallion-buff-host{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:max-content;height:max-content;min-width:0;min-height:0;overflow:visible;isolation:isolate;vertical-align:middle}
html .medallion-buff-host>.level-medallion{position:relative;flex-shrink:0;z-index:1}
html .medallion-buff-host>.medallion-honor{position:absolute;inset:-18%;display:block;visibility:visible;overflow:visible;pointer-events:none;z-index:2;line-height:0}
html .medallion-buff-host>.medallion-honor[data-buff-tier="2"]{inset:-25%}
html .medallion-buff-host>.medallion-honor[data-buff-tier="3"]{inset:-33%}
html .medallion-buff-host>.medallion-honor>svg{display:block;width:100%;height:100%;max-width:none;max-height:none;overflow:visible;fill:none;stroke:currentColor;stroke-width:1;opacity:1}
.dual-level .medallion-buff-host{align-self:center;justify-self:center}

.progress-item .configure-progress-exercise{display:inline-flex;align-items:center;min-height:32px;max-width:100%;border:0;border-radius:5px;padding:0;background:transparent;font:inherit;font-weight:750;color:inherit;text-align:left!important;white-space:normal;cursor:pointer}.progress-item .configure-progress-exercise>span{overflow-wrap:anywhere}.progress-item .configure-progress-exercise:focus-visible{outline:2px solid var(--accent);outline-offset:4px}

.hp-card .section-head{flex-wrap:wrap;align-items:baseline;gap:6px 12px}.career-xp-live{flex:0 0 auto;margin-inline-start:auto;color:var(--muted);font-size:.68rem;line-height:1.3;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;max-width:100%}
.xp-journal-dialog{box-sizing:border-box;width:min(620px,calc(100vw - 48px));max-width:calc(100vw - 48px);max-height:calc(100dvh - 80px);margin:auto;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--card);color:var(--text);overflow:auto;overscroll-behavior:contain}.xp-journal-dialog>h2{font-size:1.05rem}.xp-journal-dialog>button{margin:10px 0}.xp-journal-day{padding:12px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.xp-journal-day>summary{cursor:pointer;font-size:.86rem;font-weight:650}.xp-journal-day p{font-size:.75rem;line-height:1.5;margin:8px 0}.xp-journal-day>button{min-height:36px;padding:7px 10px;font-size:.76rem;margin:8px 0}.xp-journal-edit{display:grid;gap:10px;margin:10px 0}.xp-journal-edit[hidden]{display:none}.xp-journal-edit label{display:grid;gap:5px;font-size:.8rem}.xp-journal-edit input{box-sizing:border-box;width:100%;min-width:0;max-width:100%;font-size:16px;padding:9px;border:1px solid var(--line);border-radius:8px;background:var(--raised);color:var(--text)}.xp-journal-breakdown{color:var(--text)}
/* Solo Leveling · Obsidiana — silver on near-black, independent of UI composition. */
html[data-theme="solo-obsidian"]{color-scheme:dark;--bg:#08090b;--surface:#0b0c0f;--card:#111316;--raised:#1b1e23;--text:#edf0f4;--muted:#a0a6b0;--line:#333840;--accent:#c5cbd6;--accent-soft:#242830;--bad:#db8f9d}
html[data-theme="solo-obsidian"] body{background:radial-gradient(ellipse at 50% 0,#23262c55,transparent 55%),#08090b}
html .level-medallion[data-medallion-skin="solo-obsidian"]{--medal-progress-a:#606976;--medal-progress-b:#bfc8d5;--medal-highlight:#f2f5fa;--medal-track:#292d34;--medal-edge:#7c8592;--medal-inner-edge:#cbd2dd;--medal-outline:#08090b;--medal-core-edge:#777f8c;--medal-core-light:#353d49;--medal-core-mid:#181d25;--medal-core-dark:#080b10;--medal-glow:#aabbd52b;--medal-prestige-edge:#e2e8f1;--medal-engraving:repeating-conic-gradient(from 0deg,transparent 0deg 29deg,#b9c6dd22 29deg 30deg);color:#f2f5fa;background:conic-gradient(from -90deg,#606976 0deg,#bfc8d5 var(--xp-mid,0deg),#f2f5fa var(--xp-progress,0deg),#292d34 var(--xp-progress,0deg) 360deg);box-shadow:0 0 0 1px #7c8592,0 0 15px #aabbd52b}
html .level-medallion[data-medallion-skin="solo-obsidian"]>span{border-color:#777f8c;background:radial-gradient(circle at 40% 25%,#353d49,#080b10 75%);box-shadow:inset 0 0 0 1px #cbd2dd22}
html .condition-medallion[data-medallion-skin="solo-obsidian"]{--condition-energy:#d5dae3;--condition-track:#30343c}
html[data-daily-progress-skin="solo-obsidian"] .hp-track,html[data-theme="solo-obsidian"][data-daily-progress-skin="inherit"] .hp-track{border-color:#626a77;background:#080b10;box-shadow:inset 0 2px 6px #0009}
html[data-daily-progress-skin="solo-obsidian"] .hp-track>div{background:linear-gradient(90deg,#596371,#d1d9e6);box-shadow:inset 0 1px #fff8}
html[data-calendar-skin="solo-obsidian"] .calendar-day{border-color:#8f9ba94d;box-shadow:inset 0 1px #e6edfa16}
html[data-calendar-skin="solo-obsidian"] .calendar-day.current{outline-color:#d4dce9}
html[data-calendar-skin="solo-obsidian"] .calendar-day.complete{box-shadow:inset 0 0 0 1px #d4dce9}
html[data-tabata-skin="solo-obsidian"] :is(.timer-mini,.timer-disclosure){background:linear-gradient(145deg,#20242b,#090b0f);border-color:#59616e;box-shadow:inset 0 1px #e6edfa16}
html[data-tabata-skin="solo-obsidian"] .routine-timer-bar{background:#080b10;border-color:#59616e}
html[data-tabata-skin="solo-obsidian"] .routine-timer-bar i{background:linear-gradient(90deg,#596371,#d1d9e6)}
/* Speed uses the player's selected typeface, without label tracking or native font drift. */
html .workout-timer-controller .timer-speed select{font-family:inherit!important;font-style:normal;font-weight:600;letter-spacing:normal;text-transform:none;font-variant-numeric:normal;line-height:1.2}
html .workout-timer-controller .timer-speed option{font-family:inherit;font-style:normal;letter-spacing:normal}
/* Obsidiana keeps the Solo identity in the accents, with charcoal surfaces. */
html[data-theme="solo-obsidian"]{--accent:#b79ae9;--accent-soft:#292233;--line:#3d354b}
html[data-theme="solo-obsidian"] body{background-color:#08090b;background-image:radial-gradient(ellipse 85% 520px at 50% 0,#4e435c55,transparent 80%),linear-gradient(180deg,#17151c,#08090b 760px);background-repeat:no-repeat;background-size:100% 760px}
html[data-theme="solo-obsidian"] .tabs{background:linear-gradient(180deg,#19151ff7,#0b0a10fa);border-color:#6b537d66}
html[data-theme="solo-obsidian"] .tab.active{box-shadow:inset 0 0 0 1px #b79ae955,0 0 16px #a37bdf18}
html[data-theme="solo-obsidian"] :is(.exercise-card,.progress-item){border-color:#61517377;box-shadow:inset 2px 0 #a582d64d,inset 0 1px #d7c2f412,0 8px 24px #0004}
html[data-theme="solo-obsidian"] .save-btn{background:#75618f;border-color:#ad8ad044;color:#faf7ff}
html[data-theme="solo-obsidian"] .rating button.selected{border-color:#ab88db99;background:#2c2439;color:#d7bafa}
html .level-medallion[data-medallion-skin="solo-obsidian"]{--medal-progress-a:#77618e;--medal-progress-b:#c5a9e5;--medal-highlight:#eee5fa;--medal-glow:#a57bde33}
html[data-daily-progress-skin="solo-obsidian"] .hp-track{border-color:#827092}
html[data-daily-progress-skin="solo-obsidian"] .hp-track>div{background:linear-gradient(90deg,#78628f,#d1b7eb)}
html[data-tabata-skin="solo-obsidian"] :is(.timer-mini,.timer-disclosure){border-color:#78618b77;box-shadow:inset 0 1px #dcc4f21c,0 0 20px #a47bd00b}
/* One icon family for series actions: equal canvas, stroke and optical alignment. */
html{--series-action-icon-size:16px}
html[data-series-stepper-font-size="small"]{--series-action-icon-size:14px}
html[data-series-stepper-font-size="large"]{--series-action-icon-size:18px}
html .exercise-card .rep-stepper>button{place-items:center}
html .exercise-card .series-control-icon{display:block;width:var(--series-action-icon-size);height:var(--series-action-icon-size);margin:auto;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;opacity:.9}
html .exercise-card .load-picker>summary:after{width:var(--series-action-icon-size);height:var(--series-action-icon-size);right:calc(17px - var(--series-action-icon-size)/2);top:50%;border:0!important;background:currentColor;opacity:.9;transform:translateY(-50%);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 6 5 5 5-5' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 6 5 5 5-5' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
html .exercise-card .load-picker[open]>summary:after{transform:translateY(-50%) rotate(180deg)}
/* Four configuration destinations form a balanced 2 × 2 grid at every width. */
html .config-tabs{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
html .config-tabs>.config-tab{grid-column:auto;min-width:0;white-space:normal;padding:9px 10px;line-height:1.35}
/* Settings is a quiet header action; the bottom rail contains four primary destinations. */
.settings-shortcut{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:10px;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer}
.settings-shortcut svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.settings-shortcut.active{color:var(--accent);background:var(--accent-soft)}
.settings-shortcut:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
html .tabs>.tab{max-width:none}
@media(hover:hover){.settings-shortcut:hover{color:var(--text);background:var(--raised)}}
/* The selected date is the same history row, without the former card padding. */
#calorieSelectedDay{margin:0;padding:0}
#calorieSelectedDay .calorie-entry{margin-inline:14px}
.daily-check-in-dialog{width:min(380px,calc(100vw - 48px));padding:32px 22px 22px;position:fixed;text-align:center}
.daily-check-in-dialog h2{font-size:1.15rem;margin:8px 0}.daily-check-in-dialog .check-in-date{font-size:.78rem;margin-bottom:22px}
.daily-check-in-close{position:absolute;top:6px;right:6px;width:36px;height:36px;border:0;background:transparent;color:var(--muted);font-size:24px;padding:0}
.daily-check-in-answers{display:grid;grid-template-columns:1fr 1fr;gap:10px}.daily-check-in-answers button{min-height:46px;border:1px solid var(--line);border-radius:10px;background:var(--raised);color:var(--text);font-weight:600}.daily-check-in-answers button:first-child{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.check-in-error{font-size:.8rem;color:var(--bad);margin-top:10px}.personal-check-in-log{margin-top:18px;border:1px solid var(--line);border-radius:12px;padding:0 14px}.personal-check-in-log>summary{font-size:.85rem}.personal-check-in-log>div{padding-bottom:14px}.personal-check-in-log label{display:flex;align-items:center;gap:8px;font-size:.8rem}.personal-check-in-log input{width:20px;height:20px;accent-color:var(--accent)}.personal-check-in-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.8rem}.personal-check-in-row strong{color:var(--text)}
/* Settings is a modal window, with its own scrolling and a persistent gear to close it. */
html body dialog.settings-window{width:min(680px,calc(100vw - 48px));margin:auto;padding:0!important;overflow:hidden!important}
.settings-window-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;border-bottom:1px solid var(--line)}
.settings-window-header h2{margin:0;font-size:1.1rem}.settings-window-header .settings-shortcut{flex:0 0 44px}
.settings-window-scroll{max-height:calc(85dvh - 80px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:4px 16px 20px}
.settings-window .settings-content{display:block;min-width:0}.settings-window .config-tabs{margin-top:12px}.settings-window :is(fieldset,form,label){min-width:0}
html.settings-modal-open{overscroll-behavior:none}
@media(max-width:380px){.settings-window-header{padding-inline:12px}.settings-window-scroll{padding-inline:12px}}
/* Softer settings gear while preserving focus and hover feedback. */
.settings-shortcut svg{opacity:.68}
.settings-shortcut:is(:hover,:focus-visible) svg{opacity:.9}
.check-in-calendar{width:100%;max-width:280px;margin:14px auto 0}.check-in-calendar-heading{display:grid;grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;gap:8px;margin-bottom:10px}.check-in-calendar-heading strong{text-align:center;font-size:.8rem;text-transform:capitalize;font-weight:600}.check-in-calendar-heading button{width:32px;height:32px;min-height:32px;padding:0;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--muted);font-size:20px}
.check-in-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.check-in-weekday{text-align:center;font-size:.6rem;color:var(--muted);padding:3px 0 7px}
html .check-in-calendar-day{position:relative;min-width:0;min-height:30px;height:30px;padding:2px 0 7px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);font:inherit;font-size:.72rem;font-variant-numeric:tabular-nums;line-height:1}
.check-in-calendar-day[data-status="yes"]{color:var(--text);background:color-mix(in srgb,var(--accent) 10%,transparent)}.check-in-calendar-day[data-status="no"]{color:var(--text)}.check-in-calendar-day:not([data-status="empty"])::after{content:'';position:absolute;bottom:3px;left:calc(50% - 2px);width:4px;height:4px;border-radius:50%;background:var(--accent)}.check-in-calendar-day[data-status="no"]::after{background:transparent;border:1px solid var(--muted)}.check-in-calendar-day[aria-current="date"]{border-color:var(--line)}.check-in-calendar-day[aria-pressed="true"]{border-color:var(--accent)}
.check-in-calendar-legend{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 14px;margin-top:12px;font-size:.62rem;color:var(--muted)}.check-in-calendar-legend span{display:flex;align-items:center;gap:5px}.check-in-calendar-legend i{width:5px;height:5px;border-radius:50%;background:var(--accent)}.check-in-calendar-legend i[data-status="no"]{background:transparent;border:1px solid var(--muted)}.check-in-calendar-detail{text-align:center;font-size:.72rem;color:var(--text);margin-top:10px!important}
#config-profile .personal-check-in-log label{display:flex;align-items:center;gap:8px;font-size:.8rem}
#config-profile .personal-check-in-log input[type="checkbox"]{flex:0 0 18px;width:18px;height:18px;min-height:18px;padding:0;margin:0}
/* Explicit SVG bounds avoid percentage sizing failures in the iOS compositor. */
html .medallion-buff-host>.medallion-honor{opacity:1;visibility:visible;contain:none;clip-path:none;mask:none;-webkit-mask:none}
html .medallion-buff-host>.medallion-honor>.honor-art{position:absolute;inset:0;min-width:0;min-height:0;stroke-width:1.2;opacity:1;visibility:visible}
@keyframes buff-glint{0%,100%{opacity:.45}45%{opacity:1}}
/* Quiet modal close action: retain its touch target without a filled circular badge. */
html body #closeSettingsWindow.settings-shortcut{background:transparent!important;border:0!important;box-shadow:none!important;color:var(--muted)!important;outline:none;padding:12px}
#closeSettingsWindow.settings-shortcut svg{width:20px;height:20px;opacity:.55}
html body #closeSettingsWindow.settings-shortcut:focus-visible{outline:1px solid color-mix(in srgb,var(--muted) 45%,transparent);outline-offset:-7px;border-radius:9px}
@media(hover:hover){#closeSettingsWindow.settings-shortcut:hover svg{opacity:.8}}
.settings-window-header h2:focus{outline:none}

/* Compact active buff caption shares the existing progress-row footprint. */
html .medallion-buff-host>.buff-exp-caption{position:absolute;left:calc(100% + var(--buff-label-gap,12px));top:calc(50% + var(--buff-label-offset,14px));font-family:inherit;font-size:var(--buff-label-font,10px);font-weight:500;line-height:1.2;letter-spacing:.015em;white-space:nowrap;pointer-events:none;opacity:.9}

html #permanentMedallion .medallion-buff-host>.buff-exp-caption{left:50%;top:calc(100% + 4px);transform:translateX(-50%);font-size:var(--buff-label-font,10px)}

html .medallion-buff-host>.level-medallion{margin:0!important;box-sizing:border-box}
/* Calendar-like routine events: only the title lives on the weekly board. */
html #routineConfig .routine-config-row.slot-row{display:block!important;min-height:0!important;padding:0!important;border-radius:8px!important;overflow:visible!important;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line))!important;background:color-mix(in srgb,var(--accent) 9%,var(--card))!important;box-shadow:inset 3px 0 color-mix(in srgb,var(--accent) 72%,transparent)!important}
html #routineConfig .routine-event-name{display:block;width:100%;min-height:42px;margin:0;padding:11px 12px 11px 15px;border:0!important;background:transparent!important;box-shadow:none!important;border-radius:8px;color:var(--text);font-family:inherit;font-size:.78rem;font-weight:600;line-height:1.35;text-align:left;white-space:normal;overflow-wrap:anywhere;cursor:grab;touch-action:pan-x pan-y;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}
html #routineConfig .routine-event-name:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
html #routineConfig .routine-event-details[hidden]{display:none!important}
html[data-routine-builder-layout="days-vertical-exercises-horizontal"] #routineConfig .routine-day-list{grid-auto-columns:minmax(150px,210px)!important;align-items:start!important;gap:8px!important}
html[data-routine-builder-layout="days-horizontal-exercises-vertical"] #routineConfig{grid-auto-columns:minmax(165px,min(220px,64vw))!important;gap:10px!important}
html #routineConfig .routine-day.drop-target{outline:2px solid var(--accent);outline-offset:-2px}
html #routineConfig .slot-row.touch-dragging,html #routineConfig .slot-row.dragging{opacity:.35}
.routine-event-ghost{position:fixed;z-index:2147483646;pointer-events:none;transform:translate(-50%,-115%);width:max-content;max-width:220px;padding:12px 16px;border:1px solid var(--accent);border-radius:8px;background:var(--card);color:var(--text);font-family:inherit;font-size:.8rem;font-weight:600;line-height:1.3;box-shadow:0 10px 28px #0008;opacity:.95}
html dialog.routine-event-dialog{box-sizing:border-box;width:min(460px,calc(100vw - 48px));max-width:calc(100vw - 48px);max-height:calc(85dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom));margin:auto;padding:18px!important;border:1px solid var(--line);border-radius:18px;background:var(--card);color:var(--text);overflow:auto!important;overscroll-behavior:contain;box-shadow:0 20px 70px #0009}
.routine-event-dialog::backdrop{background:#06080b99;backdrop-filter:blur(6px)}
.routine-event-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.routine-event-dialog h2{font-size:1rem;line-height:1.3;margin:0}
.routine-event-dialog .routine-event-close{flex:0 0 36px;width:36px;min-height:36px;padding:0;font-size:24px;color:var(--muted)}
.routine-event-dialog .routine-slot-summary{display:block!important;min-height:0!important;margin-bottom:16px}
.routine-event-dialog .routine-slot-summary strong{display:none}
.routine-event-dialog .routine-slot-summary small{display:block;font-size:.8rem;line-height:1.5;color:var(--muted)}
.routine-event-dialog .routine-slot-actions{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:10px;align-items:end;margin-bottom:16px}
.routine-event-dialog .routine-slot-actions label{display:grid;gap:5px;font-size:.75rem}
.routine-event-dialog .routine-slot-actions select{width:100%;min-height:40px}
.routine-event-dialog .slot-editor>summary{cursor:pointer;padding:12px 0;border-top:1px solid var(--line);font-weight:600;font-size:.85rem}
.routine-event-dialog .routine-prescription-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.routine-event-dialog .routine-prescription-editor label{display:grid;gap:5px;font-size:.75rem;min-width:0}
.routine-event-dialog .routine-prescription-editor :is(input:not([type=checkbox]),select){box-sizing:border-box;width:100%;min-height:42px;font-size:16px;padding:7px}
.routine-event-dialog .slot-gear-label,.routine-event-dialog .slot-rest-progressive{grid-column:1/-1}
html #routineConfig .routine-event-name{touch-action:pan-x pan-y!important}
.timer-coaching-settings{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--card)}
.timer-coaching-settings>summary{font-size:.9rem;font-weight:600;cursor:pointer}
.timer-coaching-settings form{display:grid;gap:14px;margin-top:16px}
.timer-coaching-settings label{display:grid;gap:6px;font-size:.8rem;min-width:0}
.timer-coaching-settings label:has(input[type=checkbox]){display:flex;align-items:center;gap:8px}
.timer-coaching-settings :is(select,input:not([type=checkbox])){width:100%;box-sizing:border-box;min-height:42px;font:inherit;font-size:16px}
.timer-coaching-settings p{font-size:.73rem;line-height:1.45}

/* Next is the immediate phase; Coming up is the next exercise block. */
html .routine-timer-next{display:grid;gap:3px;min-width:0}
html .routine-timer-next>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.67rem;line-height:1.35;min-width:0}
html .routine-timer-next b{font-weight:500;opacity:.72}
html[data-timer-presentation="hud"] :is([data-timer-hud-scope="both"] .today-pinned,[data-timer-hud-scope="sticky"] .today-pinned.is-pinned,[data-timer-hud-scope="fixed"] .today-pinned:not(.is-pinned)) .timer-mini .routine-timer-next.routine-timer-next{display:grid!important;grid-column:1/-1!important;grid-row:3!important;margin:2px 0!important;gap:2px!important}
html[data-timer-presentation="hud"] :is([data-timer-hud-scope="both"] .today-pinned,[data-timer-hud-scope="sticky"] .today-pinned.is-pinned,[data-timer-hud-scope="fixed"] .today-pinned:not(.is-pinned)) .timer-mini .extend-rest{grid-row:4!important}
html .today-pinned.is-pinned .timer-mini .routine-timer-next{grid-column:2;grid-row:1;margin:0}
html .today-pinned.is-pinned .timer-mini .routine-timer-next>span{font-size:10px}

/* Optional missed-day treatments: scoped to missed dates, independent of theme. */
html[data-calendar-missed="wine-stripes"] .calendar-day.missed{background:repeating-linear-gradient(135deg,transparent 0 7px,#92969e55 7px 9px),#351d24!important;border-color:#70424c!important}
html[data-calendar-missed="wine-solid"] .calendar-day.missed{background:#351d24!important;border-color:#70424c!important}
html[data-calendar-missed="wine-dots"] .calendar-day.missed{background:radial-gradient(circle,#a7a9b055 1px,transparent 1.4px) 0 0/7px 7px,#351d24!important;border-color:#70424c!important}
html[data-calendar-missed="slate-stripes"] .calendar-day.missed{background:repeating-linear-gradient(135deg,#252930 0 7px,#656b7544 7px 9px)!important;border-color:#545b66!important}
html[data-calendar-missed="wine-inset"] .calendar-day.missed{background:#1b1d23!important;border-color:#70424c!important;box-shadow:inset 0 0 0 2px #8b4b5a88!important}
html:is([data-calendar-missed="wine-stripes"],[data-calendar-missed="wine-solid"],[data-calendar-missed="wine-dots"],[data-calendar-missed="slate-stripes"],[data-calendar-missed="wine-inset"]) .calendar-day.missed{color:#f4ecef!important}

.daily-check-in-answers button[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft);color:var(--text);box-shadow:inset 0 0 0 1px var(--accent)}.check-in-editor-actions{display:flex;gap:10px;margin-top:16px}.check-in-editor-actions button{flex:1;min-width:0}.check-in-confirmation{margin-top:12px}.check-in-calendar-day:disabled{opacity:.3;cursor:default}

.settings-search{margin:0 0 18px}.settings-search>label{display:block;font-size:.8rem;color:var(--muted);margin-bottom:6px}.settings-search-field{display:flex;align-items:center;border:1px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden}.settings-search-field input{min-width:0;width:100%;min-height:44px;background:transparent;border:0;padding:10px 12px;color:var(--text);font:inherit;font-size:16px}.settings-search-field button{width:40px;min-height:40px;background:transparent;border:0;color:var(--muted);font-size:22px}.settings-search-status{font-size:.78rem;color:var(--muted);margin-top:8px}.settings-search-status:empty{display:none}.settings-search-results{display:grid;gap:6px;max-height:38dvh;overflow:auto;overscroll-behavior:contain}.settings-search-result{display:grid;gap:3px;text-align:left;padding:11px 12px;border:1px solid var(--line);border-radius:10px;color:var(--text);background:var(--card)}.settings-search-result strong{font-size:.85rem}.settings-search-result small{font-size:.72rem;color:var(--muted)}.settings-search-highlight{outline:2px solid var(--accent)!important;outline-offset:4px}

html[data-calendar-missed-line-width="medium"]{--missed-stripe-gap:7px;--missed-stripe-period:11px}html[data-calendar-missed-line-width="thick"]{--missed-stripe-gap:8px;--missed-stripe-period:14px}
html:is([data-calendar-missed-line-width="medium"],[data-calendar-missed-line-width="thick"])[data-calendar-missed="vertical-stripes"] .calendar-day.missed{background:repeating-linear-gradient(90deg,#020304 0 var(--missed-stripe-gap),#4a4d52 var(--missed-stripe-gap) var(--missed-stripe-period))!important}
html:is([data-calendar-missed-line-width="medium"],[data-calendar-missed-line-width="thick"]):is([data-calendar-missed="diagonal-stripes"],[data-calendar-missed="stripes"]) .calendar-day.missed{background:repeating-linear-gradient(135deg,#020304 0 var(--missed-stripe-gap),#4a4d52 var(--missed-stripe-gap) var(--missed-stripe-period))!important}
html:is([data-calendar-missed-line-width="medium"],[data-calendar-missed-line-width="thick"])[data-calendar-missed="wine-stripes"] .calendar-day.missed{background:repeating-linear-gradient(135deg,transparent 0 var(--missed-stripe-gap),#92969e55 var(--missed-stripe-gap) var(--missed-stripe-period)),#351d24!important}
html:is([data-calendar-missed-line-width="medium"],[data-calendar-missed-line-width="thick"])[data-calendar-missed="slate-stripes"] .calendar-day.missed{background:repeating-linear-gradient(135deg,#252930 0 var(--missed-stripe-gap),#656b7544 var(--missed-stripe-gap) var(--missed-stripe-period))!important}

.personal-log-access{display:inline-grid;place-items:center;vertical-align:middle;width:36px;height:36px;min-height:36px;padding:7px;margin-left:8px;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--muted);flex-shrink:0}.personal-log-access svg{width:20px;height:20px}.personal-log-access:hover{color:var(--text)}dialog.personal-check-in-window{width:calc(100% - 48px);max-width:380px;max-height:82dvh;margin:auto;padding:18px;overflow:auto;border:1px solid var(--line);border-radius:20px;background:var(--card);color:var(--text)}.personal-check-in-window::backdrop{background:#0009;backdrop-filter:blur(5px)}.personal-log-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.personal-log-heading h2{font-size:1.05rem}.personal-log-heading .icon-button{width:32px;height:32px;min-height:32px;flex-basis:32px}

.app-header .personal-log-access{order:0;flex:0 0 36px;margin:0;border:0;background:transparent;color:var(--muted);opacity:.7}.app-header .personal-log-access[hidden]{display:none!important}

html[data-home-primary-medallion="condition"] .today-pinned .hp-card .daily-progress-row>#accountLevel,html[data-home-primary-medallion="condition"] .today-pinned .hp-card .daily-progress-row>.medallion-buff-host:has(#accountLevel){display:none!important}html[data-home-primary-medallion="condition"] .today-pinned .hp-card #conditionLevel{display:block!important;order:-1}

/* One continuous numeral: avoid the misregistered split-ink overlay on liquid. */
html[data-condition-ring-style="fluid"] .condition-medallion .condition-liquid-number-submerged{display:none!important}
html[data-condition-ring-style="fluid"] .condition-medallion .condition-liquid-number text{fill:#fff!important;stroke:#071116!important;stroke-width:2.8!important;stroke-linejoin:round;paint-order:stroke fill;filter:none!important}

/* Negative status art uses sibling layers; never filter the numeral. */
.routine-debuff-art{position:absolute;inset:-18%;pointer-events:none;z-index:8;color:#d5737f}.routine-debuff-art svg{display:block;width:100%;height:100%;overflow:visible}.routine-debuff-art[data-effect="tears"]{color:#86b3d0}.routine-debuff-art[data-effect="bleeding"] svg,.routine-debuff-art[data-effect="tears"] svg{animation:debuff-fall 2.8s ease-in-out infinite}.routine-debuff-art[data-effect="smoke"]{color:#9a8da5;opacity:.65;filter:blur(.7px);animation:debuff-smoke 4s ease-in-out infinite}.routine-debuff-art[data-effect="dim"]{color:#7d8793;animation:debuff-fade 4s ease-in-out infinite}.routine-debuff-art[data-effect="chains"]{color:#9b9da8}.routine-debuff-art[data-effect="cracks"]{color:#d9a7a0}.routine-debuff-art[data-effect="thorns"]{color:#a08b9d}
.level-medallion[data-debuff="on"][data-debuff-effect="dim"]>.medallion-art{opacity:.4!important}.level-medallion[data-debuff="on"][data-debuff-effect="dim"]>span{background:radial-gradient(circle at 35% 25%,#222a32,#0b1016)!important}.level-medallion[data-debuff="on"][data-debuff-effect="dim"] .condition-liquid-fill{opacity:.4}.level-medallion[data-debuff="on"][data-debuff-effect="dim"]{box-shadow:0 0 4px #0008!important}
.routine-debuff-caption{position:absolute;z-index:12;top:calc(100% + 5px);left:50%;transform:translateX(-50%);white-space:nowrap;border:0;background:transparent;color:#dd8c97;font-size:9px;font-weight:700;line-height:1.2;padding:2px;cursor:pointer}.routine-debuff-caption~.buff-exp-caption{display:none}.medallion-buff-host:has(.routine-debuff-caption)>.buff-exp-caption{transform:translateX(-50%) translateY(12px)}
@keyframes debuff-fall{0%,100%{transform:translateY(-1px);opacity:.65}60%{transform:translateY(3px);opacity:1}}@keyframes debuff-smoke{0%,100%{transform:translateY(2px) scale(.98);opacity:.45}50%{transform:translateY(-3px) scale(1.04);opacity:.75}}@keyframes debuff-fade{0%,100%{opacity:.4}50%{opacity:.85}}@media(prefers-reduced-motion:reduce){.routine-debuff-art,.routine-debuff-art svg{animation:none!important}}

.debuff-preview{display:flex;align-items:center;gap:24px;padding:18px 12px}.debuff-preview-medal{position:relative;width:58px;height:58px;flex:0 0 58px;border:2px solid #8e7785;border-radius:50%;background:#15212a}.debuff-preview-medal>span{display:grid;place-items:center;width:100%;height:100%;background:transparent;color:#fff;font-size:22px;position:relative;z-index:10}.debuff-preview p{font-size:.85rem;color:var(--text)}.debuff-preview small{display:block;font-size:.75rem;color:var(--muted);margin-top:4px}html[data-home-primary-medallion="condition"] .today-pinned .hp-card .daily-progress-row>.medallion-buff-host:has(#conditionLevel){order:-1}

html[data-show-condition-medallion-home="off"]:not([data-home-primary-medallion="condition"]) .today-pinned .hp-card .medallion-buff-host:has(#conditionLevel){display:none!important}

html body #experiencePanel .permanent>div:nth-child(2){gap:2px!important}html body #experiencePanel .permanent-reward{flex:0 0 12px;width:12px!important;margin:0!important}html body #experiencePanel .permanent-reward>summary{width:12px!important;padding:0!important;font-size:12px!important;text-align:center;color:#decbfa;opacity:1}html body #experiencePanel .permanent-reward.debuff-active>summary{color:#e58b96!important;opacity:1}

#radarCalculationSettings{margin-top:14px;min-width:0}#radarCalculationSettings .muted{font-size:.75rem;white-space:pre-line;line-height:1.5}.radar-category-value.tone-neutral b{color:var(--muted)}

.calendar-day-calories{padding:14px;margin:14px 0;border:1px solid var(--line);border-radius:12px;background:var(--card)}.calendar-day-calories h3{font-size:.95rem;margin-bottom:10px}.calendar-calorie-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}.calendar-calorie-top b{font-size:.85rem}.calendar-day-calories p{font-size:.8rem;margin-top:7px}.calendar-day-calories small{display:block;font-size:.72rem;margin-top:8px}

.rep-stepper>input[type="hidden"]{display:none!important}.side-pair-inputs{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;min-width:0;height:100%;background:#191e1b;gap:0;position:relative}.side-pair-inputs>span{color:var(--muted);font-size:.9rem;line-height:1;pointer-events:none}html .exercise-card .rep-stepper .side-pair-inputs>input{box-sizing:border-box;width:100%;min-width:0;border:0!important;border-radius:0!important;background:transparent!important;text-align:center;min-height:var(--series-control-height,30px);height:100%;padding:4px 2px!important;font-family:inherit;font-weight:650;font-size:var(--series-value-font-size,1rem);color:var(--text)}.side-pair-inputs>input::-webkit-inner-spin-button{appearance:none}.side-pair-inputs>input:focus{outline-offset:-2px}.history-side-pair{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px}.history-side-pair input{width:100%;min-width:0}.history-side-pair label{min-width:0}

.side-pair-inputs:focus-within::after{content:attr(data-side-label);position:absolute;bottom:calc(100% + 3px);left:50%;transform:translateX(-50%);font-size:10px;line-height:1.2;padding:2px 5px;border-radius:4px;background:var(--raised);color:var(--muted);pointer-events:none;white-space:nowrap}

.priority-alert-settings>div{padding-top:12px}.priority-alert-settings label:not(.setting-toggle){display:grid;gap:6px;font-size:.85rem;margin:12px 0}.priority-alert-settings input[type="number"],.priority-alert-settings select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:10px;padding:8px;background:var(--raised);color:var(--text);font:inherit}.priority-alert-settings .setting-toggle{display:flex;align-items:center;gap:8px;margin:10px 0;font-size:.85rem}.priority-alert-settings input[type="checkbox"]{width:20px;height:20px;accent-color:var(--accent)}.priority-alert-settings fieldset{min-width:0;border:1px solid var(--line);border-radius:10px;padding:10px}.priority-alert-settings legend{font-size:.8rem;color:var(--muted)}.priority-status-list{font-size:.8rem;line-height:1.7;padding-left:18px;color:var(--muted)}
.priority-alert-dialog{width:min(400px,calc(100% - 48px));max-height:82dvh;overflow:auto;padding:22px;border:1px solid var(--line);border-radius:20px;background:var(--card);color:var(--text)}.priority-alert-dialog::backdrop{background:#0009;backdrop-filter:blur(5px)}.priority-alert-dialog h2{font-size:1.1rem;margin-bottom:10px}.priority-alert-dialog>.muted{font-size:.8rem}.priority-alert-list{display:grid;gap:8px;margin:16px 0}.priority-alert-list article{display:grid;grid-template-columns:1fr auto;gap:5px 12px;padding:12px;border:1px solid color-mix(in srgb,var(--bad) 25%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--bad) 4%,var(--card))}.priority-alert-list strong{font-size:.9rem}.priority-alert-list span{color:var(--bad);font-weight:700;font-size:.9rem}.priority-alert-list p{grid-column:1/-1;font-size:.75rem;color:var(--muted)}.priority-alert-actions{display:flex;gap:8px;margin-top:18px}.priority-alert-actions button{flex:1;min-width:0;font-size:.8rem}

/* Scale number outlines with numeral size in both home and modal medallions. */
html[data-condition-number-outline="none"]{--condition-outline-ratio:0;--condition-outline-em:0em}html[data-condition-number-outline="thin"]{--condition-outline-ratio:.04;--condition-outline-em:.04em}html[data-condition-number-outline="thick"]{--condition-outline-ratio:.095;--condition-outline-em:.095em}html[data-condition-number-outline="very-thick"]{--condition-outline-ratio:.145;--condition-outline-em:.145em}
html[data-condition-number-outline] .condition-medallion .condition-liquid-number text{stroke:#071116!important;stroke-width:calc(var(--medal-ink-height,44)*var(--condition-outline-ratio,.095))!important;stroke-linejoin:round;paint-order:stroke fill;filter:none!important}
html[data-condition-number-outline] .condition-medallion .medallion-level-number{-webkit-text-stroke-width:var(--condition-outline-em,.095em)!important;-webkit-text-stroke-color:#071116!important;paint-order:stroke fill;text-shadow:none!important}

.priority-alert-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.priority-alert-heading h2{margin:0;min-width:0}.priority-alert-heading .priority-alert-info{width:28px;height:28px;min-height:28px;flex:0 0 28px;border-radius:50%;font:italic 600 16px Georgia,serif;background:transparent}.priority-alert-dialog:not(.priority-alert-explanation) .priority-alert-list article{align-items:center;gap:8px}.priority-alert-explanation>p{margin:12px 0;font-size:.85rem}.priority-alert-explanation>.ghost{width:100%;margin-top:10px}

/* Compact priority notice actions */
.priority-alert-actions{justify-content:flex-end;gap:8px;margin-top:12px}.priority-alert-dialog .priority-alert-actions button,.priority-alert-explanation>button.ghost{flex:0 1 auto;width:auto;min-height:34px;height:34px;padding:0 12px;border-radius:9px;font-size:.75rem;line-height:1.2;font-weight:600}.priority-alert-explanation>button.ghost{display:block;margin:12px 0 0 auto}

/* Shared transport geometry keeps speed and playback on one vertical axis. */
html .workout-timer-controller .routine-timer-actions.transport{--transport-height:42px;align-items:center}
html[data-today-timer-size="compact"] .timer-mini .routine-timer-actions.transport{--transport-height:38px}
html[data-today-timer-size="slim"] .timer-mini .routine-timer-actions.transport{--transport-height:34px}
html .workout-timer-controller .routine-timer-actions.transport>button.icon-only{height:var(--transport-height)!important;min-height:var(--transport-height)!important;padding:0;align-self:center}
html .workout-timer-controller .routine-timer-actions.transport>.timer-speed{display:flex;align-items:center;align-self:center;min-width:0;height:var(--transport-height);margin:0!important;padding:0!important;line-height:1}
html .workout-timer-controller .routine-timer-actions.transport>.timer-speed select{display:block;box-sizing:border-box;width:100%;height:var(--transport-height);min-height:var(--transport-height);margin:0!important;padding:0 8px;vertical-align:middle;border-radius:10px}

/* Playback speed is a secondary control. */
html .workout-timer-controller .routine-timer-actions.transport>.timer-speed select{font-weight:400!important;font-size:.78rem;color:var(--muted)}

/* Header XP is optional and hidden by default, including before startup. */
html:not([data-show-home-xp="on"]) #careerXpLive{display:none!important}

/* Status captions stay inside the daily progress row, beneath its bar. */
html .medallion-buff-host>.routine-debuff-caption{min-height:0!important;height:auto!important;width:auto!important;min-width:0!important;padding:0!important;margin:0!important;font-family:inherit!important;font-size:var(--buff-label-font,10px)!important;font-weight:500!important;line-height:1.2!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
html .daily-progress-row>.medallion-buff-host>.routine-debuff-caption{left:calc(100% + var(--buff-label-gap,10px));top:calc(50% + 12px);transform:none}
html .dual-level .medallion-buff-host:has(>.routine-debuff-caption){margin-bottom:20px}
html .dual-level .medallion-buff-host>.routine-debuff-caption{left:50%;top:calc(100% + 5px);transform:translateX(-50%)}

/* Body energy dashboard: one hierarchy, aligned figures, compact daily entry. */
html .calorie-dashboard{min-width:0;display:grid;gap:16px}
html .calorie-dashboard>.card{margin:0;padding:18px;min-width:0}
html .calorie-dashboard .calorie-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
html .calorie-dashboard .calorie-heading h2{font-size:1rem;font-weight:600;margin:0}
html .calorie-info-button{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;min-height:28px;padding:0;margin:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--muted);font:500 15px Georgia,serif;box-shadow:none}
html .calorie-dashboard .calorie-balance-hero{display:block;font-size:clamp(1.25rem,5vw,1.65rem);font-weight:650;letter-spacing:-.035em;line-height:1.3;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
html .calorie-dashboard .calorie-estimate-label{display:block;color:var(--muted);font-size:.68rem;margin-top:4px}
html .calorie-dashboard .calorie-metrics{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:18px 0;margin:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;box-shadow:none}
html .calorie-dashboard .calorie-metric{display:grid;gap:5px;min-width:0}
html .calorie-dashboard .calorie-metric+div{border-left:1px solid var(--line);padding-left:18px}
html .calorie-dashboard .calorie-metric>span{font-size:.72rem;color:var(--muted)}
html .calorie-dashboard .calorie-metric>strong{font-size:1rem;font-weight:600;font-variant-numeric:tabular-nums;grid-column:auto;white-space:nowrap}
html .calorie-dashboard .calorie-sources{display:grid;gap:11px;padding-top:16px}
html .calorie-dashboard .calorie-sources>div{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.78rem;font-weight:400}
html .calorie-dashboard .calorie-sources>div>span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}
html .calorie-dashboard .calorie-sources small{font-size:.68rem;color:var(--muted);margin-left:5px}
html #calorieForm.calorie-entry-form{display:grid;gap:14px}
html #calorieForm.calorie-entry-form h3{margin:0;font-size:.95rem;font-weight:600}
html #calorieForm.calorie-entry-form label{display:grid;gap:6px;margin:0;min-width:0;font-size:.73rem;color:var(--muted)}
html #calorieForm.calorie-entry-form :is(input,select){width:100%;min-width:0;max-width:100%;height:44px;min-height:44px;margin:0;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--raised);color:var(--text);font:inherit;font-size:.86rem;box-sizing:border-box}
html .calorie-dashboard .calorie-input-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
html #calorieForm #calorieDate{display:block;text-align:left;-webkit-appearance:none;appearance:none}
html #calorieForm #calorieDate::-webkit-date-and-time-value{text-align:left;min-width:0}
html .calorie-dashboard .calorie-form-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}
html #calorieForm .calorie-form-actions button{width:auto;min-height:36px;padding:7px 12px;font-size:.75rem;font-weight:500;border-radius:9px;margin:0}
html #calorieForm .calorie-form-actions .primary{margin-left:auto}
html #calorieForm #calorieDeleteDay{min-height:36px;padding:5px 0;border:0;background:transparent;color:var(--bad);font-size:.7rem;box-shadow:none}
html #calorieForm #calorieDeleteDay[hidden],html .calorie-dashboard #calorieSelectedDay[hidden]{display:none!important}
html #calorieError:empty{display:none}
html .calorie-dashboard .calorie-history-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:4px}
html .calorie-dashboard .calorie-history-heading h3{margin:0;font-size:.95rem;font-weight:600}
html .calorie-dashboard .calorie-history-heading>span{font-size:.65rem;color:var(--muted)}
html .calorie-dashboard>.history-day{margin:0}
html .calorie-dashboard #caloriePastDays:empty{display:none}
html .calorie-dashboard .history-day summary{font-size:.78rem;font-weight:500}
html .calorie-info-dialog{width:min(420px,calc(100% - 36px));max-height:80dvh;overflow:auto;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--card);color:var(--text)}
html .calorie-info-dialog::backdrop{background:#0009;backdrop-filter:blur(5px)}
html .calorie-info-dialog .calorie-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
html .calorie-info-dialog h2{font-size:1rem}
html .calorie-info-dialog p{font-size:.8rem;line-height:1.6;margin:12px 0 0}

.voice-series-dialog{width:min(380px,calc(100% - 40px));padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--card);color:var(--text);max-height:80dvh;overflow:auto}.voice-series-dialog::backdrop{background:#0009;backdrop-filter:blur(5px)}.voice-series-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.voice-series-heading h2{font-size:1rem}.voice-series-heading button{background:none;border:0;color:var(--muted);width:28px;height:28px;padding:0;font-size:22px}.voice-series-context{color:var(--muted);font-size:.78rem;margin-top:8px}.voice-series-status{font-size:.85rem;padding:16px 0;min-height:55px}.voice-series-dialog>small{display:block;color:var(--muted);font-size:.68rem;line-height:1.5;margin-top:12px}.voice-series-fallback[hidden]{display:none!important}.voice-series-fallback>div{display:flex;gap:8px;margin-top:10px}.voice-series-fallback button,.timer-voice-pending button{min-height:36px;padding:7px 12px;border:1px solid var(--line);border-radius:9px;background:var(--raised);color:var(--text);font:inherit;font-size:.75rem;font-weight:500}.voice-series-fallback [data-voice-answer=yes]{color:var(--accent);border-color:var(--accent)}.timer-voice-pending{display:grid;gap:8px}.timer-voice-pending strong{font-size:.85rem}.timer-voice-pending>span{font-size:.75rem;color:var(--muted)}.timer-voice-pending>div{display:flex;gap:8px}

/* Positive and negative XP status share the same daily-row anchor. */
html .daily-progress-row>.medallion-buff-host>.buff-exp-caption{left:calc(100% + var(--buff-label-gap,10px));top:calc(50% + 12px);transform:none;font-size:var(--buff-label-font,10px);font-weight:500;line-height:1.2}
html .dual-level .medallion-buff-host:has(>.buff-exp-caption){margin-bottom:20px}

/* Related labels share a baseline; help remains secondary. */
html .today-routine-heading{display:grid;gap:4px;min-width:0;text-align:right;max-width:72%}
html .today-routine-subtitle{color:var(--muted);font-size:.76rem;font-weight:400;line-height:1.35;letter-spacing:0;text-transform:none;overflow-wrap:anywhere}
html .workout-title{align-items:center}
html:not([data-show-home-xp="on"]) .hp-card>.section-head{display:none}
html .calorie-dashboard .calorie-balance-heading{align-items:baseline;gap:8px;margin-bottom:0;flex-wrap:nowrap}
html .calorie-dashboard .calorie-balance-heading h2{flex:0 1 auto;font-size:clamp(.78rem,3.1vw,.95rem);line-height:1.35}
html .calorie-dashboard .calorie-balance-heading .calorie-balance-hero{flex:0 1 auto;min-width:0;text-align:right;font-size:clamp(.88rem,3.7vw,1.2rem);line-height:1.35;font-weight:600;letter-spacing:-.02em}
html .calorie-estimate-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:7px 0 12px}
html .calorie-dashboard .calorie-estimate-heading .calorie-estimate-label{margin:0}
html .calorie-estimate-heading .calorie-info-button{width:26px;min-width:26px;height:26px;min-height:26px;font-size:.75rem;padding:0}

/* A small step below Compact, without shrinking numeric inputs below iOS-safe text size. */
html[data-scale="compact-plus"]{font-size:15px}
html[data-scale="compact-plus"] body{font-size:13px}
html[data-scale="compact-plus"] .card,html[data-scale="compact-plus"] .exercise-card,html[data-scale="compact-plus"] .progress-item,html[data-scale="compact-plus"] .history-item,html[data-scale="compact-plus"] .calendar-card{padding:11px}
html[data-scale="compact-plus"] .exercise-card{margin-bottom:8px}
html[data-scale="compact-plus"] input,html[data-scale="compact-plus"] select,html[data-scale="compact-plus"] textarea{font-size:16px}
/* Monthly progress: a compact entry, a quiet paired-photo viewer. */
.body-photo-entry{margin:0 0 16px}.body-photo-entry>button{display:flex;width:100%;justify-content:space-between;align-items:center;padding:12px 16px;font-weight:500}
.body-photo-dialog,.body-photo-reminder{width:min(560px,calc(100vw - 32px));max-height:85dvh;padding:20px;overflow:auto;background:var(--raised,#15161b);color:var(--text,#eee);border:1px solid var(--line,#393944);border-radius:20px}
.body-photo-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.body-photo-heading h2,.body-photo-reminder h2{font-size:1.15rem;margin:0}.body-photo-heading button{min-height:32px;width:32px;padding:0;font-size:22px}.body-photo-dialog>select{width:100%;margin-bottom:16px}
.body-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.body-photo-pair figure{margin:0;min-width:0}.body-photo-pair img{display:block;width:100%;height:clamp(190px,40vh,360px);object-fit:contain;background:#090b0d;border-radius:10px}.body-photo-pair figcaption{color:var(--muted,#aaa);font-size:.8rem;margin:7px 0 0}.body-photo-metrics{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:18px 0}.body-photo-metrics span{display:grid;gap:5px}.body-photo-metrics small{font-size:.76rem;color:var(--muted,#aaa)}.body-photo-metrics strong{font-size:1.15rem;font-weight:500}.body-photo-dialog>.primary{font-size:.85rem;padding:9px 14px;min-height:36px}
.body-photo-editor{display:grid;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line,#393944)}.body-photo-editor label{display:grid;gap:8px;font-size:.85rem}.body-photo-editor label img{height:130px;max-width:100%;object-fit:contain;justify-self:start}.body-photo-editor input{max-width:100%;font-size:.8rem}.body-photo-editor [role=alert]{color:#e4a4ab;font-size:.8rem;margin:0}.body-photo-editor button{justify-self:end;min-height:36px;padding:8px 18px}.body-photo-reminder p,.body-photo-empty{color:var(--muted,#aaa);font-size:.9rem}.body-photo-reminder>div{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.body-photo-reminder button{min-height:36px;padding:8px 12px;font-size:.82rem}
/* Vector execution guides use an intentionally neutral palette in every skin. */
.exercise-info-panel .exercise-guide{display:block;margin:0;padding:0 0 12px;border-bottom:1px solid var(--line,#393944)}.exercise-guide-top{display:flex;align-items:center;justify-content:space-between}.exercise-guide-top button{width:28px;min-height:28px;padding:0;font-weight:400}.exercise-guide-stage{position:relative;background:#090d0b;border:1px solid #252c28;border-radius:12px;margin:10px 0;overflow:hidden}.exercise-guide-stage svg{width:100%;height:210px;display:block;stroke-linecap:round;stroke-linejoin:round}.exercise-guide-stage small{position:absolute;left:10px;bottom:7px;color:#a1aaa5;font-size:.62rem;letter-spacing:.03em}.exercise-guide-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.exercise-guide-tabs button{font-size:.69rem;min-height:29px;padding:4px 5px;border:0;border-radius:6px;background:transparent;color:var(--muted,#aaa);font-weight:400}.exercise-guide-tabs button[aria-pressed=true]{color:#a6efbf;background:#193124}.exercise-info-panel .exercise-guide p{font-size:.8rem;line-height:1.5;margin:10px 0 0;min-height:3em}.exercise-guide [hidden]{display:none!important}.exercise-guide-unavailable{font-size:.8rem;color:var(--muted,#aaa)}
/* Progress information: overview first, editable radar, optional detail. */
html body .unified-progression-info{width:440px!important;padding:18px!important;background:var(--card)!important;scroll-padding-top:12px}
.progress-info-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.progress-info-header h2{font-size:1.1rem;margin:0}.progress-info-header button{display:grid;place-items:center;flex:0 0 30px;width:30px;min-height:30px;padding:0;font-weight:400;font-size:21px;line-height:1}
.progress-info-overview{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}.progress-info-overview section{display:grid;align-content:start;gap:6px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:10px}.progress-info-overview section>span{font-size:.78rem;color:var(--muted)}.progress-info-overview strong{font-size:1.15rem;font-weight:600}.progress-info-overview small{font-size:.72rem;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}
html body .radar-calculation-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;min-width:0;margin:0;padding:14px;border:1px solid var(--line);border-radius:12px}.radar-calculation-controls legend{font-size:.86rem;padding:0 5px;font-weight:500}.radar-calculation-controls>label{display:grid!important;grid-template-columns:minmax(0,1fr);gap:6px;min-width:0;margin:0!important;align-items:start;font-size:.8rem;font-weight:400}.radar-calculation-controls>label>span{color:var(--muted);line-height:1.35}.radar-calculation-controls :is(select,input){display:block!important;box-sizing:border-box;width:100%!important;min-width:0!important;max-width:100%;min-height:38px;margin:0!important;padding:7px 10px;font-weight:400;font-size:.88rem;line-height:1.4}.radar-calculation-help{border-top:1px solid var(--line);padding-top:10px}.radar-calculation-help summary{font-size:.78rem;color:var(--muted);cursor:pointer}.unified-progression-info .radar-calculation-help p{font-size:.77rem;line-height:1.6;margin:10px 0 0}
.progress-info-detail{padding:14px 0;border-bottom:1px solid var(--line)}.progress-info-detail summary{font-size:.84rem;font-weight:500;cursor:pointer;line-height:1.5}.unified-progression-info .progress-info-detail>p{margin:10px 0 0;font-size:.78rem;color:var(--muted);line-height:1.65}.unified-progression-info .gate-checks{gap:0;margin:8px 0 0}.unified-progression-info .gate-checks li{position:relative;display:grid;gap:4px;padding:12px 0 12px 18px;border:0;border-bottom:1px solid var(--line);border-radius:0;color:var(--text);font-size:.78rem}.unified-progression-info .gate-checks li:last-child{border-bottom:0}.unified-progression-info .gate-checks li::before{position:absolute;left:0;top:13px;content:'○';color:var(--muted)}.unified-progression-info .gate-checks li.gate-met::before{content:'✓';color:#8ac6a1}.unified-progression-info .gate-checks strong{font-weight:500}.unified-progression-info .gate-checks span{font-size:.75rem;color:var(--muted)}
.progress-info-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.progress-info-actions button{flex:1 1 140px;min-height:34px;padding:7px 9px;font-size:.73rem;font-weight:400;line-height:1.4}
/* Progress atelier: a quiet, skin-aware portrait with a separate editing view. */
html body .unified-progression-info{padding:24px!important;border-radius:24px;background:radial-gradient(ellipse at 50% -20%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 65%),var(--card)!important;box-shadow:0 24px 90px #0008;border-color:color-mix(in srgb,var(--text) 14%,transparent)}
.unified-progression-info [hidden]{display:none!important}.unified-progression-info .progress-info-header{margin:0 0 24px;gap:10px}.unified-progression-info .progress-info-header h2{font-size:1rem;letter-spacing:.015em;font-weight:500;flex:1}.unified-progression-info .progress-info-header button{border:0;background:transparent;color:var(--muted);box-shadow:none;min-height:32px;width:32px;flex-basis:32px}.unified-progression-info .progress-info-header .progress-back{font-size:27px;text-align:left;justify-items:start}
.unified-progression-info .progress-info-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin:8px 0 22px}.unified-progression-info .progress-portrait{display:flex;flex-direction:column;align-items:center;gap:10px;margin:0;padding:0;border:0;border-radius:0;background:transparent}.unified-progression-info .portrait-label{font-size:.67rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.progress-portrait-ring{position:relative;width:min(140px,100%);aspect-ratio:1}.progress-portrait-ring svg{display:block;width:100%;height:100%;overflow:visible;fill:none;stroke-width:1.7}.portrait-track{stroke:var(--line);opacity:.65}.portrait-arc{stroke:var(--accent);transform:rotate(-90deg);transform-origin:70px 70px;stroke-linecap:round;filter:drop-shadow(0 0 5px color-mix(in srgb,var(--accent) 24%,transparent))}.progress-portrait:nth-child(2) .portrait-arc{opacity:.5}.portrait-number{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:0}.unified-progression-info .portrait-number strong{font-family:Georgia,'Times New Roman',serif;font-size:3rem;font-weight:400;line-height:1.15;color:var(--text)}.unified-progression-info .portrait-number small{font-size:.57rem;letter-spacing:.14em;color:var(--muted);line-height:1.8}
.progress-total{display:flex;flex-direction:column;align-items:center;gap:3px;margin-bottom:28px}.progress-total strong{font-size:1.45rem;line-height:1.3;font-weight:400;font-variant-numeric:tabular-nums;letter-spacing:-.025em}.progress-total>span{font-size:.7rem;color:var(--muted)}.progress-total>small{font-size:.69rem;color:var(--accent);margin-top:3px}.progress-next{padding:0 2px 22px}.progress-next-line{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}.progress-next-line>span{font-size:.76rem;color:var(--muted)}.progress-next-line>strong{font-size:.9rem;font-weight:500}.progress-next-track{height:3px;overflow:hidden;border-radius:5px;background:var(--line)}.progress-next-track i{height:100%;display:block;background:var(--accent);border-radius:5px;opacity:.8}
.unified-progression-info .progress-info-actions{display:grid;gap:0;margin:0;border-top:1px solid var(--line)}.unified-progression-info .progress-info-actions button,.unified-progression-info .progress-link{display:flex;align-items:center;text-align:left;width:100%;min-height:42px;padding:13px 0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--muted);font-size:.75rem;font-weight:400}.unified-progression-info .progress-radar-link{display:grid!important;grid-template-columns:1fr auto!important;gap:4px!important;border-bottom:1px solid var(--line)!important}.progress-radar-link>span:first-child{color:var(--text);font-size:.8rem}.progress-radar-link>small{grid-column:1;font-size:.67rem;color:var(--muted);line-height:1.5}.progress-radar-link>.progress-link-arrow{grid-column:2;grid-row:1/3;font-size:.95rem;color:var(--muted)}.progress-settings-view .radar-calculation-controls{padding:0 0 20px!important;border:0!important;border-radius:0!important;gap:18px!important}.progress-settings-view .radar-calculation-controls legend{display:none}.progress-settings-view>.progress-link{border-top:1px solid var(--line)!important}.progress-settings-view .radar-calculation-help p{font-size:.76rem!important;line-height:1.6!important}
@media(max-width:360px){html body .unified-progression-info{padding:18px!important}.unified-progression-info .progress-info-overview{gap:12px}.unified-progression-info .portrait-number strong{font-size:2.5rem}}
.unified-progression-info:focus{outline:none}
/* Modal surfaces must not inherit the HUD's transformed compositing layer. */
html body>#experiencePanel.dual-progress-panel{isolation:isolate;opacity:1!important;background:linear-gradient(var(--card),var(--card)),#101216!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 36px)!important;max-width:calc(100vw - 32px)!important}
html body>#experiencePanel::backdrop{background:#050709df!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html.progression-modal-open .today-pinned{visibility:hidden!important;pointer-events:none!important}
.radar-side-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:0 0 14px;padding:3px;border:1px solid var(--line);border-radius:9px;background:var(--bg)}.radar-side-tabs button{min-height:33px;padding:6px 10px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:.8rem;font-weight:400}.radar-side-tabs button[aria-pressed=true]{background:var(--raised);color:var(--text)}.radar-pair-controls>[hidden]{display:none!important}.radar-side-purpose{font-size:.75rem!important;color:var(--muted);line-height:1.5!important;margin:0 0 15px!important}.radar-pair-controls>section{min-width:0}

html body #routineName.today-routine-subtitle{display:block;min-height:28px;padding:3px 0;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--muted);font-size:inherit;font-weight:400;text-align:right;cursor:pointer;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--muted) 30%,transparent);text-underline-offset:4px}
html body #routineName:disabled{text-decoration:none;cursor:default}
.daily-outcomes-dialog{box-sizing:border-box;width:min(450px,calc(100vw - 32px));max-height:calc(100dvh - 48px);padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--card);color:var(--text);overflow:auto}
.daily-outcomes-dialog::backdrop{background:#050709dc;backdrop-filter:blur(6px)}
.daily-outcomes-dialog header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.daily-outcomes-dialog h2{font-size:1.15rem;margin:0;font-weight:600;letter-spacing:-.025em}
.daily-outcomes-dialog header button{flex:none;min-width:28px;min-height:28px;padding:2px;background:transparent;border:0;color:var(--muted);font-size:1.25rem}
.daily-outcomes-dialog article{padding:20px 0;border-top:1px solid var(--line)}
.daily-outcomes-dialog article small{color:var(--muted);font-size:.72rem}
.daily-outcomes-dialog h3{font:400 1.24rem/1.25 Georgia,serif;letter-spacing:-.02em;margin:7px 0 9px;color:var(--accent)}
.daily-outcomes-dialog article p{font-size:.86rem;line-height:1.65;margin:0;color:var(--text)}
.daily-outcomes-dialog .daily-outcomes-note{font-size:.72rem;line-height:1.6;color:var(--muted);margin:0;padding-top:16px;border-top:1px solid var(--line)}

html body>dialog.exercise-detail-dialog{position:fixed!important;inset:0!important;transform:none!important;margin:auto!important;width:min(480px,calc(100vw - 28px))!important;max-width:calc(100vw - 28px)!important;height:fit-content!important;max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 32px)!important;padding:0!important;box-sizing:border-box!important;overflow:hidden!important;border:1px solid var(--line)!important;border-radius:18px!important;background:var(--card)!important;color:var(--text);box-shadow:0 24px 90px #0008;isolation:isolate}
html body>dialog.exercise-detail-dialog[open]{display:flex!important;flex-direction:column!important}
.exercise-detail-dialog::backdrop{background:#050709d9;backdrop-filter:blur(8px)}
html body .exercise-detail-dialog>header{position:relative!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:17px 20px!important;margin:0!important;flex:0 0 auto!important;border-bottom:1px solid var(--line);width:100%!important;box-sizing:border-box;background:var(--card)!important}
html body .exercise-detail-dialog>header h2{flex:1!important;min-width:0!important;width:auto!important;max-width:none!important;font-size:1rem!important;line-height:1.35!important;margin:0!important;font-weight:500!important;text-wrap:balance}
html body .exercise-detail-dialog>header button{flex:0 0 28px!important;width:28px!important;min-width:28px!important;height:28px!important;min-height:28px!important;padding:0!important;margin:0!important;background:transparent!important;border:0!important;box-shadow:none!important;color:var(--muted);font-size:1.25rem}
html body .exercise-detail-dialog>.exercise-info-panel{position:static!important;inset:auto!important;transform:none!important;min-height:0!important;width:100%!important;max-width:100%!important;max-height:none!important;margin:0!important;padding:20px!important;box-sizing:border-box!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:var(--card)!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;font-size:.84rem}
html.exercise-detail-open .today-pinned{visibility:hidden!important;pointer-events:none!important}
html.exercise-detail-open{overscroll-behavior:none}
html body .daily-outcomes-dialog{overflow-x:hidden!important}
html body .daily-outcomes-dialog>header{display:flex!important;position:static!important;gap:12px!important;width:100%!important;box-sizing:border-box;padding:0!important;background:transparent!important}
html body .daily-outcomes-dialog>header h2{flex:1!important;width:auto!important;max-width:none!important;min-width:0!important;font-size:1.15rem!important;line-height:1.3!important;margin:0!important}
html body .daily-outcomes-dialog>header button{flex:0 0 28px!important;min-width:28px!important;width:28px!important;max-width:28px!important;margin:0!important}

.exercise-detail-dialog .exercise-guide-stage{margin:14px 0;background:#fff!important;border:0!important;border-radius:12px!important;overflow:hidden}
.exercise-detail-dialog .exercise-guide-stage small{position:static!important;display:block;padding:9px 12px 11px;background:#f2f3f0;color:#59615b;font-size:.62rem;line-height:1.4;text-align:center}
.anatomical-sequence{width:100%;aspect-ratio:1;background-repeat:no-repeat;background-size:600% 400%;background-position-x:0%;background-position-y:calc(var(--sequence-row)*100%/3);animation:anatomical-frames var(--sequence-duration,4s) steps(1,end) infinite}
@keyframes anatomical-frames{0%,100%{background-position-x:0%}16.667%{background-position-x:20%}33.334%{background-position-x:40%}50%{background-position-x:60%}66.667%{background-position-x:80%}83.334%{background-position-x:100%}}
.sequence-paused .anatomical-sequence{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.anatomical-sequence{animation:none}}
.anatomical-sequence{aspect-ratio:256/var(--sequence-height,256);background-size:600% var(--sequence-size-y,400%);background-position-y:var(--sequence-pos-y,0%)}
.exercise-detail-dialog .anatomical-sequence{max-width:290px;margin-inline:auto}
.exercise-completed-status{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.76rem;margin:14px 0 0;line-height:1.4}
.completed .save-btn[hidden]{display:none!important}
.completed .saved-record-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}
.completed .saved-record-actions button{min-height:30px;padding:3px 4px;background:transparent!important;border-color:transparent!important;box-shadow:none!important;color:var(--muted)!important;font-size:.7rem;font-weight:400}
.day-concluded-note{padding:12px 0 18px;color:var(--muted);font-size:.83rem}
.day-concluded .exercise-card.completed{padding-block:14px}
.measurement-swipe{position:relative;overflow:hidden;border-radius:18px;margin-bottom:12px;background:#b93442}
.measurement-swipe .measurement-record{position:relative;z-index:1;background:var(--card);margin:0;touch-action:pan-y;transition:transform .22s ease}
.measurement-swipe.is-swiping .measurement-record{transition:none}
.measurement-swipe.reveal-delete .measurement-record{transform:translateX(-100px)}
.measurement-swipe-delete{position:absolute;inset:0 0 0 auto;width:100px;border:0;background:#b93442;color:white;font-size:.75rem;font-weight:500;padding:12px}
.measurement-undo{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:var(--muted);margin:8px 0 12px}
.measurement-undo button{border:0;background:transparent;color:var(--accent);padding:8px;font-size:inherit}
.anatomical-sequence.anatomical-grid{aspect-ratio:1;background-size:300% 200%;background-position:0% 0%;animation-name:anatomical-grid-frames}
@keyframes anatomical-grid-frames{0%,16.66%{background-position:0% 0%}16.67%,33.32%{background-position:50% 0%}33.33%,49.99%{background-position:100% 0%}50%,66.65%{background-position:0% 100%}66.66%,83.32%{background-position:50% 100%}83.33%,100%{background-position:100% 100%}}
.exercise-guide[data-guide-view=grip] .anatomical-sequence{animation:none;background-position-x:0%}
.exercise-guide[data-guide-view=grip] .anatomical-grid{background-position:0% 0%}
.exercise-guide[data-guide-view=focus] .anatomical-sequence,.exercise-guide[data-guide-hold] .anatomical-sequence{animation:none;background-position-x:60%}
.exercise-guide[data-guide-view=focus] .anatomical-grid{background-position:0% 100%}
.exercise-guide-tabs{position:relative;isolation:isolate;touch-action:manipulation}
.exercise-guide-tabs button{position:relative;pointer-events:auto!important;touch-action:manipulation;min-height:36px}
.exercise-guide-captions{min-height:5.5em}
.exercise-guide-captions p[hidden],.exercise-guide [hidden]{display:none!important}
.exercise-guide-outcome{padding:16px 0;margin:0;border-bottom:1px solid var(--line)}
.exercise-guide-outcome small{display:block;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.exercise-guide-outcome strong{font-size:.9rem;font-weight:600;color:var(--text)}
.exercise-guide-outcome p{font-size:.8rem;line-height:1.6;color:var(--muted);margin-top:7px}
.exercise-guide-sources{margin:0 0 10px;border-bottom:0}
.exercise-guide-sources summary{min-height:36px;font-size:.72rem;font-weight:400;color:var(--muted)}
.exercise-guide-sources a{display:block;margin:6px 0;color:var(--accent);font-size:.75rem}
.exercise-guide-sources p,.exercise-guide-note{font-size:.7rem!important;color:var(--muted);line-height:1.55}

.sound-card .sound-master-volume{display:grid!important;gap:8px;margin:14px 0 12px;font-weight:400}
.sound-card .sound-master-volume select{display:block!important;box-sizing:border-box;width:100%!important;min-height:36px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--raised);color:var(--text);font:inherit;font-weight:400}
.sound-card .sound-master-volume small{display:block;font-size:.73rem;line-height:1.5;color:var(--muted);font-weight:400}
.sound-card #masterVolumePreview{display:block;min-height:32px;padding:6px 12px;margin:8px 0 18px;font-weight:400;font-size:.8rem}
.sound-card .sound-phase-announcements{display:block;margin:8px 0}

.radar-recommended{display:block;width:100%;min-height:34px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--raised);color:var(--text);font-size:.76rem;font-weight:400}
.radar-recommended-note,.radar-mode-question{color:var(--muted);font-size:.75rem!important;line-height:1.5!important;margin:8px 0 17px!important}
.radar-mode-question{margin:0!important;color:var(--text)}
.radar-calculation-help>summary{min-height:30px;padding:5px 0;color:var(--text);font-size:.79rem}
.radar-calculation-help .radar-guide-intro{color:var(--muted);font-size:.73rem!important;line-height:1.55!important;margin:12px 0!important}
.radar-mode-guide{margin:0!important;padding:0!important;border:0!important;border-top:1px solid var(--line)!important;border-radius:0!important;background:transparent!important}
.radar-mode-guide>summary{display:block;padding:13px 0!important;line-height:1.4;list-style:none}
.radar-mode-guide>summary>span{display:block;color:var(--text);font-size:.79rem;font-weight:500}
.radar-mode-guide>summary>small{display:block;color:var(--muted);font-size:.7rem;font-weight:400;margin-top:4px}
.radar-mode-guide>p{margin:0 0 14px!important;font-size:.76rem!important;line-height:1.6!important}
.radar-mode-guide>p>strong{display:block;color:var(--text);font-size:.68rem;font-weight:500;margin-bottom:3px}
.radar-mode-guide>p>span{display:block;color:var(--muted)}
.radar-use-mode{min-height:32px;margin:0 0 15px;padding:6px 10px;font-size:.74rem;font-weight:400}
.unified-progression-info .radar-comparison-guide{margin:18px 0 0;border-top:1px solid var(--line);padding-top:14px}
.radar-comparison-guide>summary{font-size:.78rem;color:var(--text);cursor:pointer}
.radar-comparison-guide>p{font-size:.75rem!important;line-height:1.6!important;color:var(--muted);margin:12px 0!important}
.radar-reading-card{padding:14px 0;border-bottom:1px solid var(--line)}
.radar-reading-card>small{display:block;font-size:.66rem;color:var(--muted);margin-bottom:5px}
.radar-reading-card>strong{display:block;font-size:.83rem;font-weight:500;color:var(--text)}
.radar-reading-card>p{font-size:.75rem!important;line-height:1.6!important;color:var(--muted);margin:9px 0 0!important}
.radar-reading-card>.radar-reading-example{color:var(--text)}
.progress-radar-link>small{white-space:pre-line}
.radar-mode-guide>summary{position:relative;padding-right:20px!important;cursor:pointer}
.radar-mode-guide>summary::after{content:'+';position:absolute;right:0;top:14px;color:var(--muted);font-weight:400}
.radar-mode-guide[open]>summary::after{content:'−'}

/* Collapsed muscle groups: the overview remains readable before opening exercises. */
html details.progress-group{margin:0 0 9px;padding:0;border:1px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden}
html details.progress-group>summary{display:flex;align-items:center;gap:12px;min-height:56px;padding:14px 16px;list-style:none;cursor:pointer;touch-action:manipulation}
html details.progress-group>summary::-webkit-details-marker{display:none}
html details.progress-group>summary h3.group-attention{flex:1;min-width:0;margin:0;font-size:.78rem;line-height:1.35;font-weight:600;letter-spacing:.055em;text-transform:uppercase;color:var(--completion-color,var(--muted))!important}
html .progress-group-state{font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
html .progress-group-chevron{width:6px;height:6px;border-right:1px solid var(--muted);border-bottom:1px solid var(--muted);transform:rotate(45deg);margin:0 2px 3px 2px;flex-shrink:0}
html details.progress-group[open]>summary .progress-group-chevron{transform:rotate(225deg);margin-top:5px}
html details.progress-group[open]>summary{border-bottom:1px solid var(--line)}
html details.progress-group>.progress-group-items{padding:10px;gap:10px}
html details.progress-group:not([open])>.progress-group-items{display:none!important}

.weekly-series-toolbar{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 10px;margin:10px 0 14px}
.weekly-series-toolbar button{justify-self:start;border:1px solid var(--line);border-radius:7px;padding:6px 9px;min-height:32px;background:var(--card);color:var(--muted);font-size:.73rem;font-weight:400;touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.weekly-series-toolbar.is-previous-week button{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}
.weekly-series-dates{font-size:.7rem;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}
.weekly-series-toolbar small{grid-column:1/-1;font-size:.63rem;color:var(--muted);opacity:.8}
.exercise-weekly-series{font-size:.73rem;line-height:1.4;color:var(--muted);margin:7px 0 0;font-variant-numeric:tabular-nums}

.exercise-muscles{display:grid;gap:.35rem;margin:.65rem 0;color:var(--muted);font-size:.85em;line-height:1.45;overflow-wrap:anywhere}.exercise-muscles>span{display:block}.exercise-muscles small{font:inherit;opacity:.72;margin-right:.35em}.exercise-muscles-compact{font-size:.76em;gap:.12rem;margin:.35rem 0}.exercise-info-panel .exercise-muscles{padding-bottom:.8rem;border-bottom:1px solid var(--border)}
