/* UI Style is a composition layer. Skins continue to define individual artwork. */
html[data-ui-style="syntech"] {
  --ui-ink:#edf0fb; --ui-dim:#949bb4; --ui-ground:#0c0e17;
  --ui-panel:#151925; --ui-raised:#1b2030; --ui-edge:#ffffff12;
  --ui-signal:var(--accent,#aca7ef); --ui-mono:ui-monospace,"SFMono-Regular",Consolas,monospace;
  --bg:var(--ui-ground); --card:var(--ui-panel); --raised:var(--ui-raised);
  --surface:var(--ui-ground); --text:var(--ui-ink); --muted:var(--ui-dim); --line:#2c3144;
  background:var(--ui-ground); color-scheme:dark;
}
html[data-ui-style="syntech"] body{background:radial-gradient(ellipse at 90% 0%,#7671d510,transparent 45%),var(--ui-ground);line-height:1.5;}
html[data-ui-style="syntech"]:not([data-font-global]) body{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
html[data-ui-style="syntech"] main{max-width:760px;padding-inline:18px;padding-bottom:calc(112px + env(safe-area-inset-bottom));}
html[data-ui-style="syntech"] .app-header{max-width:760px;padding-inline:20px;border-bottom:1px solid var(--ui-edge);margin-bottom:20px;}
html[data-ui-style="syntech"] :is(h1,h2,h3){letter-spacing:-.035em;font-weight:600;}
html[data-ui-style="syntech"] h2{font-size:1.16rem;}
html[data-ui-style="syntech"] :is(.eyebrow,.intensity,.calendar-weekdays,.appearance-object legend){font-family:var(--ui-mono);font-size:.65rem;letter-spacing:.13em;text-transform:uppercase;font-weight:500;}
html[data-ui-style="syntech"] :is(.section-head,.exercise-head){gap:14px;}
/* Studio modules: a recessed chassis, soft bevel and deliberate spacing. */
html[data-ui-style="syntech"] :is(.tab-panel,.settings-content) :is(.card,.exercise-card,.progress-item,.history-item,.calendar-card,.postpone-card),
html[data-ui-style="syntech"] :is(.routine-day,.calorie-summary,.routine-config-row){
 border:1px solid var(--ui-edge);border-radius:18px;background:linear-gradient(150deg,#ffffff03,transparent 45%),var(--ui-panel);
 box-shadow:inset 0 1px 0 #ffffff06,0 8px 24px #00000012;padding:18px;margin-bottom:16px;
}
html[data-ui-style="syntech"] .exercise-card{position:relative;padding-top:20px;}
html[data-ui-style="syntech"] .exercise-card::before{content:"";position:absolute;top:0;left:22px;width:28px;height:2px;background:var(--ui-signal);opacity:.65;border-radius:0 0 3px 3px;}
html[data-ui-style="syntech"] .exercise-title-text{font-weight:600;letter-spacing:-.025em;font-size:1.03rem;text-align:left;}
html[data-ui-style="syntech"] .exercise-card-actions{gap:5px;}
html[data-ui-style="syntech"] .tab-panel .icon-button{border:1px solid #ffffff0c;background:#ffffff03;border-radius:9px;color:var(--ui-dim);box-shadow:none;}
html[data-ui-style="syntech"] :is(.exercise-streak,.quest-chip){font-family:var(--ui-mono);font-size:.65rem!important;font-weight:500;letter-spacing:.02em;box-shadow:none;}
/* Numeric input banks. Values and transient hints retain their distinct sizes. */
html[data-ui-style="syntech"] .series-row{padding-block:12px;border-color:#ffffff0c;}
html[data-ui-style="syntech"] .series-row>strong{color:var(--ui-dim);font-family:var(--ui-mono);font-weight:500;font-size:.72rem;}
html[data-ui-style="syntech"] .series-row>input[type="checkbox"]{border-radius:9px;background:#0c101a;border:1px solid #41485e;box-shadow:inset 0 2px 5px #0002;}
html[data-ui-style="syntech"] .series-row>input[type="checkbox"]:checked{background:var(--ui-signal);border-color:var(--ui-signal);box-shadow:0 0 12px color-mix(in srgb,var(--ui-signal) 15%,transparent);}
html[data-ui-style="syntech"] .rep-stepper{border-radius:10px;background:#0c101b;overflow:hidden;border:1px solid #ffffff14;box-shadow:inset 0 2px 4px #0002;}
html[data-ui-style="syntech"] .rep-stepper input{border:0!important;border-radius:0;background:transparent;font-variant-numeric:tabular-nums;font-weight:600;}
html[data-ui-style="syntech"] .rep-stepper button{border:0!important;border-radius:0;background:#ffffff03;color:var(--ui-dim);}
html[data-ui-style="syntech"] .load-picker>summary{border-radius:8px;background:#ffffff03;border-color:#ffffff0c;color:var(--ui-dim);font-size:.75rem;font-weight:400;}
html[data-ui-style="syntech"] .extra-set-actions{padding-block:10px;gap:8px;border-color:#ffffff0c;}
html[data-ui-style="syntech"] :is(.extra-set-actions button,.ghost){border-radius:9px;font-weight:500;}
html[data-ui-style="syntech"] .rating{padding:3px;border:1px solid #ffffff0c;border-radius:11px;background:#090d1680;gap:3px;}
html[data-ui-style="syntech"] .rating button{border:0;border-radius:8px;background:transparent;color:var(--ui-dim);font-weight:400;}
html[data-ui-style="syntech"] .rating button.selected{background:var(--ui-raised);color:var(--text);box-shadow:0 1px 4px #0003;}
html[data-ui-style="syntech"] .save-btn{border-radius:10px;background:color-mix(in srgb,var(--ui-signal) 10%,var(--ui-panel));color:var(--ui-ink);border:1px solid color-mix(in srgb,var(--ui-signal) 28%,transparent);box-shadow:inset 0 1px 0 #ffffff06;font-weight:500;letter-spacing:.01em;}
/* Floating transport/navigation dock, rather than a full-width footer slab. */
html[data-ui-style="syntech"] .tabs{left:50%;right:auto;bottom:calc(8px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(680px,calc(100% - 24px));padding:5px;gap:3px;border:1px solid #ffffff18;border-radius:18px;background:#191d2bed;box-shadow:0 8px 40px #0005,inset 0 1px 0 #ffffff08;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);}
html[data-ui-style="syntech"] .tab{position:relative;min-width:0;border-radius:12px;min-height:46px;font-size:.75rem;font-weight:400;color:#9da4bd;}
html[data-ui-style="syntech"] .tab.active{background:#ffffff0b;color:var(--ui-ink);font-weight:500;}
html[data-ui-style="syntech"] .tab.active::before{content:"";position:absolute;bottom:5px;left:calc(50% - 6px);height:2px;width:12px;border-radius:2px;background:var(--ui-signal);}
html[data-ui-style="syntech"] :is(.config-tabs,.exercise-workspace-nav){gap:4px;padding:4px;border:1px solid #ffffff0c;border-radius:12px;background:#090d1680;}
html[data-ui-style="syntech"] :is(.config-tab,.exercise-workspace-nav button){border:0;border-radius:8px;background:none;color:var(--ui-dim);font-weight:500;}
html[data-ui-style="syntech"] :is(.config-tab.active,.exercise-workspace-nav button.active){background:var(--ui-raised);color:var(--text);}
/* Sequencer/calendar: precise numbered pads, quiet labels. */
html[data-ui-style="syntech"] .calendar-heading{padding-bottom:14px;border-bottom:1px solid #ffffff0a;}
html[data-ui-style="syntech"] #calendarMonth{font-size:1.05rem;font-weight:600;letter-spacing:-.02em;}
html[data-ui-style="syntech"] .month-controls button{border-radius:9px;background:#ffffff03;border-color:#ffffff0c;}
html[data-ui-style="syntech"] .calendar-weekdays{margin-top:14px;}
html[data-ui-style="syntech"] .calendar-day{border-radius:8px;font-family:var(--ui-mono);font-size:.77rem;font-weight:500;box-shadow:inset 0 1px 0 #ffffff0c;}
html[data-ui-style="syntech"] .calendar-day.current{outline-width:1px;outline-offset:3px;}
/* Tabata shares the instrument language with the exercise controls. */
html[data-ui-style="syntech"] :is(.timer-disclosure,.workout-timer-controller){border-radius:14px;}
html[data-ui-style="syntech"] .timer-disclosure{border:1px solid #ffffff14;background:linear-gradient(130deg,#787fc00a,transparent),var(--ui-panel);box-shadow:inset 0 1px 0 #ffffff06;}
html[data-ui-style="syntech"] .routine-timer-top output{font-family:var(--ui-mono);font-weight:500;letter-spacing:-.04em;font-variant-numeric:tabular-nums;}
html[data-ui-style="syntech"] .routine-timer-bar{border-radius:2px;border:0;background:#ffffff0a;height:4px;}
html[data-ui-style="syntech"] .transport button{border-radius:8px;box-shadow:inset 0 1px 0 #ffffff06;}
html[data-ui-style="syntech"] .routine-timer-next{font-size:.75rem;color:var(--ui-dim);}
/* Forms/configuration use the same recessed control vocabulary. */
html[data-ui-style="syntech"] :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){border-radius:9px;background:#0d111d;color:var(--ui-ink);border:1px solid #ffffff16;box-shadow:inset 0 2px 5px #0002;}
html[data-ui-style="syntech"] label{font-size:.8rem;color:var(--ui-dim);line-height:1.5;}
html[data-ui-style="syntech"] input:focus-visible,html[data-ui-style="syntech"] select:focus-visible,html[data-ui-style="syntech"] button:focus-visible{outline:2px solid var(--ui-signal);outline-offset:3px;}
html[data-ui-style="syntech"] .appearance-subsection>summary{padding-block:6px;align-items:center;gap:10px;}
html[data-ui-style="syntech"] .appearance-subsection>summary strong{font-size:.9rem;letter-spacing:-.02em;font-weight:600;}
html[data-ui-style="syntech"] .appearance-subsection>summary span{font-size:.69rem;font-weight:400;color:var(--ui-dim);}
html[data-ui-style="syntech"] .appearance-object{padding:14px;margin-top:14px;border:1px solid #ffffff0c;border-radius:12px;}
html[data-ui-style="syntech"] .appearance-controls{gap:16px;}
html[data-ui-style="syntech"] .routine-day>summary{padding-bottom:12px;border-bottom:1px solid #ffffff0a;}
html[data-ui-style="syntech"] .routine-day-list{padding-top:12px;}
html[data-ui-style="syntech"] .routine-config-row{padding:12px;border-radius:10px;background:#ffffff03;}
html[data-ui-style="syntech"] .drag-handle{font-family:var(--ui-mono);color:var(--ui-dim);}
html[data-ui-style="syntech"] :is(.calorie-summary,.calorie-entry,.history-day){font-variant-numeric:tabular-nums;}
html[data-ui-style="syntech"] .calorie-summary p{font-size:.85rem;}
html[data-ui-style="syntech"] .calorie-summary strong{font-weight:600;}
/* Dialogs are part of the same system; circular medallion artwork stays intact. */
html[data-ui-style="syntech"] dialog{background:linear-gradient(145deg,#ffffff03,transparent),#151925;color:var(--ui-ink);border:1px solid #ffffff18;border-radius:20px;box-shadow:0 24px 100px #0008,inset 0 1px 0 #ffffff08;}
html[data-ui-style="syntech"] dialog::backdrop{background:#040713a6;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);}
html[data-ui-style="syntech"] .progression-radar-card{border-radius:12px;background:#ffffff03;box-shadow:none;}
html[data-ui-style="syntech"] .toast{border:1px solid #ffffff18;border-radius:12px;background:#242b3f;color:#f0f2fa;box-shadow:0 8px 30px #0005;}
html[data-ui-style="syntech"] .viewport-info-panel{background:#1b2030!important;border-color:#ffffff18!important;border-radius:12px!important;}
@media(max-width:380px){html[data-ui-style="syntech"] main{padding-inline:12px;}html[data-ui-style="syntech"] :is(.tab-panel,.settings-content) :is(.card,.exercise-card,.progress-item,.calendar-card){padding:14px;}html[data-ui-style="syntech"] .tab{font-size:.69rem;}html[data-ui-style="syntech"] .exercise-title-text{font-size:.96rem;}}
@media(hover:hover){html[data-ui-style="syntech"] :is(.ghost,.icon-button,.load-picker>summary):hover{background:color-mix(in srgb,var(--ui-signal) 6%,var(--ui-raised));border-color:#ffffff26;}}

/* Solo Leveling Style: an original System dossier, not a skin recolor.
   Corner artwork never clips a control, a buff overlay or an information panel. */
html[data-ui-style="solo-leveling"]{--sl-ground:#070a10;--sl-panel:#10151e;--sl-raised:#19212e;--sl-edge:#52678166;--sl-signal:#b6a0fa;--sl-light:#e7edf8;--sl-dim:#a0adbf;--bg:var(--sl-ground);--surface:#0a0f17;--card:var(--sl-panel);--raised:var(--sl-raised);--text:var(--sl-light);--muted:var(--sl-dim);--line:#303e51;color-scheme:dark;background:var(--sl-ground)}
html[data-ui-style="solo-leveling"][data-theme="solo-obsidian"]{--sl-ground:#08090b;--sl-panel:#111418;--sl-raised:#1d2229;--sl-edge:#727c8d55;--sl-signal:#c3cad8;--sl-light:#edf0f5;--sl-dim:#a2aab7;--surface:#0b0d11;--line:#353d48}
html[data-ui-style="solo-leveling"] body{background:linear-gradient(90deg,transparent calc(50% - .5px),#a0b8ea04 50%,transparent calc(50% + .5px)),radial-gradient(ellipse at 50% -15%,#51427928,transparent 65%),var(--sl-ground);line-height:1.5}
html[data-ui-style="solo-leveling"] main{max-width:780px;padding-inline:16px;padding-bottom:calc(104px + env(safe-area-inset-bottom))}
html[data-ui-style="solo-leveling"] :is(.card,.exercise-card,.progress-item,.routine-day,.appearance-subsection,.calorie-summary){position:relative;border:1px solid var(--sl-edge);border-radius:4px 18px 4px 4px;background:linear-gradient(125deg,#c5d6ff04,transparent 55%),var(--sl-panel);box-shadow:inset 3px 0 #a6b8db0c,0 8px 24px #0003}
/* Four discrete registration marks establish the frame vocabulary. */
html[data-ui-style="solo-leveling"] :is(.exercise-card,.progress-item,.routine-day,.appearance-subsection)::before{content:"";position:absolute;inset:-1px;pointer-events:none;border-radius:4px 18px 4px 4px;background:linear-gradient(var(--sl-signal),var(--sl-signal)) left top/18px 1px no-repeat,linear-gradient(var(--sl-signal),var(--sl-signal)) left top/1px 18px no-repeat,linear-gradient(var(--sl-signal),var(--sl-signal)) right bottom/18px 1px no-repeat,linear-gradient(var(--sl-signal),var(--sl-signal)) right bottom/1px 18px no-repeat;opacity:.55}
html[data-ui-style="solo-leveling"] .exercise-card{counter-increment:system-exercise}
html[data-ui-style="solo-leveling"] .exercise-card::after{content:counter(system-exercise,decimal-leading-zero);position:absolute;right:16px;bottom:6px;font-size:.58rem;letter-spacing:.18em;color:var(--sl-dim);opacity:.35;pointer-events:none;font-variant-numeric:tabular-nums}
html[data-ui-style="solo-leveling"] #todayExercises{counter-reset:system-exercise}
html[data-ui-style="solo-leveling"] :is(h2,h3){letter-spacing:.015em}
html[data-ui-style="solo-leveling"] .section-head{border-bottom:1px solid var(--sl-edge);padding-bottom:10px;gap:12px}
html[data-ui-style="solo-leveling"] .exercise-title-text{text-align:left;letter-spacing:.01em}
html[data-ui-style="solo-leveling"] :is(.exercise-card-actions,.progress-actions){gap:5px}
html[data-ui-style="solo-leveling"] .icon-button{border-radius:3px 9px 3px 3px;background:#a9bce309;border:1px solid var(--sl-edge);box-shadow:inset 0 1px #e7edf808}
html[data-ui-style="solo-leveling"] :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){background:var(--surface);border-color:var(--sl-edge);border-radius:3px 8px 3px 3px;box-shadow:inset 0 2px 8px #0003;color:var(--text)}
html[data-ui-style="solo-leveling"] .series-row{border-color:var(--sl-edge);background:linear-gradient(90deg,#a9bce305,transparent 45%)}
html[data-ui-style="solo-leveling"] .series-row>strong{color:var(--sl-dim);font-variant-numeric:tabular-nums}
html[data-ui-style="solo-leveling"] .series-row>input[type="checkbox"]{border-radius:3px;border-color:#8294b0;background:#090e17;box-shadow:inset 0 0 0 3px var(--sl-panel)}
html[data-ui-style="solo-leveling"] .series-row>input[type="checkbox"]:checked{background:var(--sl-signal);border-color:var(--sl-signal);box-shadow:inset 0 0 0 3px #111823,0 0 12px #b6a0fa1f}
html[data-ui-style="solo-leveling"] .rep-stepper{border-radius:3px 8px 3px 3px;border-color:var(--sl-edge);background:var(--surface)}
html[data-ui-style="solo-leveling"] .rep-stepper button{background:#a9bce309;border-color:var(--sl-edge)}
html[data-ui-style="solo-leveling"] .load-picker>summary{border-radius:3px;background:#a9bce306;border-color:var(--sl-edge)}
html[data-ui-style="solo-leveling"] .extra-set-actions{border-color:var(--sl-edge)}
html[data-ui-style="solo-leveling"] :is(.extra-set-actions button,.rating button,.save-btn,.ghost){border-radius:3px 9px 3px 3px;box-shadow:none}
html[data-ui-style="solo-leveling"] .rating button.selected{border-color:var(--sl-signal);background:color-mix(in srgb,var(--sl-signal) 10%,var(--sl-panel));color:var(--text)}
html[data-ui-style="solo-leveling"] .save-btn{background:linear-gradient(110deg,#b6a0fa17,transparent),var(--sl-raised);border:1px solid var(--sl-edge);color:var(--text)}
/* Navigation becomes a framed command rail with an active status socket. */
html[data-ui-style="solo-leveling"] .tabs{left:12px;right:12px;bottom:calc(8px + env(safe-area-inset-bottom));width:auto;gap:3px;padding:5px;border:1px solid var(--sl-edge);border-top:2px solid #8198bc66;border-radius:3px 14px 3px 3px;background:#0c111bf5;box-shadow:0 -8px 30px #0004;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
html[data-ui-style="solo-leveling"] .tab{position:relative;border-radius:2px;min-width:0;font-size:.74rem;color:var(--sl-dim)}
html[data-ui-style="solo-leveling"] .tab.active{background:linear-gradient(180deg,#b6a0fa18,#b6a0fa05);color:var(--sl-light);box-shadow:inset 0 1px var(--sl-signal)}
html[data-ui-style="solo-leveling"] .tab.active::after{content:"";position:absolute;bottom:5px;left:calc(50% - 2px);width:4px;height:4px;background:var(--sl-signal);transform:rotate(45deg)}
html[data-ui-style="solo-leveling"] :is(.config-tabs,.exercise-workspace-nav){gap:4px;padding:4px;background:var(--surface);border:1px solid var(--sl-edge);border-radius:3px}
html[data-ui-style="solo-leveling"] :is(.config-tabs,.exercise-workspace-nav) button{border-radius:2px;border-color:transparent;background:transparent;min-width:0}
html[data-ui-style="solo-leveling"] :is(.config-tabs,.exercise-workspace-nav) button.active{border-color:var(--sl-edge);background:var(--sl-raised);box-shadow:inset 2px 0 var(--sl-signal)}
html[data-ui-style="solo-leveling"] .calendar-heading{border-bottom:1px solid var(--sl-edge);padding-bottom:10px}
html[data-ui-style="solo-leveling"] .calendar-day{border-radius:2px 6px 2px 2px;font-variant-numeric:tabular-nums}
html[data-ui-style="solo-leveling"] .calendar-day.current{outline-offset:2px}
/* Timer: a tactical readout with a calibrated phase rail. Existing sizes still apply. */
html[data-ui-style="solo-leveling"] :is(.timer-disclosure,.workout-timer-controller){border-radius:3px 16px 3px 3px;border-color:var(--sl-edge);background:linear-gradient(135deg,#b6a0fa0b,transparent 70%),var(--sl-panel);box-shadow:inset 3px 0 #b6a0fa44}
html[data-ui-style="solo-leveling"] .routine-timer-top output{font-variant-numeric:tabular-nums;text-shadow:0 0 18px #b6a0fa33;letter-spacing:.02em}
html[data-ui-style="solo-leveling"] .routine-timer-bar{border-radius:0;background:repeating-linear-gradient(90deg,#b5c6e512 0 8px,transparent 8px 10px);border-color:var(--sl-edge)}
html[data-ui-style="solo-leveling"] .transport button{border-radius:3px;border-color:var(--sl-edge)}
html[data-ui-style="solo-leveling"] .appearance-object{border:1px solid var(--sl-edge);border-left:2px solid #b6a0fa44;border-radius:3px;padding:14px}
html[data-ui-style="solo-leveling"] .appearance-subsection>summary strong{letter-spacing:.025em}
html[data-ui-style="solo-leveling"] .routine-config-row{border-radius:3px;border:1px solid var(--sl-edge);background:var(--surface)}
html[data-ui-style="solo-leveling"] dialog{border-radius:6px 24px 6px 6px;border:1px solid var(--sl-edge);border-top:2px solid #9bafd27a;background:radial-gradient(ellipse at 50% 0,#b6a0fa0b,transparent 60%),var(--sl-panel);color:var(--text);box-shadow:0 24px 100px #0009,inset 0 1px #dae6ff0a}
html[data-ui-style="solo-leveling"] dialog::backdrop{background:#03060db8;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
html[data-ui-style="solo-leveling"] .progression-radar-card{border-radius:3px 16px 3px 3px;background:linear-gradient(135deg,#b6a0fa07,transparent),var(--surface);border-color:var(--sl-edge);box-shadow:inset 0 2px #b6a0fa33}
html[data-ui-style="solo-leveling"] .viewport-info-panel{background:var(--sl-raised)!important;border-color:var(--sl-edge)!important;border-radius:4px 14px 4px 4px!important}
html[data-ui-style="solo-leveling"] .toast{border:1px solid var(--sl-edge);border-left:3px solid var(--sl-signal);border-radius:3px 12px 3px 3px;background:var(--sl-raised);color:var(--text)}
html[data-ui-style="solo-leveling"] :is(button,input,select,summary):focus-visible{outline:2px solid var(--sl-signal);outline-offset:3px}
@media(max-width:380px){html[data-ui-style="solo-leveling"] main{padding-inline:12px}html[data-ui-style="solo-leveling"] .tabs{left:8px;right:8px}html[data-ui-style="solo-leveling"] .tab{font-size:.68rem}html[data-ui-style="solo-leveling"] :is(.config-tabs,.exercise-workspace-nav){gap:2px;padding:3px}}

/* Crown/blade seal and gate geometry are decorative; no game logos or external assets. */
html[data-ui-style="solo-leveling"] .app-header h1::before{content:"";display:inline-block;vertical-align:middle;margin-right:10px;width:27px;height:31px;border:0;border-radius:0;box-shadow:none;clip-path:none;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 46'%3E%3Cg fill='none' stroke='%23b6a0fa' stroke-width='1.2'%3E%3Cpath d='M20 2 36 11v23L20 44 4 34V11Z' opacity='.45'/%3E%3Cpath d='m10 15 5 5 5-10 5 10 5-5-3 13H13Z'/%3E%3Cpath d='M14 32h12M17 35h6M20 28v11M7 12v8m26-8v8'/%3E%3C/g%3E%3C/svg%3E");filter:drop-shadow(0 0 6px #b6a0fa33)}
html[data-ui-style="solo-leveling"] #today{counter-reset:system-exercise}
html[data-ui-style="solo-leveling"] .daily-progress-center .hp-track{border-radius:2px;position:relative}
html[data-ui-style="solo-leveling"] .daily-progress-center .hp-track::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0 calc(10% - 1px),#080c1599 calc(10% - 1px) 10%)}
html[data-ui-style="solo-leveling"] .dual-level[aria-pressed="true"]{border-radius:3px 16px 3px 3px;outline:1px solid var(--sl-edge);background:linear-gradient(135deg,#b6a0fa0c,transparent);box-shadow:inset 0 2px #b6a0fa55}
html[data-ui-style="solo-leveling"] .progression-radar-card h3::before{content:"";display:inline-block;width:6px;height:6px;margin-right:9px;border:1px solid var(--sl-signal);transform:rotate(45deg);vertical-align:middle}
@media(hover:hover){html[data-ui-style="solo-leveling"] :is(.save-btn,.ghost,.icon-button):hover{border-color:var(--sl-signal);background-color:var(--sl-raised)}}
/* Keyboard dismissal in WebKit can leave bottom-fixed navigation floating mid-page.
   Use measured viewport coordinates, with the same style-specific lower gutter. */
html .tabs[data-viewport-anchored="true"]{top:calc(var(--navigation-viewport-bottom) - var(--navigation-height));bottom:auto!important;margin-block:0}
html[data-ui-style="syntech"] .tabs,html[data-ui-style="solo-leveling"] .tabs{--navigation-gap:calc(8px + env(safe-area-inset-bottom,0px))}
/* Preserve each Solo skin's violet identity under the composition layer.
   Use a finite-height glow: document-length gradients disappear on long workout pages. */
html[data-ui-style="solo-leveling"][data-theme="solo"]{--sl-ground:#0b0911;--sl-panel:#171321;--sl-raised:#241d32;--sl-edge:#9971d369;--sl-signal:#bda0f5;--sl-light:#f0eaff;--sl-dim:#b4a8c8;--surface:#100c18;--line:#423458}
html[data-ui-style="solo-leveling"][data-theme="solo-obsidian"]{--sl-edge:#9272af66;--sl-signal:#b79ae9;--line:#3d354b}
html[data-ui-style="solo-leveling"] body{background-color:var(--sl-ground);background-image:radial-gradient(ellipse 85% 480px at 50% 0,#85729e36,transparent 80%),linear-gradient(180deg,#27223066,transparent 760px);background-size:100% 760px;background-repeat:no-repeat}
html[data-ui-style="solo-leveling"] :is(.card,.exercise-card,.progress-item,.routine-day,.appearance-subsection,.calorie-summary){background:linear-gradient(125deg,#c7a0ed0c,transparent 60%),var(--sl-panel)}
html[data-ui-style="solo-leveling"] .tab.active{box-shadow:inset 0 1px var(--sl-signal);color:var(--sl-signal)}
/* NOCTURNE — a quiet, architectural UI composition, independent of skins. */
html[data-ui-style="nocturne"]{--bg:#0c1015;--card:#141a21;--panel:#141a21;--raised:#1c242d;--surface:#0c1015;--text:#eeeae3;--muted:#9ba4ae;--line:#ffffff13;--accent:#cbb596;--accent-soft:#8caaa5;color-scheme:dark;background:var(--bg)}
html[data-ui-style="nocturne"] body{background:radial-gradient(ellipse at 10% 0%,#c8ac8110,transparent 34rem),radial-gradient(ellipse at 95% 60%,#6e96980a,transparent 45rem),var(--bg);font-feature-settings:"ss01" 1,"cv11" 1;line-height:1.5}
html[data-ui-style="nocturne"] main{max-width:790px;padding-inline:18px;padding-bottom:calc(104px + env(safe-area-inset-bottom))}
html[data-ui-style="nocturne"] .app-header{max-width:790px;margin:auto;padding:18px 20px 12px;gap:12px;align-items:center;border-bottom:1px solid #cbb59614}
html[data-ui-style="nocturne"] .app-header .muted{letter-spacing:.025em;font-size:.74rem}
html[data-ui-style="nocturne"] :is(h2,h3){font-weight:500;letter-spacing:-.025em;line-height:1.25}
html[data-ui-style="nocturne"] :is(.section-head>h2,.appearance-intro h3){font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;font-weight:400;letter-spacing:-.035em}
html[data-ui-style="nocturne"] :is(.eyebrow,.intensity,.group-attention){font-size:.62rem;letter-spacing:.14em;font-weight:600;text-transform:uppercase;color:#cbb596}
html[data-ui-style="nocturne"] :is(.card,.exercise-card,.progress-item,.routine-day,.progression-radar-card,.appearance-object,.appearance-subsection,.calorie-summary,.measurement-record,.history-day,.timer-disclosure,.timer-coaching-settings){position:relative;border:1px solid #ffffff0d!important;border-radius:20px!important;background:linear-gradient(155deg,#ffffff04,transparent 48%),#141a21!important;box-shadow:0 8px 28px #00000012,inset 0 1px #ffffff05!important}
html[data-ui-style="nocturne"] :is(.exercise-card,.progress-item){padding:18px!important;margin-block:12px!important;overflow:visible;border-top-color:#cbb59638!important}
html[data-ui-style="nocturne"] .exercise-head{align-items:start;gap:12px;padding-bottom:10px}
html[data-ui-style="nocturne"] :is(.exercise-title,.progress-exercise-title){font-size:1rem;font-weight:600;letter-spacing:-.025em;text-align:left}
html[data-ui-style="nocturne"] :is(.exercise-card-actions,.exercise-order-controls){gap:5px}
html[data-ui-style="nocturne"] :is(button,.ghost,.primary){font-family:inherit;border-radius:12px;transition:background-color .15s ease,box-shadow .15s ease}
html[data-ui-style="nocturne"] :is(.icon-button,.exercise-card-actions .icon-button){border:0!important;background:#ffffff05!important;box-shadow:inset 0 0 0 1px #ffffff09!important;border-radius:10px!important;color:#aeb8c1}
html[data-ui-style="nocturne"] .primary{background:#d4c3a9!important;border:1px solid #e8dac2!important;color:#171c21!important;font-weight:600;box-shadow:0 3px 12px #cbb59612!important}
html[data-ui-style="nocturne"] .ghost{background:#ffffff03;border:1px solid #ffffff10;color:#c3c8cb;box-shadow:none}
html[data-ui-style="nocturne"] :is(input:not([type=checkbox]),select,textarea){background:#0e141b!important;color:var(--text);border:1px solid #ffffff12!important;border-radius:10px!important;box-shadow:inset 0 2px 5px #0002;min-width:0;font-family:inherit}
html[data-ui-style="nocturne"] :is(input,select,textarea):focus-visible{outline:2px solid #cbb59688;outline-offset:2px}
html[data-ui-style="nocturne"] input::placeholder{color:#7d8793;opacity:.8}
html[data-ui-style="nocturne"] .series-row{padding-block:13px!important;border-bottom:1px solid #ffffff0b!important;column-gap:7px}
html[data-ui-style="nocturne"] .series-row>strong{font-size:.72rem;color:#9ea7b0;font-weight:500}
html[data-ui-style="nocturne"] .rep-stepper{border-radius:10px!important;background:#0e141b!important;border:1px solid #ffffff10!important;overflow:hidden;box-shadow:none!important}
html[data-ui-style="nocturne"] .rep-stepper button{border:0!important;border-radius:0!important;background:#ffffff04!important;color:#cbb596}
html[data-ui-style="nocturne"] .rep-stepper input{background:transparent!important;border:0!important;box-shadow:none!important;font-weight:500}
html[data-ui-style="nocturne"] .load-picker>summary{background:transparent!important;border:1px solid #ffffff0b!important;border-radius:9px!important;color:#afb8c1;font-weight:400;font-size:.74rem}
html[data-ui-style="nocturne"] .series-row>input[type=checkbox]{border-radius:9px!important;border:1px solid #8e9caa66;background-color:#0e141b;box-shadow:inset 0 1px 2px #0003}
html[data-ui-style="nocturne"] .series-row>input[type=checkbox]:checked{background-color:#cbb596!important;border-color:#cbb596!important}
html[data-ui-style="nocturne"] .extra-set-actions{padding-block:12px!important;margin-block:12px!important;border-color:#ffffff0b!important;gap:9px}
html[data-ui-style="nocturne"] .rating button{background:#ffffff03!important;border:1px solid #ffffff0d!important;font-weight:400;font-size:.76rem}
html[data-ui-style="nocturne"] .rating button.selected{background:#cbb59616!important;border-color:#cbb59660!important;color:#e2cfb2}
html[data-ui-style="nocturne"] .save-btn{background:#cbb596!important;color:#121921!important;border:0;border-radius:11px;min-height:43px;font-weight:600}
html[data-ui-style="nocturne"] .save-btn:disabled{background:#242d37!important;color:#798591!important;opacity:.8}
html[data-ui-style="nocturne"] .exercise-search{display:grid;gap:7px;margin-block:16px}
html[data-ui-style="nocturne"] .exercise-search>span{font-size:.67rem;color:var(--muted);letter-spacing:.025em}
html[data-ui-style="nocturne"] .exercise-search input{min-height:46px!important;border-radius:13px!important;padding-inline:15px!important;background:#111820!important}
html[data-ui-style="nocturne"] .exercise-workspace-nav{padding:4px;background:#ffffff03;border:1px solid #ffffff08;border-radius:13px;gap:4px}
html[data-ui-style="nocturne"] .exercise-workspace-nav button{background:transparent!important;border:0!important;box-shadow:none!important;font-size:.72rem;font-weight:500;min-height:40px;color:#929da9}
html[data-ui-style="nocturne"] .exercise-workspace-nav button.active{background:#27313c!important;color:#f0e4d2!important;border-radius:9px!important}
html[data-ui-style="nocturne"] .hp-card{background:transparent!important;border:0!important;box-shadow:none!important;padding:12px 4px!important}
html[data-ui-style="nocturne"] .hp-track{background:#080d13!important;border-color:#87949f55!important;box-shadow:inset 0 2px 5px #0006!important}
html[data-ui-style="nocturne"] .today-pinned{background:var(--bg);border-color:#ffffff0b}
html[data-ui-style="nocturne"] .calendar-card{padding:15px!important}
html[data-ui-style="nocturne"] .calendar-grid button{border-radius:7px!important;font-variant-numeric:tabular-nums;font-weight:500;box-shadow:none}
html[data-ui-style="nocturne"] .calendar-grid button.selected{outline-color:#e0d1bc!important;outline-offset:2px}
html[data-ui-style="nocturne"] .routine-timer-top output{font-weight:400;letter-spacing:-.045em;font-size:1.75rem}
html[data-ui-style="nocturne"] .routine-timer-top>div>span{font-size:.58rem;letter-spacing:.13em;color:#9eabb6}
html[data-ui-style="nocturne"] .routine-timer-bar{height:5px;border:0;background:#ffffff08;border-radius:5px;margin:13px 0}
html[data-ui-style="nocturne"] .routine-timer-next{padding-block:3px;font-size:.7rem;color:#97a3ad}
html[data-ui-style="nocturne"] .routine-timer-actions.transport button{border-radius:11px!important}
html[data-ui-style="nocturne"] .timer-step{position:relative;margin-left:10px;padding:13px 12px 13px 17px;border:0;border-left:1px solid #ffffff12;font-size:.8rem}
html[data-ui-style="nocturne"] .timer-step.current{border-left:2px solid #cbb596;background:linear-gradient(90deg,#cbb5960b,transparent);border-radius:0 10px 10px 0}
html[data-ui-style="nocturne"] .routine-day>summary{font-size:.78rem;letter-spacing:.025em}
html[data-ui-style="nocturne"] #routineConfig .slot-row{border-radius:7px!important;background:#cbb5960b!important;border-color:#cbb5961c!important;box-shadow:inset 3px 0 #cbb59688!important}
html[data-ui-style="nocturne"] .history-day>summary{padding-block:16px!important;font-size:.77rem;font-weight:500}
html[data-ui-style="nocturne"] :is(.measurement-callout,.measurement-ratio){background:#111820e8!important;border:1px solid #ffffff12!important;box-shadow:0 4px 12px #0002;border-radius:10px}
html[data-ui-style="nocturne"] dialog{border:1px solid #b7a78e33!important;border-radius:23px!important;background:linear-gradient(145deg,#1a222b,#10161e)!important;color:var(--text);box-shadow:0 35px 100px #0008!important}
html[data-ui-style="nocturne"] dialog::backdrop{background:#030810bb;backdrop-filter:blur(9px)}
html[data-ui-style="nocturne"] .progression-radar-card{border-top:1px solid #cbb59655!important;background:#151d25!important}
html[data-ui-style="nocturne"] nav.tabs{box-sizing:border-box;left:12px!important;right:12px!important;width:auto!important;bottom:calc(8px + env(safe-area-inset-bottom))!important;padding:5px!important;gap:5px!important;min-height:60px!important;border:1px solid #ffffff13!important;border-radius:19px!important;background:#131a23ed!important;box-shadow:0 10px 34px #0005!important;backdrop-filter:blur(18px)}
html[data-ui-style="nocturne"] nav.tabs button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:48px!important;border:0!important;border-radius:13px!important;background:transparent!important;box-shadow:none!important;color:#8e9aa6!important;font-weight:500;font-size:.63rem!important;padding:5px!important}
html[data-ui-style="nocturne"] nav.tabs button::before{content:"";display:block;width:17px;height:17px;opacity:.75;background:currentColor;mask:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.5' d='m4 11 8-7 8 7v9H4zM9 20v-7h6v7'/%3E%3C/svg%3E")}
html[data-ui-style="nocturne"] nav.tabs [data-tab="timer"]::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle fill='none' stroke='black' stroke-width='1.5' cx='12' cy='13' r='8'/%3E%3Cpath stroke='black' stroke-width='1.5' fill='none' d='M9 2h6m-3 6v6l3 2'/%3E%3C/svg%3E")}
html[data-ui-style="nocturne"] nav.tabs [data-tab="progress"]::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.5' d='M4 8v8m3-11v14m10-14v14m3-11v8M7 12h10'/%3E%3C/svg%3E")}
html[data-ui-style="nocturne"] nav.tabs [data-tab="calories"]::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle fill='none' stroke='black' stroke-width='1.5' cx='12' cy='5' r='3'/%3E%3Cpath fill='none' stroke='black' stroke-width='1.5' d='M5 20v-4a7 7 0 0 1 14 0v4M12 12v9'/%3E%3C/svg%3E")}
html[data-ui-style="nocturne"] nav.tabs button.active{background:#cbb59613!important;color:#e1ccb0!important}
@media(prefers-reduced-motion:reduce){html[data-ui-style="nocturne"] *{transition:none!important}}
/* Local profile onboarding and account switcher. */
.user-switch-shortcut{display:grid;place-items:center;flex:0 0 38px;width:38px;min-height:38px;padding:8px;border:0;background:transparent;color:var(--muted);opacity:.7;border-radius:50%}
.user-switch-shortcut svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.app-header>.user-switch-shortcut{margin-left:0}
.profile-wizard,.profile-switch-dialog{box-sizing:border-box;width:min(460px,calc(100vw - 48px));max-width:calc(100vw - 48px);max-height:calc(90dvh - 32px - env(safe-area-inset-top));overflow:auto;margin:auto;padding:26px!important;border:1px solid #a5947b38;border-radius:24px;background:linear-gradient(140deg,#1b242e,#0e141c);color:#eee9e0;box-shadow:0 25px 100px #0008;overscroll-behavior:contain}
.profile-wizard::backdrop,.profile-switch-dialog::backdrop{background:#040810b8;backdrop-filter:blur(10px)}
.profile-wizard header>small,.profile-switch-dialog header small{font-size:10px;letter-spacing:.16em;color:#c8b797;font-weight:600}
.profile-wizard h2{font:400 2.45rem/1.04 Georgia,serif;letter-spacing:-.045em;margin:10px 0 14px;color:#f1e9dc}
.profile-wizard header>p{font-size:.78rem;color:#a2acb7;margin:0 0 18px}
.profile-wizard-orbit{float:right;font:400 64px/1 Georgia,serif;color:#cbb596;opacity:.65}
.profile-wizard-progress{display:flex;gap:6px;margin:14px 0 24px}
.profile-wizard-progress i{height:2px;background:#ffffff18;flex:1}
.profile-wizard-progress i.active{background:#cbb596}
.profile-wizard form>section{display:grid;gap:14px}
.profile-wizard [hidden]{display:none!important}
.profile-wizard h3{font-size:1rem;font-weight:500;margin:0 0 4px}
.profile-wizard label{display:grid;gap:6px;font-size:.75rem;color:#b9c1c9}
.profile-wizard :is(input,select){box-sizing:border-box;width:100%;min-height:45px;font:inherit;font-size:16px;border:1px solid #ffffff17;border-radius:10px;background:#0c131c;color:#f1e9dc;padding:10px 12px}
.profile-wizard :is(input,select):focus-visible{outline:2px solid #cbb59688;outline-offset:2px}
.profile-wizard footer{display:flex;gap:12px;justify-content:space-between;margin-top:20px}
.profile-wizard footer button{min-height:44px;border-radius:11px;padding:10px 18px}
.profile-wizard .primary,.profile-switch-dialog .primary{background:#d0bfa5;color:#18202a;border:1px solid #dbcab0;font-weight:600;border-radius:12px}
.profile-wizard .muted,.profile-switch-dialog .muted{font-size:.71rem;line-height:1.5;color:#97a4b1}
.profile-wizard details[open]{display:grid;gap:12px}.profile-wizard details label{margin-top:12px}
.profile-error,.profile-switch-error{font-size:.8rem;color:#eab1ab}
.profile-wizard-cancel{display:block;margin:18px auto 0;font-size:.75rem}
.profile-switch-dialog header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}
.profile-switch-dialog h2{font:400 1.7rem/1.15 Georgia,serif;margin:8px 0}
.profile-switch-dialog header>button{font-size:24px;border:0;background:none;color:#aab3bd;padding:8px}
.profile-user-list{display:grid;gap:9px;margin-bottom:16px}
.profile-user-list button{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border:1px solid #ffffff15;border-radius:13px;background:#ffffff03;color:#e9e4db;text-align:left}
.profile-user-list button[aria-current]{border-color:#cbb59688;background:#cbb5960b}
.profile-user-list button small{font-size:.65rem;color:#a4aeb9;white-space:nowrap}
.profile-switch-dialog>[data-new],.profile-switch-dialog>[data-edit]{display:block;width:100%;min-height:43px;margin-block:10px;border-radius:11px}
html[data-body-sex="female"] .measurement-visual img{object-fit:contain}
.app-header>div:first-child{flex:1 1 auto;min-width:0}
.app-header>.user-switch-shortcut{order:1}
.app-header>#openSettings{order:2}
/* NOCTURNE / ATELIER — structural composition, not a palette preset. */
.nocturne-style-preview,.nocturne-config-icon{display:none}
html[data-ui-style="nocturne"]{--bg:#080b10;--card:#11161d;--panel:#11161d;--raised:#1b222b;--text:#f2eee6;--muted:#a1a8b2;--line:#ffffff12;--accent:#ddc8a5;--accent-soft:#26383f}
html[data-ui-style="nocturne"] body{background:radial-gradient(ellipse at 0 0,#76654a16,transparent 42rem),radial-gradient(ellipse at 100% 35%,#496a7c12,transparent 45rem),#080b10}
html[data-ui-style="nocturne"] .app-header{border:0;padding-top:22px;padding-bottom:16px}
html[data-ui-style="nocturne"] #todayLabel{font-size:.72rem;letter-spacing:.04em;color:#afb7c0}
html[data-ui-style="nocturne"] main{padding-inline:16px}
html[data-ui-style="nocturne"] :is(.exercise-card,.progress-item){border-radius:8px 22px 22px 22px!important;background:linear-gradient(120deg,#1c263034,transparent 60%),#10151c!important;border:1px solid #ffffff0c!important;border-top-color:#cbb5962e!important;padding:19px 16px 16px!important}
html[data-ui-style="nocturne"] :is(.exercise-card,.progress-item)[data-nocturne-number]::before{content:attr(data-nocturne-number);position:absolute;left:16px;top:19px;display:grid;place-items:center;width:24px;height:24px;border:1px solid #cbb59633;border-radius:4px;font:400 10px/1 ui-monospace,monospace;color:#cbb596a6}
html[data-ui-style="nocturne"] :is(.exercise-card,.progress-item)[data-nocturne-number]>.exercise-head{padding-left:34px;min-height:28px}
html[data-ui-style="nocturne"] .exercise-card-actions{gap:3px!important;flex-wrap:wrap;justify-content:end}
html[data-ui-style="nocturne"] :is(.icon-button,.exercise-card-actions .icon-button){width:30px!important;min-height:32px!important;height:32px!important;padding:6px!important;border-radius:50%!important;background:transparent!important;box-shadow:none!important;color:#8e9aa7}
html[data-ui-style="nocturne"] .exercise-card-actions svg{width:17px!important;height:17px!important}
html[data-ui-style="nocturne"] :is(.exercise-title,.progress-exercise-title){font-size:1rem;font-weight:500;line-height:1.3;letter-spacing:-.03em}
html[data-ui-style="nocturne"] .quest-status>strong{font-size:.74rem;color:#d1b995;font-weight:500}
html[data-ui-style="nocturne"] .quest-compact{margin-top:13px;padding-top:11px;border-top:1px solid #ffffff0b}
html[data-ui-style="nocturne"] .mastery-dots{gap:5px;font-size:.76rem}
html[data-ui-style="nocturne"] .exercise-streak{min-height:21px!important;padding:2px 7px!important;border-radius:5px!important;font-size:.63rem!important}
html[data-ui-style="nocturne"] .series-row{margin-inline:0;padding-block:14px!important;row-gap:7px}
html[data-ui-style="nocturne"] .rep-stepper{border-radius:8px!important;background:#090f15!important;border:1px solid #ffffff0d!important}
html[data-ui-style="nocturne"] .rep-stepper button{background:transparent!important;color:#a7b6c0}
html[data-ui-style="nocturne"] .load-picker>summary{border:0!important;border-radius:5px!important;border-bottom:1px solid #ffffff0b!important;background:#ffffff02!important;font-size:.69rem!important;min-height:34px!important}
html[data-ui-style="nocturne"] .save-btn{min-height:42px;border-radius:8px 8px 14px 14px;letter-spacing:.015em;background:linear-gradient(105deg,#e1cfb1,#bfa783)!important;border:0;color:#10171e!important}
html[data-ui-style="nocturne"] .hp-card{position:relative;margin-top:20px!important;margin-bottom:14px!important;padding:19px 13px 16px!important;border:0!important;overflow:visible;isolation:isolate}
html[data-ui-style="nocturne"] .hp-card::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;clip-path:polygon(0 0,calc(100% - 17px) 0,100% 17px,100% 100%,17px 100%,0 calc(100% - 17px));background:linear-gradient(110deg,#a28a5d18,#16232c88 60%,#11202944);border-top:1px solid #bda47b4d;border-bottom:1px solid #78959f20}
html[data-ui-style="nocturne"] .hp-card::after{content:"";position:absolute;right:11px;top:11px;width:6px;height:6px;border-radius:50%;background:#b9c8bd;box-shadow:0 0 11px #b9c8bd50;pointer-events:none}
html[data-ui-style="nocturne"] #routineName{font:400 1.2rem/1.25 Georgia,serif;letter-spacing:-.025em;color:#eae2d4;max-width:75%}
html[data-ui-style="nocturne"] .career-xp-live{font:400 10px/1.3 ui-monospace,monospace;letter-spacing:.025em;color:#a6a8a5;padding-right:8px}
html[data-ui-style="nocturne"] .hp-card .daily-progress-row{margin-top:13px}
html[data-ui-style="nocturne"] .hp-track{height:6px!important;min-height:6px!important;border:0!important;background:#05090f!important;border-radius:2px!important;box-shadow:inset 0 1px 3px #0008!important}
html[data-ui-style="nocturne"] #completionPercent{font:400 10px/1.3 ui-monospace,monospace;color:#b0b9bc}
html[data-ui-style="nocturne"] .calendar-card{border:0!important;background:linear-gradient(180deg,#10161d,#0b1016)!important;border-radius:20px!important;padding:16px!important;box-shadow:inset 0 1px #ffffff08!important}
html[data-ui-style="nocturne"] .calendar-heading h2{font:400 1rem/1.2 Georgia,serif;color:#e4dccd}
html[data-ui-style="nocturne"] .month-controls button{border-radius:50%;width:30px;min-height:30px;height:30px;padding:0;background:transparent;border-color:#ffffff0d}
html[data-ui-style="nocturne"] .calendar-grid button{border-radius:5px!important;font-size:.66rem}
html[data-ui-style="nocturne"] .workout-title{margin-top:22px;padding-bottom:9px;border-bottom:1px solid #ffffff0b}
html[data-ui-style="nocturne"] .workout-title h2{font:400 1.5rem/1.1 Georgia,serif}
html[data-ui-style="nocturne"] #todaySummary{font-size:.72rem;color:#929eaa}
/* A dial in the full player; compact players retain their tight transport layout. */
html[data-ui-style="nocturne"] .timer-disclosure{border-radius:6px 20px 20px 20px!important;border-color:#8199a71a!important;background:linear-gradient(120deg,#16222c,#0f151e)!important}
html[data-ui-style="nocturne"] .timer-disclosure>summary{font-size:.64rem;text-transform:uppercase;letter-spacing:.14em;font-weight:500;color:#b9c2c7;padding-bottom:7px}
html[data-ui-style="nocturne"] .routine-timer-top{align-items:center;gap:12px}
html[data-ui-style="nocturne"] .routine-timer-top>output{position:relative;display:grid;place-items:center;flex:0 0 82px;width:82px;height:82px;box-sizing:border-box;padding:3px;border:1px solid #ffffff0c;border-radius:50%;font:400 21px/1 ui-monospace,monospace;letter-spacing:-.06em;background:radial-gradient(circle at center,#101821 62%,transparent 63%),conic-gradient(from -90deg,var(--timer-state-color,var(--timer-accent)) var(--phase-progress,0%),#ffffff0b 0);color:#f0e9dd;box-shadow:0 0 30px #8eacb40a,inset 0 0 20px #ffffff03}
html[data-ui-style="nocturne"] .routine-timer-top strong{font-size:.85rem;font-weight:500;white-space:normal;line-height:1.4}
html[data-ui-style="nocturne"] .routine-timer-top>div>span{font:400 9px/1.3 ui-monospace,monospace;letter-spacing:.12em;color:#aab6bf}
html[data-ui-style="nocturne"] .routine-timer-next{padding:9px 0;margin-bottom:10px;border-bottom:1px solid #ffffff0b;color:#a8b4be}
html[data-ui-style="nocturne"] .routine-timer-next>span{font-size:.65rem}
html[data-ui-style="nocturne"] .routine-timer-next b{display:inline-block;min-width:67px;color:#bca987;font:400 .59rem/1.4 ui-monospace,monospace}
html[data-ui-style="nocturne"] .routine-timer-actions.transport{gap:7px;justify-content:center}
html[data-ui-style="nocturne"] .routine-timer-actions.transport .primary{border-radius:50%!important;width:42px;height:42px;min-height:42px;background:#decbaa!important;color:#111a22!important;box-shadow:0 3px 18px #ddc7a414!important}
html[data-ui-style="nocturne"] .today-pinned.is-pinned .routine-timer-top>output,html[data-ui-style="nocturne"][data-timer-presentation="hud"] .timer-mini .routine-timer-top>output{width:auto!important;height:auto!important;flex-basis:auto!important;display:block!important;min-width:0;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;border-radius:0;font-size:1rem!important}
/* Settings becomes a navigation console and a compact numbered catalogue. */
html[data-ui-style="nocturne"] .settings-window{border-radius:25px!important;background:radial-gradient(ellipse at 85% 0,#38526228,transparent 40%),#0c121a!important;border-color:#9eacb12b!important}
html[data-ui-style="nocturne"] .settings-window-header{padding:22px 20px 17px;background:transparent!important;border-bottom:1px solid #ffffff0b;gap:11px}
html[data-ui-style="nocturne"] .settings-window-header::before{content:"";display:block;flex:0 0 27px;width:27px;height:27px;border:1px solid #cbb59677;border-radius:50%;background:radial-gradient(circle at 65% 35%,#d7c09a 0 3px,transparent 4px),linear-gradient(132deg,transparent 48%,#a990684d 49% 51%,transparent 52%);box-shadow:inset 0 0 0 5px #0e151c}
html[data-ui-style="nocturne"] .settings-window-header h2{flex:1;font-size:.88rem;letter-spacing:.02em;font-weight:500}
html[data-ui-style="nocturne"] .settings-window-scroll{padding:0 17px 24px!important}
html[data-ui-style="nocturne"] .settings-window .config-tabs{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;background:#ffffff02;border:1px solid #ffffff09;border-radius:12px;margin:15px 0 25px;padding:3px!important}
html[data-ui-style="nocturne"] .settings-window .config-tabs .config-tab{display:flex!important;flex-direction:column;justify-content:start;align-items:center;gap:7px;grid-column:auto!important;min-height:65px!important;min-width:0;padding:10px 3px 7px!important;border:0!important;border-radius:9px!important;box-shadow:none!important;font-family:inherit;font-size:10.5px!important;line-height:1.2;font-weight:500;color:#9ba8b5!important;background:transparent!important;text-align:center;position:relative}
html[data-ui-style="nocturne"] .settings-window .config-tabs .config-tab.active{background:#cbb5960b!important;color:#f1dfbd!important;box-shadow:inset 0 -1px #cbb596a6!important}
html[data-ui-style="nocturne"] .nocturne-config-icon{display:grid;place-items:center;width:20px;height:20px}
html[data-ui-style="nocturne"] .nocturne-config-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
html[data-ui-style="nocturne"] .appearance-intro{margin:0 0 18px;padding-inline:2px}
html[data-ui-style="nocturne"] .appearance-intro h3{font:400 1.8rem/1.15 Georgia,serif;color:#eae3d8;letter-spacing:-.045em}
html[data-ui-style="nocturne"] .appearance-sections{display:block!important;gap:0!important}
html[data-ui-style="nocturne"] #config-appearance .appearance-subsection{padding:0!important;margin:0!important;border:0!important;border-bottom:1px solid #ffffff0d!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible}
html[data-ui-style="nocturne"] #config-appearance .appearance-subsection>summary{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:69px!important;padding:17px 28px 17px 36px!important;gap:3px;list-style:none}
html[data-ui-style="nocturne"] #config-appearance .appearance-subsection>summary::-webkit-details-marker{display:none}
html[data-ui-style="nocturne"] #config-appearance .appearance-subsection>summary::before{content:none;display:none}
html[data-ui-style="nocturne"] #config-appearance .appearance-subsection::before{content:attr(data-nocturne-number);position:absolute;left:2px;top:24px;color:#b69d78;font:400 10px/1.3 ui-monospace,monospace;pointer-events:none}
html[data-ui-style="nocturne"] #config-appearance .appearance-subsection>summary>strong{font-size:.8rem;font-weight:500;color:#d9dfdf;line-height:1.3}
html[data-ui-style="nocturne"] #config-appearance .appearance-subsection>summary>span{font-size:.64rem;font-weight:400;color:#7f8d9c;line-height:1.4;display:none}
html[data-ui-style="nocturne"] #config-appearance .appearance-subsection[open]>summary>span{display:block}
html[data-ui-style="nocturne"] #config-appearance .appearance-subsection>summary::after{right:3px!important;color:#8c9caa!important;font-size:15px!important;font-weight:300!important}
html[data-ui-style="nocturne"] #config-appearance .appearance-subsection>.appearance-controls{margin:0;padding:4px 0 18px!important;gap:13px}
html[data-ui-style="nocturne"] #config-appearance .appearance-object{margin:0 0 18px 35px!important;padding:14px 0 7px!important;border:0!important;border-top:1px solid #ffffff0a!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
html[data-ui-style="nocturne"] #config-appearance .appearance-object legend{padding:0 8px 0 0;font:400 10px/1.3 ui-monospace,monospace;color:#bca789;letter-spacing:.02em}
html[data-ui-style="nocturne"] #config-appearance .appearance-controls label{font-size:.69rem;color:#aab5c1;gap:6px}
html[data-ui-style="nocturne"] #config-appearance :is(select,input:not([type=checkbox])){border:0!important;border-bottom:1px solid #b9a07b3d!important;border-radius:5px!important;background:#090f16!important;min-height:43px;font-family:inherit;font-size:16px;color:#dce0df;box-shadow:none!important}
html[data-ui-style="nocturne"] #config-appearance label:has(#uiStyle)>span{display:none}
html[data-ui-style="nocturne"] #config-appearance .appearance-subsection:first-child{border:1px solid #cbb59630!important;border-radius:8px 20px 20px 20px!important;background:linear-gradient(135deg,#1b2630,#10171f)!important;margin-bottom:15px!important;overflow:hidden}
html[data-ui-style="nocturne"] #config-appearance .appearance-subsection:first-child::before{display:none}
html[data-ui-style="nocturne"] #config-appearance .appearance-subsection:first-child>summary{min-height:0!important;padding:14px 16px 0!important;display:block}
html[data-ui-style="nocturne"] #config-appearance .appearance-subsection:first-child>summary>strong{font:400 9px/1.2 ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;color:#bdac90}
html[data-ui-style="nocturne"] #config-appearance .appearance-subsection:first-child>summary>span{display:none}
html[data-ui-style="nocturne"] #config-appearance .appearance-subsection:first-child>.appearance-controls{padding:0 16px 16px!important}
html[data-ui-style="nocturne"] .nocturne-style-preview{position:relative;display:block;min-height:169px;overflow:hidden}
html[data-ui-style="nocturne"] .nocturne-style-preview>svg{position:absolute;inset:0;width:100%;height:100%;min-height:175px;pointer-events:none}
html[data-ui-style="nocturne"] .nocturne-preview-title{position:relative;z-index:1;width:48%;padding:26px 0 23px 17px}
html[data-ui-style="nocturne"] .nocturne-preview-title>small{font:400 6px/1.3 ui-monospace,monospace;letter-spacing:.1em;color:#8195a2}
html[data-ui-style="nocturne"] .nocturne-preview-title>strong{display:block;margin-top:13px;font:400 1.7rem/.95 Georgia,serif;letter-spacing:-.05em;color:#eee2cc}
html[data-ui-style="nocturne"] .nocturne-preview-title>strong>span{display:block;font-style:italic;font-weight:400;color:#a7bfc5;margin-top:2px}
html[data-ui-style="nocturne"] .nocturne-preview-title>p{font-size:8px;line-height:1.4;color:#7e94a1;margin-top:12px}
html[data-ui-style="nocturne"] .history-day{border:0!important;border-bottom:1px solid #ffffff0b!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
html[data-ui-style="nocturne"] nav.tabs{border-radius:10px 20px 20px 20px!important;background:linear-gradient(120deg,#17232df0,#0e151df5)!important;border-color:#b4bdb91c!important;box-shadow:0 10px 38px #0007!important;padding:5px 8px!important}
html[data-ui-style="nocturne"] nav.tabs button.active{background:#b5aa8b0d!important;border-radius:9px!important;box-shadow:inset 0 -1px #d3be98!important;color:#ecd9b7!important}
@media(max-width:370px){html[data-ui-style="nocturne"] .routine-timer-top>output{flex-basis:65px;width:65px;height:65px;font-size:17px}html[data-ui-style="nocturne"] .exercise-card-actions .icon-button{width:27px!important;height:29px!important;min-height:29px!important}html[data-ui-style="nocturne"] .nocturne-preview-title>strong{font-size:1.5rem}}
@media(prefers-reduced-motion:no-preference){html[data-ui-style="nocturne"][data-motion-mode="subtle"] .tab-panel.active{animation:atelier-enter .22s ease-out both}@keyframes atelier-enter{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:none}}}

/* Shared header rail: normalize visible silhouette height, retain comfortable hit areas. */
html body .app-header>.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:0;flex:0 0 auto;margin-left:auto;order:3}
html body .app-header .header-actions>button{display:grid;place-items:center;flex:0 0 38px;width:38px;height:44px;min-height:44px;padding:0;margin:0;border:0;background:transparent;opacity:1;color:var(--muted)}
html body .app-header .header-actions>button svg{display:block;width:32px;height:22px;opacity:.68}
html body .app-header .header-actions>.personal-log-access{order:0}html body .app-header .header-actions>.user-switch-shortcut{order:1}html body .app-header .header-actions>#openSettings{order:2}
html body .app-header .header-actions>.personal-log-access[hidden]{display:none!important}

/* Calendar header: month, info and navigation share one visible height. */
html body .calendar-heading{align-items:center}html body .calendar-heading .month-controls{display:flex;align-items:center;gap:5px}
html body .calendar-heading .month-controls button{display:grid;place-items:center;box-sizing:border-box;width:28px;min-width:28px;height:22px;min-height:22px;max-height:22px;padding:0!important;margin:0;line-height:1;font-size:18px;border-radius:7px}
html body .calendar-heading .calendar-legend-details,html body .calendar-heading .calendar-legend-details summary{height:22px;min-height:22px;max-height:22px}

/* Dock is flush with the viewport; the home-indicator inset belongs inside it. */
html body nav.tabs,html[data-ui-style] body nav.tabs{position:fixed!important;left:0!important;right:0!important;width:100%!important;max-width:none!important;bottom:0!important;top:auto!important;transform:none!important;margin:0!important;--navigation-gap:0px;padding:6px max(8px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px))!important;border-radius:14px 14px 0 0!important;border-bottom:0!important;box-sizing:border-box}
html body nav.tabs[data-viewport-anchored="true"],html[data-ui-style] body nav.tabs[data-viewport-anchored="true"]{top:calc(var(--navigation-viewport-bottom) - var(--navigation-height))!important;bottom:auto!important}

/* Nocturne Atelier skin: palette only, independent of UI composition. */
html[data-theme="nocturne-atelier"]{color-scheme:dark;--bg:#080b10;--surface:#0c1015;--surface2:#1b222b;--card:#11161d;--panel:#11161d;--raised:#1b222b;--text:#f2eee6;--muted:#a1a8b2;--line:#ffffff12;--border:#ffffff12;--accent:#ddc8a5;--accent-soft:#26383f;--bad:#d98d98}
html[data-theme="nocturne-atelier"] body{background:radial-gradient(ellipse at 0 0,#76654a16,transparent 42rem),radial-gradient(ellipse at 100% 35%,#496a7c12,transparent 45rem),#080b10}
html[data-theme="nocturne-atelier"] :is(.card,.exercise-card,.progress-item,.calendar-card,.history-item,.history-day,.timer-mini,.timer-disclosure,.progression-radar-card,.appearance-object){background-color:#11161d;border-color:#c5c8ce20}
html[data-theme="nocturne-atelier"] :is(.primary,.save-btn){background:#ddc8a5!important;border-color:#e8dac2!important;color:#171c21!important}
html[data-theme="nocturne-atelier"] :is(.ghost,.icon-button){background-color:#1b222b;color:#d3d5d8;border-color:#ffffff16}
html[data-theme="nocturne-atelier"] :is(input:not([type=checkbox]):not([type=radio]),select,textarea){background-color:#0e141b;color:#f2eee6;border-color:#ffffff1c}
html[data-theme="nocturne-atelier"] .tabs{background:linear-gradient(120deg,#17232df5,#0e151dfa);border-color:#b4bdb91c}
html[data-theme="nocturne-atelier"] .tabs .tab.active{color:#ecd9b7;background-color:#26383f}
html .level-medallion[data-medallion-skin="nocturne-atelier"]{--medal-progress-a:#8caaa5;--medal-progress-b:#ddc8a5;--medal-highlight:#f2eee6;--medal-track:#26313a;--medal-edge:#ae9978;--medal-inner-edge:#ddc8a5;--medal-outline:#080b10;--medal-core-edge:#6f8086;--medal-core-light:#33434b;--medal-core-mid:#1b252e;--medal-core-dark:#0c1015;--medal-glow:#ddc8a521;--medal-prestige-edge:#e8dac2;color:#f2eee6;background:conic-gradient(from -90deg,#8caaa5 0deg,#ddc8a5 var(--xp-mid,0deg),#f2eee6 var(--xp-progress,0deg),#26313a var(--xp-progress,0deg) 360deg);box-shadow:0 0 0 1px #ae9978,0 0 14px #ddc8a521}
html .level-medallion[data-medallion-skin="nocturne-atelier"]>span{border-color:#6f8086;background:radial-gradient(circle at 40% 25%,#33434b,#0c1015 75%)}
html .condition-medallion[data-medallion-skin="nocturne-atelier"]{--condition-energy:#8caaa5;--condition-track:#26313a}
html[data-daily-progress-skin="nocturne-atelier"] .hp-track,html[data-theme="nocturne-atelier"][data-daily-progress-skin="inherit"] .hp-track{border-color:#a1a8b2;background:#0c1015}
html[data-daily-progress-skin="nocturne-atelier"] .hp-track>div{background:linear-gradient(90deg,#8caaa5,#ddc8a5)}
html[data-calendar-skin="nocturne-atelier"] .calendar-day{border-color:#a1a8b233}
html[data-calendar-skin="nocturne-atelier"] .calendar-day.current{outline-color:#ddc8a5}
html[data-tabata-skin="nocturne-atelier"] :is(.timer-mini,.timer-disclosure){background:linear-gradient(145deg,#1b252e,#11161d);border-color:#a1a8b233}
html[data-tabata-skin="nocturne-atelier"] .routine-timer-bar{background:#0c1015;border-color:#a1a8b233}
html[data-tabata-skin="nocturne-atelier"] .routine-timer-bar i{background:linear-gradient(90deg,#8caaa5,#ddc8a5)}

/* Old Money skin: forest green, ivory, saddle leather and aged brass. */
html[data-theme="old-money"]{color-scheme:dark;--bg:#0c1410;--surface:#101b14;--surface2:#223127;--card:#15221a;--panel:#15221a;--raised:#223127;--text:#f2ebd9;--muted:#a9b09e;--line:#ffffff12;--border:#ffffff12;--accent:#c8b47e;--accent-soft:#2a3c2d;--bad:#c98b83}
html[data-theme="old-money"] body{background:radial-gradient(ellipse at 0 0,#8b694020,transparent 42rem),radial-gradient(ellipse at 100% 35%,#526e4917,transparent 45rem),#0c1410}
html[data-theme="old-money"] :is(.card,.exercise-card,.progress-item,.calendar-card,.history-item,.history-day,.timer-mini,.timer-disclosure,.progression-radar-card,.appearance-object){background-color:#15221a;border-color:#c8b47e26}
html[data-theme="old-money"] :is(.primary,.save-btn){background:#c8b47e!important;border-color:#e4d5ad!important;color:#182319!important}
html[data-theme="old-money"] :is(.ghost,.icon-button){background-color:#223127;color:#e0d9c8;border-color:#c8b47e25}
html[data-theme="old-money"] :is(input:not([type=checkbox]):not([type=radio]),select,textarea){background-color:#101b14;color:#f2ebd9;border-color:#c8b47e30}
html[data-theme="old-money"] .tabs{background:linear-gradient(120deg,#1c2c20f5,#101b14fa);border-color:#c8b47e30}
html[data-theme="old-money"] .tabs .tab.active{color:#f0dfb0;background-color:#2a3c2d}
html .level-medallion[data-medallion-skin="old-money"]{--medal-progress-a:#7e9b79;--medal-progress-b:#c8b47e;--medal-highlight:#f2ebd9;--medal-track:#283a2c;--medal-edge:#9d8759;--medal-inner-edge:#c8b47e;--medal-outline:#0c1410;--medal-core-edge:#8c7957;--medal-core-light:#405342;--medal-core-mid:#23372a;--medal-core-dark:#101b14;--medal-glow:#c8b47e21;--medal-prestige-edge:#e4d5ad;color:#f2ebd9;background:conic-gradient(from -90deg,#7e9b79 0deg,#c8b47e var(--xp-mid,0deg),#f2ebd9 var(--xp-progress,0deg),#283a2c var(--xp-progress,0deg) 360deg);box-shadow:0 0 0 1px #9d8759,0 0 14px #c8b47e21}
html .level-medallion[data-medallion-skin="old-money"]>span{border-color:#8c7957;background:radial-gradient(circle at 40% 25%,#405342,#101b14 75%)}
html .condition-medallion[data-medallion-skin="old-money"]{--condition-energy:#7e9b79;--condition-track:#283a2c}
html[data-daily-progress-skin="old-money"] .hp-track,html[data-theme="old-money"][data-daily-progress-skin="inherit"] .hp-track{border-color:#a9b09e;background:#101b14}
html[data-daily-progress-skin="old-money"] .hp-track>div{background:linear-gradient(90deg,#7e9b79,#c8b47e)}
html[data-calendar-skin="old-money"] .calendar-day{border-color:#a9b09e33}
html[data-calendar-skin="old-money"] .calendar-day.current{outline-color:#c8b47e}
html[data-tabata-skin="old-money"] :is(.timer-mini,.timer-disclosure){background:linear-gradient(145deg,#23372a,#15221a);border-color:#a9b09e33}
html[data-tabata-skin="old-money"] .routine-timer-bar{background:#101b14;border-color:#a9b09e33}
html[data-tabata-skin="old-money"] .routine-timer-bar i{background:linear-gradient(90deg,#7e9b79,#c8b47e)}

/* Consistent timer accent follows its resolved skin, not work/rest hardcoded colors. */
html{--timer-accent:var(--accent);--timer-accent-end:var(--accent)}
html[data-tabata-skin="solo"],html[data-tabata-skin="solo-obsidian"]{--timer-accent:#c7a5f3;--timer-accent-end:#e0c9ff}
html[data-tabata-skin="nocturne-atelier"]{--timer-accent:#ddc8a5;--timer-accent-end:#8caaa5}
html[data-tabata-skin="old-money"]{--timer-accent:#c8b47e;--timer-accent-end:#7e9b79}
html[data-tabata-skin="wotlk"],html[data-tabata-skin="frozen"]{--timer-accent:#9ccfe9;--timer-accent-end:#e2f1ff}
html[data-tabata-skin="tbc"]{--timer-accent:#9ecb76;--timer-accent-end:#d4eba3}
html[data-tabata-skin="bomberman"]{--timer-accent:#ffe16b;--timer-accent-end:#fff4aa}
html[data-tabata-skin="wow"],html[data-tabata-skin="vanilla"]{--timer-accent:#d7b274;--timer-accent-end:#f3dfb3}
html[data-tabata-skin="inherit"]{--timer-accent:var(--accent);--timer-accent-end:var(--accent)}
html .workout-timer-controller .routine-timer-top :is(span,.timer-total){color:var(--timer-accent)!important}
html .workout-timer-controller .routine-timer-bar i,html .timer-bar i{background:linear-gradient(90deg,var(--timer-accent),var(--timer-accent-end))!important}
/* Stable bottom geometry: no top coordinates or content-dependent bottom inset. */
html body nav.tabs,html[data-ui-style] body nav.tabs,html body nav.tabs[data-viewport-anchored="true"],html[data-ui-style] body nav.tabs[data-viewport-anchored="true"]{top:auto!important;bottom:0!important;padding-bottom:4px!important;transform:none!important}
html body nav.tabs::after{content:"";position:absolute;left:0;right:0;top:100%;height:env(safe-area-inset-bottom,0px);background:inherit;pointer-events:none}
html .app-header:has(>.progress-in-header){flex-wrap:wrap}
html .app-header>.progress-in-header{width:100%;flex:0 0 100%;margin-block:6px}
html .progress-in-header[data-progress-position="before-date"]{order:-10}
html .progress-in-header[data-progress-position="after-date"]{order:10}
html .hp-card[hidden]{display:none!important}
html .hp-card .daily-progress-row{display:flex!important;align-items:center;gap:10px;min-width:0}
html .hp-card .daily-progress-center{flex:1;min-width:0}
html .progress-docked{position:fixed;z-index:19;left:10px;right:10px;bottom:calc(var(--actual-navigation-height,60px) + 6px);max-width:700px;margin:auto;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:var(--card)}
html .routine-debuff-art,html .routine-debuff-caption{color:var(--debuff-custom-color,#dd8c97)}
html .routine-debuff-art[data-effect="tears"]{color:var(--debuff-custom-color,#86b3d0)}
html .advanced-ui-panel>p{font-size:.78rem;margin:12px 0}
html .advanced-ui-panel details{padding-block:10px;border-bottom:1px solid var(--line)}
html .advanced-ui-panel label{display:grid;gap:5px;margin:10px 0;font-size:.78rem}
html .advanced-ui-panel input,html .advanced-ui-panel select{min-width:0;max-width:100%;min-height:36px;font:inherit}
html .advanced-ui-panel .advanced-color-row{display:flex;align-items:center;gap:8px}
html .advanced-color-row>span{flex:1}.advanced-color-row input[type=color]{width:40px;padding:2px}
html .advanced-ui-panel button{min-height:32px;padding:5px 9px;margin:5px 0;border:1px solid var(--line);border-radius:8px;background:var(--raised);color:var(--text);font:inherit;font-size:.73rem}
html .advanced-ui-panel fieldset{margin-top:12px;border:1px solid var(--line);border-radius:10px;min-width:0}
html .saved-design-row{display:flex;gap:8px}.saved-design-row button:first-child{flex:1;text-align:left}

html [data-custom-debuff="true"] .routine-debuff-art,html [data-custom-debuff="true"]>.routine-debuff-caption{color:var(--debuff-custom-color)!important}.profile-picker-row{display:flex;gap:8px;align-items:center}.profile-picker-row>[data-profile]{flex:1;min-width:0}.profile-picker-row>.profile-rename{width:auto!important;min-width:0!important;padding:6px!important;font-size:.7rem}.profile-name-dialog{width:min(350px,calc(100% - 40px));padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--card);color:var(--text)}.profile-name-dialog form{display:grid;gap:14px}.profile-name-dialog label{display:grid;gap:8px}.profile-name-dialog input{width:100%;min-height:40px}.profile-name-dialog button{padding:8px;border-radius:8px;border:1px solid var(--line);background:var(--raised);color:var(--text);font:inherit;font-size:.8rem}

/* Old Money skin: forest green, ivory, saddle leather and aged brass. */
html[data-theme="old-money-noir"]{color-scheme:dark;--bg:#090a0b;--surface:#101112;--surface2:#252526;--card:#151617;--panel:#151617;--raised:#252526;--text:#efe8d8;--muted:#aaa79f;--line:#ffffff12;--border:#ffffff12;--accent:#c6b58b;--accent-soft:#30302c;--bad:#c98b83}
html[data-theme="old-money-noir"] body{background:radial-gradient(ellipse at 0 0,#8b694020,transparent 42rem),radial-gradient(ellipse at 100% 35%,#526e4917,transparent 45rem),#090a0b}
html[data-theme="old-money-noir"] :is(.card,.exercise-card,.progress-item,.calendar-card,.history-item,.history-day,.timer-mini,.timer-disclosure,.progression-radar-card,.appearance-object){background-color:#151617;border-color:#c6b58b26}
html[data-theme="old-money-noir"] :is(.primary,.save-btn){background:#c6b58b!important;border-color:#e4d5ad!important;color:#182319!important}
html[data-theme="old-money-noir"] :is(.ghost,.icon-button){background-color:#252526;color:#e0d9c8;border-color:#c6b58b25}
html[data-theme="old-money-noir"] :is(input:not([type=checkbox]):not([type=radio]),select,textarea){background-color:#101112;color:#efe8d8;border-color:#c6b58b30}
html[data-theme="old-money-noir"] .tabs{background:linear-gradient(120deg,#1a1b1cf5,#101112fa);border-color:#c6b58b30}
html[data-theme="old-money-noir"] .tabs .tab.active{color:#f0dfb0;background-color:#30302c}
html .level-medallion[data-medallion-skin="old-money-noir"]{--medal-progress-a:#9d9b8f;--medal-progress-b:#c6b58b;--medal-highlight:#efe8d8;--medal-track:#2d2f30;--medal-edge:#9d8759;--medal-inner-edge:#c6b58b;--medal-outline:#090a0b;--medal-core-edge:#8c7957;--medal-core-light:#343638;--medal-core-mid:#202224;--medal-core-dark:#101112;--medal-glow:#c6b58b21;--medal-prestige-edge:#e4d5ad;color:#efe8d8;background:conic-gradient(from -90deg,#9d9b8f 0deg,#c6b58b var(--xp-mid,0deg),#efe8d8 var(--xp-progress,0deg),#2d2f30 var(--xp-progress,0deg) 360deg);box-shadow:0 0 0 1px #9d8759,0 0 14px #c6b58b21}
html .level-medallion[data-medallion-skin="old-money-noir"]>span{border-color:#8c7957;background:radial-gradient(circle at 40% 25%,#343638,#101112 75%)}
html .condition-medallion[data-medallion-skin="old-money-noir"]{--condition-energy:#9d9b8f;--condition-track:#2d2f30}
html[data-daily-progress-skin="old-money-noir"] .hp-track,html[data-theme="old-money-noir"][data-daily-progress-skin="inherit"] .hp-track{border-color:#aaa79f;background:#101112}
html[data-daily-progress-skin="old-money-noir"] .hp-track>div{background:linear-gradient(90deg,#9d9b8f,#c6b58b)}
html[data-calendar-skin="old-money-noir"] .calendar-day{border-color:#aaa79f33}
html[data-calendar-skin="old-money-noir"] .calendar-day.current{outline-color:#c6b58b}
html[data-tabata-skin="old-money-noir"] :is(.timer-mini,.timer-disclosure){background:linear-gradient(145deg,#202224,#151617);border-color:#aaa79f33}
html[data-tabata-skin="old-money-noir"] .routine-timer-bar{background:#101112;border-color:#aaa79f33}
html[data-tabata-skin="old-money-noir"] .routine-timer-bar i{background:linear-gradient(90deg,#9d9b8f,#c6b58b)}


/* Old Money skin: forest green, ivory, saddle leather and aged brass. */
html[data-theme="old-money-sand"]{color-scheme:light;--bg:#e7decc;--surface:#e0d3bc;--surface2:#e9ddc7;--card:#f5efdf;--panel:#f5efdf;--raised:#e9ddc7;--text:#29291f;--muted:#706957;--line:#ffffff12;--border:#ffffff12;--accent:#82633c;--accent-soft:#ded0b3;--bad:#a34d4a}
html[data-theme="old-money-sand"] body{background:radial-gradient(ellipse at 0 0,#8b694020,transparent 42rem),radial-gradient(ellipse at 100% 35%,#526e4917,transparent 45rem),#e7decc}
html[data-theme="old-money-sand"] :is(.card,.exercise-card,.progress-item,.calendar-card,.history-item,.history-day,.timer-mini,.timer-disclosure,.progression-radar-card,.appearance-object){background-color:#f5efdf;border-color:#82633c26}
html[data-theme="old-money-sand"] :is(.primary,.save-btn){background:#82633c!important;border-color:#e4d5ad!important;color:#182319!important}
html[data-theme="old-money-sand"] :is(.ghost,.icon-button){background-color:#e9ddc7;color:#e0d9c8;border-color:#82633c25}
html[data-theme="old-money-sand"] :is(input:not([type=checkbox]):not([type=radio]),select,textarea){background-color:#e0d3bc;color:#29291f;border-color:#82633c30}
html[data-theme="old-money-sand"] .tabs{background:linear-gradient(120deg,#eee4d1f5,#e0d3bcfa);border-color:#82633c30}
html[data-theme="old-money-sand"] .tabs .tab.active{color:#f0dfb0;background-color:#ded0b3}
html .level-medallion[data-medallion-skin="old-money-sand"]{--medal-progress-a:#697c59;--medal-progress-b:#82633c;--medal-highlight:#29291f;--medal-track:#abac94;--medal-edge:#9d8759;--medal-inner-edge:#82633c;--medal-outline:#e7decc;--medal-core-edge:#8c7957;--medal-core-light:#6f765b;--medal-core-mid:#3a4436;--medal-core-dark:#e0d3bc;--medal-glow:#82633c21;--medal-prestige-edge:#e4d5ad;color:#29291f;background:conic-gradient(from -90deg,#697c59 0deg,#82633c var(--xp-mid,0deg),#29291f var(--xp-progress,0deg),#abac94 var(--xp-progress,0deg) 360deg);box-shadow:0 0 0 1px #9d8759,0 0 14px #82633c21}
html .level-medallion[data-medallion-skin="old-money-sand"]>span{border-color:#8c7957;background:radial-gradient(circle at 40% 25%,#6f765b,#e0d3bc 75%)}
html .condition-medallion[data-medallion-skin="old-money-sand"]{--condition-energy:#697c59;--condition-track:#abac94}
html[data-daily-progress-skin="old-money-sand"] .hp-track,html[data-theme="old-money-sand"][data-daily-progress-skin="inherit"] .hp-track{border-color:#706957;background:#e0d3bc}
html[data-daily-progress-skin="old-money-sand"] .hp-track>div{background:linear-gradient(90deg,#697c59,#82633c)}
html[data-calendar-skin="old-money-sand"] .calendar-day{border-color:#70695733}
html[data-calendar-skin="old-money-sand"] .calendar-day.current{outline-color:#82633c}
html[data-tabata-skin="old-money-sand"] :is(.timer-mini,.timer-disclosure){background:linear-gradient(145deg,#3a4436,#f5efdf);border-color:#70695733}
html[data-tabata-skin="old-money-sand"] .routine-timer-bar{background:#e0d3bc;border-color:#70695733}
html[data-tabata-skin="old-money-sand"] .routine-timer-bar i{background:linear-gradient(90deg,#697c59,#82633c)}


/* Old Money skin: forest green, ivory, saddle leather and aged brass. */
html[data-theme="old-money-bordeaux"]{color-scheme:dark;--bg:#160d12;--surface:#1d1118;--surface2:#3a2330;--card:#25171f;--panel:#25171f;--raised:#3a2330;--text:#f3e8dc;--muted:#b6a5ab;--line:#ffffff12;--border:#ffffff12;--accent:#c9ac83;--accent-soft:#4a2b3a;--bad:#c98b83}
html[data-theme="old-money-bordeaux"] body{background:radial-gradient(ellipse at 0 0,#8b694020,transparent 42rem),radial-gradient(ellipse at 100% 35%,#526e4917,transparent 45rem),#160d12}
html[data-theme="old-money-bordeaux"] :is(.card,.exercise-card,.progress-item,.calendar-card,.history-item,.history-day,.timer-mini,.timer-disclosure,.progression-radar-card,.appearance-object){background-color:#25171f;border-color:#c9ac8326}
html[data-theme="old-money-bordeaux"] :is(.primary,.save-btn){background:#c9ac83!important;border-color:#e4d5ad!important;color:#182319!important}
html[data-theme="old-money-bordeaux"] :is(.ghost,.icon-button){background-color:#3a2330;color:#e0d9c8;border-color:#c9ac8325}
html[data-theme="old-money-bordeaux"] :is(input:not([type=checkbox]):not([type=radio]),select,textarea){background-color:#1d1118;color:#f3e8dc;border-color:#c9ac8330}
html[data-theme="old-money-bordeaux"] .tabs{background:linear-gradient(120deg,#2f1c28f5,#1d1118fa);border-color:#c9ac8330}
html[data-theme="old-money-bordeaux"] .tabs .tab.active{color:#f0dfb0;background-color:#4a2b3a}
html .level-medallion[data-medallion-skin="old-money-bordeaux"]{--medal-progress-a:#9d7182;--medal-progress-b:#c9ac83;--medal-highlight:#f3e8dc;--medal-track:#432a37;--medal-edge:#9d8759;--medal-inner-edge:#c9ac83;--medal-outline:#160d12;--medal-core-edge:#8c7957;--medal-core-light:#593344;--medal-core-mid:#34202b;--medal-core-dark:#1d1118;--medal-glow:#c9ac8321;--medal-prestige-edge:#e4d5ad;color:#f3e8dc;background:conic-gradient(from -90deg,#9d7182 0deg,#c9ac83 var(--xp-mid,0deg),#f3e8dc var(--xp-progress,0deg),#432a37 var(--xp-progress,0deg) 360deg);box-shadow:0 0 0 1px #9d8759,0 0 14px #c9ac8321}
html .level-medallion[data-medallion-skin="old-money-bordeaux"]>span{border-color:#8c7957;background:radial-gradient(circle at 40% 25%,#593344,#1d1118 75%)}
html .condition-medallion[data-medallion-skin="old-money-bordeaux"]{--condition-energy:#9d7182;--condition-track:#432a37}
html[data-daily-progress-skin="old-money-bordeaux"] .hp-track,html[data-theme="old-money-bordeaux"][data-daily-progress-skin="inherit"] .hp-track{border-color:#b6a5ab;background:#1d1118}
html[data-daily-progress-skin="old-money-bordeaux"] .hp-track>div{background:linear-gradient(90deg,#9d7182,#c9ac83)}
html[data-calendar-skin="old-money-bordeaux"] .calendar-day{border-color:#b6a5ab33}
html[data-calendar-skin="old-money-bordeaux"] .calendar-day.current{outline-color:#c9ac83}
html[data-tabata-skin="old-money-bordeaux"] :is(.timer-mini,.timer-disclosure){background:linear-gradient(145deg,#34202b,#25171f);border-color:#b6a5ab33}
html[data-tabata-skin="old-money-bordeaux"] .routine-timer-bar{background:#1d1118;border-color:#b6a5ab33}
html[data-tabata-skin="old-money-bordeaux"] .routine-timer-bar i{background:linear-gradient(90deg,#9d7182,#c9ac83)}


/* Old Money composition: formal rhythm, understated rules and serif headings. */
html[data-ui-style="old-money"] .app-header{border-bottom:1px solid color-mix(in srgb,var(--accent) 25%,transparent)}
html[data-ui-style="old-money"] :is(h1,h2,.section-head h2){font-family:Georgia,serif;font-weight:500;letter-spacing:-.025em}
html[data-ui-style="old-money"] :is(.card,.exercise-card,.calendar-card,.history-day,.appearance-subsection){border-radius:4px 14px 4px 4px;box-shadow:inset 0 1px color-mix(in srgb,var(--accent) 15%,transparent);border-top-color:color-mix(in srgb,var(--accent) 40%,var(--line))}
html[data-ui-style="old-money"] .exercise-head{padding-bottom:10px;border-bottom:1px solid var(--line);margin-bottom:12px}
html[data-ui-style="old-money"] :is(.intensity,.eyebrow){font-family:ui-monospace,monospace;font-size:.65rem;letter-spacing:.12em;color:var(--accent)}
html[data-ui-style="old-money"] .tabs .tab.active{background:transparent;box-shadow:inset 0 -2px var(--accent);border-radius:4px}
html[data-ui-style="old-money"] .config-tabs{padding:4px;border:1px solid var(--line);gap:4px}
html[data-ui-style="old-money"] .exercise-streak{border-radius:4px}
html[data-tabata-skin="old-money-noir"]{--timer-accent:#c6b58b;--timer-accent-end:#9d9b8f}
html[data-tabata-skin="old-money-sand"]{--timer-accent:#82633c;--timer-accent-end:#697c59}
html[data-tabata-skin="old-money-bordeaux"]{--timer-accent:#c9ac83;--timer-accent-end:#9d7182}

html .routine-timer-bar{position:relative;overflow:visible;touch-action:pan-y}html .timer-seek{position:absolute;left:0;top:50%;transform:translateY(-50%);width:100%;height:28px;min-height:28px!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;opacity:.01;cursor:ew-resize;touch-action:none;-webkit-appearance:auto}html .routine-timer-bar:focus-within{outline:2px solid var(--accent);outline-offset:4px}

html .timer-seek{opacity:1;appearance:none;-webkit-appearance:none;background:transparent!important}html .timer-seek::-webkit-slider-runnable-track{background:transparent;height:4px}html .timer-seek::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:10px;border-radius:50%;background:var(--timer-accent,var(--accent));border:2px solid var(--card);margin-top:-3px}html .timer-seek::-moz-range-track{background:transparent}html .timer-seek::-moz-range-thumb{width:8px;height:8px;border-radius:50%;background:var(--accent);border:2px solid var(--card)}

html[data-progress-position="above-tabs"] main{padding-bottom:calc(var(--actual-navigation-height,60px) + var(--docked-progress-height,100px) + 32px)}

html[data-theme="old-money-sand"] :is(.primary,.save-btn){color:#fff7e8!important}html[data-theme="old-money-sand"] .tabs .tab.active{color:#493b25}html .level-medallion[data-medallion-skin="old-money-sand"]{color:#f4eddc;--medal-highlight:#f4eddc}

html .permanent-reward.debuff-active summary{color:var(--global-debuff-color,#dd8c97)!important}

/* The phase, rather than the overall theme alone, determines timer emphasis. */
html .workout-timer-controller{--timer-state-color:color-mix(in srgb,var(--text) 76%,var(--muted));--timer-state-end:var(--timer-state-color)}
html .workout-timer-controller[data-timer-state="work"]{--timer-state-color:var(--timer-accent);--timer-state-end:var(--timer-accent-end)}
html .workout-timer-controller[data-timer-state="rest"]{--timer-state-color:color-mix(in srgb,var(--text) 88%,var(--muted))}
html .workout-timer-controller[data-timer-state="prepare"]{--timer-state-color:color-mix(in srgb,var(--text) 70%,var(--muted))}
html .workout-timer-controller[data-timer-state="paused"],html .workout-timer-controller[data-timer-state="done"]{--timer-state-color:var(--muted)}
html .workout-timer-controller[data-timer-state] .routine-timer-top>div>span{color:var(--timer-state-color)!important;transition:color .18s ease}
html .workout-timer-controller[data-timer-state] .routine-timer-top .timer-total{color:var(--muted)!important}
html .workout-timer-controller[data-timer-state] .routine-timer-bar i{background:linear-gradient(90deg,var(--timer-state-color),var(--timer-state-end))!important}
html .workout-timer-controller[data-timer-state] .timer-seek::-webkit-slider-thumb{background:var(--timer-state-color)}
html .workout-timer-controller[data-timer-state] .timer-seek::-moz-range-thumb{background:var(--timer-state-color)}
@media(prefers-reduced-motion:reduce){html .workout-timer-controller[data-timer-state] .routine-timer-top>div>span{transition:none}}

html .routine-timer-next .timer-next-arrow{display:inline!important;padding-inline:3px;opacity:.65}

/* Invisible draggable thumb: retain native hit area and keyboard access. */
html .workout-timer-controller[data-timer-state] .timer-seek::-webkit-slider-thumb{background:transparent!important;border-color:transparent!important;box-shadow:none!important}
html .workout-timer-controller[data-timer-state] .timer-seek::-moz-range-thumb{background:transparent!important;border-color:transparent!important;box-shadow:none!important}

/* Selected navigation treatment: paint only, no dock-size or position changes. */
html{--nav-highlight-fill:16%;--nav-highlight-edge:65%;--nav-highlight-line:2px;--nav-highlight-glow:12px}
html[data-navigation-highlight-strength="subtle"]{--nav-highlight-fill:9%;--nav-highlight-edge:40%;--nav-highlight-line:1px;--nav-highlight-glow:7px}
html[data-navigation-highlight-strength="strong"]{--nav-highlight-fill:27%;--nav-highlight-edge:95%;--nav-highlight-line:3px;--nav-highlight-glow:19px}
html:where([data-navigation-highlight]:not([data-navigation-highlight="current"])) nav.tabs .tab.active{position:relative;background:transparent!important;background-image:none!important;border-color:transparent!important;box-shadow:none!important;color:var(--accent)!important;border-radius:12px!important}
html:where([data-navigation-highlight]:not([data-navigation-highlight="current"])) nav.tabs .tab.active::before,html:where([data-navigation-highlight]:not([data-navigation-highlight="current"])) nav.tabs .tab.active::after{content:none!important}
html[data-navigation-highlight="underline"] nav.tabs .tab.active{box-shadow:inset 0 calc(-1 * var(--nav-highlight-line)) color-mix(in srgb,var(--accent) var(--nav-highlight-edge),transparent)!important;border-radius:4px!important}
html[data-navigation-highlight="pill"] nav.tabs .tab.active{background:color-mix(in srgb,var(--accent) var(--nav-highlight-fill),transparent)!important}
html[data-navigation-highlight="outline"] nav.tabs .tab.active{box-shadow:inset 0 0 0 var(--nav-highlight-line) color-mix(in srgb,var(--accent) var(--nav-highlight-edge),transparent)!important}
html[data-navigation-highlight="glow"] nav.tabs .tab.active{background:color-mix(in srgb,var(--accent) var(--nav-highlight-fill),transparent)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) var(--nav-highlight-edge),transparent),0 0 var(--nav-highlight-glow) color-mix(in srgb,var(--accent) var(--nav-highlight-fill),transparent)!important}
html[data-navigation-highlight="solid"] nav.tabs .tab.active{background:var(--accent)!important;color:var(--bg)!important;text-shadow:none}
html[data-navigation-highlight="rail"] nav.tabs .tab.active{background:color-mix(in srgb,var(--accent) var(--nav-highlight-fill),transparent)!important;box-shadow:inset var(--nav-highlight-line) 0 color-mix(in srgb,var(--accent) var(--nav-highlight-edge),transparent)!important}

/* One compact dock row; remove inherited skin minimums and empty filler. */
html body nav.tabs,html[data-ui-style] body nav.tabs{height:auto!important;min-height:0!important;padding-top:4px!important;padding-bottom:4px!important;align-items:center!important;gap:4px;}
html body nav.tabs>.tab,html[data-ui-style] body nav.tabs>.tab{height:44px!important;min-height:44px!important;margin-block:0!important;padding-top:4px!important;padding-bottom:4px!important;box-sizing:border-box;}

/* Edge tabs bleed through the dock gutter, including the safe-area inset. */
html body nav.tabs>.tab:first-child{margin-left:calc(-1 * max(8px,env(safe-area-inset-left,0px)))!important;padding-left:calc(8px + max(8px,env(safe-area-inset-left,0px)))!important;flex-grow:1;}
html body nav.tabs>.tab:last-child{margin-right:calc(-1 * max(8px,env(safe-area-inset-right,0px)))!important;padding-right:calc(8px + max(8px,env(safe-area-inset-right,0px)))!important;flex-grow:1;}
html body nav.tabs>.tab.active:first-child{border-top-left-radius:0!important;border-bottom-left-radius:0!important;border-left:0!important;}
html body nav.tabs>.tab.active:last-child{border-top-right-radius:0!important;border-bottom-right-radius:0!important;border-right:0!important;}

/* Flush exterior corners: override the dock frame and every highlight shorthand. */
html[data-ui-style] body nav.tabs,html body nav.tabs{border-top-left-radius:0!important;border-top-right-radius:0!important;overflow:visible!important;}
html[data-navigation-highlight] body nav.tabs>.tab.active:first-child{border-top-left-radius:0!important;border-bottom-left-radius:0!important;}
html[data-navigation-highlight] body nav.tabs>.tab.active:last-child{border-top-right-radius:0!important;border-bottom-right-radius:0!important;}
html body nav.tabs>.tab:first-child{margin-left:calc(-2px - max(8px,env(safe-area-inset-left,0px)))!important;padding-left:calc(10px + max(8px,env(safe-area-inset-left,0px)))!important;}
html body nav.tabs>.tab:last-child{margin-right:calc(-2px - max(8px,env(safe-area-inset-right,0px)))!important;padding-right:calc(10px + max(8px,env(safe-area-inset-right,0px)))!important;}

/* Edge-aware treatments: outlines stay open at the wall, markers stay visible inside. */
html{--nav-highlight-stroke:color-mix(in srgb,var(--accent) var(--nav-highlight-edge),transparent);--nav-highlight-halo:color-mix(in srgb,var(--accent) var(--nav-highlight-fill),transparent)}
html[data-navigation-highlight="underline"] body nav.tabs>.tab.active:is(:first-child,:last-child){box-shadow:inset 0 calc(-1 * var(--nav-highlight-line)) var(--nav-highlight-stroke)!important;}
html[data-navigation-highlight="outline"] body nav.tabs>.tab.active:first-child{box-shadow:inset 0 var(--nav-highlight-line) var(--nav-highlight-stroke),inset 0 calc(-1 * var(--nav-highlight-line)) var(--nav-highlight-stroke),inset calc(-1 * var(--nav-highlight-line)) 0 var(--nav-highlight-stroke)!important;}
html[data-navigation-highlight="outline"] body nav.tabs>.tab.active:last-child{box-shadow:inset 0 var(--nav-highlight-line) var(--nav-highlight-stroke),inset 0 calc(-1 * var(--nav-highlight-line)) var(--nav-highlight-stroke),inset var(--nav-highlight-line) 0 var(--nav-highlight-stroke)!important;}
html[data-navigation-highlight="glow"] body nav.tabs>.tab.active:first-child{box-shadow:inset 0 1px var(--nav-highlight-stroke),inset 0 -1px var(--nav-highlight-stroke),inset -1px 0 var(--nav-highlight-stroke),0 0 var(--nav-highlight-glow) var(--nav-highlight-halo)!important;}
html[data-navigation-highlight="glow"] body nav.tabs>.tab.active:last-child{box-shadow:inset 0 1px var(--nav-highlight-stroke),inset 0 -1px var(--nav-highlight-stroke),inset 1px 0 var(--nav-highlight-stroke),0 0 var(--nav-highlight-glow) var(--nav-highlight-halo)!important;}
html[data-navigation-highlight="rail"] body nav.tabs>.tab.active:first-child{box-shadow:inset calc(-1 * var(--nav-highlight-line)) 0 var(--nav-highlight-stroke)!important;}
html[data-navigation-highlight="rail"] body nav.tabs>.tab.active:last-child{box-shadow:inset var(--nav-highlight-line) 0 var(--nav-highlight-stroke)!important;}
html[data-navigation-highlight="pill"] body nav.tabs>.tab.active:is(:first-child,:last-child){background:var(--nav-highlight-halo)!important;}
html[data-navigation-highlight="solid"] body nav.tabs>.tab.active:is(:first-child,:last-child){background:var(--accent)!important;color:var(--bg)!important;}

/* Keep live player controls interactive throughout HUD interpolation. */
html .today-pinned.is-pinned>.timer-mini{opacity:1!important;pointer-events:auto!important}
html .pin-transition-snapshot [data-timer-disclosure]{visibility:hidden!important;pointer-events:none!important}
.timer-execution-tools{display:flex;align-items:start;gap:12px;margin-top:8px;font-size:.72rem;color:var(--muted)}.timer-execution-tools>.ghost{min-height:30px;padding:3px 10px;font-size:.72rem}.timer-execution-tools>details>summary{cursor:pointer;padding:5px}.timer-execution-tools .timer-speed{margin:3px 0}
html .today-pinned.is-pinned .timer-execution-tools{display:none}
.timer-step{grid-template-columns:18px minmax(0,1fr) 20px;column-gap:8px;padding-inline:8px;align-items:center}
.timer-step>div{grid-column:2;grid-row:1;min-width:0}
.timer-step>span{grid-column:1;grid-row:1;align-self:start}
.timer-step input[data-timer-check]{grid-column:3;grid-row:1;justify-self:end;align-self:center;appearance:auto;box-sizing:border-box;width:16px;height:16px;min-width:16px;min-height:16px;max-width:16px;max-height:16px;padding:0;margin:0;accent-color:var(--accent)}
.tempo-dialog{width:min(400px,calc(100% - 32px));background:var(--card);color:var(--text);padding:20px;border:1px solid var(--line);border-radius:16px}.tempo-dialog form{display:grid;gap:14px}.tempo-dialog input{width:100%;font-size:16px;padding:10px}.tempo-dialog :is(footer,.tempo-presets){display:flex;gap:7px}.tempo-dialog button{padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--raised);color:var(--text);font-size:.78rem}.tempo-dialog small{color:var(--muted)}
/* Corner settings consistently apply to panels, never circular medals or avatars. */
html[data-corners="rounded"]{--panel-corner:18px;--control-corner:10px}html[data-corners="soft"]{--panel-corner:10px;--control-corner:6px}html[data-corners="square"]{--panel-corner:3px;--control-corner:2px}
html[data-corners][data-ui-style][data-theme] body :is(.card,.exercise-card,.progress-item,.calendar-card,.history-item,.appearance-subsection,.appearance-object,.settings-window,.timer-disclosure,.progression-radar-card,.routine-event-dialog,.profile-switch-dialog){border-radius:var(--panel-corner)!important}
html[data-corners][data-ui-style][data-theme] body :is(.ghost,.primary,.save-btn,.danger,input:not([type=checkbox]):not([type=radio]),select,textarea,.rep-stepper){border-radius:var(--control-corner)!important}
html .exercise-streak.tier-10 .streak-word{display:inline-block;background:linear-gradient(100deg,#747e8d 0%,#e3ebf6 20%,#8998af 36%,#ffffff 48%,#9aa7bb 61%,#eaf4ff 80%,#747e8d 100%);background-size:240% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent!important;color:transparent!important;text-shadow:none;animation:chrome-word-wave 3.4s linear infinite}
@keyframes chrome-word-wave{from{background-position:240% 50%}to{background-position:0% 50%}}@media(prefers-reduced-motion:reduce){html .exercise-streak.tier-10 .streak-word{animation:none}}
html .profile-switch-dialog{background:var(--card)!important;color:var(--text)!important;border-color:var(--line)!important}.profile-picker-row>[data-profile]{display:flex;align-items:center;gap:12px;background:var(--raised)!important;color:var(--text)!important}.profile-avatar{width:46px;height:46px;border-radius:50%;object-fit:cover;border:1px solid var(--accent);flex:0 0 46px}.profile-avatar-empty{display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-size:1.2rem}.profile-photo-upload{display:grid;gap:6px;color:var(--muted);margin-block:10px}.profile-photo-upload input{font-size:16px;max-width:100%}
.gate-settings>fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.gate-settings label{min-width:0}.gate-settings input{width:100%;font-size:16px}
.workout-format{padding:12px 0;border-bottom:1px solid var(--line);margin-bottom:12px}.workout-format label{display:grid;gap:5px;margin-top:10px}.workout-format small{display:block;color:var(--muted);margin-top:8px;font-size:.72rem}

/* Morph the live timer: transformed controls retain their native hit targets. */
html .today-pinned.is-morphing .timer-mini,html .today-pinned.is-morphing .workout-timer-controller,html .today-pinned.is-morphing .routine-timer-top,html .today-pinned.is-morphing .routine-timer-top>div,html .today-pinned.is-morphing .routine-timer-actions{overflow:visible!important}
html .today-pinned.is-morphing .timer-mini{position:relative;z-index:2}
html .today-pinned.is-morphing .timer-speed{display:grid!important;opacity:calc(1 - var(--pin-blend,0));pointer-events:auto!important}

/* Invisible, generous hit target; pointer capture owns scrubbing instead of the native thumb. */
html .workout-timer-controller .timer-seek{height:44px!important;min-height:44px!important;z-index:4;touch-action:none!important;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
html .routine-timer-bar:has([data-seeking]) i{transition:none!important}

.timer-coaching-settings fieldset{margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:10px;min-width:0}.timer-coaching-settings legend{font-size:.8rem;color:var(--muted);padding:0 5px}

/* Legend is portaled outside details; keep its own opaque surface. */
html .calendar-legend-details .calendar-legend,html .calendar-legend.viewport-info-panel{padding:12px 14px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:linear-gradient(var(--raised,#202a37),var(--raised,#202a37)),#11151a!important;color:var(--text,#edf2f7)!important;box-shadow:0 12px 28px #0008!important;isolation:isolate}

.extra-recommendation-note{display:block;margin-top:10px;padding:9px 12px;border-radius:8px;font-size:.78rem;line-height:1.45;background:color-mix(in srgb,var(--card) 60%,#000);border:1px solid var(--line);border-left:4px solid var(--accent);color:var(--text)}
.extra-recommendation-note.safe{border-left-color:#48bb78;background:color-mix(in srgb,#48bb78 6%,var(--card))}
.extra-recommendation-note.moderate{border-left-color:#ecc94b;background:color-mix(in srgb,#ecc94b 6%,var(--card))}
.extra-recommendation-note.conflict{border-left-color:#f56565;background:color-mix(in srgb,#f56565 8%,var(--card))}
.extra-recommendation-note strong{font-weight:600}
.extra-recommendation-note em{font-style:normal;color:var(--muted)}
.extra-recommendation-note small{display:block;margin-top:3px;color:var(--muted);font-size:.73rem}

