/* Small lessons, visible progress, and another cake waiting at the door. */
:root{--mastery-bronze:#9b6946;--mastery-silver:#607b7c;--mastery-gold:#957026;--mastery-neutral:#76806f}
.has-challenges .eyebrow{margin-bottom:17px}.has-challenges h1{font-size:clamp(48px,4.1vw,62px);margin-bottom:16px}.has-challenges .intro-description{margin-bottom:17px}.has-challenges .challenge-picker{margin-bottom:10px}
.control-hint{max-width:370px;margin:12px 0 12px;color:#52654f;font-size:11px;line-height:1.55}
.delivery-actions{display:grid;grid-template-columns:1.2fr 1fr;gap:8px;width:min(100%,370px)}.delivery-actions .primary-button{width:100%;min-width:0;min-height:48px;height:48px;padding:0 14px;gap:12px;font-size:12px}.delivery-actions .primary-button>span{font-size:21px}.delivery-actions .practice-button{min-width:0;min-height:48px;background:#edf0e2;border-color:#aebeaa;white-space:normal}.practice-button>span{font-size:11px;line-height:1.3}.practice-button small{display:block;margin-top:4px;color:#718269;font-size:7px;line-height:1.3;letter-spacing:.65px}
.has-challenges .intro-tip{display:none}.mastery-summary{max-width:370px;margin:12px 0 0;font-size:10px;line-height:1.5;color:#6d7b62}.mastery-summary:empty{display:none}.has-challenges .best-label{margin-top:9px;font-size:8px;line-height:1.5;letter-spacing:.8px}
.challenge-list .challenge-card{position:relative;min-width:0}.challenge-list .challenge-card[aria-pressed="false"]{opacity:.82}.challenge-card:has(.course-medal)>span:first-child{display:block;min-height:13px}.challenge-card:has(.course-goal)>small:not(.course-goal):not(.course-medal){display:none}.challenge-list .course-medal{position:static;order:3;display:inline-flex;align-items:center;max-width:100%;margin:5px 0 0;padding:2px 5px;border:1px solid #c6cebc;border-radius:3px;font-size:8px;font-weight:800;line-height:1.25;letter-spacing:.2px;text-transform:uppercase;white-space:normal}.challenge-list .course-goal{order:2;display:block;margin:4px 0 0;color:#62735a;font-size:9px;line-height:1.4;letter-spacing:0;white-space:normal;overflow-wrap:anywhere}
.course-medal[data-medal="0"],.medal-label[data-medal="0"]{color:var(--mastery-neutral);background:#edf0e5;border-color:#cbd2c2}.course-medal[data-medal="1"],.medal-label[data-medal="1"]{color:var(--mastery-bronze);background:#f3e6d7;border-color:#d8bb9b}.course-medal[data-medal="2"],.medal-label[data-medal="2"]{color:var(--mastery-silver);background:#e7eeeb;border-color:#b4c7c0}.course-medal[data-medal="3"],.medal-label[data-medal="3"]{color:var(--mastery-gold);background:#f6ecd1;border-color:#d8c389}
.hud{bottom:24px}.coach-cue{position:absolute;bottom:106px;left:50%;transform:translateX(-50%);width:max-content;max-width:min(430px,100%);margin:0;padding:8px 13px;border:1px solid #b8c5ac;border-radius:5px;background:#fff9e9f2;color:#42583f;box-shadow:0 4px 12px #263d2d0c;font-size:12px;font-weight:700;line-height:1.45;text-align:center;pointer-events:none}.paused .coach-cue,.failed .coach-cue,.won .coach-cue{display:none}
.skill-button.recovery-ready{background:#f5dec3;border-color:#b9744e;box-shadow:0 0 0 3px #f5dec37a,0 3px 12px #875a3b20}.skill-button{min-height:44px}.pause-button{width:44px;height:44px}.close-button{width:44px;height:44px;right:10px;top:10px;display:grid;place-items:center}
.quick-retry{position:absolute;left:50%;bottom:151px;transform:translateX(-50%);z-index:8;min-height:48px;height:48px;min-width:175px;justify-content:center;box-shadow:0 5px 20px #263d2d25}.quick-retry:hover{transform:translateX(-50%) translateY(-2px)}.quick-retry:active{transform:translateX(-50%) translateY(1px)}.quick-retry-tip{position:absolute;left:50%;bottom:111px;transform:translateX(-50%);z-index:8;max-width:min(420px,calc(100% - 40px));width:max-content;margin:0;padding:7px 12px;border-radius:4px;background:#fff9e9ed;color:#52634b;font-size:11px;font-weight:700;line-height:1.4;text-align:center;pointer-events:none}
.mastery-result{margin:19px 0 0;padding:14px 0 0;border-top:1px solid #d7dbcd}.mastery-result .medal-label{display:inline-block;margin:0 0 7px;padding:4px 9px;border:1px solid #cbd2c2;border-radius:4px;font-size:9px;font-weight:800;line-height:1.4;letter-spacing:.65px;text-transform:uppercase}.mastery-result .next-goal{margin:0;color:#405a3e;font-size:12px;font-weight:700;line-height:1.5}.mastery-result .progress-result{margin:6px 0 0;font-size:11px;line-height:1.5;color:#728268}.mastery-result p:empty{display:none}.result-card .practice-continue{min-height:48px}.result-card button{min-height:44px}.result-card .score-input-row input{height:44px}.result-card .change-course-button{padding-top:14px}.result-card{max-height:calc(100% - 4px);overflow-y:auto;overscroll-behavior:contain}
@media(min-width:801px){.result-card{padding:24px 32px}.result-card .result-icon{font-size:32px;margin-bottom:8px}.result-card h2{font-size:38px;margin-top:10px;margin-bottom:12px}.result-card .result-description{margin-bottom:14px}.result-card .result-stats{margin-top:16px;padding:16px 0}.result-card .result-best{margin-top:10px}.result-card .mastery-result{margin-top:14px;padding-top:10px}.result-card .score-submit-area{margin-top:16px}.result-card .score-form{padding-top:12px}.result-card .primary-button{margin-top:20px}.result-card .result-actions{margin-top:8px}}
@media(max-width:800px){.hud{bottom:18px}.coach-cue{bottom:111px;max-width:min(380px,100%);font-size:11px}.has-challenges h1{font-size:51px}.control-hint{font-size:11px}.challenge-list .course-goal{font-size:8.5px}}
@media(max-width:600px){.intro-panel.has-challenges{padding-top:25px;padding-bottom:32px}.has-challenges .eyebrow{margin-bottom:14px}.has-challenges h1{font-size:43px;letter-spacing:-2px;margin-bottom:14px}.has-challenges .intro-description{font-size:11px;margin-bottom:13px}.has-challenges .challenge-picker{margin-bottom:7px}.challenge-list .challenge-card{min-height:45px;padding:7px 8px}.challenge-card:has(.course-medal)>span:first-child{font-size:10px;line-height:1.35}.challenge-list .course-medal{padding:2px 4px;font-size:8px}.challenge-list .course-goal{font-size:8.5px;margin-top:4px}.control-hint{margin:10px 0;font-size:10px;line-height:1.5}.delivery-actions{width:100%;gap:7px;grid-template-columns:1.12fr 1fr}.delivery-actions .primary-button{min-height:46px;height:46px;padding:0 10px;font-size:10.5px;gap:7px}.delivery-actions .practice-button{min-height:46px;padding:6px}.practice-button>span{font-size:10px}.practice-button small{font-size:6.5px;letter-spacing:.35px}.mastery-summary{font-size:9px;margin-top:10px}.has-challenges .best-label{font-size:7px;margin-top:7px}.intro-floor-note{display:none}.hud{bottom:14px}.coach-cue{bottom:125px;padding:7px 9px;font-size:10.5px;max-width:100%;line-height:1.4}.skill-bar{top:94px}.skill-button{min-height:44px}.pause-button{width:44px;height:44px}.close-button{width:44px;height:44px;right:10px;top:10px;display:grid;place-items:center}.quick-retry{bottom:160px;min-height:46px;height:46px;font-size:12px}.quick-retry-tip{bottom:121px;max-width:calc(100% - 34px);padding:6px 9px;font-size:10px}.mastery-result{margin-top:15px;padding-top:12px}.mastery-result .next-goal{font-size:11px}.mastery-result .progress-result{font-size:10px}.mastery-result .medal-label{font-size:8px}.result-card .result-description{margin-bottom:15px}.result-card .result-stats{margin-top:16px;padding:16px 0}.result-card .result-best{margin-top:12px}.result-card .primary-button{margin-top:18px}}
@media(max-height:740px) and (max-width:600px) and (orientation:portrait){.intro-panel.has-challenges{padding-top:20px;padding-bottom:22px}.has-challenges .eyebrow{margin-bottom:10px}.has-challenges h1{font-size:36px;letter-spacing:-1.8px;margin-bottom:11px}.has-challenges .intro-description{font-size:10px;margin-bottom:10px}.challenge-list .challenge-card{padding:6px 8px}.challenge-description{margin-top:6px}.control-hint{margin:8px 0}.mastery-summary{margin-top:8px}.has-challenges .best-label{margin-top:5px}}
@media(max-width:370px){.has-challenges h1{font-size:39px}.delivery-actions .primary-button{font-size:10px;padding:0 8px}.practice-button>span{font-size:9px}.practice-button small{font-size:6px}.challenge-list .course-goal{font-size:8px}}
@media(max-height:710px) and (min-width:801px){.intro-panel.has-challenges{padding-top:23px}.has-challenges h1{font-size:43px}.has-challenges .eyebrow{margin-bottom:12px}.has-challenges .intro-description{margin-bottom:12px;font-size:11px}.control-hint{font-size:10px;margin:8px 0}.delivery-actions .primary-button,.delivery-actions .practice-button{min-height:44px;height:44px}.mastery-summary{margin-top:8px;font-size:9px}.has-challenges .best-label{margin-top:6px}.mastery-result{margin-top:14px;padding-top:11px}}
@media(max-height:650px) and (orientation:portrait){.intro-panel.has-challenges{overflow-y:auto;overscroll-behavior:contain}.has-challenges h1{font-size:35px}.has-challenges .best-label{margin-bottom:3px}}
@media(max-height:550px) and (orientation:landscape){.has-challenges h1{font-size:34px}.has-challenges .eyebrow{margin-bottom:9px}.has-challenges .intro-description{font-size:9px;margin-bottom:9px}.control-hint{font-size:9px;margin:7px 0}.delivery-actions{width:320px}.delivery-actions .primary-button,.delivery-actions .practice-button{min-height:44px;height:44px}.mastery-summary{font-size:8px;margin-top:7px}.coach-cue{left:auto;right:0;bottom:67px;transform:none;max-width:240px;font-size:10px}.quick-retry{bottom:112px}.quick-retry-tip{bottom:76px}.mastery-result{margin-top:10px;padding-top:9px}.mastery-result .next-goal,.mastery-result .progress-result{font-size:10px}.intro-panel.has-challenges{overflow-y:auto;overscroll-behavior:contain}}
@media(prefers-reduced-motion:reduce){.quick-retry:hover,.quick-retry:active{transform:translateX(-50%)}}

/* Keep every setting reachable without crowding the narrow header. */
.header-actions .icon-button{min-width:44px;min-height:44px}
.dialog-card button{min-width:44px;min-height:44px}
.touch-controls button{min-width:44px;min-height:44px}
@media(max-width:600px){.header-actions{gap:3px}.header-actions .icon-button{padding:6px 3px;font-size:9px}.header-actions .streamer-button{font-size:8px;padding:6px 3px!important}.brand{font-size:10px;gap:5px}.brand-mark{width:28px;height:28px}}
@media(max-width:370px){.header-actions{gap:0}.header-actions .icon-button{font-size:8px}.brand{font-size:9px;gap:3px}.brand-mark{width:24px;height:24px}}
