:root{--font-display: "Baloo 2", "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;--font-body: "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", "Menlo", monospace;font-family:var(--font-body);line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:dark;--bg-app: #0a1122;--bg-app-muted: #0d1527;--bg-surface: #141d33;--bg-surface-muted: #1a2542;--bg-surface-strong: #0b1322;--bg-elevated: #1f2a48;--bg-input: #0e1730;--bg-overlay: rgba(4, 9, 20, .74);--bg-chip-neutral: #22304e;--bg-chip-success: #0f2e20;--bg-chip-warning: #33280c;--bg-chip-danger: #351a20;--text-primary: #eaf0ff;--text-secondary: #c2cee8;--text-muted: #93a0c0;--text-inverse: #04121f;--border-subtle: #263654;--border-strong: #3a4d78;--accent: #16d0c6;--accent-hover: #35ddd3;--accent-soft: rgba(22, 208, 198, .16);--accent-soft-hover: rgba(22, 208, 198, .26);--success: #2bd46a;--success-soft: rgba(43, 212, 106, .18);--success-border: rgba(43, 212, 106, .42);--warning: #ffb020;--warning-soft: rgba(255, 176, 32, .2);--warning-border: rgba(255, 176, 32, .42);--danger: #ff6b78;--danger-soft: rgba(255, 77, 94, .16);--danger-border: rgba(255, 77, 94, .4);--info: #4f86ff;--info-soft: rgba(46, 123, 255, .18);--info-border: rgba(46, 123, 255, .4);--focus-ring-color: #4f86ff;--focus-ring: 0 0 0 3px rgba(46, 123, 255, .4);--button-primary-bg: var(--accent);--button-primary-hover: var(--accent-hover);--button-primary-text: #04121f;--button-secondary-bg: var(--bg-surface-muted);--button-secondary-hover: #243358;--button-secondary-text: var(--text-primary);--button-ghost-bg: transparent;--button-ghost-hover: rgba(255, 255, 255, .08);--button-ghost-text: var(--text-secondary);--button-destructive-bg: #ff5566;--button-destructive-hover: #ff6d7c;--button-destructive-text: #fff6f7;--input-border: var(--border-subtle);--input-placeholder: var(--text-muted);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .22);--shadow-md: 0 8px 24px rgba(0, 0, 0, .28);--shadow-lg: 0 18px 48px rgba(0, 0, 0, .34);--home-hero-bg: radial-gradient(760px 360px at 85% -10%, rgba(46, 123, 255, .28), transparent 60%), radial-gradient(620px 320px at 5% 120%, rgba(22, 208, 198, .16), transparent 58%), linear-gradient(135deg, #0b1428 0%, #101c3a 55%, #16276b 100%);--surface-highlight: linear-gradient(180deg, rgba(22, 208, 198, .14) 0%, rgba(17, 25, 39, 0) 100%);--nav-bg: linear-gradient(180deg, rgba(9, 16, 34, .96), rgba(6, 11, 24, .96));--nav-text: #eaf2ff;--nav-link-hover: #35ddd3;--text-xs: .82rem;--text-sm: .92rem;--text-base: 1.0625rem;--text-md: 1.16rem;--text-lg: 1.32rem;--text-xl: 1.58rem;--text-2xl: 2rem;--text-3xl: 2.45rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-9: 2.5rem;--space-10: 3rem;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-modal: 12px;--radius-pill: 999px;--control-height: 44px;--control-height-compact: 38px;--control-height-large: 48px;--surface-border: 1px solid var(--border-subtle);--surface-shadow: 0 1px 2px rgba(0, 0, 0, .18);--surface-shadow-raised: 0 10px 28px rgba(0, 0, 0, .28);--section-gap: var(--space-5);--card-padding: var(--space-5);color:var(--text-primary);background-color:var(--bg-app)}:root[data-theme=light]{color-scheme:light;--bg-app: #eef4ff;--bg-app-muted: #e4ecfb;--bg-surface: #ffffff;--bg-surface-muted: #f4f8ff;--bg-surface-strong: #ffffff;--bg-elevated: #ffffff;--bg-input: #ffffff;--bg-overlay: rgba(4, 12, 34, .44);--bg-chip-neutral: #e8f0ff;--bg-chip-success: #d8fff1;--bg-chip-warning: #fff4c7;--bg-chip-danger: #ffe4e0;--text-primary: #0a1b3d;--text-secondary: #40507a;--text-muted: #5b6b94;--text-inverse: #ffffff;--border-subtle: #d5e0f5;--border-strong: #b7c6e6;--accent: #0bb6a6;--accent-hover: #0a9f91;--accent-soft: rgba(11, 182, 166, .12);--accent-soft-hover: rgba(11, 182, 166, .2);--success: #1aa658;--success-soft: rgba(26, 166, 88, .14);--success-border: rgba(26, 166, 88, .3);--warning: #b97e00;--warning-soft: rgba(240, 180, 0, .16);--warning-border: rgba(240, 180, 0, .36);--danger: #e2453f;--danger-soft: rgba(226, 69, 63, .12);--danger-border: rgba(226, 69, 63, .26);--info: #2e7bff;--info-soft: rgba(46, 123, 255, .12);--info-border: rgba(46, 123, 255, .28);--focus-ring-color: #2e7bff;--focus-ring: 0 0 0 3px rgba(46, 123, 255, .28);--button-primary-bg: var(--accent);--button-primary-hover: var(--accent-hover);--button-primary-text: #04121f;--button-secondary-bg: #ffffff;--button-secondary-hover: #eef4ff;--button-secondary-text: var(--text-primary);--button-ghost-bg: transparent;--button-ghost-hover: rgba(10, 27, 61, .06);--button-ghost-text: var(--text-secondary);--button-destructive-bg: #e2453f;--button-destructive-hover: #c9352f;--button-destructive-text: #ffffff;--input-border: #cbd8f0;--input-placeholder: #8494b5;--shadow-sm: 0 1px 3px rgba(1, 10, 65, .08);--shadow-md: 0 10px 24px rgba(1, 10, 65, .12);--shadow-lg: 0 18px 48px rgba(1, 10, 65, .16);--surface-shadow: 0 1px 2px rgba(1, 10, 65, .08);--surface-shadow-raised: 0 10px 28px rgba(1, 10, 65, .14);--home-hero-bg: radial-gradient(700px 340px at 85% 10%, rgba(0, 246, 217, .28), transparent 55%), linear-gradient(135deg, #010a41 0%, #0a1a5c 55%, #16308f 100%);--surface-highlight: linear-gradient(180deg, rgba(11, 182, 166, .1) 0%, rgba(255, 255, 255, 0) 100%);--nav-bg: linear-gradient(180deg, #010a41, #01062a);--nav-text: #ffffff;--nav-link-hover: #35ddd3}*{box-sizing:border-box}html,body{background:var(--bg-app);color:var(--text-primary)}body{margin:0;min-width:320px;min-height:100vh;font-size:var(--text-base);line-height:1.55}a{font-weight:600;color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}button,input,textarea,select{font-family:inherit;font-size:var(--text-base)}input,textarea,select{min-height:var(--control-height);border-radius:var(--radius-md);padding:.62rem .78rem;background:var(--bg-input);color:var(--text-primary);border:1px solid var(--input-border)}input::placeholder,textarea::placeholder{color:var(--input-placeholder)}input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}html,body,#root,.homepage-root{width:100vw;min-height:100vh;margin:0;padding:0;background:#fff;box-sizing:border-box;overflow-x:hidden}.morse-chat-page{--card-bg: var(--bg-surface);--text-strong: var(--text-primary);--morse-chat-panel-bg: linear-gradient( 180deg, color-mix(in srgb, var(--bg-surface) 96%, transparent), color-mix(in srgb, var(--bg-elevated) 88%, transparent) );--morse-chat-panel-soft-bg: color-mix(in srgb, var(--bg-surface-muted) 86%, transparent);--morse-chat-chip-bg: color-mix(in srgb, var(--bg-surface-muted) 78%, transparent);--morse-chat-self-bg: color-mix(in srgb, var(--accent-soft) 64%, var(--bg-surface));--morse-chat-incoming-bg: color-mix(in srgb, var(--bg-elevated) 88%, var(--info-soft));--morse-chat-incoming-border: color-mix(in srgb, var(--border-strong) 72%, var(--info-border));--morse-chat-incoming-shadow: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 6px 16px rgba(0, 0, 0, .18);--morse-chat-live-bg: color-mix(in srgb, var(--danger-soft) 46%, var(--bg-surface));width:min(1480px,100%);margin:0 auto;padding:clamp(1rem,2vw,1.75rem)}:root[data-theme=light] .morse-chat-page{--morse-chat-incoming-bg: linear-gradient(180deg, #ffffff 0%, #f2f6fb 100%);--morse-chat-incoming-border: color-mix(in srgb, var(--border-strong) 86%, var(--bg-surface));--morse-chat-incoming-shadow: 0 1px 0 rgba(255, 255, 255, .92) inset, 0 7px 18px rgba(15, 23, 42, .1)}.morse-chat-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 0 .85rem;border-bottom:1px solid var(--border-subtle, rgba(148, 163, 184, .24))}.morse-chat-hero-copy{display:grid;gap:.45rem;max-width:680px}.morse-chat-hero-copy h1{margin:0;font-size:clamp(1.55rem,2.6vw,2.5rem);line-height:1.05;letter-spacing:0}.morse-chat-hero-copy p{margin:0;color:var(--text-muted, #64748b);font-size:.95rem;line-height:1.5}.morse-chat-room-actions,.morse-chat-action-row,.morse-chat-audio-actions,.morse-chat-message-actions,.morse-chat-roster-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.morse-chat-invite-form{display:flex;align-items:center;gap:.45rem}.morse-chat-invite-form input{min-width:9rem;max-width:10rem;text-transform:uppercase}.morse-chat-meta-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:.55rem;padding:.65rem 0}.morse-chat-meta-bar>div,.morse-chat-meta-bar>.morse-chat-composer,.morse-chat-meta-bar>.morse-chat-roster,.morse-chat-meta-bar>.morse-chat-on-air,.morse-chat-audio-gate,.morse-chat-receive-panel,.morse-chat-composer,.morse-chat-timeline,.morse-chat-on-air,.morse-chat-roster{border:1px solid var(--border-subtle, rgba(148, 163, 184, .22));background:var(--morse-chat-panel-bg, var(--card-bg, rgba(255, 255, 255, .72)));color:var(--text-primary);border-radius:8px}.morse-chat-meta-bar>div,.morse-chat-meta-bar>.morse-chat-composer.compact,.morse-chat-meta-bar>.morse-chat-roster.compact,.morse-chat-meta-bar>.morse-chat-on-air{display:grid;gap:.14rem;min-height:0;min-width:0;padding:.48rem .58rem}.morse-chat-meta-bar>.morse-chat-composer.compact{grid-column:auto;height:100%;max-width:none}.morse-chat-meta-bar>.morse-chat-roster.compact{grid-column:auto;height:100%;max-width:none}.morse-chat-meta-bar>.morse-chat-on-air{grid-column:auto;height:100%;max-width:none}.morse-chat-meta-bar>div{grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:.5rem}.morse-chat-meta-bar>.morse-chat-indicator-strip{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.morse-chat-indicator{display:inline-flex;align-items:center;gap:.35rem;min-width:0;min-height:1.65rem;padding:.18rem .46rem;border:1px solid color-mix(in srgb,var(--border-subtle) 88%,transparent);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--bg-surface-muted) 72%,transparent);color:var(--text-primary)}.morse-chat-indicator:before{width:.38rem;height:.38rem;border-radius:999px;background:color-mix(in srgb,var(--text-muted) 62%,transparent);content:""}.morse-chat-indicator.connected:before{background:var(--success)}.morse-chat-indicator.pending:before,.morse-chat-indicator.warning:before{background:var(--warning)}.morse-chat-indicator.error:before{background:var(--danger)}.morse-chat-indicator span{min-height:0;padding:0;border-radius:0;color:var(--text-muted);font-size:.66rem;font-weight:850;line-height:1;text-transform:none}.morse-chat-indicator b{min-width:0;overflow:hidden;color:var(--text-primary);font-size:.78rem;font-weight:900;line-height:1;text-overflow:ellipsis;white-space:nowrap}.morse-chat-meta-bar span,.morse-chat-kicker,.morse-chat-live-copy span{color:var(--text-muted, #64748b);font-size:.76rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.morse-chat-meta-bar b{overflow-wrap:anywhere}.morse-chat-meta-bar>.morse-chat-composer.compact{border:1px solid var(--border-subtle, rgba(148, 163, 184, .22));background:var(--morse-chat-panel-bg, var(--card-bg, rgba(255, 255, 255, .72)));border-radius:8px;align-content:center}.morse-chat-meta-bar>.morse-chat-roster.compact{border:1px solid var(--border-subtle, rgba(148, 163, 184, .22));background:var(--morse-chat-panel-bg, var(--card-bg, rgba(255, 255, 255, .72)));border-radius:8px}.morse-chat-meta-bar>.morse-chat-on-air{border:1px solid var(--border-subtle, rgba(148, 163, 184, .22));background:var(--morse-chat-panel-bg, var(--card-bg, rgba(255, 255, 255, .72)));border-radius:8px}.morse-chat-meta-bar>.morse-chat-on-air .morse-chat-section-head{margin-bottom:.2rem}.morse-chat-meta-bar>.morse-chat-on-air .morse-chat-section-head h3{margin:0;font-size:.98rem;line-height:1.1}.morse-chat-meta-bar>.morse-chat-roster.compact .morse-chat-section-head{margin-bottom:.2rem}.morse-chat-meta-bar>.morse-chat-roster.compact .morse-chat-section-head h3{margin:0;font-size:.98rem;line-height:1.1}.morse-chat-meta-bar>.morse-chat-composer.compact .morse-chat-section-head{align-items:center;margin-bottom:0}.morse-chat-meta-bar>.morse-chat-composer.compact .morse-chat-section-head h3{margin:0;font-size:.98rem;line-height:1.1}.morse-chat-meta-bar>.morse-chat-composer.compact .morse-chat-keyer-line{font-size:.74rem}.morse-chat-audio-gate{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem 1rem;margin-bottom:1rem}.morse-chat-audio-gate>div{display:grid;gap:.2rem}.morse-chat-audio-actions{display:flex;justify-content:flex-end}.morse-chat-audio-gate span,.morse-chat-receive-copy{color:var(--text-muted, #64748b)}.morse-chat-receive-panel>.challenge-secondary-btn{margin-top:.8rem}.morse-chat-overlap-warning{margin-bottom:1rem;padding:.85rem 1rem;border-radius:8px;border:1px solid rgba(245,158,11,.5);background:#f59e0b24;color:var(--text-strong, #0f172a);font-weight:800;animation:morseChatPulse .9s ease-in-out infinite alternate}.morse-chat-legacy-easter-egg{margin-bottom:1rem;padding:.85rem 1rem;border-radius:8px;border:1px solid color-mix(in srgb,var(--button-primary-bg) 30%,var(--border-subtle));background:color-mix(in srgb,var(--bg-surface-muted) 88%,var(--button-primary-bg) 12%);color:var(--text-primary);display:flex;align-items:center;justify-content:space-between;gap:1rem;box-shadow:none}.morse-chat-legacy-easter-egg strong{display:block;font-size:var(--text-base, 1rem);line-height:1.25}.morse-chat-legacy-kicker{display:block;color:var(--button-primary-bg);font-size:var(--text-xs, .75rem);font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.2rem}@media (max-width: 640px){.morse-chat-legacy-easter-egg{align-items:stretch;flex-direction:column}}.course-step-layout,.course-step-columns,.course-step-main{min-width:0}.course-meta.course-meta-compact{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.8rem 1rem;margin-bottom:1rem;padding:.8rem 1rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:none}.course-meta-compact-title{min-width:0;display:grid;gap:.16rem}.course-meta-compact-title span{overflow:hidden;color:var(--text-muted);font-size:var(--text-xs);font-weight:850;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.course-meta-compact-title strong{overflow-wrap:anywhere;color:var(--text-primary);font-size:var(--text-base);font-weight:900;line-height:1.25}.course-meta-compact-facts{display:flex;align-items:center;gap:.75rem;color:var(--text-secondary);font-size:var(--text-sm);font-weight:780;white-space:nowrap}.course-meta-compact-facts span+span{padding-left:.75rem;border-left:1px solid var(--border-subtle)}.course-concept-review{position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--control-height-compact);min-width:var(--control-height-compact);height:var(--control-height-compact);min-height:var(--control-height-compact);padding:0;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--button-secondary-bg);color:var(--button-secondary-text);box-shadow:none;cursor:pointer}.course-concept-review>span{display:grid;place-items:center;width:1.25rem;height:1.25rem;border:2px solid currentColor;border-radius:50%;font-size:.78rem;font-style:normal;font-weight:950;line-height:1}.course-concept-review:hover:not(:disabled),.course-concept-review:focus-visible{border-color:var(--border-strong);background:var(--button-secondary-hover);color:var(--text-primary)}.course-concept-review:disabled{cursor:not-allowed;opacity:.5}.course-concept-review em{position:absolute;top:-.55rem;right:-.55rem;min-width:max-content;padding:.18rem .4rem;border:1px solid var(--warning-border);border-radius:var(--radius-sm);background:var(--warning-soft);color:var(--warning);font-size:.62rem;font-style:normal;font-weight:900;line-height:1.1}@media (max-width: 720px){.course-meta.course-meta-compact{grid-template-columns:minmax(0,1fr) auto;padding:.75rem}.course-meta-compact-facts{grid-column:1 / -1;grid-row:2;flex-wrap:wrap;white-space:normal}.course-concept-review{grid-column:2;grid-row:1}}@media (max-width: 390px){.course-meta-compact-facts{align-items:flex-start;flex-direction:column;gap:.25rem}.course-meta-compact-facts span+span{padding-left:0;border-left:0}}@keyframes morseChatPulse{0%{box-shadow:0 0 #f59e0b00}to{box-shadow:0 0 0 4px #f59e0b1f}}.morse-chat-layout{display:block}.morse-chat-main{display:grid;gap:1rem;min-width:0}.morse-chat-receive-panel,.morse-chat-composer,.morse-chat-timeline,.morse-chat-on-air,.morse-chat-roster{padding:1rem}.morse-chat-roster.compact{display:grid;gap:.5rem;padding:0;border:0;background:transparent}.morse-chat-composer:focus{outline:none}.morse-chat-composer:focus-visible{outline:var(--focus-ring);outline-offset:3px}.morse-chat-composer.compact{display:grid;gap:.35rem;align-content:start;padding:0;border:0;background:transparent}.morse-chat-composer.compact .morse-chat-section-head{margin-bottom:0}.morse-chat-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.85rem}.morse-chat-section-head h3{margin:.15rem 0 0;font-size:1.05rem;letter-spacing:0}.morse-chat-room-top .morse-chat-section-head{align-items:center;gap:.55rem}.morse-chat-room-top .morse-chat-section-head h3{margin-top:.05rem;font-size:.92rem}.morse-chat-status-pill{flex:0 0 auto;display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--border-subtle, rgba(148, 163, 184, .25));border-radius:999px;padding:.25rem .55rem;font-size:.78rem;font-weight:800;color:var(--text-muted, #64748b)}.morse-chat-status-pill.live{color:var(--danger);border-color:var(--danger-border);background:var(--danger-soft)}.morse-chat-status-pill.ready{color:var(--success);border-color:var(--success-border);background:var(--success-soft)}.morse-chat-status-light{display:inline-flex;align-items:center;justify-content:center;width:.75rem;height:.75rem;flex:0 0 auto}.morse-chat-status-light>span{width:.62rem;height:.62rem;border-radius:999px;background:#94a3b8;box-shadow:0 0 0 2px #94a3b829}.morse-chat-status-light.armed>span{background:#f59e0b;box-shadow:0 0 0 2px #f59e0b2e}.morse-chat-status-light.sending>span{background:#ef4444;box-shadow:0 0 0 3px #ef44442e;animation:morseChatLightPulse .72s ease-in-out infinite alternate}.morse-chat-status-light.degraded>span{background:#f97316;box-shadow:0 0 0 3px #f9731633;animation:morseChatLightPulse .72s ease-in-out infinite alternate}.morse-chat-status-light.muted>span,.morse-chat-status-light.blocked>span{background:#64748b;opacity:.5}@keyframes morseChatLightPulse{0%{transform:scale(.86);opacity:.72}to{transform:scale(1.18);opacity:1}}.morse-chat-controls-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.morse-chat-transmitter-summary{display:flex;flex-wrap:nowrap;align-items:center;gap:.35rem;margin-bottom:0;min-height:1.86rem;overflow:hidden}.morse-chat-transmitter-summary.overflow:empty{visibility:hidden}.morse-chat-keyer-line{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted, #64748b);font-size:.78rem;font-weight:800}.morse-chat-transmitter-summary span{max-width:100%;min-width:0;border:1px solid var(--border-subtle, rgba(148, 163, 184, .24));border-radius:999px;padding:.27rem .5rem;color:var(--text-muted, #64748b);font-size:.74rem;font-weight:800;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.morse-chat-composer.compact .morse-chat-action-row{gap:.35rem;margin-top:.05rem}.morse-chat-composer.compact .morse-chat-action-row .challenge-secondary-btn,.morse-chat-composer.compact .morse-chat-action-row .challenge-primary-btn{min-height:var(--control-height-compact);padding:.48rem .7rem;font-size:var(--text-sm)}.morse-chat-composer.compact .course-status-banner.compact{margin:0;padding:.5rem .6rem;font-size:.86rem;line-height:1.35}.morse-chat-composer.compact .morse-chat-transmit-meter{margin:0;min-height:1.88rem}.morse-chat-transmit-meter.idle{visibility:hidden}.morse-chat-sr-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.morse-chat-live-copy{display:grid;gap:.35rem;min-height:5rem;margin:.9rem 0;padding:.85rem;border-radius:8px;background:var(--morse-chat-panel-soft-bg, color-mix(in srgb, var(--bg-app, #f8fafc) 72%, transparent))}.morse-chat-live-copy b{display:block;min-height:2.8rem;line-height:1.4;overflow-wrap:anywhere}.morse-chat-readiness,.morse-chat-transmit-meter{display:flex;flex-wrap:wrap;gap:.45rem;margin:.75rem 0}.morse-chat-readiness span,.morse-chat-transmit-meter span,.morse-chat-transmit-meter b{border:1px solid var(--border-subtle, rgba(148, 163, 184, .24));border-radius:999px;padding:.35rem .6rem;color:var(--text-muted, #64748b);font-size:.78rem;font-weight:800}.morse-chat-transmit-meter.warning b{color:var(--danger);border-color:var(--danger-border);background:var(--danger-soft)}.modal.morse-chat-setup-modal{position:relative;box-sizing:border-box;width:min(660px,calc(100vw - 1.5rem));max-width:none;max-height:calc(100vh - 1.5rem);max-height:min(720px,calc(100dvh - 1.5rem));overflow:auto;padding:clamp(.85rem,1.6vw,1.1rem);border-radius:12px;text-align:left}.morse-chat-setup-modal .modal-x-btn{top:.45rem;right:.45rem;width:2rem;height:2rem;border-radius:999px;font-size:1.35rem;line-height:1}.morse-chat-setup-head{display:grid;gap:.28rem;margin:0 auto .65rem;max-width:34rem;padding:0 1.5rem;text-align:center}.morse-chat-setup-head h3,.morse-chat-setup-modal h4{margin:0}.morse-chat-setup-head h3{font-size:clamp(1.35rem,2vw,1.75rem);line-height:1.15}.morse-chat-setup-modal h4{font-size:1rem;line-height:1.2;text-align:center}.morse-chat-setup-title-row,.morse-chat-setup-subtitle-row,.keying-setup-title-row,.challenge-stage-title-row,.arena-play-now-title-row,.arena-panel-title-row{display:flex;align-items:center;gap:.45rem;min-width:0}.morse-chat-setup-title-row,.keying-setup-title-row{justify-content:center}.morse-chat-setup-title-row h3,.morse-chat-setup-subtitle-row h4,.keying-setup-title-row h2,.challenge-stage-title-row h3,.arena-play-now-title-row h3,.arena-panel-title-row h3{margin:0}.morse-chat-setup-subtitle-row{justify-content:flex-start}.modal.morse-chat-setup-modal .morse-chat-setup-head p{margin:0;color:var(--text-muted, #64748b);font-size:.88rem;line-height:1.35}.morse-chat-setup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.morse-chat-setup-stack{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:.7rem;align-items:start}.morse-chat-setup-stack.single{grid-template-columns:minmax(0,1fr)}.morse-chat-setup-panel{display:grid;gap:.55rem;border:1px solid var(--border-subtle, rgba(148, 163, 184, .22));border-radius:8px;padding:.7rem;min-width:0;align-content:start}.morse-chat-setup-panel .morse-chat-section-head{margin-bottom:0}.morse-chat-setup-panel .morse-chat-section-head .morse-chat-setup-row{min-width:min(100%,14rem)}.morse-chat-setup-copy{margin:0;color:var(--text-muted, #64748b);font-size:.86rem;line-height:1.35}.morse-chat-setup-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.morse-chat-setup-grid section{display:grid;gap:.55rem;border:1px solid var(--border-subtle, rgba(148, 163, 184, .22));border-radius:8px;padding:.75rem;min-width:0;align-content:start}.morse-chat-setup-input{grid-column:1 / -1}.morse-chat-setup-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(7rem,auto);align-items:center;gap:.55rem;border-radius:8px;padding:.42rem .52rem;background:var(--morse-chat-panel-soft-bg, color-mix(in srgb, var(--bg-app, #f8fafc) 75%, transparent));min-width:0;font-size:.84rem;line-height:1.3}.morse-chat-setup-row span{color:var(--text-muted, #64748b);min-width:0}.morse-chat-setup-row b{min-width:0;max-width:12rem;justify-self:end;text-align:right;overflow-wrap:anywhere}.morse-chat-setup-row.good b{color:var(--success)}.morse-chat-setup-row.warn b{color:var(--warning)}.morse-chat-setup-row.bad b,.morse-chat-setup-error{color:var(--danger)}.morse-chat-setup-modal .morse-chat-audio-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.morse-chat-setup-modal .morse-chat-audio-actions button,.morse-chat-setup-actions button{width:100%;min-height:2.45rem;padding:.55rem .75rem;font-size:.95rem;line-height:1.2}.morse-chat-setup-modal .morse-chat-controls-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.morse-chat-setup-modal .course-control{gap:.45rem;padding:.65rem;border-radius:8px;box-shadow:none}.morse-chat-setup-modal .course-control label{font-size:.86rem;line-height:1.25}.morse-chat-setup-modal .course-control-current{font-size:.9rem;line-height:1.25}.morse-chat-setup-modal .course-control select,.morse-chat-setup-modal .course-control input{min-height:2.35rem;padding:.45rem .55rem;font-size:.9rem}.morse-chat-setup-modal .course-control input[type=range]{min-height:0;padding:0}.morse-chat-setup-actions{display:grid;position:sticky;bottom:-.1rem;z-index:2;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:.75rem -.2rem -.2rem;padding:.62rem .2rem .2rem;margin-left:auto;max-width:28rem;background:linear-gradient(180deg,transparent,var(--bg-surface) 32%)}.morse-chat-setup-modal .challenge-category-tabs{min-height:2.35rem}.morse-chat-setup-modal .challenge-category-tab{min-height:2.25rem;padding:.32rem .7rem;font-size:.88rem}.morse-chat-setup-modal .morse-chat-readiness{gap:.34rem}.morse-chat-setup-modal .morse-chat-readiness span{min-height:1.7rem;padding:.22rem .48rem;font-size:.77rem}.morse-chat-transmitter-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.6rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-surface-muted) 76%,transparent)}.morse-chat-transmitter-card>div{display:grid;gap:.12rem;min-width:0}.morse-chat-transmitter-card span,.morse-chat-transmitter-card small{color:var(--text-muted);font-weight:750}.morse-chat-transmitter-card span{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.morse-chat-transmitter-card b{color:var(--success);font-size:1rem;line-height:1.18;overflow-wrap:anywhere}.morse-chat-transmitter-card small{font-size:.78rem;line-height:1.2}.morse-chat-transmitter-card .settings-primary-btn{min-height:2.45rem;padding-inline:.85rem;white-space:nowrap}.morse-chat-touch-key,.morse-chat-touch-paddles button{min-height:4.4rem;border-radius:14px;border:1px solid color-mix(in srgb,var(--border-strong) 62%,transparent);background:color-mix(in srgb,var(--bg-elevated) 88%,var(--button-secondary-bg, rgba(15, 23, 42, .06)));color:var(--text-strong, #0f172a);font-weight:900;font-size:clamp(1.05rem,2.4vw,1.35rem);letter-spacing:0;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.morse-chat-touch-key:active,.morse-chat-touch-paddles button:active{transform:translateY(1px);background:color-mix(in srgb,var(--accent-soft) 72%,var(--bg-elevated));border-color:color-mix(in srgb,var(--accent) 42%,var(--border-strong))}.morse-chat-touch-key{width:100%}.morse-chat-touch-paddles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.morse-chat-touch-dock{display:grid;gap:.5rem;margin-top:.35rem;padding-top:.45rem;border-top:1px solid color-mix(in srgb,var(--border-subtle) 72%,transparent)}.morse-chat-touch-dock-spacer{display:none}.morse-chat-on-air{display:grid;gap:.5rem}.morse-chat-section-head.compact{margin-bottom:0}.morse-chat-timeline-tools{display:flex;align-items:center;justify-content:flex-end;gap:.45rem}.morse-chat-connection-light{display:inline-flex;align-items:center;gap:.36rem;min-height:var(--control-height-compact);padding:.12rem .52rem;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--bg-surface-muted) 68%,transparent);color:var(--text-muted);font-size:.78rem;font-weight:850;line-height:1;white-space:nowrap}.morse-chat-connection-light:before{width:.5rem;height:.5rem;border-radius:999px;background:color-mix(in srgb,var(--text-muted) 62%,transparent);content:""}.morse-chat-connection-light.connected{border-color:var(--success-border);background:var(--success-soft);color:var(--success)}.morse-chat-connection-light.connected:before{background:var(--success)}.morse-chat-connection-light.pending,.morse-chat-connection-light.warning{border-color:color-mix(in srgb,var(--warning) 38%,var(--border-subtle));background:var(--warning-soft);color:var(--warning)}.morse-chat-connection-light.pending:before,.morse-chat-connection-light.warning:before{background:var(--warning)}.morse-chat-connection-light.error{border-color:var(--danger-border);background:var(--danger-soft);color:var(--danger)}.morse-chat-connection-light.error:before{background:var(--danger)}.morse-chat-audio-toggle{display:inline-flex;align-items:center;justify-content:center;width:var(--control-height-compact);height:var(--control-height-compact);min-width:var(--control-height-compact);min-height:var(--control-height-compact);border-radius:999px;border:1px solid var(--success-border);background:var(--success-soft);color:var(--success);cursor:pointer}.morse-chat-audio-toggle.muted{border-color:#94a3b85c;background:#94a3b81f;color:#64748b}.morse-chat-audio-toggle svg{width:1.1rem;height:1.1rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.morse-chat-on-air-list{display:flex;flex-wrap:wrap;gap:.35rem}.morse-chat-on-air-chip{display:inline-flex;align-items:center;gap:.4rem;min-width:0;border:1px solid var(--border-subtle, rgba(148, 163, 184, .24));border-radius:999px;padding:.3rem .45rem;background:var(--morse-chat-chip-bg, color-mix(in srgb, var(--card-bg, #fff) 88%, var(--bg-app, #f8fafc)))}.morse-chat-on-air-chip.self{background:var(--morse-chat-self-bg, color-mix(in srgb, var(--accent-soft, #dbeafe) 28%, var(--card-bg, #fff)))}.morse-chat-on-air-chip>div{display:grid;gap:.08rem;min-width:0}.morse-chat-on-air-chip b,.morse-chat-on-air-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.morse-chat-on-air-chip span,.morse-chat-on-air-empty{color:var(--text-muted, #64748b);font-size:.74rem}.morse-chat-room-top .morse-chat-on-air-empty{display:inline-flex;width:fit-content;border:1px solid var(--border-subtle, rgba(148, 163, 184, .24));border-radius:999px;padding:.27rem .5rem}.morse-chat-message-list{display:grid;gap:.5rem}.morse-chat-roster-list{display:flex;flex-wrap:wrap;gap:.35rem;min-width:0}.morse-chat-message-scroll{height:clamp(20rem,calc(100vh - var(--app-topbar-height, 64px) - 31rem),46rem);height:clamp(20rem,calc(100dvh - var(--app-topbar-height, 64px) - 31rem),46rem);min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;padding-right:.2rem;scroll-behavior:smooth;scrollbar-gutter:stable}.morse-chat-timeline-footer{display:flex;justify-content:center;margin-top:.85rem}.morse-chat-timeline-footer.top{margin:0 0 .85rem}.morse-chat-message-bubble{display:block;width:100%;scroll-margin-block:.75rem}.morse-chat-message-cluster{display:grid;gap:.28rem;width:100%;max-width:100%}.morse-chat-message-bubble.self .morse-chat-message-cluster{justify-items:end}.morse-chat-message-bubble.other .morse-chat-message-cluster{justify-items:start}.morse-chat-message-row{display:grid;align-items:flex-end;gap:.38rem;width:100%;max-width:100%}.morse-chat-message-bubble.other .morse-chat-message-row{grid-template-columns:4.9rem minmax(0,1fr)}.morse-chat-message-bubble.self .morse-chat-message-row{grid-template-columns:minmax(0,1fr) 4.9rem}.morse-chat-message-inner{display:grid;justify-self:start;gap:.14rem;width:fit-content;max-width:min(100%,42rem);min-width:min(100%,7rem);border:0;border-radius:18px;padding:.48rem .68rem .56rem;background:var(--morse-chat-panel-soft-bg, color-mix(in srgb, var(--card-bg, #fff) 88%, var(--bg-app, #f8fafc)));color:var(--text-primary);text-align:left;box-shadow:none;cursor:pointer;white-space:normal}.morse-chat-message-bubble.self .morse-chat-message-inner{justify-self:end}.morse-chat-message-inner:hover{filter:brightness(.985)}.morse-chat-message-inner:focus-visible{outline:3px solid color-mix(in srgb,var(--accent, #2563eb) 34%,transparent);outline-offset:3px}.morse-chat-message-bubble.self .morse-chat-message-inner{background:color-mix(in srgb,var(--accent, #2563eb) 86%,var(--bg-surface, #fff));color:#fff;border-bottom-right-radius:6px}.morse-chat-message-bubble.other .morse-chat-message-inner{border:1px solid var(--morse-chat-incoming-border, var(--border-subtle));border-bottom-left-radius:6px;background:var(--morse-chat-incoming-bg, var(--morse-chat-panel-soft-bg));box-shadow:var(--morse-chat-incoming-shadow, none)}.morse-chat-message-bubble.live .morse-chat-message-inner{box-shadow:0 0 0 2px color-mix(in srgb,var(--danger-soft) 48%,transparent)}.morse-chat-message,.morse-chat-empty{border:1px solid var(--border-subtle, rgba(148, 163, 184, .22));border-radius:8px;padding:.85rem;background:var(--morse-chat-panel-soft-bg, color-mix(in srgb, var(--card-bg, #fff) 86%, var(--bg-app, #f8fafc)))}.morse-chat-message.live{border-color:#3b82f659}.morse-chat-message.self{background:var(--morse-chat-self-bg, color-mix(in srgb, var(--accent-soft, #dbeafe) 22%, var(--card-bg, #fff)))}.morse-chat-message.removed{opacity:.74}.morse-chat-roster-row{display:inline-flex;align-items:center;gap:.35rem;max-width:100%;border:1px solid var(--border-subtle, rgba(148, 163, 184, .22));border-radius:999px;padding:.28rem .45rem;background:var(--morse-chat-chip-bg, color-mix(in srgb, var(--card-bg, #fff) 86%, var(--bg-app, #f8fafc)))}.morse-chat-message-sender{display:block;min-width:0;overflow:hidden;color:inherit;font-size:.75rem;font-weight:800;line-height:1.15;opacity:.76;text-overflow:ellipsis;white-space:nowrap}.morse-chat-message-time{flex:0 0 auto;width:4.9rem;color:var(--text-muted, #64748b);font-size:.68rem;font-weight:750;line-height:1.2;opacity:.78;padding-bottom:.22rem;text-align:right;white-space:nowrap}.morse-chat-message-time.hidden{visibility:hidden}.morse-chat-message-bubble.self .morse-chat-message-time{text-align:left}.morse-chat-message-time:empty{display:none}.morse-chat-roster-name{display:inline-flex;align-items:center;gap:.35rem;min-width:0}.morse-chat-roster-row b,.morse-chat-roster-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;line-height:1.1}.morse-chat-roster-row b{max-width:8rem}.morse-chat-roster-row span{color:var(--text-muted, #64748b);font-weight:800}.morse-chat-roster-more,.morse-chat-roster-summary{display:inline-flex;align-items:center;width:fit-content;border:1px solid var(--border-subtle, rgba(148, 163, 184, .22));border-radius:999px;padding:.28rem .45rem;color:var(--text-muted, #64748b);font-size:.76rem;font-weight:800}.morse-chat-roster-main{display:grid;gap:.25rem;min-width:0}.morse-chat-message-badges,.morse-chat-roster-badges{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem;justify-content:flex-end}.morse-chat-message-badges .challenge-badge{padding:.18rem .38rem;font-size:.68rem;line-height:1.15}.morse-chat-message-body{display:block;margin:0;color:inherit;line-height:1.38;font-size:.95rem;font-weight:650;overflow-wrap:anywhere;text-align:left}.morse-chat-message-actions{display:flex;flex-wrap:wrap;gap:.3rem;max-width:100%;padding-inline:.25rem}.morse-chat-message-bubble.self .morse-chat-message-actions{justify-content:flex-end}.morse-chat-message-bubble.other .morse-chat-message-actions{justify-content:flex-start}.morse-chat-message-body.audio-only,.morse-chat-message-body.muted,.morse-chat-empty{color:var(--text-muted, #64748b)}.challenge-secondary-btn.compact{padding:.25rem .42rem;min-height:0;font-size:.74rem}.challenge-secondary-btn.compact.danger{border-color:color-mix(in srgb,var(--danger) 38%,var(--border-subtle));color:var(--danger)}.challenge-secondary-btn.compact.danger:hover{background:var(--danger-soft)}.morse-chat-roster-row.active{border-color:#ef444452}.morse-chat-roster-row.self{background:var(--morse-chat-self-bg, color-mix(in srgb, var(--accent-soft, #dbeafe) 18%, var(--card-bg, #fff)))}@media (max-width: 1050px){.morse-chat-hero{align-items:stretch;flex-direction:column}.morse-chat-meta-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.morse-chat-layout{display:block}.morse-chat-room-top{grid-template-columns:1fr}.morse-chat-message-scroll{height:clamp(18rem,calc(100vh - var(--app-topbar-height, 64px) - 34rem),36rem);height:clamp(18rem,calc(100dvh - var(--app-topbar-height, 64px) - 34rem),36rem);max-height:none;min-height:0}.morse-chat-message-inner{max-width:100%}}@media (max-width: 640px){.morse-chat-page{padding:.85rem}.morse-chat-page:has(.morse-chat-touch-dock){padding-bottom:calc(7.4rem + env(safe-area-inset-bottom,0px))}.morse-chat-meta-bar,.morse-chat-controls-grid{grid-template-columns:1fr}.morse-chat-message-scroll{height:clamp(18rem,50vh,32rem);height:clamp(18rem,50dvh,32rem)}.morse-chat-audio-gate,.morse-chat-section-head,.morse-chat-roster-row,.morse-chat-setup-row{flex-direction:column;align-items:stretch}.morse-chat-meta-bar .morse-chat-roster-row{flex-direction:row;align-items:center}.morse-chat-message-badges{justify-content:flex-start}.morse-chat-message-bubble.other .morse-chat-message-row{grid-template-columns:3.9rem minmax(0,1fr)}.morse-chat-message-bubble.self .morse-chat-message-row{grid-template-columns:minmax(0,1fr) 3.9rem}.morse-chat-message-time{width:3.9rem}.morse-chat-message-inner{max-width:100%}.morse-chat-touch-dock{position:fixed;right:0;bottom:0;left:0;z-index:80;margin:0;padding:.7rem max(.85rem,env(safe-area-inset-right,0px)) calc(.7rem + env(safe-area-inset-bottom,0px)) max(.85rem,env(safe-area-inset-left,0px));border-top:1px solid color-mix(in srgb,var(--border-strong) 68%,transparent);background:color-mix(in srgb,var(--bg-app) 92%,var(--bg-elevated));box-shadow:0 -14px 32px #00000047}.morse-chat-touch-dock .morse-chat-touch-paddles{gap:.65rem}.morse-chat-touch-dock .morse-chat-touch-key,.morse-chat-touch-dock .morse-chat-touch-paddles button{min-height:4.75rem;border-radius:16px;font-size:1.18rem}.morse-chat-setup-grid,.morse-chat-setup-stack,.morse-chat-setup-grid.compact{grid-template-columns:1fr}.morse-chat-room-actions,.morse-chat-invite-form{width:100%}.morse-chat-invite-form input{flex:1 1 auto;max-width:none}}@media (max-width: 720px){.modal.morse-chat-setup-modal{width:calc(100vw - 1rem);max-height:calc(100vh - 1rem);max-height:calc(100dvh - 1rem);padding:.85rem}.morse-chat-setup-head{padding:0 1.75rem}.morse-chat-setup-grid{grid-template-columns:1fr}.morse-chat-setup-row{grid-template-columns:minmax(0,1fr) minmax(6.5rem,auto)}.morse-chat-setup-modal .morse-chat-controls-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 520px){.morse-chat-setup-head{padding:0 1.5rem;text-align:left}.morse-chat-setup-modal h4{text-align:left}.morse-chat-setup-row{grid-template-columns:1fr;gap:.25rem}.morse-chat-setup-row b{justify-self:start;max-width:none;text-align:left}.morse-chat-setup-modal .morse-chat-audio-actions,.morse-chat-setup-modal .morse-chat-controls-grid,.morse-chat-setup-actions{grid-template-columns:1fr}.morse-chat-setup-actions{max-width:none}}:root{--focus-ring-color: #1d4ed8;--focus-ring: 0 0 0 3px rgba(29, 78, 216, .32);--app-sidebar-width: 17rem;--app-topbar-height: 64px;--app-sidebar-z: 920;--app-sidebar-backdrop-z: 910}.nav-bar{display:flex;align-items:center;justify-content:space-between;max-width:1100px;margin:0 auto;padding:0 2rem}.logo{font-size:1.5rem;font-weight:700;color:#fff;letter-spacing:2px}.nav-links{list-style:none;display:flex;align-items:center;gap:2rem;margin:0;padding:0}.nav-links li{display:flex;align-items:center}.nav-links li a{position:relative;display:inline-flex;align-items:center;color:#fff;text-decoration:none;font-weight:500;line-height:1;transition:color .2s}.nav-links li a:hover{color:var(--accent)}.nav-links li a:focus-visible,.logo:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:3px;border-radius:.4rem}.main-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 1rem;text-align:center}.main-content h1{font-size:2.5rem;font-weight:700;color:#1a2233;margin-bottom:2rem}.homepage-header{background:#000;padding:1rem 0;box-shadow:0 2px 8px #00000008}.app-shell-root{position:fixed;inset:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:var(--app-topbar-height) minmax(0,1fr);width:100%;height:100vh;height:100dvh;min-height:0;overflow:hidden;background:var(--bg-app);color:var(--text-primary)}.homepage-header.app-topbar{position:relative;grid-row:1;top:0;z-index:940;height:var(--app-topbar-height);min-height:var(--app-topbar-height);padding:0;border-bottom:1px solid var(--border-subtle);background:color-mix(in srgb,var(--bg-surface) 96%,var(--bg-app));box-shadow:var(--shadow-sm)}.homepage-header.app-topbar .nav-bar{height:100%;min-height:var(--app-topbar-height);max-width:none;padding:0 1rem 0 1.15rem}.homepage-header.app-topbar .logo{color:var(--text-primary)}.app-topbar-actions{display:flex;align-items:center;gap:.55rem;min-width:0}.app-key-status-light{position:relative;display:inline-block;flex:0 0 auto;width:.66rem;height:.66rem;border:1px solid color-mix(in srgb,var(--success) 72%,var(--bg-surface));border-radius:999px;background:var(--success);box-shadow:0 0 0 .18rem color-mix(in srgb,var(--success-soft) 78%,transparent),0 0 .65rem color-mix(in srgb,var(--success) 42%,transparent);cursor:help}.app-key-status-light:after{position:absolute;top:calc(100% + .58rem);right:-.35rem;z-index:1100;width:max-content;max-width:min(18rem,calc(100vw - 1.5rem));padding:.46rem .58rem;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-surface-strong) 96%,var(--bg-surface));color:var(--text-primary);box-shadow:var(--shadow-lg);content:attr(data-tooltip);font-size:.78rem;font-weight:700;line-height:1.3;opacity:0;overflow-wrap:anywhere;pointer-events:none;transform:translateY(-.14rem);transition:opacity .16s ease,transform .16s ease;white-space:normal}.app-key-status-light:hover:after,.app-key-status-light:focus-visible:after{opacity:1;transform:translateY(0)}.app-topbar-popover-anchor{position:relative;display:inline-flex;align-items:center}.daily-xp-meter{--daily-xp-progress: 0;display:inline-grid;grid-template-columns:minmax(3.6rem,1fr) auto;align-items:center;gap:.45rem;min-width:8.25rem;min-height:36px;padding:.32rem .62rem;border:1px solid color-mix(in srgb,var(--button-primary-bg) 32%,var(--border-subtle));border-radius:var(--radius-pill);background:color-mix(in srgb,var(--button-primary-bg) 9%,var(--bg-surface));color:var(--text-primary);box-shadow:var(--shadow-sm);cursor:pointer;font:inherit;text-align:left;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}.daily-xp-meter:hover,.daily-xp-meter:focus-visible{border-color:color-mix(in srgb,var(--button-primary-bg) 58%,var(--border-strong));background:color-mix(in srgb,var(--button-primary-bg) 14%,var(--bg-surface));box-shadow:var(--shadow-md);outline:none;transform:translateY(-1px)}.daily-xp-meter:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--button-primary-bg) 22%,transparent),var(--shadow-md)}.daily-xp-meter.complete{border-color:color-mix(in srgb,var(--success) 42%,var(--border-subtle));background:color-mix(in srgb,var(--success-soft) 72%,var(--bg-surface))}.daily-xp-meter.pending{opacity:.78}.daily-xp-meter-track{display:block;width:100%;height:.42rem;overflow:hidden;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--border-subtle) 72%,var(--bg-surface-muted))}.daily-xp-meter-fill{display:block;width:calc(var(--daily-xp-progress) * 100%);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--button-primary-bg),color-mix(in srgb,var(--success) 80%,var(--button-primary-bg)));transition:width .24s ease}.daily-xp-meter.complete .daily-xp-meter-fill{background:var(--success)}.daily-xp-meter-value{display:inline-flex;align-items:baseline;color:var(--text-secondary);font-size:.78rem;font-weight:900;line-height:1;white-space:nowrap}.daily-xp-meter-value b{color:var(--text-primary);font-size:.94rem}.daily-xp-meter-unit{color:var(--text-muted)}.app-topbar-account-link{min-height:38px;padding:0 .8rem;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--button-secondary-bg);color:var(--button-secondary-text);font:inherit;font-size:.9rem;font-weight:800;cursor:pointer}.app-topbar-account-link:hover,.app-topbar-account-link:focus-visible{background:var(--button-secondary-hover);color:var(--text-primary)}.sidebar-toggle-btn{display:inline-flex;width:44px;min-width:44px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:4px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--button-secondary-bg);color:var(--text-primary);cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease}.sidebar-toggle-btn:hover,.sidebar-toggle-btn:focus-visible{background:var(--button-secondary-hover);border-color:var(--border-strong)}.sidebar-toggle-btn span{display:block;width:18px;height:2px;border-radius:var(--radius-pill);background:currentColor;transition:transform .18s ease,opacity .18s ease}.sidebar-toggle-btn.is-open span:nth-child(1){transform:translateY(6px) rotate(45deg)}.sidebar-toggle-btn.is-open span:nth-child(2){opacity:0}.sidebar-toggle-btn.is-open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.app-sidebar-toggle{position:fixed;top:calc(var(--app-topbar-height) + .85rem);left:.85rem;z-index:calc(var(--app-sidebar-z) + 4);box-shadow:var(--shadow-sm)}.app-sidebar-open.app-sidebar-wide .app-sidebar-toggle{left:calc(var(--app-sidebar-width) - 3.6rem)}.app-sidebar-open.app-sidebar-narrow .app-sidebar-toggle{left:calc(min(84vw,19rem) - 3.55rem)}.app-shell-main{grid-row:2;height:100%;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;transition:padding-left .2s ease;-webkit-overflow-scrolling:touch}.app-sidebar-wide.app-sidebar-open .app-shell-main{padding-left:var(--app-sidebar-width)}.app-sidebar-wide.app-sidebar-closed .app-shell-main,.app-sidebar-narrow .app-shell-main{padding-left:0}.app-sidebar{position:fixed;top:var(--app-topbar-height);bottom:0;left:0;width:var(--app-sidebar-width);z-index:var(--app-sidebar-z);background:color-mix(in srgb,var(--bg-surface) 96%,var(--bg-app));border-right:1px solid var(--border-subtle);box-shadow:var(--shadow-md);transform:translate(-102%);transition:transform .2s ease;overflow:hidden}.app-sidebar.is-open{transform:translate(0)}.app-sidebar-inner{display:flex;flex-direction:column;height:100%;min-height:0;padding:1rem}.app-sidebar-head{min-height:3.65rem;padding:.25rem 3.15rem .85rem .25rem;border-bottom:1px solid var(--border-subtle)}.app-sidebar-kicker{color:var(--text-muted);font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.app-sidebar-title{margin-top:.22rem;color:var(--text-primary);font-size:1.15rem;font-weight:900}.app-sidebar-nav{display:grid;gap:.25rem;padding:.85rem 0;overflow-y:auto}.app-sidebar-nav-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:44px;width:100%;padding:.55rem .7rem;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font:inherit;text-align:left;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}.app-sidebar-nav-item:hover,.app-sidebar-nav-item:focus-visible{background:var(--button-secondary-bg);color:var(--text-primary)}.app-sidebar-nav-item.is-active{background:color-mix(in srgb,var(--button-primary-bg) 12%,var(--bg-surface));border-color:color-mix(in srgb,var(--button-primary-bg) 42%,var(--border-subtle));color:var(--text-primary)}.app-sidebar-nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:850}.app-sidebar-nav-short{flex:0 0 auto;color:var(--text-muted);font-size:.78rem;font-weight:800}.app-sidebar-nav-item.is-active .app-sidebar-nav-short{color:color-mix(in srgb,var(--button-primary-bg) 75%,var(--text-primary))}:root[data-theme=light] .app-sidebar{--sidebar-on-nav-strong: #f7fbff;--sidebar-on-nav: #dbe7ff;--sidebar-on-nav-muted: #bdc9ec;--sidebar-on-nav-accent: #31d7cb;--sidebar-on-nav-active: #7ea6ff;color:var(--sidebar-on-nav)}:root[data-theme=light] .app-sidebar-kicker,:root[data-theme=light] .app-sidebar-nav-short,:root[data-theme=light] .app-sidebar-account-label{color:var(--sidebar-on-nav-muted)}:root[data-theme=light] .app-sidebar-title,:root[data-theme=light] .app-sidebar-nav-label,:root[data-theme=light] .app-sidebar-account-value{color:var(--sidebar-on-nav-strong)}:root[data-theme=light] .app-sidebar-nav-item,:root[data-theme=light] .app-sidebar-feedback{color:var(--sidebar-on-nav)}:root[data-theme=light] .app-sidebar-nav-item:hover,:root[data-theme=light] .app-sidebar-nav-item:focus-visible,:root[data-theme=light] .app-sidebar-feedback:hover,:root[data-theme=light] .app-sidebar-feedback:focus-visible{color:var(--sidebar-on-nav-strong)}:root[data-theme=light] .app-sidebar-nav-item.is-active{color:var(--sidebar-on-nav-strong)}:root[data-theme=light] .app-sidebar-nav-item.is-active .app-sidebar-nav-label{color:var(--sidebar-on-nav-active)}:root[data-theme=light] .app-sidebar-nav-item.is-active .app-sidebar-nav-short{color:var(--sidebar-on-nav-accent)}:root[data-theme=light] .app-sidebar-account{background:#ffffff14;border-color:#ffffff38}:root[data-theme=light] .app-sidebar-signin{background:#ffffff14;border-color:#ffffff38;color:var(--sidebar-on-nav-strong)}:root[data-theme=light] .app-sidebar-signin:hover,:root[data-theme=light] .app-sidebar-signin:focus-visible{background:#ffffff24;color:var(--sidebar-on-nav-strong)}.app-sidebar-footer{margin-top:auto;display:grid;gap:.75rem}.app-sidebar-feedback{min-height:40px;width:100%;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font:inherit;font-size:.9rem;font-weight:850;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}.app-sidebar-feedback:hover,.app-sidebar-feedback:focus-visible{background:var(--button-secondary-bg);border-color:color-mix(in srgb,var(--button-primary-bg) 34%,var(--border-subtle));color:var(--text-primary)}.app-sidebar-account-zone{padding-top:.85rem;border-top:1px solid var(--border-subtle)}.app-sidebar-account{display:grid;gap:.16rem;padding:.68rem .75rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface-muted)}.app-sidebar-account-label{color:var(--text-muted);font-size:.76rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.app-sidebar-account-value{min-width:0;overflow:hidden;color:var(--text-primary);font-size:.9rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.app-sidebar-signin{min-height:44px;width:100%;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--button-secondary-bg);color:var(--button-secondary-text);font:inherit;font-weight:850;cursor:pointer}.app-sidebar-signin:hover,.app-sidebar-signin:focus-visible{background:var(--button-secondary-hover);color:var(--text-primary)}.app-sidebar-backdrop{position:fixed;inset:var(--app-topbar-height) 0 0;z-index:var(--app-sidebar-backdrop-z);border:0;background:#00000073;cursor:pointer}.app-sidebar-narrow{--app-topbar-height: calc(56px + env(safe-area-inset-top, 0px)) }.app-sidebar-narrow .app-sidebar{top:var(--app-topbar-height);width:min(84vw,19rem)}.mode-switch{display:inline-flex;gap:1.2rem;margin:3rem 0 2rem;background:#f5f5f5;border-radius:2rem;box-shadow:0 2px 12px #0000000a;padding:.3rem;align-items:center;min-height:0;max-width:420px;min-width:0}.mode-btn{background:none;border:none;outline:none;font-size:1.05rem;font-weight:600;color:#000;padding:.7rem 2.2rem;border-radius:1.5rem;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s;position:relative;display:flex;align-items:center;gap:.4em;min-height:0;margin:0;box-sizing:border-box}.mode-btn.active{background:var(--accent);color:var(--button-primary-text);box-shadow:0 2px 8px #e539351f;border-radius:1.5rem}.mode-btn:not(.active):hover{background:#fce4e4;color:var(--accent)}.mode-btn:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.mode-content{width:100%;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.mode-panel{width:100%;background:#fff;border-radius:1.5rem;box-shadow:0 4px 24px #00000012;padding:2.5rem 2rem 2rem;margin-bottom:2rem;text-align:center;transition:box-shadow .2s}.transmit-panel h1,.receive-panel h1{font-size:2rem;font-weight:700;margin-bottom:1rem;color:var(--accent)}.mode-desc{color:#333;font-size:1.1rem;margin-bottom:0}.transmit-ui,.receive-ui{width:100%;background:#fff;border-radius:1.5rem;box-shadow:0 4px 24px #00000012;padding:2.5rem 2rem 1rem;margin-bottom:0;text-align:center;transition:box-shadow .2s;display:flex;flex-direction:column;align-items:center}.transmit-letter{font-size:3.5rem;font-weight:800;color:var(--accent);margin-bottom:1.5rem;letter-spacing:2px}.transmit-morse-display{min-height:2.5rem;font-size:2rem;letter-spacing:.5rem;color:#222;margin-bottom:1.5rem;background:#f5f5f5;border-radius:.75rem;padding:.5rem 1.5rem;display:inline-block}.placeholder{color:#bbb;font-size:1.1rem}.transmit-controls{display:flex;gap:1rem;margin-bottom:1.5rem;justify-content:center}.morse-key-btn{background:var(--accent);color:var(--button-primary-text);font-size:1.25rem;font-weight:700;border:none;border-radius:2rem;padding:1rem 2.5rem;cursor:pointer;transition:background .2s,box-shadow .2s;box-shadow:0 2px 8px #e539351a}.morse-key-btn.pressing{background:var(--accent-hover)}.backspace-btn,.submit-btn,.next-btn,.play-btn{background:#fff;color:var(--accent);border:2px solid var(--accent);border-radius:2rem;font-size:1.1rem;font-weight:600;padding:.75rem 1.5rem;cursor:pointer;transition:background .2s,color .2s}.backspace-btn:disabled,.submit-btn:disabled{opacity:.5;cursor:not-allowed}.submit-btn,.next-btn{margin-left:.5rem}.backspace-btn:hover,.submit-btn:hover,.next-btn:hover,.play-btn:hover{background:var(--accent);color:var(--button-primary-text)}.transmit-feedback,.receive-feedback{margin-top:1.5rem;font-size:1.2rem;font-weight:600;padding:1rem 1.5rem;border-radius:1rem;display:flex;flex-direction:column;align-items:center}.transmit-feedback.correct,.receive-feedback.correct{background:#e8f5e9;color:#388e3c;border:1.5px solid #388e3c}.transmit-feedback.incorrect,.receive-feedback.incorrect{background:#ffebee;color:var(--accent);border:1.5px solid var(--accent)}.play-btn{margin-bottom:1.5rem}.receive-form{display:flex;gap:1rem;justify-content:center;margin-bottom:1.5rem}.receive-input{font-size:2rem;font-weight:700;width:4rem;text-align:center;border:2px solid var(--accent);border-radius:.75rem;padding:.5rem;outline:none;color:var(--accent);background:#fff;transition:border .2s}.receive-input:focus{border:2px solid var(--accent-hover)}.keyboard-grid{display:grid;grid-template-columns:repeat(10,2.5rem);gap:.5rem;justify-content:center;margin:1.5rem 0}.keyboard-key{background:#fff;color:var(--accent);border:2px solid var(--accent);border-radius:.75rem;font-size:1.15rem;font-weight:700;padding:.75rem 0;cursor:pointer;transition:background .2s,color .2s;outline:none}.keyboard-key:hover:not(:disabled),.keyboard-key:focus:not(:disabled){background:var(--accent);color:var(--button-primary-text)}.keyboard-key:disabled{opacity:.5;cursor:not-allowed}.receive-status{display:flex;justify-content:center;align-items:center;margin-bottom:1.25rem;min-height:2.5rem}.receive-question{font-size:2.5rem;color:var(--accent);font-weight:800}.receive-feedback-text{font-size:1.5rem;font-weight:700}.receive-feedback-text.correct{color:#388e3c}.receive-feedback-text.incorrect{color:var(--accent)}.main-content-home{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 1rem;text-align:center}.main-content-home h1{font-size:2.5rem;font-weight:700;color:#1a2233;margin-bottom:2rem}.home-action-row{display:flex;justify-content:center;align-items:center;gap:.85rem;flex-wrap:wrap}.home-course-section{width:100%;padding:0 0 3rem;background:linear-gradient(180deg,#fff,#f7f9fc)}.home-course-teaser{max-width:860px;margin:0 auto 3rem;text-align:center}.course-page.embedded-home{margin-top:0}.get-started-btn{background:var(--accent);color:var(--button-primary-text);font-size:1.25rem;padding:.75rem 2.5rem;border:none;border-radius:.5rem;cursor:pointer;font-weight:600;transition:background .2s,color .2s;box-shadow:0 2px 8px #e5393514}.get-started-btn:hover{background:var(--accent-hover);color:var(--button-primary-text)}.home-secondary-btn{background:#fff;color:#1a2233;font-size:1.05rem;padding:.72rem 1.8rem;border:1px solid #d8dee9;border-radius:.5rem;cursor:pointer;font-weight:700;transition:background .2s,color .2s,border-color .2s;box-shadow:0 2px 8px #1a22330f}.home-secondary-btn:hover{background:#f4f7fb;border-color:#b8c2d4}.confirm-dialog{width:min(420px,calc(100vw - 2rem))}.confirm-dialog h3{margin:0 0 .65rem}.confirm-dialog p{margin:0;color:var(--text-muted, #64748b);line-height:1.5}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:.65rem;margin-top:1.2rem;flex-wrap:wrap}.core-app-layout{display:flex;flex-direction:row;min-height:calc(100vh - 56px);background:#f9fafb}.main-interface{flex:1;width:0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;background:#fff;padding:0}.transmit-tip{display:inline-block;background:#fff;color:#333;padding:.18em .5em;border-radius:5px;font-size:.48em;font-weight:400;box-shadow:0 1px 2px #0000000a;margin-top:.2em;margin-bottom:.2em;letter-spacing:.05px}.kbd{display:inline-block;background:#f5f5f5;color:#333;border:1px solid #bbb;border-radius:3px;padding:.05em .3em;font-size:1em;font-family:inherit;font-weight:500;margin:0 .12em;box-shadow:0 1px 1px #0000000a;vertical-align:middle}.morse-key-btn,.backspace-btn,.submit-btn,.next-btn,.play-btn{padding:1.1rem 2.7rem}.settings-icon{margin-left:1.2rem;cursor:pointer;display:flex;align-items:center;color:var(--accent);transition:color .2s}.settings-icon:hover,.settings-icon:focus{color:var(--accent-hover)}.settings-icon:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:3px;border-radius:.5rem}.profile-icon-btn{display:inline-block;width:32px;height:32px;border-radius:50%;background:#eee;color:#888;text-align:center;line-height:32px;font-size:20px;cursor:pointer;border:0;padding:0}.profile-icon-btn:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.streak-icon-btn{display:inline-flex;align-items:center;gap:.45rem;min-height:36px;padding:.35rem .7rem;border:1px solid rgba(255,219,156,.24);border-radius:999px;background:#ffbf4914;color:#ffe09b;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}.streak-icon-btn:hover,.streak-icon-btn:focus-visible{background:#ffbf4929}.streak-icon-btn:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.streak-icon-btn.has-streak{border-color:#ffc4617a}.streak-icon-btn.active{background:linear-gradient(135deg,#ffce6c3d,#ffaa2a33);border-color:#ffdc8dc2}.streak-icon-glyph{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:#ffe29c;flex:0 0 18px;transform:translateY(.5px)}.streak-icon-btn.active .streak-icon-glyph{color:#fff0bf}.streak-icon-glyph svg{display:block}.streak-icon-count{display:inline-flex;align-items:center;font-size:.95rem;line-height:1;font-weight:800;letter-spacing:.02em;color:#ffb21f;transform:translateY(-.5px)}.streak-popup{position:absolute;right:0;top:calc(100% + .7rem);width:min(320px,calc(100vw - 2rem));display:grid;gap:1rem;padding:1.1rem;border:1px solid #f3ddd6;border-radius:1rem;background:#fff;box-shadow:0 16px 32px #00000029;z-index:2100}.streak-popup:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.streak-popup-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.streak-popup-kicker{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#b45309}.streak-popup-title{margin-top:.2rem;font-size:1.4rem;font-weight:800;color:#1a2233}.streak-popup-badge{min-width:86px;padding:.55rem .75rem;border-radius:999px;background:#fff6f2;border:1px solid #f0cfc4;color:#9a3412;font-weight:700;text-align:center}.streak-popup-badge.active{background:var(--accent);border-color:var(--accent);color:var(--button-primary-text)}.streak-popup-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.streak-popup-metric{display:grid;gap:.2rem;padding:.85rem .8rem;border-radius:.85rem;background:#fff8f5;border:1px solid #f2e3dd}.streak-popup-value{font-size:1.45rem;font-weight:800;color:#1a2233}.streak-popup-label{font-size:.82rem;font-weight:600;color:#666}.streak-popup-status{font-weight:700;color:#7c2d12}.streak-popup-last{color:#666;font-size:.95rem}.profile-menu button:focus-visible{box-shadow:var(--focus-ring)}.settings-modal-overlay{position:fixed;inset:0;background:#0000002e;z-index:1000;display:flex;align-items:center;justify-content:center}.settings-modal{background:#fff;border-radius:1.2rem;box-shadow:0 4px 32px #00000021;padding:2.2rem 2.5rem 1.5rem;min-width:320px;max-width:95vw;position:relative}.settings-modal h2{margin-top:0;margin-bottom:1.2rem;font-size:1.5rem;color:var(--accent)}.settings-row{margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.7rem}.close-settings-btn{background:var(--accent);color:var(--button-primary-text);border:none;border-radius:2rem;font-size:1.1rem;font-weight:600;padding:.7rem 2.2rem;cursor:pointer;transition:background .2s;margin-top:.5rem}.close-settings-btn:hover{background:var(--accent-hover)}.nav-actions{display:flex;align-items:center;gap:1.2rem}.settings-page{width:min(960px,calc(100vw - 3rem));max-width:960px;margin:3rem auto 0;background:#fff;border-radius:1.2rem;box-shadow:0 4px 32px #00000021;padding:2.2rem 2.5rem 1.5rem;display:flex;flex-direction:column;align-items:center}.settings-page h2{margin-top:0;margin-bottom:1.2rem;font-size:1.5rem;color:var(--accent)}.settings-section{width:100%;display:grid;gap:.25rem;padding:1.1rem 1.2rem .3rem;border-radius:1rem;background:#111c2e0a;border:1px solid rgba(148,163,184,.18);margin-bottom:1.25rem}.settings-section-header{display:grid;gap:.3rem;width:100%}.settings-section-header h3{margin:0;font-size:1.1rem;color:#1a2233}.settings-row{margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.7rem;width:100%}.settings-row label{font-size:1.1rem;font-weight:500;color:#333}.settings-row input[type=range]{width:100%;accent-color:var(--accent);margin-top:.3rem}.back-btn{background:var(--accent);color:var(--button-primary-text);border:none;border-radius:2rem;font-size:1.1rem;font-weight:600;padding:.7rem 2.2rem;cursor:pointer;transition:background .2s;margin-top:.5rem}.back-btn:hover{background:var(--accent-hover)}.back-btn:focus-visible,.settings-danger-btn:focus-visible,.modal-close-btn:focus-visible,.course-back-btn:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.switch{position:relative;display:inline-block;width:64px;height:24px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background:#ccc;transition:background .3s;border-radius:24px}.slider:before{position:absolute;content:"";height:24px;width:24px;left:0;top:0;background:#fff;transition:transform .3s;border-radius:50%;box-shadow:0 1px 4px #0000001a}.switch input:checked+.slider{background:#43a047}.switch input:checked+.slider:before{transform:translate(24px)}.switch input:focus+.slider{box-shadow:0 0 1px #43a047}.switch input:active+.slider:before{width:30px}.settings-row label,.settings-row span{color:#111}.settings-device-card{display:grid;gap:.85rem;padding:1rem 1.1rem;border-radius:1rem;border:1px solid #dbe3f4;background:#f7f9fc}.settings-device-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.settings-device-title{font-weight:800;color:#1a2233}.settings-device-status{padding:.28rem .7rem;border-radius:999px;background:#eef3fb;color:#51627f;font-size:.82rem;font-weight:700}.settings-device-status.connected{background:#e5f6eb;color:#17633d}.settings-device-copy{color:#42526b;line-height:1.5}.settings-live-state-note{margin-top:-.15rem}.settings-device-toggles{display:grid;gap:.75rem}.settings-key-tester{display:grid;gap:1rem}.settings-key-tester-stage{display:grid;gap:.25rem;padding:.95rem 1rem;border-radius:.9rem;border:1px dashed #c8d4e6;background:#fdfefe;color:#42526b;cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.settings-key-tester-stage:hover{border-color:#9cb4d6;background:#fbfcff}.settings-key-tester-stage.active{border-style:solid;border-color:#7ca0d6;background:#f3f7ff;box-shadow:0 0 0 3px #7ca0d626}.settings-key-tester-stage:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.settings-key-tester-stage-header{display:grid;gap:.25rem}.settings-key-tester-stage-header strong{color:#1a2233}.settings-key-tester-stage-header span{color:#51627f;line-height:1.45}.settings-key-tester-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem;align-items:start}.settings-key-tester-touch{margin-bottom:0}.settings-key-tester-signals{display:flex;flex-wrap:wrap;gap:.45rem}.settings-key-tester-output{display:grid;gap:.75rem;padding:.9rem;border-radius:.9rem;border:1px solid #dbe3f4;background:#fbfcff}.settings-key-tester-output-header{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.settings-key-tester-output-stream{min-height:3.25rem;padding:.85rem .95rem;border-radius:.8rem;background:#fff;border:1px solid #dde5ef;color:#1a2233;font-weight:700;line-height:1.55;overflow-wrap:anywhere}.settings-key-tester-history{display:grid;gap:.55rem}.settings-key-tester-history-list{display:grid;gap:.45rem;max-height:15rem;overflow:auto;padding:.1rem}.settings-key-tester-history-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem;align-items:center;padding:.6rem .7rem;border-radius:.75rem;border:1px solid #dbe3f4;background:#fbfcff;font-size:.84rem;color:#42526b}.settings-key-tester-history-row strong{color:#1a2233}.settings-key-tester-history-row span{min-width:0;overflow-wrap:anywhere}.settings-toggle-line{display:flex;align-items:center;justify-content:space-between;gap:1rem}.settings-danger-card{border:1px solid #f1c0c0;background:#fff5f5;border-radius:.8rem;padding:.9rem;display:grid;gap:.5rem}.settings-danger-title{font-weight:700;color:var(--accent-hover)}.settings-danger-text{color:#5f2b2b;font-size:.95rem}.settings-danger-btn{justify-self:start;border:none;background:var(--accent);color:var(--button-primary-text);border-radius:.6rem;padding:.5rem 1rem;font-weight:600;cursor:pointer}.settings-danger-btn:disabled{background:#d9a3a3;cursor:not-allowed}.modal-backdrop,.modal-overlay{position:fixed;inset:0;background:#00000059;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;overflow:auto}.modal{background:#fff;color:#222;border-radius:16px;padding:2.5rem 2rem 2rem;box-shadow:0 8px 32px #0000002e;max-width:400px;width:90vw;text-align:center;z-index:1001}.modal h2{margin-top:0;font-size:1.5rem;font-weight:700}.modal p{margin:1.2em 0;font-size:1.1rem}.modal-close-btn{margin-top:1.5em;padding:.7em 2em;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s}.modal-close-btn:hover{background:#1741a6}.course-page{max-width:900px;margin:2.5rem auto 3rem;padding:0 1.5rem}.course-page.morse-chat-page{max-width:min(1120px,calc(100vw - 2rem));margin-block:clamp(.75rem,1.4vh,1.25rem) 1rem;padding-inline:clamp(.75rem,1.5vw,1.25rem)}.course-page.morse-chat-page .morse-chat-hero{padding-block:.45rem .65rem}.course-page.morse-chat-page .morse-chat-meta-bar{padding-block:.65rem}@media (max-height: 900px) and (min-width: 760px){.course-page.morse-chat-page .morse-chat-message-scroll{height:clamp(18rem,calc(100vh - var(--app-topbar-height, 64px) - 31rem),34rem);height:clamp(18rem,calc(100dvh - var(--app-topbar-height, 64px) - 31rem),34rem)}.course-page.morse-chat-page .morse-chat-hero-copy p{max-width:34rem}.course-page.morse-chat-page .morse-chat-meta-bar{gap:.5rem;padding-block:.5rem}}.morse-chat-timeline,.morse-chat-main{min-height:0}.course-page h1{font-size:2.2rem;color:#1a2233;margin-bottom:1.5rem}.challenge-page{max-width:1220px}.challenge-page.challenge-page-cw-games,.course-page.course-page-cw-games{max-width:1840px;padding-left:.7rem;padding-right:.7rem}.course-card{background:#fff;border-radius:1.2rem;box-shadow:0 4px 24px #00000014;padding:2rem;margin-bottom:2rem}.course-card.course-card-cw-games{padding:.65rem;background:transparent;border:0;box-shadow:none;margin-bottom:1rem}.course-meta{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:1.5rem;color:#333}.course-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-bottom:1.5rem;align-items:start}.course-send-controls{grid-template-columns:minmax(0,1fr) minmax(12rem,15rem);gap:.65rem;margin-bottom:1rem;align-items:stretch}.course-control{background:#f7f7f7;border:1px solid #e0e0e0;border-radius:.9rem;padding:.85rem .95rem;display:grid;gap:.6rem;min-width:0;align-content:start}.course-control label{display:block;font-weight:600;color:#1a2233;min-width:0;line-height:1.35}.course-control-current{min-width:0;font-size:.96rem;font-weight:700;color:#1a2233;line-height:1.35;overflow-wrap:anywhere}.course-control select{width:100%;min-width:0;max-width:100%}.course-send-controls>.keying-setup-card.compact,.course-send-options>.course-control,.course-send-options>.course-toggle{min-height:5rem;margin-bottom:0;padding:.72rem .85rem;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.course-send-options{display:grid;grid-template-columns:1fr;gap:.5rem;align-content:start;min-width:0}.course-send-options>.course-control,.course-send-options>.course-toggle{min-height:3.7rem}.course-send-controls .course-send-speed{gap:.32rem;justify-content:center}.course-send-controls .course-send-speed label,.course-send-controls .keying-setup-kicker{font-size:.68rem;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted)}.course-send-controls .course-control-current{margin:0;padding:0;border:0;background:transparent;box-shadow:none;color:var(--text-secondary);font-size:1.05rem;line-height:1.2}.course-keying-status-row{grid-column:1 / -1}.course-keying-status{padding:.72rem .9rem;border-radius:.8rem;border:1px solid #dbe3f4;background:#fafbfd;color:#42526b;line-height:1.45}.course-keying-status.ready{border-color:#bfd9ca;background:#f4faf6;color:#1f5135}.course-keying-status.warning{border-color:#ead8c0;background:#fff9f1;color:#7c4a18}.course-touch-keys{display:grid;gap:.6rem;margin-bottom:1.2rem}.course-touch-label{font-weight:600;color:#1a2233}.course-touch-paddles{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:.75rem}.course-touch-key{border:2px solid #1a2233;background:#fff;color:#1a2233;border-radius:.8rem;padding:1rem 1.2rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:none}.course-touch-key.straight{width:100%}.course-touch-key:active{background:var(--accent);color:var(--button-primary-text);border-color:var(--accent)}.my-key-serial-panel{grid-column:1 / -1;display:grid;gap:.75rem;padding:.85rem .95rem;border-radius:.9rem;border:1px solid #dbe3f4;background:#f7f9fc}.my-key-serial-panel.connected{border-color:#bfd9ca;background:#f4faf6}.my-key-serial-summary{display:grid;gap:.28rem}.my-key-serial-title{font-size:.84rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#1a2233}.my-key-serial-copy{color:#42526b;line-height:1.45}.my-key-serial-debug{color:#667892;font-size:.92rem;line-height:1.4}.my-key-serial-signals{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.15rem}.my-key-serial-signal{padding:.22rem .55rem;border-radius:999px;background:#edf2f8;color:#60728e;font-size:.78rem;font-weight:700;letter-spacing:.02em}.my-key-serial-signal.active{background:var(--accent);color:var(--button-primary-text)}.my-key-serial-actions{display:flex;flex-wrap:wrap;gap:.7rem}.vband-inline-hint{grid-column:1 / -1;display:grid;gap:.55rem;padding:.75rem .9rem;border-radius:.85rem;border:1px solid #dbe3f4;background:#fafbfd}.vband-inline-header{display:flex;justify-content:space-between;gap:1rem}.vband-inline-title{font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#1a2233}.vband-inline-copy{color:#42526b;line-height:1.45}.vband-inline-copy.subtle{color:#667892;font-size:.92rem}.vband-inline-controls{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:.85rem;align-items:end}.vband-inline-signals{display:flex;flex-wrap:wrap;gap:.45rem}.vband-inline-signal{padding:.22rem .55rem;border-radius:999px;background:#edf2f8;color:#60728e;font-size:.78rem;font-weight:700;letter-spacing:.02em}.vband-inline-signal.active{background:#0f766e;color:#fff}.vband-inline-debug-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem}.vband-inline-debug-item{display:grid;gap:.2rem;padding:.55rem .65rem;border-radius:.7rem;background:#f2f5fa;border:1px solid #e0e7f2}.vband-inline-debug-item span{color:#667892;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.vband-inline-debug-item strong{color:#1a2233;font-size:.92rem;overflow-wrap:anywhere}.course-controls input[type=range]{width:100%;accent-color:var(--accent)}.practice-sending-controls{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.practice-sending-control{grid-column:auto}.practice-sending-controls>.course-control{grid-column:auto}.course-actions{display:flex;flex-direction:column;gap:.6rem;align-items:flex-start;margin-bottom:1.5rem}.course-action-buttons{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.course-action-indicators{display:flex;align-items:center;gap:1rem}.course-actions button{background:var(--accent);color:var(--button-primary-text);border:none;border-radius:.6rem;padding:.7rem 1.4rem;font-weight:600;cursor:pointer}.course-actions button:disabled{background:#ccc;cursor:not-allowed}.course-actions button:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.course-timer{font-weight:600;color:#333;display:flex;align-items:center}.course-timer-pie{width:84px;height:84px;border-radius:50%;background:conic-gradient(var(--accent) calc(var(--progress) * 1turn),var(--bg-surface-muted) 0);display:inline-flex;align-items:center;justify-content:center;position:relative;box-shadow:inset 0 0 0 6px #fff,0 2px 8px #00000014}.course-timer-pie-label{font-size:.95rem;font-weight:700;color:#222}.course-step-pie{width:64px;height:64px;box-shadow:inset 0 0 0 4px #fff,0 2px 8px #00000014}.course-prompt-line{display:flex;align-items:baseline;gap:.5rem}.course-prompt-inline{display:flex;align-items:center;gap:.5rem}.course-prompt-label{font-weight:700;color:#1a2233}.course-prompt-text{font-size:3.6rem;font-weight:800;letter-spacing:.04em;color:#1a2233;line-height:1}.cw-symbol-text,.cw-symbol-input{font-family:var(--font-mono);font-variant-ligatures:none;font-variant-numeric:slashed-zero tabular-nums;font-feature-settings:"zero" 1;letter-spacing:0}.cw-symbol-text{overflow-wrap:anywhere}.course-input{display:grid;gap:.5rem}.course-input textarea{width:100%;border:1px solid #ddd;border-radius:.6rem;padding:.8rem;font-size:1rem;font-family:inherit;resize:vertical}.course-micro-head-copy-submit{width:100%;min-height:var(--control-height);border:none;border-radius:.6rem;background:var(--button-primary-bg);color:var(--button-primary-text);box-shadow:var(--shadow-sm);padding:.7rem 1.4rem;font:inherit;font-weight:700;cursor:pointer;transition:background .18s ease,box-shadow .18s ease,transform .18s ease}.course-micro-head-copy-submit:hover{background:var(--button-primary-hover)}.course-micro-head-copy-submit:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.course-results{background:#fff;border-radius:1.2rem;box-shadow:0 4px 24px #00000014;padding:1.5rem 2rem}.course-results h2{margin-top:0;color:#1a2233}.course-results-empty{color:#777}.course-lesson-header{display:flex;justify-content:flex-start;margin-bottom:.75rem}.course-back-btn{background:transparent;border:none;color:var(--accent);font-weight:600;cursor:pointer;padding:0}.course-lesson-list{display:grid;gap:.8rem}.course-step-layout{display:grid;gap:1rem}.course-step-columns{display:grid;grid-template-columns:minmax(220px,1fr) 2fr;gap:1rem;align-items:start}.course-step-panel{background:var(--bg-surface-muted);border:1px solid var(--border-subtle);border-radius:1rem;padding:1rem .85rem;height:fit-content}.course-step-panel-title{margin:0 0 .75rem;font-size:1rem;color:var(--text-primary)}.course-step-list{display:grid;gap:.2rem}.course-step-item{display:grid;grid-template-columns:34px 1fr;gap:.9rem;align-items:stretch;width:100%;padding:.45rem .55rem;border:0;background:transparent;box-shadow:none;text-align:left;cursor:pointer;color:inherit;font:inherit}.course-step-item:focus{outline:none}.course-step-item:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px;border-radius:.75rem}.course-step-item.current{background:var(--accent-soft);border-radius:.85rem}.course-step-marker{display:grid;grid-template-rows:minmax(10px,1fr) 18px minmax(10px,1fr);justify-items:center;align-items:stretch;min-height:100%}.course-step-dot{width:18px;height:18px;border-radius:50%;border:3px solid var(--border-strong);background:var(--bg-surface);position:relative;z-index:1;align-self:center}.course-step-marker.complete .course-step-dot{border-color:var(--accent);background:var(--accent)}.course-step-marker.current .course-step-dot{border-color:var(--border-strong);background:var(--bg-app-muted);box-shadow:0 0 0 4px var(--accent-soft)}.course-step-segment{width:3px;background:var(--border-subtle);align-self:stretch;justify-self:center;border-radius:999px}.course-step-segment.complete{background:var(--accent)}.course-step-segment.upcoming{background:var(--border-subtle)}.course-step-segment.hidden{visibility:hidden}.course-step-content{display:grid;gap:.18rem;padding-block:.1rem}.course-step-title{font-weight:700;color:var(--text-primary);line-height:1.25}.course-step-status{font-size:.8rem;color:var(--text-muted)}.course-step-item.complete .course-step-status,.course-step-item.current .course-step-status{color:var(--text-secondary)}.course-step-main{display:grid;gap:.75rem;align-self:start}.course-module-grid{display:grid;gap:1rem}.course-home-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:stretch}.course-roadmap-launcher{grid-column:1 / -1;display:grid;grid-template-columns:minmax(17rem,.9fr) minmax(20rem,1.2fr) minmax(8.8rem,auto);align-items:center;gap:1.1rem;min-width:0;padding:.9rem 1rem;border:1px solid color-mix(in srgb,var(--info) 24%,var(--border-subtle));border-radius:var(--radius-md);background:linear-gradient(135deg,color-mix(in srgb,var(--bg-surface) 94%,var(--info-soft)),var(--bg-surface));box-shadow:var(--surface-shadow)}.course-roadmap-launcher-main{display:grid;gap:.36rem;min-width:0}.course-roadmap-title-row{display:flex;align-items:center;gap:.45rem;min-width:0}.course-roadmap-title-row h3,.course-roadmap-headline h2,.course-roadmap-module-head h3{margin:0}.course-roadmap-title-row h3{color:var(--text-primary);font-size:clamp(1.28rem,1.6vw,1.55rem);line-height:1.12;white-space:nowrap}.course-roadmap-current{display:grid;gap:.12rem;min-width:0}.course-roadmap-current span,.course-roadmap-summary span,.course-roadmap-node-code{color:var(--text-muted);font-size:.78rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.course-roadmap-current strong{overflow:hidden;color:var(--text-primary);font-size:.95rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.course-roadmap-preview{position:relative;display:flex;align-items:center;justify-content:space-between;gap:.42rem;min-width:0;max-width:34rem;padding:.58rem .12rem;justify-self:stretch}.course-roadmap-preview-line{position:absolute;left:1rem;right:1rem;top:50%;height:2px;background:color-mix(in srgb,var(--info) 42%,var(--border-subtle))}.course-roadmap-preview-node{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:1.82rem;height:1.82rem;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--bg-surface);color:var(--text-secondary);font-size:.72rem;font-weight:900}.course-roadmap-preview-node.complete{border-color:var(--success-border);background:var(--success-soft);color:var(--success)}.course-roadmap-preview-node.current{border-color:var(--info-border);background:color-mix(in srgb,var(--info-soft) 80%,var(--bg-surface));color:var(--info);box-shadow:0 0 0 5px color-mix(in srgb,var(--info) 12%,transparent)}.course-roadmap-preview-node.review{border-color:var(--warning-border);background:var(--warning-soft);color:var(--warning)}.course-roadmap-launcher-metrics{display:grid;align-items:center;justify-self:end;gap:.5rem;width:min(9.8rem,100%);min-width:0}.course-roadmap-launcher-metrics>div{display:grid;gap:.08rem;justify-items:center;text-align:center}.course-roadmap-launcher-metrics span{color:var(--accent);font-size:clamp(1.45rem,2vw,1.9rem);font-weight:950;line-height:1}.course-roadmap-launcher-metrics b{color:var(--text-secondary);font-size:.78rem;white-space:nowrap}.course-roadmap-launcher-metrics>.settings-primary-btn{width:100%;min-width:0;min-height:2.65rem;padding:.6rem .9rem;white-space:nowrap}.course-progress-card-shell{min-height:100%}.course-progress-module-card{align-content:start;gap:.62rem}.course-progress-card-current{display:grid;gap:.12rem}.course-progress-card-current span{color:var(--text-muted);font-size:.72rem;font-weight:900;letter-spacing:.06em;line-height:1.2;text-transform:uppercase}.course-progress-card-current strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:var(--text-primary);font-size:.92rem;line-height:1.18}.course-progress-rings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:.7rem;margin-top:auto;padding-block:.2rem}.course-progress-ring{--ring-progress: 0%;--ring-color: var(--accent);--ring-track: color-mix(in srgb, var(--border-subtle) 72%, var(--bg-surface));position:relative;display:grid;width:min(100%,5.25rem);aspect-ratio:1;place-items:center;place-self:center;align-content:center;border-radius:var(--radius-pill);background:radial-gradient(circle,var(--bg-surface) 0 55%,transparent 56%),conic-gradient(var(--ring-color) 0 var(--ring-progress),var(--ring-track) var(--ring-progress) 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--border-subtle) 55%,transparent),0 0 0 .18rem color-mix(in srgb,var(--bg-surface) 78%,transparent);color:var(--text-primary)}.course-progress-ring:after{position:absolute;inset:.48rem;border:1px solid color-mix(in srgb,var(--ring-color) 34%,transparent);border-radius:inherit;content:"";pointer-events:none}.course-progress-ring.lesson{--ring-color: var(--info)}.course-progress-ring-value{display:block;color:var(--text-primary);font-size:1.02rem;font-weight:950;font-variant-numeric:tabular-nums;line-height:1}.course-progress-ring-label{display:block;margin-top:.22rem;color:var(--text-muted);font-size:.56rem;font-weight:950;letter-spacing:.06em;line-height:1;text-transform:uppercase}.course-module-card-shell{position:relative;display:grid;min-width:0}.course-module-card{display:grid;gap:.75rem;text-align:left;background:#fff;border:1px solid #e0e0e0;border-radius:1rem;padding:.95rem 3.25rem .95rem 1rem;width:100%;min-height:12rem;align-content:start;cursor:pointer;box-shadow:0 4px 16px #0000000f}.course-module-info-trigger{position:absolute;top:.72rem;right:.72rem;z-index:2;background:color-mix(in srgb,var(--bg-surface) 86%,transparent);box-shadow:var(--surface-shadow)}.course-module-title{font-size:1.1rem;font-weight:700;color:#1a2233;line-height:1.18}.course-module-progress{display:flex;align-items:center;gap:1rem;margin-top:auto;min-width:0}.course-roadmap-view{display:grid;gap:1rem}.course-roadmap-sticky-head{position:sticky;top:.5rem;z-index:8;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.9rem;padding:.75rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-surface) 94%,transparent);box-shadow:var(--surface-shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.course-roadmap-headline{min-width:0}.course-roadmap-headline h2{color:var(--text-primary);font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.1}.course-roadmap-head-actions{display:flex;align-items:center;gap:.55rem}.course-roadmap-summary{display:grid;grid-template-columns:minmax(13rem,auto) minmax(0,1fr);align-items:center;gap:1rem}.course-roadmap-summary b{display:block;margin-top:.12rem;color:var(--text-primary);font-size:1rem}.course-roadmap-summary em{display:block;margin-top:.18rem;color:var(--text-secondary);font-size:.86rem;font-style:normal;font-weight:750}.course-roadmap-path{display:grid;gap:1rem}.course-roadmap-module{display:grid;gap:.95rem;overflow:hidden;padding:.95rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:linear-gradient(180deg,color-mix(in srgb,var(--bg-surface) 94%,var(--info-soft)),var(--bg-surface));box-shadow:var(--surface-shadow)}.course-roadmap-module-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.course-roadmap-module-head h3{color:var(--text-primary);font-size:1.08rem;line-height:1.2}.course-roadmap-module-kicker{display:block;margin-bottom:.08rem;color:var(--text-muted);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.course-roadmap-module-head span{color:var(--text-secondary);font-size:.84rem;font-weight:850}.course-roadmap-node-list{position:relative;display:grid;gap:.45rem;padding:.25rem 0}.course-roadmap-node-list:before{content:"";position:absolute;top:.7rem;bottom:.7rem;left:50%;width:.28rem;border-radius:var(--radius-pill);background:linear-gradient(180deg,var(--info),color-mix(in srgb,var(--info) 34%,var(--border-subtle)));transform:translate(-50%)}.course-roadmap-node-list:after{content:"";position:absolute;top:.7rem;bottom:.7rem;left:calc(50% - 1.05rem);width:2.1rem;background:repeating-linear-gradient(180deg,transparent 0 .8rem,color-mix(in srgb,var(--border-subtle) 72%,transparent) .8rem .95rem,transparent .95rem 1.55rem);opacity:.72}.course-roadmap-node{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 3.75rem minmax(0,1fr);align-items:center;gap:.78rem;min-height:5.9rem;padding:0;border:0;background:transparent;color:var(--text-primary);text-align:left;cursor:pointer}.course-roadmap-node:nth-child(2n){transform:none}.course-roadmap-node:hover,.course-roadmap-node:focus-visible{outline:none}.course-roadmap-node:hover .course-roadmap-node-card,.course-roadmap-node:focus-visible .course-roadmap-node-card{border-color:var(--border-strong);background:color-mix(in srgb,var(--bg-surface-muted) 82%,var(--info-soft))}.course-roadmap-node.complete .course-roadmap-node-card{border-color:color-mix(in srgb,var(--success-border) 74%,var(--border-subtle))}.course-roadmap-node.current .course-roadmap-node-card{border-color:var(--info-border);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--info) 18%,transparent),0 0 0 4px color-mix(in srgb,var(--info) 10%,transparent),var(--surface-shadow)}.course-roadmap-node.review .course-roadmap-node-card{border-color:var(--warning-border);background:color-mix(in srgb,var(--warning-soft) 38%,var(--bg-surface-muted))}.course-roadmap-node-marker{grid-column:2;display:inline-flex;align-items:center;justify-content:center;justify-self:center;width:3.1rem;height:3.1rem;border:.28rem solid color-mix(in srgb,var(--info) 32%,var(--border-subtle));border-radius:var(--radius-pill);background:var(--bg-surface);color:var(--text-secondary);box-shadow:0 0 0 .28rem color-mix(in srgb,var(--bg-surface) 82%,transparent)}.course-roadmap-node.complete .course-roadmap-node-marker{border-color:var(--success-border);background:var(--success-soft);color:var(--success)}.course-roadmap-node.current .course-roadmap-node-marker{border-color:var(--info-border);background:color-mix(in srgb,var(--info-soft) 78%,var(--bg-surface));color:var(--info);box-shadow:0 0 0 .28rem color-mix(in srgb,var(--bg-surface) 82%,transparent),0 0 0 .62rem color-mix(in srgb,var(--info) 12%,transparent)}.course-roadmap-node.review .course-roadmap-node-marker{border-color:var(--warning-border);background:var(--warning-soft);color:var(--warning)}.course-roadmap-node-number{font-size:1rem;font-weight:950;line-height:1}.course-roadmap-node-card{grid-column:1;display:grid;justify-self:end;width:min(100%,18rem);min-width:0;gap:.16rem;padding:.68rem .78rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-surface-muted) 92%,transparent);box-shadow:var(--surface-shadow)}.course-roadmap-node:nth-child(2n) .course-roadmap-node-card{grid-column:3;justify-self:start}.course-roadmap-node strong{overflow:hidden;color:var(--text-primary);font-size:.98rem;line-height:1.16;text-overflow:ellipsis}.course-roadmap-node-meta,.course-roadmap-node-progress{color:var(--text-secondary);font-size:.78rem;font-weight:750;line-height:1.25}.course-roadmap-node-progress{align-self:end;margin-top:.25rem}@media (max-width: 900px){.daily-mission-home-main,.daily-mission-detail-head,.daily-mission-main,.daily-mission-blocks{grid-template-columns:1fr}.daily-mission-detail-head{align-items:stretch}.daily-mission-score{grid-template-columns:auto minmax(0,1fr);justify-items:stretch}.daily-mission-home-score{justify-items:start}.daily-mission-home-actions{justify-content:stretch}.daily-mission-home-actions .daily-mission-primary,.daily-mission-secondary{flex:1 1 0;min-width:0}.daily-mission-ring{width:4.35rem;height:4.35rem}.daily-mission-block{grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto;min-height:4.75rem;align-items:center}.daily-mission-block-status{grid-column:auto;align-self:center;justify-self:end}.course-roadmap-launcher{grid-template-columns:1fr}.course-roadmap-launcher-metrics{justify-content:space-between}.course-roadmap-launcher-metrics>div{text-align:left}.course-roadmap-sticky-head{position:static;grid-template-columns:1fr}.course-roadmap-head-actions{align-items:stretch;flex-direction:column}.course-roadmap-head-actions>button{width:100%}}@media (max-width: 640px){.course-roadmap-preview{gap:.35rem}.course-roadmap-preview-node{width:1.65rem;height:1.65rem;font-size:.6rem}.course-roadmap-summary,.course-roadmap-node-list{grid-template-columns:1fr}.course-roadmap-node-list:before{top:.5rem;bottom:.5rem;left:1.55rem;right:auto;width:.24rem;height:auto}.course-roadmap-node-list:after{top:.5rem;bottom:.5rem;left:.58rem}.course-roadmap-node,.course-roadmap-node:nth-child(2n){grid-template-columns:3.1rem minmax(0,1fr);gap:.65rem;min-height:5.25rem;transform:none}.course-roadmap-node-marker{grid-column:1;width:2.8rem;height:2.8rem}.course-roadmap-node-card,.course-roadmap-node:nth-child(2n) .course-roadmap-node-card{grid-column:2;justify-self:stretch;width:100%}}.course-home-trail-layout{display:grid;gap:.85rem}.course-home-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:.65rem;margin-bottom:.8rem}.course-home-overview-card{display:grid;align-content:start;grid-template-rows:auto minmax(1.35rem,auto) auto auto;min-width:0;min-height:6rem;gap:.16rem;padding:.75rem .85rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-surface-muted) 78%,var(--bg-surface));box-shadow:var(--surface-shadow)}.course-home-overview-card.proficiency{background:linear-gradient(135deg,color-mix(in srgb,var(--success-soft) 54%,var(--bg-surface)),var(--bg-surface))}.course-home-overview-card.checkpoint{background:linear-gradient(135deg,color-mix(in srgb,var(--info-soft) 58%,var(--bg-surface)),var(--bg-surface))}.course-home-overview-kicker,.course-trail-current span,.course-trail-summary span,.course-trail-signpost,.course-trail-support-action span{color:var(--text-muted);font-size:.72rem;font-weight:900;letter-spacing:.06em;line-height:1.2;text-transform:uppercase}.course-home-overview-card strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:var(--text-primary);font-size:clamp(1rem,1.1vw,1.15rem);line-height:1.15;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.course-home-overview-card.proficiency strong{color:var(--accent);font-size:clamp(1.45rem,2vw,2rem);line-height:1;-webkit-line-clamp:1}.course-home-overview-card>span:not(.course-home-overview-kicker){color:var(--text-secondary);font-size:.82rem;font-weight:760}.course-home-overview-card .sync-ok{color:var(--success)}.course-home-overview-card .sync-error{color:var(--warning)}.course-home-overview-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.28rem}.course-overview-link{display:inline-flex;align-items:center;justify-content:center;min-height:2rem;padding:.22rem .55rem;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--bg-surface) 84%,transparent);color:var(--text-primary);font-size:.82rem;font-weight:850;line-height:1}.course-overview-link.secondary{color:var(--text-secondary)}.course-trail-launcher{display:grid;grid-template-columns:minmax(15rem,.95fr) minmax(22rem,1.35fr) 10.75rem;align-items:center;gap:.95rem;min-width:0;padding:1rem;border:1px solid color-mix(in srgb,var(--info) 26%,var(--border-subtle));border-radius:var(--radius-md);background:linear-gradient(135deg,color-mix(in srgb,var(--success-soft) 30%,transparent),transparent 42%),linear-gradient(180deg,color-mix(in srgb,var(--bg-surface) 94%,var(--info-soft)),var(--bg-surface));box-shadow:var(--surface-shadow)}.course-trail-launcher-main{display:grid;gap:.32rem;min-width:0}.course-trail-title-row{display:flex;align-items:center;gap:.45rem;min-width:0}.course-trail-title-row h3,.course-trail-map-headline h2,.course-trail-module-head h3,.course-trail-current-card h3{margin:0;color:var(--text-primary);line-height:1.12}.course-trail-title-row h3{font-size:clamp(1.7rem,2.6vw,2.45rem);font-weight:950}.course-trail-current{display:grid;gap:.1rem;min-width:0}.course-trail-current strong{overflow:hidden;color:var(--text-primary);font-size:1.03rem;line-height:1.22;text-overflow:ellipsis;white-space:nowrap}.course-trail-inline-continue{justify-self:start;min-height:2.15rem;padding:.28rem .7rem;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border-subtle));border-radius:var(--radius-pill);background:color-mix(in srgb,var(--accent) 12%,var(--bg-surface));color:var(--accent);font-size:.84rem;font-weight:900}.course-trail-preview{position:relative;display:flex;align-items:center;justify-content:space-between;gap:.28rem;min-width:0;padding:1.35rem .15rem 1.1rem}.course-trail-preview-line{position:absolute;right:1.2rem;left:1.2rem;top:50%;height:.28rem;border-radius:var(--radius-pill);background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--info) 40%,var(--border-subtle)) 0 1.05rem,color-mix(in srgb,var(--success) 42%,var(--border-subtle)) 1.05rem 1.18rem)}.course-trail-preview-node{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;justify-self:center;width:2.15rem;height:2.15rem;border:2px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--bg-surface);color:var(--text-secondary);font-size:.72rem;font-weight:950;font-variant-numeric:tabular-nums;box-shadow:0 0 0 .26rem color-mix(in srgb,var(--bg-surface) 82%,transparent)}.course-trail-preview-node:nth-of-type(odd){transform:translateY(-.45rem)}.course-trail-preview-node:nth-of-type(2n){transform:translateY(.45rem)}.course-trail-preview-node.complete{border-color:var(--success-border);background:var(--success-soft);color:var(--success)}.course-trail-preview-node.current{border-color:var(--info-border);background:color-mix(in srgb,var(--info-soft) 82%,var(--bg-surface));color:var(--info);box-shadow:0 0 0 .28rem color-mix(in srgb,var(--bg-surface) 82%,transparent),0 0 0 .58rem color-mix(in srgb,var(--info) 13%,transparent)}.course-trail-preview-node.review{border-color:var(--warning-border);background:var(--warning-soft);color:var(--warning)}.course-trail-preview-node.milestone:after{content:"";position:absolute;top:-.62rem;width:.42rem;height:.42rem;border-radius:2px;background:color-mix(in srgb,var(--accent) 70%,var(--warning));transform:rotate(45deg)}.course-trail-launcher-metrics{display:grid;justify-items:stretch;gap:.5rem;min-width:0;width:10.75rem}.course-trail-launcher-metrics>div{display:grid;justify-items:center;gap:.05rem;text-align:center}.course-trail-launcher-metrics span{color:var(--accent);font-size:clamp(1.9rem,3vw,3rem);font-weight:950;font-variant-numeric:tabular-nums;line-height:.94}.course-trail-launcher-metrics b{color:var(--text-secondary);font-size:.8rem;white-space:nowrap}.course-trail-launcher-metrics>.settings-primary-btn{min-height:2.85rem;padding-inline:.9rem}.course-trail-support-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:.65rem}.course-trail-support-action{display:flex;align-items:center;justify-content:space-between;min-width:0;min-height:4.75rem;gap:.65rem;padding:.7rem .78rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-surface-muted) 82%,var(--bg-surface));box-shadow:var(--surface-shadow)}.course-trail-support-action>div:first-child{display:grid;min-width:0;gap:.05rem}.course-trail-support-action strong{overflow:hidden;color:var(--text-primary);font-size:1rem;line-height:1.18;text-overflow:ellipsis;white-space:nowrap}.course-trail-support-action em{overflow:hidden;color:var(--text-secondary);font-size:.8rem;font-style:normal;font-weight:760;text-overflow:ellipsis;white-space:nowrap}.course-trail-support-controls{display:flex;align-items:center;gap:.38rem;flex:0 0 auto}.course-trail-map{display:grid;gap:.85rem}.course-trail-map-head{position:sticky;top:.5rem;z-index:8;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.72rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-surface) 94%,transparent);box-shadow:var(--surface-shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.course-trail-map-headline h2{font-size:clamp(1.35rem,2.1vw,2rem)}.course-trail-map-actions{display:flex;align-items:center;gap:.5rem}.course-trail-current-card{display:grid;grid-template-columns:3.25rem minmax(0,1fr) 8.5rem;align-items:center;gap:.75rem;padding:.78rem .85rem;border:1px solid color-mix(in srgb,var(--info) 36%,var(--border-subtle));border-radius:var(--radius-md);background:linear-gradient(135deg,color-mix(in srgb,var(--info-soft) 58%,var(--bg-surface)),var(--bg-surface));box-shadow:var(--surface-shadow)}.course-trail-current-marker{--checkpoint-progress: 0%;--checkpoint-ring: var(--accent);--checkpoint-ring-track: color-mix(in srgb, var(--info) 18%, var(--bg-surface));display:inline-flex;align-items:center;justify-content:center;width:3.05rem;height:3.05rem;border:0;border-radius:var(--radius-pill);background:radial-gradient(circle,var(--bg-surface) 0 58%,transparent 59%),conic-gradient(var(--checkpoint-ring) 0 var(--checkpoint-progress),var(--checkpoint-ring-track) var(--checkpoint-progress) 100%);color:var(--info);font-size:1.05rem;font-weight:950;font-variant-numeric:tabular-nums;box-shadow:0 0 0 .35rem color-mix(in srgb,var(--info) 10%,transparent)}.course-trail-current-card h3{margin-top:.08rem;font-size:clamp(1.15rem,1.6vw,1.5rem)}.course-trail-current-meta{display:flex;flex-wrap:wrap;gap:.32rem;margin-top:.28rem}.course-trail-current-meta span{display:inline-flex;min-height:1.72rem;align-items:center;padding:.14rem .48rem;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--bg-surface) 78%,transparent);color:var(--text-secondary);font-size:.78rem;font-weight:780}.course-trail-summary{display:grid;grid-template-columns:14rem minmax(0,1fr);align-items:center;gap:.8rem;padding:.72rem .85rem}.course-trail-summary b{display:block;color:var(--text-primary);font-size:.98rem;font-variant-numeric:tabular-nums}.course-trail-path{display:grid;gap:.75rem}.course-trail-module{display:grid;gap:.7rem;padding:.8rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:linear-gradient(180deg,color-mix(in srgb,var(--bg-surface) 96%,var(--success-soft)),var(--bg-surface));box-shadow:var(--surface-shadow)}.course-trail-module-head{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.course-trail-module-head h3{font-size:1.15rem}.course-trail-module-head>span{display:inline-flex;align-items:center;min-height:1.9rem;padding:.15rem .55rem;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--bg-surface-muted);color:var(--text-secondary);font-size:.82rem;font-weight:850}.course-trail-stop-list{--trail-marker-column: 2.75rem;--trail-line-x: calc(var(--trail-marker-column) / 2);position:relative;display:grid;gap:.42rem;padding-block:.12rem}.course-trail-stop-list:before{content:"";position:absolute;top:.9rem;bottom:.9rem;left:var(--trail-line-x);width:.26rem;border-radius:var(--radius-pill);background:linear-gradient(180deg,var(--success),var(--info) 46%,color-mix(in srgb,var(--border-subtle) 78%,var(--info)));opacity:.82;transform:translate(-50%)}.course-trail-stop{position:relative;z-index:1;display:grid;grid-template-columns:var(--trail-marker-column) minmax(0,1fr);align-items:center;gap:.55rem;min-width:0}.course-trail-stop:nth-child(4n+2),.course-trail-stop:nth-child(4n+3){padding-left:0}.course-trail-stop-marker{--checkpoint-progress: 0%;--checkpoint-ring: var(--info);--checkpoint-ring-track: color-mix(in srgb, var(--border-subtle) 72%, var(--bg-surface));position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;justify-self:center;flex:0 0 auto;width:2.3rem;height:2.3rem;min-width:2.3rem;min-height:2.3rem;border:0;border-radius:var(--radius-pill);background:radial-gradient(circle,var(--bg-surface) 0 58%,transparent 59%),conic-gradient(var(--checkpoint-ring) 0 var(--checkpoint-progress),var(--checkpoint-ring-track) var(--checkpoint-progress) 100%);color:var(--text-secondary);font-size:.78rem;font-weight:950;font-variant-numeric:tabular-nums;line-height:1;overflow:hidden;text-align:center;-webkit-user-select:none;user-select:none;box-shadow:0 0 0 .22rem color-mix(in srgb,var(--bg-surface) 86%,transparent)}.course-trail-stop.complete .course-trail-stop-marker{--checkpoint-ring: var(--success);--checkpoint-ring-track: color-mix(in srgb, var(--success) 18%, var(--bg-surface));color:var(--success)}.course-trail-stop.current .course-trail-stop-marker{--checkpoint-ring: var(--accent);--checkpoint-ring-track: color-mix(in srgb, var(--info) 18%, var(--bg-surface));width:2.5rem;height:2.5rem;color:var(--info);box-shadow:0 0 0 .24rem color-mix(in srgb,var(--bg-surface) 88%,transparent),0 0 0 .56rem color-mix(in srgb,var(--info) 12%,transparent)}.course-trail-stop.review .course-trail-stop-marker{--checkpoint-ring: var(--warning);--checkpoint-ring-track: color-mix(in srgb, var(--warning) 18%, var(--bg-surface));color:var(--warning)}.course-trail-stop.milestone .course-trail-stop-marker:after{content:"";position:absolute;width:.42rem;height:.42rem;margin-top:-2rem;border-radius:2px;background:color-mix(in srgb,var(--accent) 72%,var(--warning));transform:rotate(45deg)}.course-trail-checkpoint{display:grid;grid-template-columns:minmax(0,1fr) 8.6rem 5.2rem;align-items:center;gap:.6rem;min-width:0;min-height:3.55rem;padding:.5rem .6rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-surface-muted) 82%,var(--bg-surface));color:var(--text-primary);text-align:left;box-shadow:var(--surface-shadow)}.course-trail-checkpoint:hover,.course-trail-checkpoint:focus-visible{border-color:var(--border-strong);background:color-mix(in srgb,var(--bg-surface-muted) 72%,var(--info-soft))}.course-trail-stop.current .course-trail-checkpoint{min-height:3.95rem;border-color:var(--info-border);background:color-mix(in srgb,var(--info-soft) 54%,var(--bg-surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--info) 18%,transparent),var(--surface-shadow)}.course-trail-stop.complete .course-trail-checkpoint{border-color:color-mix(in srgb,var(--success-border) 74%,var(--border-subtle))}.course-trail-stop.review .course-trail-checkpoint{border-color:var(--warning-border);background:color-mix(in srgb,var(--warning-soft) 38%,var(--bg-surface-muted))}.course-trail-checkpoint-main{display:grid;min-width:0;gap:.08rem}.course-trail-checkpoint-main strong{overflow:hidden;color:var(--text-primary);font-size:.98rem;line-height:1.18;text-overflow:ellipsis;white-space:nowrap}.course-trail-stop.current .course-trail-checkpoint-main strong{font-size:1.08rem}.course-trail-checkpoint-letters{overflow:hidden;color:var(--text-secondary);font-size:.8rem;font-weight:850;letter-spacing:.08em;line-height:1.18;text-overflow:ellipsis;white-space:nowrap}.course-trail-checkpoint-status{display:inline-flex;align-items:baseline;justify-content:flex-end;gap:.32rem;color:var(--text-secondary);font-size:.8rem;font-weight:820;white-space:nowrap;font-variant-numeric:tabular-nums}.course-trail-checkpoint-status b{color:var(--text-primary);font-size:.92rem}.course-trail-checkpoint-action{display:inline-flex;align-items:center;justify-content:center;width:5.2rem;min-width:5.2rem;min-height:2rem;padding:.16rem .52rem;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--bg-surface);color:var(--text-primary);font-size:.78rem;font-weight:900;white-space:nowrap}.course-trail-stop.current .course-trail-checkpoint-action{border-color:color-mix(in srgb,var(--accent) 46%,var(--border-subtle));background:color-mix(in srgb,var(--accent) 12%,var(--bg-surface));color:var(--accent)}@media (prefers-reduced-motion: no-preference){.course-trail-preview-node.current,.course-trail-stop.current .course-trail-stop-marker{animation:trail-current-pulse 2.3s ease-in-out infinite}@keyframes trail-current-pulse{0%,to{box-shadow:0 0 0 .24rem color-mix(in srgb,var(--bg-surface) 88%,transparent),0 0 0 .52rem color-mix(in srgb,var(--info) 10%,transparent)}50%{box-shadow:0 0 0 .24rem color-mix(in srgb,var(--bg-surface) 88%,transparent),0 0 0 .76rem color-mix(in srgb,var(--info) 16%,transparent)}}}@media (max-width: 980px){.course-home-overview,.course-trail-launcher,.course-trail-support-row{grid-template-columns:1fr}.course-trail-launcher-metrics{grid-template-columns:minmax(0,1fr) auto;align-items:center;width:100%}.course-trail-launcher-metrics>div{justify-items:start;text-align:left}.course-trail-map-head,.course-trail-current-card{grid-template-columns:1fr}.course-trail-map-actions{align-items:stretch;flex-direction:column}.course-trail-map-actions>button,.course-trail-current-card>button{width:100%}}@media (max-width: 640px){.course-home-overview-card{min-height:auto}.course-trail-launcher{padding:.86rem}.course-trail-title-row h3{font-size:1.85rem}.course-trail-preview{grid-template-columns:repeat(auto-fit,minmax(1.55rem,1fr));padding-block:1.05rem}.course-trail-preview-node{width:1.86rem;height:1.86rem;font-size:.64rem}.course-trail-launcher-metrics,.course-trail-summary{grid-template-columns:1fr}.course-trail-stop,.course-trail-stop:nth-child(4n+2),.course-trail-stop:nth-child(4n+3){--trail-marker-column: 2.7rem;grid-template-columns:var(--trail-marker-column) minmax(0,1fr);padding-left:0}.course-trail-checkpoint{grid-template-columns:minmax(0,1fr);gap:.35rem}.course-trail-checkpoint-main strong{white-space:normal}.course-trail-checkpoint-status,.course-trail-checkpoint-action{justify-self:start}.course-trail-support-action{align-items:flex-start}}.course-module-pie{width:64px;height:64px;box-shadow:inset 0 0 0 5px #fff,0 2px 8px #0000000f}.course-module-progress-text{color:#555;font-weight:600}.course-lesson-item{display:grid;gap:.25rem;text-align:left;background:#f7f7f7;border:1px solid #e0e0e0;border-radius:.8rem;padding:1rem;cursor:pointer}.course-lesson-item:disabled,.course-lesson-item.locked{cursor:not-allowed;opacity:.55}.course-lesson-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.course-lesson-main{display:grid;gap:.25rem}.course-lesson-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.course-lesson-progress{flex:0 0 auto;display:grid;justify-items:end;gap:.35rem}.course-lesson-pie{width:56px;height:56px;box-shadow:inset 0 0 0 4px #fff,0 2px 8px #00000014}.course-lesson-pie .course-timer-pie-label{font-size:.8rem;font-weight:700}.course-lesson-title{font-size:1.05rem;font-weight:700;color:#1a2233}.course-lesson-desc{color:#555}.course-lesson-status{font-size:.9rem;font-weight:600;margin-top:.25rem}.course-lesson-status.complete{color:#2e7d32}.course-lesson-status.incomplete{color:var(--text-secondary)}.course-lesson-mastery{font-size:.82rem;font-weight:700;color:var(--text-secondary)}.course-review-chip{display:inline-flex;align-items:center;justify-content:center;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:700;border:1px solid var(--border-subtle);background:var(--bg-surface-muted);color:var(--text-secondary)}.course-review-chip.healthy{background:var(--success-soft);border-color:var(--success-border);color:var(--success)}.course-review-chip.needs_review{background:var(--warning-soft);border-color:var(--warning-border);color:var(--warning)}.course-review-chip.overdue{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger)}.course-weak-symbols{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.15rem}.course-weak-symbol-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .5rem;border-radius:999px;font-size:.75rem;font-weight:700;background:var(--bg-chip-neutral);color:var(--text-secondary)}.course-weak-symbol-chip.good{background:var(--success-soft);color:var(--success);border:1px solid var(--success-border)}.course-weak-symbol-chip.poor{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger-border)}.course-weak-symbol-chip.unseen{background:var(--bg-chip-neutral);color:var(--text-muted);border:1px solid var(--border-subtle)}.course-toggle-row{display:grid;gap:.5rem;margin-bottom:1rem}.course-toggle{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--text-primary)}.course-toggle input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);border-radius:4px}.course-toggle:hover{color:var(--text-primary)}.course-toggle input[type=checkbox]:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.course-voice-prompt-toggle{min-height:var(--control-height);padding:.85rem .95rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface-muted);box-shadow:var(--shadow-sm)}.course-send-controls .course-voice-prompt-toggle{align-content:center;justify-content:flex-start;margin:0;font-size:.92rem;line-height:1.2}.course-send-controls .course-voice-prompt-toggle input[type=checkbox]{flex:0 0 auto}.course-warning{color:var(--warning);font-weight:600;margin-bottom:1rem}.course-results-card{margin-top:.5rem;padding:1rem 1.2rem;border-radius:.8rem;border:1px solid var(--border-subtle);background:var(--bg-surface-muted);display:grid;gap:.4rem}.course-results-card.passed{border-color:var(--success-border);background:var(--success-soft)}.course-results-card.failed{border-color:var(--danger-border);background:var(--danger-soft)}.compact-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--surface-shadow);padding:var(--space-3)}.compact-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:var(--control-height);padding:.45rem .65rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-surface-muted) 72%,transparent)}.metadata-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.38rem .65rem;color:var(--text-secondary);font-size:.84rem;font-weight:750;line-height:1.25}.status-dot{display:inline-block;width:.62rem;height:.62rem;border-radius:999px;background:var(--text-muted);box-shadow:0 0 0 3px color-mix(in srgb,currentColor 12%,transparent)}.status-dot.ready,.status-dot.good{background:var(--success)}.status-dot.warning{background:var(--warning)}.status-dot.error{background:var(--danger)}.icon-action,.info-trigger{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:2rem;height:2rem;min-width:2rem;min-height:2rem;padding:0;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--bg-surface-muted) 80%,transparent);color:var(--text-secondary);font:inherit;font-size:.86rem;font-weight:850;line-height:1;cursor:pointer}.settings-label-with-help,.course-pace-summary-copy,.practice-coach-summary b,.arena-play-now-meta span,.play-friends-room-meta span,.group-copy-settings-chips span,.group-copy-round-meta span,.challenge-stage-chip,.skill-check-result-summary b{display:inline-flex;align-items:center;gap:.35rem}.cw-glossary-term{color:inherit;cursor:help;border-radius:.2rem;text-decoration-line:underline;text-decoration-style:dotted;text-decoration-thickness:1px;text-decoration-color:color-mix(in srgb,currentColor 22%,transparent);text-underline-offset:.16em}.cw-glossary-term:hover,.cw-glossary-term:focus-visible{background:color-mix(in srgb,currentColor 7%,transparent);text-decoration-color:color-mix(in srgb,currentColor 70%,transparent);outline:none}.icon-action:hover,.icon-action:focus-visible,.info-trigger:hover,.info-trigger:focus-visible{border-color:var(--border-strong);background:color-mix(in srgb,var(--accent-soft) 62%,var(--bg-surface));color:var(--text-primary)}.help-tooltip{position:fixed;z-index:4000;max-width:min(18rem,calc(100vw - 2rem));padding:.55rem .68rem;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-surface-strong) 96%,var(--bg-surface));color:var(--text-primary);box-shadow:var(--shadow-lg);font-size:.84rem;font-weight:650;line-height:1.35;pointer-events:none}.help-tooltip:after{content:"";position:absolute;left:50%;width:.65rem;height:.65rem;border:inherit;background:inherit;transform:translate(-50%) rotate(45deg)}.help-tooltip[data-placement=top]:after{bottom:-.38rem;border-top:0;border-left:0}.help-tooltip[data-placement=bottom]:after{top:-.38rem;border-right:0;border-bottom:0}.collapsed-banner{display:inline-flex;align-items:center;gap:.42rem;min-height:var(--control-height-compact);padding:.32rem .7rem;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--bg-surface-muted) 82%,transparent);color:var(--text-secondary);font-size:.84rem;font-weight:800}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.main-app-content{position:relative}.help-icon{position:absolute;top:18px;right:18px;z-index:10;background:#fff;border:none;border-radius:50%;box-shadow:0 2px 8px #0000001a;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:box-shadow .2s,background .2s}.help-icon:hover,.help-icon:focus{background:#f0f4ff;box-shadow:0 4px 16px #2563eb1a}.help-icon:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.course-status-banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem;padding:.75rem .9rem;border-radius:.65rem;border:1px solid var(--border-subtle);font-size:.95rem;line-height:1.5}.course-status-banner.info{background:var(--info-soft);border-color:var(--info-border);color:var(--info)}.practice-sending-input-banner{align-items:flex-start}.practice-sending-input-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.course-status-banner.error{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger)}.course-philosophy-banner{margin-bottom:1rem}.cw-proficiency-card{--cw-proficiency: 0%;display:grid;gap:.9rem;margin-bottom:1rem;padding:1rem;border:1px solid var(--border-subtle);border-radius:1rem;background:linear-gradient(135deg,color-mix(in srgb,var(--bg-surface) 94%,var(--info-soft)),var(--bg-surface));box-shadow:var(--shadow-sm);color:var(--text-primary)}.daily-mission-card{--mission-accent: var(--button-primary-bg);display:grid;gap:.85rem;margin-bottom:1rem;padding:1.1rem;border:1px solid color-mix(in srgb,var(--mission-accent) 28%,var(--border-subtle));border-radius:var(--radius-md);background:linear-gradient(135deg,color-mix(in srgb,var(--bg-surface) 92%,var(--accent-soft)),var(--bg-surface) 62%),var(--bg-surface);box-shadow:var(--surface-shadow);color:var(--text-primary)}.daily-mission-card.complete{--mission-accent: var(--success)}.daily-mission-home-card{gap:.78rem}.daily-mission-home-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem}.daily-mission-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(12rem,.28fr);align-items:center;gap:1rem}.daily-mission-copy{display:grid;gap:.38rem;min-width:0}.daily-mission-copy h3{margin:0;color:var(--text-primary);font-size:1.8rem;line-height:1.08}.daily-mission-copy p{margin:0;color:var(--text-secondary);line-height:1.42}.daily-mission-stats{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.2rem}.daily-mission-stats span{display:inline-flex;align-items:center;min-height:var(--control-height-compact);padding:.22rem .58rem;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--bg-surface-muted) 82%,transparent);color:var(--text-secondary);font-size:.84rem;font-weight:850}.daily-mission-stats b{color:var(--text-primary)}.daily-mission-score{display:grid;gap:.62rem;justify-items:center;min-width:0}.daily-mission-home-score{align-self:center}.daily-mission-ring{--mission-progress: 0;display:inline-flex;align-items:center;justify-content:center;width:5.35rem;height:5.35rem;border-radius:var(--radius-pill);background:conic-gradient(var(--mission-accent) calc(var(--mission-progress) * 1turn),color-mix(in srgb,var(--border-subtle) 72%,transparent) 0),var(--bg-surface-muted);box-shadow:inset 0 0 0 .48rem var(--bg-surface),var(--shadow-sm)}.daily-mission-ring span{color:var(--text-primary);font-weight:950}.daily-mission-primary{width:100%;min-width:0;min-height:2.75rem}.daily-mission-secondary{min-height:2.75rem;white-space:nowrap}.daily-mission-home-actions{display:flex;align-items:center;justify-content:flex-end;gap:.6rem}.daily-mission-home-actions .daily-mission-primary{width:auto;min-width:10.5rem}.daily-mission-segments{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.35rem}.daily-mission-segment{height:.42rem;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--border-subtle) 82%,transparent)}.daily-mission-segment.ready,.daily-mission-segment.active{background:color-mix(in srgb,var(--mission-accent) 62%,var(--bg-surface))}.daily-mission-segment.complete{background:var(--success)}.daily-mission-detail{--mission-accent: var(--button-primary-bg);display:grid;gap:1rem;color:var(--text-primary)}.daily-mission-detail.complete{--mission-accent: var(--success)}.daily-mission-detail-head{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(11rem,auto);align-items:center;gap:1rem;padding-bottom:.25rem}.daily-mission-detail-title{display:grid;gap:.25rem;min-width:0}.daily-mission-detail-title h2{margin:0;color:var(--text-primary);font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.06}.daily-mission-detail-title p{margin:0;color:var(--text-secondary);font-weight:760;line-height:1.35}.daily-mission-detail-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.daily-mission-detail-summary>div{display:grid;gap:.16rem;min-width:0;padding:.75rem .85rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-surface-muted) 78%,transparent)}.daily-mission-detail-summary span{color:var(--text-muted);font-size:.72rem;font-weight:900;letter-spacing:.06em;line-height:1.15;text-transform:uppercase}.daily-mission-detail-summary b{color:var(--text-primary);font-size:1.08rem;line-height:1.1}.daily-mission-blocks{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem}.daily-mission-block{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;gap:.38rem .55rem;align-items:start;min-width:0;min-height:8rem;padding:.72rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-surface-muted) 86%,var(--bg-surface));color:var(--text-primary);text-align:left;cursor:pointer}.daily-mission-block:hover:not(:disabled),.daily-mission-block:focus-visible{border-color:color-mix(in srgb,var(--mission-accent) 54%,var(--border-strong));background:color-mix(in srgb,var(--mission-accent) 10%,var(--bg-surface));outline:none;transform:translateY(-1px)}.daily-mission-block:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--mission-accent) 22%,transparent)}.daily-mission-block:disabled{cursor:not-allowed;opacity:.62}.daily-mission-block.active{border-color:color-mix(in srgb,var(--mission-accent) 58%,var(--border-subtle));background:color-mix(in srgb,var(--mission-accent) 12%,var(--bg-surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mission-accent) 18%,transparent)}.daily-mission-block.complete{border-color:color-mix(in srgb,var(--success-border) 72%,var(--border-subtle));background:color-mix(in srgb,var(--success-soft) 62%,var(--bg-surface))}.daily-mission-node{display:inline-flex;align-items:center;justify-content:center;width:1.1rem;height:1.1rem;margin-top:.08rem;border:.18rem solid color-mix(in srgb,var(--border-strong) 65%,transparent);border-radius:var(--radius-pill);background:var(--bg-surface)}.daily-mission-block.ready .daily-mission-node,.daily-mission-block.active .daily-mission-node{border-color:var(--mission-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--mission-accent) 12%,transparent)}.daily-mission-block.complete .daily-mission-node{border-color:var(--success);background:var(--success)}.daily-mission-block-copy{display:grid;gap:.12rem;min-width:0}.daily-mission-block-copy span,.daily-mission-block-status{color:var(--text-muted);font-size:.7rem;font-weight:900;letter-spacing:.06em;line-height:1.15;text-transform:uppercase}.daily-mission-block-copy b{color:var(--text-primary);font-size:.94rem;line-height:1.16;overflow-wrap:anywhere}.daily-mission-block-copy small{color:var(--text-secondary);font-size:.78rem;font-weight:800;line-height:1.2}.daily-mission-block-status{grid-column:1 / -1;align-self:end;justify-self:start;padding:.18rem .48rem;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--bg-surface)}.course-pace-summary-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:.95rem 1rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md, 8px);background:var(--bg-surface);box-shadow:var(--shadow-sm);color:var(--text-primary)}.course-pace-summary-card>div{min-width:0}.course-pace-summary-card h3{margin:.12rem 0 .2rem;font-size:clamp(1.1rem,1.3vw,1.35rem);line-height:1.15}.course-pace-summary-copy{display:block;color:var(--text-secondary);font-size:.95rem;font-weight:700;line-height:1.35;overflow-wrap:normal}.course-pace-summary-text{display:inline-flex;flex-wrap:wrap;align-items:baseline;column-gap:.46rem;row-gap:.1rem;max-width:100%}.course-pace-summary-token{display:inline-flex;align-items:baseline;gap:.25rem;white-space:nowrap}.course-pace-summary-token+.course-pace-summary-token:before{content:"•";color:currentColor;opacity:.82}@media (max-width: 640px){.course-pace-summary-card{align-items:stretch;flex-direction:column}.course-pace-summary-card .modal-secondary-btn{width:100%}}.cw-proficiency-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.cw-proficiency-kicker{font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.cw-proficiency-title{margin:.1rem 0 0;font-size:clamp(1.35rem,1.8vw,1.8rem);line-height:1.15;color:var(--text-primary)}.cw-proficiency-status{margin-top:.25rem;color:var(--text-secondary);font-weight:700}.cw-proficiency-score{flex:0 0 auto;font-size:clamp(2.2rem,4vw,3.3rem);line-height:.95;font-weight:900;color:var(--accent)}.cw-proficiency-track{position:relative;width:100%;height:.78rem;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--bg-surface-muted) 86%,var(--border-subtle));border:1px solid var(--border-subtle)}.cw-proficiency-fill{width:var(--cw-proficiency);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--success) 82%,var(--accent)));transition:width .22s ease}.cw-proficiency-rings{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem}.cw-proficiency-ring{--ring-progress: 0%;--ring-color: var(--accent);--ring-track: color-mix(in srgb, var(--border-subtle) 72%, var(--bg-surface));display:grid;justify-items:center;align-content:start;gap:.38rem;min-width:0;padding:.65rem .45rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md, 8px);background:color-mix(in srgb,var(--bg-surface-muted) 86%,transparent)}.cw-proficiency-ring.characterMastery{--ring-color: var(--accent)}.cw-proficiency-ring.retentionHealth{--ring-color: var(--info)}.cw-proficiency-ring.appliedCopy{--ring-color: var(--success)}.cw-proficiency-ring.sendingControl{--ring-color: var(--warning)}.cw-proficiency-ring.courseCoverage{--ring-color: color-mix(in srgb, var(--accent) 56%, var(--info))}.cw-proficiency-ring-chart{position:relative;display:grid;width:4.35rem;aspect-ratio:1;place-items:center;border-radius:var(--radius-pill);background:radial-gradient(circle,var(--bg-surface) 0 55%,transparent 56%),conic-gradient(var(--ring-color) 0 var(--ring-progress),var(--ring-track) var(--ring-progress) 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--border-subtle) 55%,transparent),0 0 0 .14rem color-mix(in srgb,var(--bg-surface) 78%,transparent)}.cw-proficiency-ring-chart:after{position:absolute;inset:.42rem;border:1px solid color-mix(in srgb,var(--ring-color) 34%,transparent);border-radius:inherit;content:"";pointer-events:none}.cw-proficiency-ring-value{color:var(--text-primary);font-size:.9rem;font-weight:950;font-variant-numeric:tabular-nums;line-height:1}.cw-proficiency-ring-meta{display:grid;justify-items:center;gap:.1rem;min-width:0;color:var(--text-secondary);text-align:center;line-height:1.12}.cw-proficiency-ring-meta span{max-width:100%;overflow:hidden;color:var(--text-primary);font-size:.78rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.cw-proficiency-ring-meta small{color:var(--text-muted);font-size:.62rem;font-weight:800}.cw-proficiency-next{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;padding-top:.1rem;color:var(--text-secondary);font-size:.92rem;line-height:1.45}.cw-proficiency-next strong{color:var(--text-primary)}.keying-setup-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:.9rem 1rem;border:1px solid var(--border-subtle);border-radius:var(--radius-lg, 10px);background:var(--bg-surface);box-shadow:var(--shadow-sm);color:var(--text-primary)}.keying-setup-kicker,.keying-setup-modal .modal-kicker{font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.keying-setup-card h2{margin:.1rem 0 0;font-size:clamp(1.25rem,1.6vw,1.55rem);line-height:1.15}.keying-setup-card.compact{gap:.75rem}.keying-setup-card.compact h2{display:none}.keying-setup-card p{margin:.35rem 0 0;color:var(--text-secondary);font-weight:750}.keying-setup-summary-lines{display:grid;gap:.1rem}.keying-setup-card.compact p{margin-top:.15rem;font-size:1.02rem;line-height:1.2}.keying-setup-status{margin-top:.45rem;color:var(--success);font-size:.88rem;font-weight:800}.keying-setup-card.compact .keying-setup-status{margin-top:.18rem;font-size:.78rem;line-height:1.2}.keying-setup-status.warning{color:var(--warning, #b45309)}.keying-setup-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.55rem}.keying-setup-card.compact .keying-setup-actions{flex:0 0 auto}.keying-setup-card.compact .keying-setup-actions>button{min-height:2.45rem;padding:.45rem .68rem;font-size:.9rem}.keying-setup-modal{width:min(92vw,620px);max-width:620px;max-height:min(86vh,760px);overflow:auto;position:relative;text-align:left;padding-top:2.4rem}.keying-setup-overlay{z-index:2200}.keying-setup-overlay .keying-setup-modal{z-index:2201}.keying-setup-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin:1rem 0}.keying-setup-modal-grid .course-keying-status-row,.keying-setup-modal-grid .course-control:has(input[type=range]){grid-column:1 / -1}.keying-setup-options{display:grid;gap:.7rem;margin:.85rem 0;padding:.85rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md, 8px);background:var(--bg-surface-muted)}.keying-setup-audio-panel,.keying-setup-serial-panel{gap:.82rem}.keying-setup-serial-method-row{display:grid;grid-template-columns:minmax(13rem,.9fr) minmax(10rem,1fr);gap:.7rem;align-items:end}.keying-setup-serial-panel .metadata-strip{justify-content:flex-start}.keying-setup-serial-lines{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.keying-setup-serial-panel .my-key-serial-signals{margin:0}.keying-setup-serial-panel .my-key-serial-signal{min-height:2rem;display:inline-flex;align-items:center}.keying-setup-audio-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.keying-setup-audio-status-grid .settings-meter-card{min-height:4.6rem;padding:.72rem}.keying-setup-audio-status-grid .settings-meter-card strong{overflow-wrap:anywhere}.keying-setup-audio-meter{display:grid;gap:.35rem}.keying-setup-audio-meter .settings-meter-track{width:100%}.keying-setup-mic-note{margin:.85rem 0}@media (max-width: 640px){.cw-proficiency-card{padding:.9rem}.course-send-controls{grid-template-columns:1fr}.course-send-options{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr))}.keying-setup-card{display:grid}.keying-setup-actions,.keying-setup-actions>button{width:100%}.keying-setup-modal-grid,.keying-setup-audio-status-grid,.keying-setup-serial-method-row,.keying-setup-serial-lines{grid-template-columns:1fr}.cw-proficiency-top{display:grid;gap:.65rem}.cw-proficiency-score{justify-self:start}.cw-proficiency-rings{grid-template-columns:repeat(auto-fit,minmax(6.8rem,1fr))}.cw-proficiency-ring-chart{width:4rem}}.course-status-retry{border:none;background:var(--button-primary-bg);color:var(--button-primary-text);border-radius:.5rem;padding:.35rem .75rem;font-weight:600;cursor:pointer}.adaptive-recommendation,.coach-summary-banner{align-items:flex-start}.coach-banner-next{margin-top:.35rem;color:#0f4c81;font-weight:600}.course-lesson-why{margin-top:.35rem;color:var(--text-secondary);font-size:.94rem;line-height:1.45}.course-runtime-card{display:flex;flex-direction:column;gap:1rem}.course-runtime-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap}.course-runtime-subtitle{margin:.35rem 0 0;color:#4f5b6a;max-width:60ch;line-height:1.5}.course-runtime-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;min-width:280px}.course-runtime-metrics>div{padding:.75rem .9rem;border-radius:12px;background:#f4f7fb;border:1px solid #d9e3f2;color:#243244}.course-choice-button{width:100%;text-align:left;padding:.85rem 1rem;border-radius:12px;border:1px solid #ccd7e7;background:#fff;color:#1f2937}.course-choice-button.selected{border-color:#1d5fbf;background:#eef5ff;box-shadow:0 0 0 2px #1d5fbf1a}.course-log-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.coach-card{display:grid;gap:1.25rem}.coach-header{justify-content:space-between;align-items:center}.coach-summary-card{background:linear-gradient(135deg,#f7fbff,#eef6ff);border:1px solid #cfe3fb;border-radius:1rem;padding:1.1rem 1.2rem;display:grid;gap:.65rem}.coach-kicker{font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#0f4c81}.coach-summary-card h2{margin:0;color:#1a2233}.coach-summary-line{color:#334155;line-height:1.45}.coach-summary-meta{display:flex;flex-wrap:wrap;gap:.85rem;color:#0f4c81;font-weight:600}.coach-summary-actions{display:flex;flex-wrap:wrap;gap:.75rem}.coach-primary-btn,.coach-secondary-btn,.coach-block-btn{border:none;border-radius:.7rem;padding:.7rem 1.05rem;font-weight:700;cursor:pointer}.coach-primary-btn{background:var(--accent);color:var(--button-primary-text)}.coach-secondary-btn,.coach-block-btn{background:#edf2f7;color:#1a2233}.coach-secondary-btn.danger{background:#fdecec;color:#9f1c1c}.coach-agenda{display:grid;gap:.85rem}.coach-agenda-header{display:flex;justify-content:space-between;align-items:center;color:#1a2233}.coach-agenda-header h3{margin:0}.coach-block-card{border:1px solid #e2e8f0;border-radius:1rem;padding:1rem 1.1rem;display:flex;justify-content:space-between;gap:1rem;align-items:center;background:#fff}.coach-block-card.ready{border-color:#f4c53f;background:#fffbeb}.coach-block-card.in_progress{border-color:#93c5fd;background:#eff6ff}.coach-block-card.complete{border-color:#bbf7d0;background:#f0fdf4}.coach-block-main{display:grid;gap:.35rem}.coach-block-title-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.coach-block-title{font-weight:700;color:#1a2233}.coach-block-status{border-radius:999px;padding:.18rem .55rem;font-size:.8rem;font-weight:700}.coach-block-status.ready{background:#fff1b8;color:#7a5413}.coach-block-status.in_progress{background:#dbeafe;color:#1d4ed8}.coach-block-status.complete{background:#dcfce7;color:#166534}.coach-block-status.locked{background:#e5e7eb;color:#475569}.coach-block-reason{color:#475569;line-height:1.45}.coach-block-meta{display:flex;flex-wrap:wrap;gap:.8rem;color:#334155;font-size:.92rem}.coach-launch-banner{margin-bottom:1rem}.coach-v2-page{max-width:1120px}.coach-v2-shell{display:grid;gap:1rem;background:radial-gradient(circle at top left,rgba(229,57,53,.08),transparent 26%),linear-gradient(180deg,#fff7f4,#fff 34%);border:1px solid #f0d5cb;border-radius:1.4rem;padding:1.4rem;box-shadow:0 24px 60px #91483a24}.coach-v2-header{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:start}.coach-v2-header-main h2{margin:.15rem 0 .3rem;color:#22181a;font-size:2rem}.coach-v2-kicker{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#a94433;font-weight:800}.coach-v2-subline{color:#694b45;font-weight:600}.coach-v2-progress-strip{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;color:#6b4b45;font-size:.95rem}.coach-v2-progress-pill{border-radius:999px;padding:.3rem .7rem;background:#f3e7e3;color:#7a5248;font-weight:700}.coach-v2-progress-pill.current{background:#1f2937;color:#fff}.coach-v2-progress-pill.complete,.coach-v2-progress-pill.skipped{background:#dff6e4;color:#1b7f3a}.coach-v2-progress-pill.running{background:#ffe7c2;color:#975a16}.coach-v2-brief,.coach-v2-transition,.coach-v2-debrief{display:grid;gap:1rem}.coach-v2-card{background:#fffffff0;border:1px solid #ead9d3;border-radius:1.15rem;padding:1.15rem 1.2rem;display:grid;gap:.75rem}.coach-v2-card.primary{background:linear-gradient(145deg,#fffffffa,#fff4f0f2)}.coach-v2-card.feedback.positive{border-color:#b8e7c5;background:#f4fff7}.coach-v2-card.feedback.corrective,.coach-v2-card.warning{border-color:#f5c29f;background:#fff6ed}.coach-v2-card-title{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:#a94433;font-weight:800}.coach-v2-card-body{color:#2e2322;line-height:1.5;font-size:1rem}.coach-v2-meta-line{color:#6b4b45;font-weight:600}.coach-v2-focus-row{display:flex;flex-wrap:wrap;gap:.5rem}.coach-v2-focus-chip{border-radius:999px;padding:.35rem .65rem;background:#fce8e2;color:#8d3727;font-weight:700}.coach-v2-actions{display:flex;flex-wrap:wrap;gap:.75rem}.coach-v2-stage-layout{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:1rem;align-items:start}.coach-v2-feedback-rail{display:grid;gap:.9rem}.coach-v2-block-stage{min-width:0}.coach-v2-debrief-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.coach-v2-debrief-item{padding:.9rem;border-radius:.9rem;background:#fff;border:1px solid #f0dfd8;color:#2e2322;line-height:1.45}.coach-v2-debrief-label{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#8d3727;margin-bottom:.35rem}.coach-embedded-surface{background:#fff;border:1px solid #eddad2;border-radius:1.15rem;padding:1rem 1.05rem;box-shadow:inset 0 1px #ffffffb3}.coach-guided-columns{display:grid;grid-template-columns:minmax(0,1fr)}.operating-practice-controls{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.operating-stage-card{background:linear-gradient(135deg,#faf7f0f5,#ede8dcf5)}.operating-log-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.operating-log-card .course-control{margin:0}.coach-embedded-surface .course-results{padding:1rem 1.1rem;margin-top:1rem}.coach-embedded-surface .course-card,.coach-embedded-surface .course-page h1{display:none}.head-copy-embedded-surface .course-card{margin:0}.course-status-retry:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.course-requirements-list{display:grid;gap:.35rem}.course-requirement-item{font-size:.92rem}.course-requirement-item.done{color:#1b7f3a}.course-requirement-item.pending{color:#555}.course-requirements-blocked{color:#b11e1e;font-weight:600}.course-signoff-actions{display:flex;flex-wrap:wrap;gap:.6rem}.help-icon svg{display:block}@media (max-width: 900px){.main-content,.main-content-home{padding:2rem .5rem}.nav-bar{padding:0 1rem}.nav-links{gap:1rem}.streak-popup{width:min(300px,calc(100vw - 2rem))}.streak-popup-metrics{grid-template-columns:1fr}.mode-panel,.transmit-ui,.receive-ui{padding:1.5rem 1rem 1rem;margin-bottom:1.2rem}.transmit-letter,.receive-question{font-size:2.2rem}.keyboard-grid{grid-template-columns:repeat(7,2.2rem);gap:.35rem}.mode-switch{gap:1rem;margin:2rem 0 1.2rem;padding:.2rem}.mode-btn{font-size:.98rem;padding:.6rem 1.2rem}.morse-key-btn,.backspace-btn,.submit-btn,.next-btn,.play-btn{padding:.85rem 1.7rem}.mode-content{max-width:100vw;padding:0 .5rem}.receive-ui{max-width:100vw;padding:1.5rem 1rem 1rem;margin-bottom:1.2rem}.course-page{margin:2rem auto;padding:0 1rem}.course-step-columns{grid-template-columns:1fr}.course-step-panel{order:2}.course-step-main{order:1}.course-lesson-row{flex-direction:column;align-items:flex-start}.course-lesson-progress{align-self:flex-end}.course-module-progress{flex-direction:column;align-items:flex-start}.practice-sending-control{grid-column:span 6}.course-action-indicators{flex-wrap:wrap}.course-prompt-text{font-size:2.6rem}}@media (max-width: 600px){.main-content,.main-content-home{padding:1rem .2rem}.nav-bar{flex-direction:column;gap:.75rem;padding:.75rem 1rem 1rem}.nav-links{flex-wrap:wrap;justify-content:center;gap:.75rem}.nav-actions{flex-wrap:wrap;justify-content:center}.streak-popup{left:50%;right:auto;transform:translate(-50%)}.streak-popup-header{flex-direction:column;align-items:flex-start}.mode-panel,.transmit-ui,.receive-ui{padding:1rem .2rem .7rem;margin-bottom:.7rem;border-radius:.7rem;box-shadow:0 2px 8px #0000000a}.transmit-letter,.receive-question{font-size:1.5rem;margin-bottom:1rem}.transmit-morse-display{font-size:1.1rem;padding:.3rem .7rem;margin-bottom:1rem}.transmit-controls{flex-direction:column;gap:.5rem;margin-bottom:1rem}.morse-key-btn,.backspace-btn,.submit-btn,.next-btn,.play-btn{font-size:1rem;padding:.7rem 1.2rem;min-width:0;padding:.7rem 1.3rem}.keyboard-grid{grid-template-columns:repeat(5,2rem);gap:.25rem;overflow-x:auto;justify-content:flex-start}.keyboard-key{font-size:.95rem;padding:.5rem 0;min-width:1.7rem}.receive-input{font-size:1.2rem;width:2.5rem;padding:.3rem}.transmit-feedback,.receive-feedback{font-size:1rem;padding:.7rem;margin-top:1rem;border-radius:.6rem}.mode-switch{gap:.5rem;margin:1.2rem 0 .7rem;padding:.12rem}.mode-btn{font-size:.92rem;padding:.5rem .7rem}.morse-key-btn,.backspace-btn,.submit-btn,.next-btn,.play-btn{padding:.7rem 1.3rem}.mode-content{max-width:100vw;padding:0 .2rem}.receive-ui{max-width:100vw;padding:1rem .2rem .7rem;margin-bottom:.7rem;border-radius:.7rem;box-shadow:0 2px 8px #0000000a}.course-card{padding:1.25rem}.course-actions{align-items:stretch}.practice-sending-control{grid-column:1 / -1}.course-action-buttons{flex-direction:column;align-items:stretch}.course-actions button{width:100%}.course-timer-pie{width:72px;height:72px}.course-step-pie{width:56px;height:56px}.course-prompt-text{font-size:2.2rem}.course-module-card,.course-lesson-item{padding:.9rem}.course-runtime-metrics,.course-log-grid{grid-template-columns:1fr;min-width:0}.coach-block-card{flex-direction:column;align-items:flex-start}.coach-summary-actions{flex-direction:column;align-items:stretch}.coach-v2-header,.coach-v2-stage-layout,.coach-v2-debrief-grid{grid-template-columns:1fr}.coach-v2-actions{flex-direction:column;align-items:stretch}}.sbui-modal-close,.sbui-modal__close,.supabase-auth-ui .sbui-btn-container,button[aria-label=Close]{color:#2563eb!important;background:transparent!important;font-size:1.7rem;font-weight:700;border:none;cursor:pointer;z-index:1002}.sbui-modal-close:hover,.sbui-modal__close:hover,.supabase-auth-ui .sbui-btn-container:hover,button[aria-label=Close]:hover{color:#1741a6!important;background:#f0f4ff!important}button[style*="position: absolute"][style*="right: 8px"][style*="top: 8px"]{color:#2563eb!important;background:none!important;border:none!important;font-size:1.7rem!important;font-weight:700;cursor:pointer;z-index:1002}button[style*="position: absolute"][style*="right: 8px"][style*="top: 8px"]:hover,button[style*="position: absolute"][style*="right: 8px"][style*="top: 8px"]:focus{color:#1741a6!important;background:#f0f4ff!important}html,body,#root,.homepage-root{background:var(--bg-app);color:var(--text-primary)}.settings-action-row{align-items:flex-start}.settings-secondary-btn{justify-self:start;border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-primary);border-radius:.65rem;padding:.55rem 1rem;font-weight:700;cursor:pointer}.settings-secondary-btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--button-primary-bg) 42%,var(--border-subtle));background:var(--bg-surface-muted)}.room-readiness{display:grid;gap:.65rem;min-width:0}.room-readiness.compact{gap:.45rem}.room-readiness-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.room-readiness-list{display:flex;flex-wrap:wrap;gap:.45rem}.room-readiness-pill{display:inline-flex;align-items:center;gap:.45rem;min-height:2rem;padding:.35rem .75rem;border:1px solid var(--border-subtle);border-radius:999px;background:var(--bg-surface);color:var(--text-secondary);font-weight:700;line-height:1.1}.room-readiness-dot{width:.55rem;height:.55rem;border-radius:999px;background:var(--text-muted);flex:0 0 auto}.room-readiness-pill.ready{border-color:color-mix(in srgb,var(--success) 32%,var(--border-subtle));color:var(--success)}.room-readiness-pill.ready .room-readiness-dot{background:var(--success)}.room-readiness-pill.warning{border-color:color-mix(in srgb,var(--warning) 40%,var(--border-subtle));color:var(--warning)}.room-readiness-pill.warning .room-readiness-dot{background:var(--warning)}.room-readiness-pill.error{border-color:color-mix(in srgb,var(--danger) 36%,var(--border-subtle));color:var(--danger)}.room-readiness-pill.error .room-readiness-dot{background:var(--danger)}.play-friends-panel{display:grid;gap:1rem}.play-friends-arena{gap:.9rem}.play-friends-arena-grid{display:grid;grid-template-columns:minmax(20rem,1.25fr) minmax(16rem,.75fr);gap:.9rem;align-items:stretch}.arena-play-now-panel,.arena-lobby-panel{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-surface);box-shadow:var(--shadow-sm)}.arena-play-now-panel{display:grid;gap:1rem;min-width:0;padding:clamp(1rem,2.2vw,1.45rem);border-color:color-mix(in srgb,var(--button-primary-bg) 34%,var(--border-subtle));background:radial-gradient(circle at top right,color-mix(in srgb,var(--button-primary-bg) 16%,transparent),transparent 42%),linear-gradient(145deg,color-mix(in srgb,var(--bg-surface) 96%,var(--accent-soft)),color-mix(in srgb,var(--bg-elevated) 94%,transparent))}.arena-play-now-copy{display:grid;gap:.35rem;max-width:42rem}.arena-play-now-title-row{align-items:flex-start}.arena-play-now-copy h3{margin:0;color:var(--text-primary);font-size:clamp(1.65rem,3vw,2.35rem);line-height:1.02}.arena-play-now-copy p,.arena-play-now-copy span{margin:0;color:var(--text-secondary);font-weight:650;line-height:1.42}.arena-play-now-meta{display:flex;flex-wrap:wrap;gap:.45rem}.arena-play-now-meta span{display:inline-flex;align-items:center;gap:.25rem;min-height:2rem;padding:.25rem .65rem;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--bg-surface-muted) 86%,transparent);color:var(--text-secondary);font-size:.84rem;font-weight:750}.arena-play-now-meta b{color:var(--text-primary)}.arena-play-now-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem}.arena-primary-action{min-height:3.15rem;padding-inline:1.35rem;font-size:1.04rem}.arena-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem;min-width:0}.arena-panel-head h3{margin:.15rem 0 0;color:var(--text-primary);font-size:1.05rem;line-height:1.2}.play-friends-setup-strip{display:flex;align-items:center;justify-content:space-between;gap:.85rem;padding:.85rem 1rem;border:1px solid color-mix(in srgb,var(--button-primary-bg) 24%,var(--border-subtle));border-radius:var(--radius-lg);background:color-mix(in srgb,var(--button-primary-bg) 8%,var(--bg-surface))}.play-friends-setup-strip h3,.play-friends-setup-strip p{margin:0}.play-friends-setup-strip p{margin-top:.25rem;color:var(--text-secondary);font-weight:650}.play-friends-setup-strip.compact{padding:.6rem .75rem;border-color:var(--border-subtle);background:var(--bg-surface-subtle)}.play-friends-setup-strip.compact h3{font-size:1rem}.play-friends-setup-strip.compact p{font-size:.9rem}.play-friends-setup-actions,.play-friends-mode-controls{display:flex;flex-wrap:wrap;align-items:end;gap:.55rem}.play-friends-mode-controls{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch}.play-friends-mode-panel.arena-lobby-panel{display:grid;gap:.85rem;padding:1rem}.play-friends-command,.play-friends-card,.play-friends-browser,.group-command-card,.group-join-card,.activity-card,.skill-check-card,.skill-check-result-card,.feature-flag-row{border:1px solid var(--border-subtle);background:var(--bg-surface);border-radius:.8rem;box-shadow:var(--shadow-sm)}.play-friends-command{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1rem;padding:1.1rem}.play-friends-command-actions{display:grid;gap:.65rem;justify-items:end;min-width:min(24rem,100%)}.schema-readiness-panel{display:grid;gap:.65rem;min-width:0}.schema-readiness-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.65rem}.schema-readiness-block{display:grid;gap:.35rem;padding:.7rem .85rem;border:1px solid var(--border-subtle);border-radius:.7rem;background:var(--bg-surface-muted);color:var(--text-secondary);font-weight:650}.schema-readiness-block b{color:var(--text-primary)}.play-friends-chooser{display:grid;gap:.9rem;padding:1rem;border:1px solid color-mix(in srgb,var(--button-primary-bg) 30%,var(--border-subtle));border-radius:.9rem;background:linear-gradient(180deg,color-mix(in srgb,var(--button-primary-bg) 8%,var(--bg-surface)),var(--bg-surface));box-shadow:var(--shadow-sm)}.play-friends-chooser-header,.play-friends-identity-card{display:flex;align-items:flex-start;justify-content:space-between;gap:.9rem;min-width:0}.play-friends-chooser-header h3,.play-friends-identity-card b{margin:.15rem 0 0;color:var(--text-primary)}.play-friends-chooser-header p,.play-friends-identity-card small{display:block;margin-top:.35rem;color:var(--text-secondary);font-weight:650}.play-friends-identity-card{padding:.85rem;border:1px solid var(--border-subtle);border-radius:.8rem;background:var(--bg-surface)}.play-friends-identity-card span{color:var(--text-secondary);font-weight:800}.play-friends-identity-chips,.play-friends-room-meta,.activity-tag-row{display:flex;flex-wrap:wrap;gap:.45rem}.play-friends-identity-chips span,.play-friends-room-meta span,.activity-tag-row span{display:inline-flex;align-items:center;min-height:1.9rem;padding:.25rem .6rem;border:1px solid var(--border-subtle);border-radius:999px;background:var(--bg-surface-muted);color:var(--text-secondary);font-size:.82rem;font-weight:800}.play-friends-chooser-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.75rem}.play-friends-choice-card{display:grid;gap:.35rem;text-align:left;border:1px solid var(--border-subtle);border-radius:.8rem;background:var(--bg-surface);color:var(--text-primary);padding:.9rem;cursor:pointer}.play-friends-choice-card.primary{border-color:color-mix(in srgb,var(--button-primary-bg) 36%,var(--border-subtle));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--button-primary-bg) 16%,transparent)}.play-friends-choice-card span,.play-friends-choice-card small{color:var(--text-secondary);font-weight:750}.play-friends-choice-card b{font-size:1.05rem}.play-friends-choice-card:disabled{opacity:.55;cursor:not-allowed}.play-friends-command-main h3,.play-friends-card h3,.play-friends-card h4,.play-friends-room-card h4,.activity-card h3,.group-command-card h3,.skill-check-card h3,.skill-check-result-card h3,.skill-check-flow-card h3{margin:.2rem 0 0;line-height:1.18}.play-friends-command-main p,.play-friends-card p,.play-friends-room-card p,.activity-card p,.group-command-card p,.skill-check-card p,.skill-check-result-card p,.skill-check-flow-card p{margin:.5rem 0 0;color:var(--text-secondary);line-height:1.45}.play-friends-grid,.play-friends-social-grid,.activity-card-grid,.skill-check-grid,.feature-flag-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.9rem}.activity-card-grid.compact{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}.skill-check-flow{display:grid;gap:1rem}.skill-check-flow-card{display:grid;gap:.95rem;padding:1.05rem}.skill-check-flow-stepper{position:relative;display:flex;align-items:center;gap:0;padding:.45rem;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--bg-surface-muted) 58%,transparent)}.skill-check-flow-step{position:relative;display:flex;align-items:center;flex:1 1 0;gap:.5rem;min-width:0;min-height:2.9rem;padding:.35rem .65rem;border-radius:var(--radius-pill);background:transparent;color:var(--text-secondary)}.skill-check-flow-step:after{content:"";position:absolute;z-index:0;top:50%;right:-.25rem;width:.5rem;height:2px;background:color-mix(in srgb,var(--text-secondary) 22%,transparent);transform:translateY(-50%)}.skill-check-flow-step:last-child:after{display:none}.skill-check-flow-step>span{position:relative;z-index:1;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:1px solid var(--border-subtle);border-radius:999px;background:var(--bg-surface);color:var(--text-secondary);font-size:.82rem;font-weight:950}.skill-check-flow-step>div{position:relative;z-index:1;display:grid;gap:.1rem;min-width:0}.skill-check-flow-step b,.skill-check-flow-step small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-check-flow-step b{color:var(--text-primary);font-size:.88rem}.skill-check-flow-step small{color:var(--text-secondary);font-size:.72rem;font-weight:850}.skill-check-flow-step.is-active{background:color-mix(in srgb,var(--button-primary-bg) 15%,var(--bg-surface-muted))}.skill-check-flow-step.is-active>span{border-color:color-mix(in srgb,var(--button-primary-bg) 65%,var(--border-subtle));background:var(--button-primary-bg);color:var(--button-primary-text)}.skill-check-flow-step.is-complete>span{border-color:color-mix(in srgb,var(--success) 55%,var(--border-subtle));background:var(--success);color:var(--button-primary-text)}.skill-check-flow-step.is-skipped>span{border-color:color-mix(in srgb,var(--warning) 55%,var(--border-subtle));background:color-mix(in srgb,var(--warning) 22%,var(--bg-surface));color:var(--text-primary)}.skill-check-progress-strip{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;padding:.5rem 0}.skill-check-progress-item{position:relative;display:inline-flex;align-items:center;gap:.45rem;min-width:0;min-height:2.35rem;padding:.3rem .6rem .3rem .35rem;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--bg-surface-muted);color:var(--text-secondary)}.skill-check-progress-item>span{display:inline-flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;border-radius:999px;background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-secondary);font-size:.78rem;font-weight:950}.skill-check-progress-item b,.skill-check-progress-item small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-check-progress-item b{color:var(--text-primary);font-size:.84rem}.skill-check-progress-item small{font-size:.72rem;font-weight:800}.skill-check-progress-item.is-active{border-color:color-mix(in srgb,var(--button-primary-bg) 42%,var(--border-subtle));background:color-mix(in srgb,var(--button-primary-bg) 12%,var(--bg-surface-muted))}.skill-check-progress-item.is-active>span{background:var(--button-primary-bg);border-color:color-mix(in srgb,var(--button-primary-bg) 65%,var(--border-subtle));color:var(--button-primary-text)}.skill-check-progress-item.is-complete>span{background:var(--success);border-color:color-mix(in srgb,var(--success) 65%,var(--border-subtle));color:var(--button-primary-text)}.skill-check-current-prompt{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.85rem;align-items:end}.skill-check-current-prompt .settings-primary-btn{min-width:7.5rem}.skill-check-feedback{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .85rem;padding:.75rem .85rem;border:1px solid var(--border-subtle);border-radius:.7rem;background:var(--bg-surface-muted);color:var(--text-secondary);font-weight:800}.skill-check-feedback b{color:var(--text-primary)}.skill-check-feedback.strong{border-color:color-mix(in srgb,var(--success) 40%,var(--border-subtle));background:color-mix(in srgb,var(--success) 9%,var(--bg-surface-muted))}.skill-check-feedback.warmup{border-color:color-mix(in srgb,var(--warning) 42%,var(--border-subtle));background:color-mix(in srgb,var(--warning) 9%,var(--bg-surface-muted))}.skill-check-result-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.65rem}.skill-check-result-summary>div,.skill-check-breakdown-row{display:grid;gap:.25rem;padding:.75rem .85rem;border:1px solid var(--border-subtle);border-radius:.7rem;background:var(--bg-surface-muted)}.skill-check-result-summary span,.skill-check-breakdown-row span{color:var(--text-secondary);font-weight:800}.skill-check-result-summary b,.skill-check-breakdown-row b{color:var(--text-primary)}.skill-check-breakdown{display:grid;gap:.45rem}.skill-check-breakdown-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.skill-check-sending-sample{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.65rem}.skill-check-sending-sample>div{display:grid;gap:.25rem;padding:.75rem .85rem;border:1px solid var(--border-subtle);border-radius:.7rem;background:var(--bg-surface-muted)}.skill-check-sending-sample span{color:var(--text-secondary);font-weight:800}.skill-check-sending-sample b{color:var(--text-primary);overflow-wrap:anywhere}.skill-check-mic-panel,.skill-check-sending-detail{display:grid;gap:.65rem;padding:.85rem;border:1px solid var(--border-subtle);border-radius:.7rem;background:var(--bg-surface-muted)}.skill-check-mic-panel{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.skill-check-mic-panel>div{display:grid;gap:.3rem;min-width:0}.skill-check-mic-panel span,.skill-check-sending-detail>span,.skill-check-sending-detail dt{color:var(--text-secondary);font-weight:800}.skill-check-mic-panel b,.skill-check-sending-detail b,.skill-check-sending-detail dd{color:var(--text-primary)}.skill-check-input-meter{height:.65rem;overflow:hidden;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--text-primary) 9%,transparent)}.skill-check-input-meter span{display:block;height:100%;border-radius:inherit;background:var(--button-primary-bg)}.skill-check-sending-detail p{margin:0;color:var(--text-secondary)}.skill-check-sending-detail dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.45rem;margin:0}.skill-check-sending-detail dl>div{display:grid;gap:.15rem}.skill-check-sending-detail dt,.skill-check-sending-detail dd{margin:0}.skill-check-touch-pads{display:grid;gap:.75rem}.skill-check-touch-pads.paddle{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-check-touch-pad{min-height:6rem;border:1px solid color-mix(in srgb,var(--button-primary-bg) 32%,var(--border-subtle));border-radius:.8rem;background:color-mix(in srgb,var(--button-primary-bg) 12%,var(--bg-surface-muted));color:var(--text-primary);font-size:var(--text-lg);font-weight:900;touch-action:none;-webkit-user-select:none;user-select:none}.play-friends-card,.activity-card,.skill-check-card,.skill-check-result-card,.group-command-card,.group-join-card,.feature-flag-row{padding:1rem;display:grid;gap:.8rem;min-width:0}.play-friends-card.primary{border-color:color-mix(in srgb,var(--button-primary-bg) 32%,var(--border-subtle))}.activity-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;color:var(--text-secondary);font-weight:700}.activity-card-top b{color:var(--text-primary)}.activity-log-page{width:min(72rem,100%);margin:0 auto;padding:clamp(1rem,2vw,1.5rem)}.activity-log-shell{display:grid;gap:1rem;min-width:0}.activity-log-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:end;padding:1rem;border:1px solid var(--border-subtle);border-radius:.8rem;background:var(--bg-surface);box-shadow:var(--shadow-sm)}.activity-log-header h1,.activity-log-header p{margin:0}.activity-log-header h1{color:var(--text-primary);font-size:clamp(2rem,4vw,3.2rem);line-height:1}.activity-log-header>div:first-child{display:grid;gap:.35rem}.activity-log-header>div:first-child p:not(.activity-log-eyebrow){color:var(--text-secondary);font-weight:700}.activity-log-eyebrow{color:var(--text-secondary);font-size:.82rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.activity-log-counts{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.activity-log-counts span{display:inline-flex;align-items:baseline;gap:.35rem;min-height:2.4rem;padding:.4rem .7rem;border:1px solid var(--border-subtle);border-radius:999px;background:var(--bg-surface-muted);color:var(--text-secondary);font-size:.86rem;font-weight:800}.activity-log-counts b{color:var(--text-primary);font-size:1rem}.activity-log-filters{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.activity-log-filter{display:inline-flex;align-items:center;gap:.5rem;min-height:2.45rem;border:1px solid var(--border-subtle);border-radius:999px;background:var(--bg-surface);color:var(--text-secondary);padding:.35rem .75rem;font-weight:850}.activity-log-filter b{display:inline-flex;align-items:center;justify-content:center;min-width:1.7rem;min-height:1.7rem;border-radius:999px;background:var(--bg-surface-muted);color:var(--text-primary);font-size:.82rem}.activity-log-filter.active{border-color:color-mix(in srgb,var(--button-primary-bg) 42%,var(--border-subtle));background:color-mix(in srgb,var(--button-primary-bg) 15%,var(--bg-surface));color:var(--text-primary)}.activity-log-list{display:grid;gap:.55rem;min-width:0}.activity-log-row{display:grid;grid-template-columns:7rem minmax(0,1fr) minmax(8rem,auto) auto;align-items:center;gap:.8rem;min-height:4.6rem;padding:.75rem .85rem;border:1px solid var(--border-subtle);border-radius:.75rem;background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.activity-log-type{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.82rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.activity-log-type span{width:.65rem;height:.65rem;border-radius:999px;background:var(--button-primary-bg)}.activity-log-row.saved .activity-log-type span{background:var(--success)}.activity-log-row.chat .activity-log-type span{background:var(--info)}.activity-log-main{min-width:0}.activity-log-main h3,.activity-log-main p{margin:0}.activity-log-main h3{overflow:hidden;color:var(--text-primary);font-size:1rem;line-height:1.22;text-overflow:ellipsis;white-space:nowrap}.activity-log-main p{margin-top:.18rem;overflow:hidden;color:var(--text-secondary);font-size:.88rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.activity-log-meta{display:grid;gap:.15rem;justify-items:end;color:var(--text-secondary);font-size:.82rem;font-weight:750;white-space:nowrap}.activity-log-meta b{color:var(--text-primary);font-size:.92rem}.activity-log-actions{display:flex;align-items:center;justify-content:flex-end;gap:.45rem}.activity-log-primary,.activity-log-secondary{min-height:2.35rem;border-radius:.55rem;font-size:.9rem;font-weight:850}.activity-log-primary{border:1px solid color-mix(in srgb,var(--button-primary-bg) 74%,var(--border-subtle));background:var(--button-primary-bg);color:var(--button-primary-text);padding:.35rem .85rem}.activity-log-secondary-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem}.activity-log-secondary{border:1px solid var(--border-subtle);background:var(--bg-surface-muted);color:var(--text-primary);padding:.3rem .65rem}.activity-log-empty{display:grid;gap:.75rem;justify-items:start;padding:1rem;border:1px dashed var(--border-subtle);border-radius:.75rem;background:var(--bg-surface);color:var(--text-secondary);font-weight:750}.activity-log-empty p{margin:0}.activity-log-empty-actions{display:flex;flex-wrap:wrap;gap:.5rem}@media (max-width: 760px){.activity-log-page{padding:.75rem}.activity-log-header{grid-template-columns:1fr;align-items:start}.activity-log-counts{justify-content:flex-start}.activity-log-row{grid-template-columns:1fr;align-items:start;gap:.55rem;min-height:0}.activity-log-main h3,.activity-log-main p{white-space:normal}.activity-log-meta{display:flex;justify-content:space-between;justify-items:stretch;width:100%}.activity-log-actions{width:100%;justify-content:flex-start}.activity-log-primary{min-width:6rem}}.play-friends-browser{padding:1rem;display:grid;gap:.9rem}.play-friends-room-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.75rem}.play-friends-room-card{display:grid;gap:.65rem;min-width:0;border:1px solid var(--border-subtle);border-radius:.7rem;padding:.85rem;background:var(--bg-surface-muted)}.group-activity-list{display:grid;gap:.55rem}.group-activity-row{display:flex;justify-content:space-between;gap:.75rem;padding:.75rem .85rem;border:1px solid var(--border-subtle);border-radius:.75rem;background:var(--bg-surface-muted)}.group-activity-row b{text-transform:capitalize}.group-activity-row span{color:var(--text-secondary);font-weight:650}.admin-sql-snippet{max-width:100%;overflow-x:auto;padding:.9rem;border:1px solid var(--border-subtle);border-radius:.75rem;background:var(--bg-surface-muted);color:var(--text-primary);font-size:.86rem;line-height:1.45}.play-friends-chip-list,.recent-player-list,.group-member-list{display:grid;gap:.55rem}.play-friends-chip{justify-self:start;border:1px solid var(--border-subtle);background:var(--bg-surface-muted);color:var(--text-primary);border-radius:999px;padding:.4rem .75rem;font-weight:700;cursor:pointer}.play-friends-empty{color:var(--text-secondary);font-weight:650}.play-friends-create-form{display:grid;gap:.75rem}.play-friends-create-form.compact{grid-template-columns:minmax(0,1fr) auto;align-items:end}.recent-player-row,.group-member-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border:1px solid var(--border-subtle);border-radius:.7rem;padding:.75rem;background:var(--bg-surface-muted);min-width:0}.recent-player-row>div:first-child,.group-member-row>div:first-child{display:grid;gap:.2rem;min-width:0}.recent-player-row span,.group-member-row span{color:var(--text-secondary);font-weight:650}.skill-check-card textarea,.play-friends-create-form textarea{min-height:5.5rem;resize:vertical}.skill-check-card textarea,.play-friends-create-form textarea,.play-friends-create-form input,.play-friends-card select,.group-join-card input,.group-command-card select{width:100%;border:1px solid var(--border-subtle);border-radius:.7rem;background:var(--bg-surface);color:var(--text-primary);padding:.65rem .75rem;font:inherit}.activity-card .challenge-secondary-btn,.play-friends-card .challenge-secondary-btn,.play-friends-room-card .challenge-secondary-btn,.recent-player-row .challenge-secondary-btn,.group-member-row .challenge-secondary-btn{min-height:2.35rem}.feature-flag-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.feature-flag-row code{font-weight:800}.challenge-room-invite-card{border-color:color-mix(in srgb,var(--button-primary-bg) 24%,var(--border-subtle))}.challenge-room-invite-card .course-status-banner{margin:0}.challenge-stage-chip{max-width:100%;overflow-wrap:anywhere}@media (max-width: 760px){.play-friends-command{grid-template-columns:minmax(0,1fr)}.play-friends-command-actions{justify-items:stretch}.play-friends-chooser-header,.play-friends-identity-card{flex-direction:column}.recent-player-row,.group-member-row,.feature-flag-row{align-items:stretch;flex-direction:column;grid-template-columns:minmax(0,1fr)}.recent-player-row .challenge-actions,.group-member-row .challenge-actions{width:100%}.play-friends-create-form.compact{grid-template-columns:minmax(0,1fr)}}@media (max-width: 720px){.settings-device-header,.settings-toggle-line,.my-key-serial-actions{flex-direction:column;align-items:stretch}.settings-key-tester-history-row{grid-template-columns:1fr 1fr}}.challenge-hub-card,.challenge-shell-card{display:flex;flex-direction:column;gap:1.1rem}.challenge-hub{--challenge-hub-hero-border: color-mix(in srgb, var(--warning) 22%, var(--border-subtle));--challenge-hub-hero-bg: radial-gradient(circle at top right, color-mix(in srgb, var(--warning) 16%, transparent), transparent 36%), radial-gradient(circle at left center, color-mix(in srgb, var(--success) 14%, transparent), transparent 48%), linear-gradient(145deg, color-mix(in srgb, var(--bg-surface-strong) 88%, var(--accent-soft)) 0%, color-mix(in srgb, var(--bg-surface) 92%, transparent) 54%, color-mix(in srgb, var(--bg-elevated) 90%, transparent) 100%);--challenge-hub-hero-shadow: var(--shadow-lg);--challenge-hub-kicker: var(--warning);--challenge-hub-body-text: var(--text-secondary);--challenge-hub-title: var(--text-primary);--challenge-hub-panel-bg: color-mix(in srgb, var(--bg-surface) 90%, transparent);--challenge-hub-panel-border: color-mix(in srgb, var(--border-strong) 54%, transparent);--challenge-hub-panel-shadow: var(--shadow-md);--challenge-hub-panel-strong-bg: radial-gradient(circle at top right, color-mix(in srgb, var(--warning) 14%, transparent), transparent 40%), linear-gradient(145deg, color-mix(in srgb, var(--bg-surface) 96%, var(--accent-soft)) 0%, color-mix(in srgb, var(--bg-elevated) 95%, transparent) 100%);--challenge-hub-counter-bg: color-mix(in srgb, var(--bg-elevated) 84%, transparent);--challenge-hub-counter-border: color-mix(in srgb, var(--border-strong) 56%, transparent);--challenge-hub-counter-label: var(--text-muted);--challenge-hub-counter-value: var(--text-primary);--challenge-hub-mode-bg: color-mix(in srgb, var(--bg-surface) 88%, transparent);--challenge-hub-mode-border: color-mix(in srgb, var(--border-strong) 44%, transparent);--challenge-hub-accent-text: color-mix(in srgb, var(--success) 84%, var(--text-primary));--challenge-hub-tab-shell: color-mix(in srgb, var(--bg-app) 54%, transparent);--challenge-hub-tab-border: color-mix(in srgb, var(--border-subtle) 92%, transparent);--challenge-hub-tab-text: var(--text-secondary);--challenge-hub-tab-hover-bg: color-mix(in srgb, var(--bg-elevated) 82%, transparent);--challenge-hub-tab-hover-text: var(--text-primary);--challenge-hub-tab-active-bg: linear-gradient(135deg, color-mix(in srgb, var(--warning) 74%, var(--accent)) 0%, color-mix(in srgb, var(--accent) 86%, var(--danger)) 100%);--challenge-hub-tab-active-text: #fffaf5;--challenge-hub-tab-active-shadow: 0 12px 24px color-mix(in srgb, var(--accent) 24%, transparent);--challenge-hub-card-bg: linear-gradient(180deg, color-mix(in srgb, var(--bg-surface) 96%, transparent) 0%, color-mix(in srgb, var(--bg-elevated) 88%, transparent) 100%);--challenge-hub-card-border: color-mix(in srgb, var(--border-strong) 42%, transparent);--challenge-hub-card-shadow: var(--shadow-md);--challenge-hub-card-hover-shadow: 0 18px 34px rgba(0, 0, 0, .22);--challenge-hub-featured-bg: radial-gradient(circle at top right, color-mix(in srgb, var(--warning) 18%, transparent), transparent 40%), linear-gradient(145deg, color-mix(in srgb, var(--bg-surface) 96%, var(--accent-soft)) 0%, color-mix(in srgb, var(--bg-elevated) 92%, transparent) 54%, color-mix(in srgb, var(--bg-surface-strong) 96%, transparent) 100%);--challenge-hub-featured-border: color-mix(in srgb, var(--warning) 34%, var(--border-strong));--challenge-hub-spotlight-label: var(--text-muted);--challenge-hub-spotlight-value: var(--text-primary);--challenge-hub-special-tag-bg: color-mix(in srgb, var(--info-soft) 92%, transparent);--challenge-hub-special-tag-text: var(--info);--challenge-hub-stat-bg: color-mix(in srgb, var(--bg-surface-muted) 92%, transparent);--challenge-hub-stat-border: color-mix(in srgb, var(--border-subtle) 92%, transparent);--challenge-hub-stat-text: var(--text-muted);--challenge-hub-stat-value: var(--text-primary);--challenge-hub-featured-kicker-bg: color-mix(in srgb, var(--success-soft) 96%, transparent);--challenge-hub-featured-kicker-text: color-mix(in srgb, var(--success) 82%, var(--text-primary));--challenge-hub-featured-unlocked-bg: color-mix(in srgb, var(--warning-soft) 96%, transparent);--challenge-hub-featured-unlocked-text: color-mix(in srgb, var(--warning) 82%, var(--text-primary));--challenge-hub-featured-locked-bg: color-mix(in srgb, var(--bg-chip-neutral) 90%, transparent);--challenge-hub-featured-locked-text: var(--text-secondary);--challenge-hub-lock-bg: color-mix(in srgb, var(--warning-soft) 80%, var(--bg-surface));--challenge-hub-lock-border: color-mix(in srgb, var(--warning-border) 88%, var(--border-subtle));--challenge-hub-lock-text: var(--text-primary);--challenge-hub-continue-bg: radial-gradient(circle at top right, color-mix(in srgb, var(--accent) 12%, transparent), transparent 42%), linear-gradient(145deg, color-mix(in srgb, var(--bg-surface) 95%, var(--accent-soft)) 0%, color-mix(in srgb, var(--bg-elevated) 92%, transparent) 100%);--challenge-hub-continue-border: color-mix(in srgb, var(--accent) 26%, var(--border-strong));--challenge-hub-state-badge-bg: color-mix(in srgb, var(--warning-soft) 90%, transparent);--challenge-hub-state-badge-text: color-mix(in srgb, var(--warning) 82%, var(--text-primary));--challenge-hub-utility-bg: color-mix(in srgb, var(--bg-surface) 92%, transparent);--challenge-hub-utility-border: color-mix(in srgb, var(--border-strong) 44%, transparent);--challenge-hub-utility-label: var(--text-muted);--challenge-hub-utility-value: var(--text-primary);--challenge-hub-hero-chip-bg: color-mix(in srgb, var(--bg-surface) 84%, transparent);--challenge-hub-hero-chip-border: color-mix(in srgb, var(--border-subtle) 90%, transparent);--challenge-hub-hero-chip-text: var(--text-secondary)}:root[data-theme=light] .challenge-hub{--challenge-hub-hero-border: color-mix(in srgb, #f59e0b 24%, var(--border-subtle));--challenge-hub-hero-bg: radial-gradient(circle at top right, rgba(255, 191, 105, .32), transparent 34%), radial-gradient(circle at left center, rgba(46, 196, 182, .18), transparent 44%), linear-gradient(140deg, #fff9ec 0%, #f5fbff 52%, #eef7ff 100%);--challenge-hub-hero-shadow: 0 18px 40px rgba(31, 41, 55, .08);--challenge-hub-kicker: #b45309;--challenge-hub-body-text: #475569;--challenge-hub-title: #0f172a;--challenge-hub-panel-bg: rgba(255, 255, 255, .78);--challenge-hub-panel-border: rgba(148, 163, 184, .24);--challenge-hub-panel-shadow: 0 12px 28px rgba(15, 23, 42, .06);--challenge-hub-panel-strong-bg: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);--challenge-hub-counter-bg: rgba(255, 255, 255, .76);--challenge-hub-counter-border: rgba(148, 163, 184, .28);--challenge-hub-counter-label: #64748b;--challenge-hub-counter-value: #0f172a;--challenge-hub-mode-bg: rgba(255, 255, 255, .78);--challenge-hub-mode-border: rgba(148, 163, 184, .24);--challenge-hub-accent-text: #0f766e;--challenge-hub-tab-shell: rgba(15, 23, 42, .05);--challenge-hub-tab-border: rgba(148, 163, 184, .26);--challenge-hub-tab-text: #475569;--challenge-hub-tab-hover-bg: rgba(255, 255, 255, .7);--challenge-hub-tab-hover-text: #0f172a;--challenge-hub-tab-active-bg: linear-gradient(135deg, #f59e0b, #fb7185);--challenge-hub-tab-active-text: #fffdf7;--challenge-hub-tab-active-shadow: 0 10px 20px rgba(245, 158, 11, .22);--challenge-hub-card-bg: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);--challenge-hub-card-border: rgba(148, 163, 184, .22);--challenge-hub-card-shadow: 0 12px 28px rgba(15, 23, 42, .06);--challenge-hub-card-hover-shadow: 0 10px 24px rgba(0, 0, 0, .1);--challenge-hub-featured-bg: radial-gradient(circle at top right, rgba(245, 158, 11, .15), transparent 38%), linear-gradient(145deg, #fff9ef 0%, #fef6ff 44%, #f6fbff 100%);--challenge-hub-featured-border: rgba(251, 146, 60, .28);--challenge-hub-spotlight-label: #64748b;--challenge-hub-spotlight-value: #0f172a;--challenge-hub-special-tag-bg: rgba(99, 102, 241, .12);--challenge-hub-special-tag-text: #4338ca;--challenge-hub-stat-bg: rgba(248, 250, 252, .9);--challenge-hub-stat-border: rgba(148, 163, 184, .24);--challenge-hub-stat-text: #64748b;--challenge-hub-stat-value: #0f172a;--challenge-hub-featured-kicker-bg: rgba(15, 118, 110, .1);--challenge-hub-featured-kicker-text: #0f766e;--challenge-hub-featured-unlocked-bg: rgba(245, 158, 11, .14);--challenge-hub-featured-unlocked-text: #b45309;--challenge-hub-featured-locked-bg: rgba(71, 85, 105, .1);--challenge-hub-featured-locked-text: #475569;--challenge-hub-lock-bg: color-mix(in srgb, var(--warning) 10%, transparent);--challenge-hub-lock-border: color-mix(in srgb, var(--warning) 28%, rgba(148, 163, 184, .22));--challenge-hub-lock-text: #0f172a;--challenge-hub-continue-bg: radial-gradient(circle at top right, rgba(251, 146, 60, .16), transparent 38%), linear-gradient(145deg, #fff8ef 0%, #fff6fb 52%, #f6fbff 100%);--challenge-hub-continue-border: rgba(251, 146, 60, .26);--challenge-hub-state-badge-bg: rgba(245, 158, 11, .14);--challenge-hub-state-badge-text: #b45309;--challenge-hub-utility-bg: rgba(255, 255, 255, .82);--challenge-hub-utility-border: rgba(148, 163, 184, .22);--challenge-hub-utility-label: #64748b;--challenge-hub-utility-value: #0f172a;--challenge-hub-hero-chip-bg: rgba(255, 255, 255, .78);--challenge-hub-hero-chip-border: rgba(148, 163, 184, .24);--challenge-hub-hero-chip-text: #475569}.challenge-hub-card{width:100%;max-width:none;align-self:center;gap:1rem;overflow:hidden}.challenge-hub-pane{animation:challenge-hub-rise .34s both cubic-bezier(.16,1,.3,1)}.challenge-hub-pane-2{animation-delay:40ms}.challenge-hub-pane-3{animation-delay:80ms}.challenge-hub-pane-4{animation-delay:.12s}.challenge-hub-pane-5{animation-delay:.16s}.challenge-hub-kicker{color:var(--challenge-hub-kicker)}.challenge-hub.embedded .challenge-hub-card{gap:.95rem}.challenge-page>.challenge-hub-card{width:100%}.challenge-hub-header{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:1rem;align-items:end;padding:clamp(1rem,1.8vw,1.35rem);border-radius:1.4rem;border:1px solid var(--challenge-hub-hero-border);background:var(--challenge-hub-hero-bg);box-shadow:var(--challenge-hub-hero-shadow)}.challenge-hub-header-main{display:grid;gap:.32rem;max-width:34rem}.challenge-hub-header-main h2{margin:.12rem 0 0;font-size:clamp(1.7rem,2.5vw,2.28rem);line-height:.96;letter-spacing:-.035em;color:var(--challenge-hub-title)}.challenge-hub-header-main p,.challenge-category-copy{margin:0;color:var(--challenge-hub-body-text);line-height:1.4;font-size:.92rem}.challenge-hub-header-side{display:grid;gap:.72rem}.challenge-hub-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.challenge-room-panel,.challenge-board-section,.challenge-round-card{border:1px solid var(--card-border, rgba(255, 255, 255, .1));border-radius:18px;background:var(--card-bg, rgba(255, 255, 255, .03));padding:1rem}.challenge-hub-counter{min-width:0;padding:.7rem .8rem;border-radius:.9rem;background:var(--challenge-hub-counter-bg);border:1px solid var(--challenge-hub-counter-border);box-shadow:inset 0 1px color-mix(in srgb,var(--text-inverse) 10%,transparent)}.challenge-hub-counter span{display:block;font-size:.64rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--challenge-hub-counter-label)}.challenge-hub-counter b{display:block;margin-top:.16rem;font-size:1.02rem;color:var(--challenge-hub-counter-value)}.challenge-hub-mode-bar{display:grid;gap:.7rem;padding:.78rem .88rem;border-radius:1rem;background:var(--challenge-hub-mode-bg);border:1px solid var(--challenge-hub-mode-border);box-shadow:var(--challenge-hub-panel-shadow)}.challenge-hub-mode-copy{display:grid;gap:.12rem}.challenge-hub-mode-eyebrow,.challenge-hub-section-kicker{font-size:.73rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--challenge-hub-accent-text)}.challenge-hub-mode-title{margin-top:.08rem;font-size:.94rem;font-weight:800;color:var(--challenge-hub-title)}.challenge-hub-mode-copy p{margin:.14rem 0 0;color:var(--challenge-hub-body-text);font-size:.86rem}.challenge-category-copy{flex:1 1 20rem}.challenge-category-tabs{display:inline-flex;gap:.5rem;flex-wrap:wrap;padding:.2rem;border-radius:999px;background:var(--challenge-hub-tab-shell);border:1px solid var(--challenge-hub-tab-border)}.challenge-category-tab{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid transparent;background:transparent;color:var(--challenge-hub-tab-text);padding:.52rem .92rem;font-weight:700}.challenge-category-tab.active{background:var(--challenge-hub-tab-active-bg);color:var(--challenge-hub-tab-active-text);border-color:transparent;box-shadow:var(--challenge-hub-tab-active-shadow)}.challenge-category-tab:hover:not(.active){background:var(--challenge-hub-tab-hover-bg);color:var(--challenge-hub-tab-hover-text)}.challenge-hub-dashboard,.challenge-hub-rail,.challenge-hub-feature,.challenge-hub-continue,.challenge-hub-collection{display:grid;gap:.8rem}.challenge-hub-dashboard{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.92fr);gap:1rem;align-items:start}.challenge-hub-feature{min-width:0}.challenge-hub-rail{align-content:start}.challenge-hub-section-head{display:flex;justify-content:space-between;align-items:end;gap:.8rem;flex-wrap:wrap}.challenge-hub-section-head h3{margin:.18rem 0 0;font-size:1.02rem;line-height:1.1;color:var(--challenge-hub-title)}.challenge-hub .challenge-card-state-badge{display:inline-flex;align-items:center;min-height:1.35rem;padding:.16rem .5rem;border-radius:999px;font-size:.58rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:var(--challenge-hub-state-badge-bg);color:var(--challenge-hub-state-badge-text)}.challenge-hub .challenge-card{border:1px solid var(--challenge-hub-card-border);border-radius:1.25rem;background:var(--challenge-hub-card-bg);box-shadow:var(--challenge-hub-card-shadow)}.challenge-card-grid,.challenge-board-grid,.challenge-room-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.8rem}.challenge-hub .challenge-card{display:grid;gap:.78rem;text-align:left;border-radius:1.1rem;padding:.95rem;min-height:100%;overflow:visible;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.challenge-hub .challenge-card-featured,.challenge-hub .challenge-card-continue{position:relative;grid-template-columns:1fr;gap:.9rem;padding:1.1rem;overflow:hidden}.challenge-hub .challenge-card-featured{background:var(--challenge-hub-featured-bg);border-color:var(--challenge-hub-featured-border)}.challenge-hub .challenge-card-continue{background:var(--challenge-hub-continue-bg);border-color:var(--challenge-hub-continue-border)}.challenge-hub .challenge-card-featured:before{content:"";position:absolute;inset:-20% auto -20% -10%;width:42%;background:linear-gradient(115deg,transparent 0%,color-mix(in srgb,var(--warning) 14%,transparent) 50%,transparent 100%);opacity:.3;pointer-events:none;animation:challenge-hub-glow 10s ease-in-out infinite}.challenge-hub .challenge-card-header,.challenge-hub .challenge-card-meta,.challenge-hub .challenge-card-body,.challenge-hub .challenge-card-footer{padding:0}.challenge-hub .challenge-card-header{display:grid;gap:.35rem}.challenge-hub .challenge-card-kicker-row,.challenge-card-top,.challenge-shell-header,.challenge-room-player,.challenge-board-row{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.challenge-hub .challenge-card-kicker-row{flex-wrap:wrap}.challenge-hub .challenge-card-header-chips{display:inline-flex;gap:.45rem;flex-wrap:wrap}.challenge-hub .challenge-card-special-tag{display:inline-flex;align-items:center;padding:.22rem .58rem;border-radius:999px;font-size:.68rem;font-weight:700;background:var(--challenge-hub-special-tag-bg);color:var(--challenge-hub-special-tag-text)}.challenge-hub .challenge-card-body{display:flex;flex-direction:column;gap:.52rem}.challenge-hub .challenge-card-footer{margin-top:auto}.challenge-hub .challenge-card.locked{opacity:.92}.challenge-board-section-title,.challenge-room-title,.challenge-round-label{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;opacity:.72}.challenge-hub .challenge-card-title{font-size:1.04rem;font-weight:800;line-height:1.2;color:var(--challenge-hub-title)}.challenge-hub .challenge-card-copy{font-weight:700;color:var(--challenge-hub-title)}.challenge-hub .challenge-card-promise{color:var(--challenge-hub-body-text);font-size:.88rem}.challenge-hub .challenge-card-hero-top{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem;flex-wrap:wrap}.challenge-hub .challenge-card-hero-kicker,.challenge-hub .challenge-card-hero-status,.challenge-hub .challenge-card-hero-context{display:inline-flex;align-items:center;min-height:1.45rem;padding:.16rem .52rem;border-radius:999px;font-size:.59rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.challenge-hub .challenge-card-hero-kicker{background:var(--challenge-hub-featured-kicker-bg);color:var(--challenge-hub-featured-kicker-text)}.challenge-hub .challenge-card-hero-chip-group{display:inline-flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.challenge-hub .challenge-card-hero-status.unlocked{background:var(--challenge-hub-featured-unlocked-bg);color:var(--challenge-hub-featured-unlocked-text)}.challenge-hub .challenge-card-hero-status.locked{background:var(--challenge-hub-featured-locked-bg);color:var(--challenge-hub-featured-locked-text)}.challenge-hub .challenge-card-hero-context{background:var(--challenge-hub-hero-chip-bg);border:1px solid var(--challenge-hub-hero-chip-border);color:var(--challenge-hub-hero-chip-text)}.challenge-hub .challenge-card-hero-title{position:relative;z-index:1;font-size:clamp(1.55rem,3vw,2.5rem);line-height:.92;letter-spacing:-.045em;max-width:11ch}.challenge-hub .challenge-card-continue .challenge-card-hero-title{font-size:clamp(1.35rem,2vw,1.95rem);max-width:14ch}.challenge-hub .challenge-card-hero-copy{position:relative;z-index:1;max-width:22ch;font-size:.98rem;font-weight:800;line-height:1.1;color:var(--challenge-hub-title)}.challenge-hub .challenge-card-continue .challenge-card-hero-copy{max-width:18ch;font-size:.93rem}.challenge-hub .challenge-card-hero-support{position:relative;z-index:1;max-width:34rem;margin-top:-.18rem;font-size:.92rem}.challenge-hub .challenge-card-continue .challenge-card-hero-support{max-width:none;font-size:.86rem}.challenge-card-promise,.challenge-room-lobby-copy,.challenge-board-empty,.challenge-inline-separator{opacity:.84}.challenge-hub .challenge-card-meta{display:grid;gap:.55rem}.challenge-hub .challenge-card-stat,.challenge-hub .challenge-card-lock{border-radius:.75rem;padding:.7rem .85rem}.challenge-hub .challenge-card-stat{display:flex;justify-content:space-between;align-items:center;gap:.8rem;background:var(--challenge-hub-stat-bg);border:1px solid var(--challenge-hub-stat-border);color:var(--challenge-hub-stat-text)}.challenge-hub .challenge-card-stat b{color:var(--challenge-hub-stat-value)}.challenge-hub .challenge-card-stat.muted{background:color-mix(in srgb,var(--challenge-hub-stat-bg) 88%,transparent)}.challenge-hub .challenge-card-lock{display:grid;gap:.3rem;background:var(--challenge-hub-lock-bg);border:1px solid var(--challenge-hub-lock-border);color:var(--challenge-hub-lock-text)}.challenge-hub .challenge-card-hero-lock{position:relative;z-index:1;max-width:32rem}.challenge-hub .challenge-card-hero-meta{position:relative;z-index:1;display:flex;gap:.55rem;flex-wrap:wrap}.challenge-hub .challenge-card-hero-meta-chip{display:grid;gap:.16rem;min-width:0;flex:1 1 120px;padding:.62rem .72rem;border-radius:.82rem;background:var(--challenge-hub-stat-bg);border:1px solid var(--challenge-hub-stat-border)}.challenge-hub .challenge-card-hero-meta-chip span{font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--challenge-hub-stat-text);font-weight:800}.challenge-hub .challenge-card-hero-meta-chip b{font-size:.9rem;color:var(--challenge-hub-stat-value)}.challenge-hub .challenge-card-actions,.challenge-actions,.challenge-room-launch,.challenge-shell-badges,.challenge-hub .challenge-card-badges{display:flex;gap:.65rem;flex-wrap:wrap;align-items:center}.challenge-hub .challenge-card-actions{position:relative;z-index:1;width:auto}.challenge-hub .challenge-card-actions>button{flex:0 1 auto;min-height:40px}.challenge-primary-btn,.challenge-secondary-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.8rem 1.1rem;border-radius:.8rem;border:1px solid transparent;font-size:.98rem;font-weight:700;line-height:1.1;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.challenge-primary-btn{background:var(--button-primary-bg);color:var(--button-primary-text);box-shadow:var(--shadow-sm)}.challenge-primary-btn:hover:not(:disabled){background:var(--button-primary-hover);color:var(--button-primary-text);transform:translateY(-1px)}.challenge-secondary-btn{background:var(--button-secondary-bg);color:var(--button-secondary-text);border-color:var(--border-subtle)}.challenge-secondary-btn:hover:not(:disabled){background:var(--button-secondary-hover);color:var(--text-primary);transform:translateY(-1px)}.challenge-primary-btn:focus-visible,.challenge-secondary-btn:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.challenge-primary-btn:disabled,.challenge-secondary-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.challenge-badge,.challenge-category-badge{display:inline-flex;align-items:center;gap:.25rem;border-radius:999px;padding:.3rem .7rem;font-size:.78rem;background:var(--bg-surface-muted);color:var(--text-secondary);border:1px solid var(--border-subtle)}.challenge-hub .challenge-card:hover{transform:translateY(-2px);box-shadow:var(--challenge-hub-card-hover-shadow)}.challenge-hub-utility-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.challenge-hub-utility-tile{display:grid;gap:.45rem;padding:.8rem .84rem;border-radius:1rem;border:1px solid var(--challenge-hub-utility-border);background:var(--challenge-hub-utility-bg);box-shadow:var(--challenge-hub-card-shadow)}.challenge-hub-utility-top{display:flex;justify-content:space-between;gap:.55rem;align-items:flex-start}.challenge-hub-utility-label{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--challenge-hub-utility-label)}.challenge-hub-utility-value{font-size:1rem;font-weight:800;color:var(--challenge-hub-utility-value)}.challenge-hub-utility-value.locked{color:var(--challenge-hub-featured-locked-text)}.challenge-hub-utility-tile p{margin:0;color:var(--challenge-hub-body-text);font-size:.84rem;line-height:1.35}.challenge-hub-utility-btn{justify-self:start;min-height:34px;padding:.5rem .75rem;font-size:.85rem}.challenge-hub-collection{gap:.7rem}@keyframes challenge-hub-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes challenge-hub-glow{0%,to{transform:translateZ(0);opacity:.12}50%{transform:translate3d(12px,0,0);opacity:.2}}.challenge-category-badge.group{background:#ffbf6929}.challenge-room-roster,.challenge-board-list{display:flex;flex-direction:column;gap:.75rem}.challenge-room-player.online{border-left:3px solid var(--button-primary-bg, #2ec4b6);padding-left:.6rem}.challenge-board-row{align-items:center}.challenge-board-rank,.challenge-board-score{font-weight:700}.challenge-log-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.challenge-input textarea{min-height:110px}.challenge-inline-separator{margin-top:.5rem;font-weight:600}.challenge-shell-card{gap:1.35rem;padding:2.35rem 2.5rem}.challenge-shell-header{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem;align-items:start}.challenge-shell-hero{display:grid;gap:.7rem}.challenge-shell-eyebrow-row,.challenge-shell-title-row,.challenge-shell-subtitle-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.85rem;align-items:center}.challenge-shell-title-row h1{flex:1 1 320px}.challenge-shell-subtitle-row{justify-content:flex-start}.challenge-shell-subtitle-row .course-runtime-subtitle{flex:1 1 auto;max-width:48rem}.challenge-shell-status-row{display:flex;align-items:center}.challenge-shell-header h1{margin:0;font-size:2rem;line-height:1.02;letter-spacing:-.03em}.challenge-shell-header .course-runtime-subtitle{margin:0;color:var(--text-secondary)}.challenge-stage-status{display:inline-flex;align-items:center;width:fit-content;min-height:32px;padding:.35rem .7rem;border-radius:999px;background:linear-gradient(135deg,color-mix(in srgb,var(--button-primary-bg) 18%,transparent),color-mix(in srgb,var(--button-primary-bg) 8%,transparent));border:1px solid color-mix(in srgb,var(--button-primary-bg) 28%,var(--border-subtle));color:var(--text-primary);font-size:.82rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.challenge-shell-aside{display:grid;gap:.75rem;align-self:start;justify-items:stretch}.challenge-shell-aside-content{display:grid;gap:.75rem;width:100%}.challenge-hero-notice{padding:.95rem 1rem;border-radius:1rem;background:linear-gradient(135deg,color-mix(in srgb,var(--button-primary-bg) 14%,transparent),color-mix(in srgb,var(--button-primary-bg) 5%,transparent));border:1px solid color-mix(in srgb,var(--button-primary-bg) 22%,var(--border-subtle))}.challenge-shell-meta{display:inline-flex;width:fit-content;max-width:min(100%,34rem);padding:.44rem .78rem;border-radius:999px;align-items:center;justify-self:end;background:linear-gradient(135deg,color-mix(in srgb,#1f9d62 22%,white 78%),color-mix(in srgb,#45b97c 12%,white 88%));border:1px solid color-mix(in srgb,#1f9d62 30%,var(--border-subtle));box-shadow:0 10px 22px -18px color-mix(in srgb,#1f9d62 45%,transparent)}.challenge-shell-notice-content{color:var(--text-primary);line-height:1.5}.challenge-shell-meta .challenge-shell-notice-content{font-size:.92rem;line-height:1.25;color:color-mix(in srgb,#0f5132 88%,var(--text-primary) 12%)}.challenge-shell-meta .challenge-shell-notice-content b{color:#0f5132}.challenge-shell-notice-content.error{color:var(--danger, #b42318)}.challenge-score-rail{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.95rem}.challenge-score-pill{display:grid;gap:.3rem;min-height:88px;padding:1rem 1.05rem;border-radius:1rem;background:var(--bg-surface-muted);border:1px solid var(--border-subtle)}.challenge-score-pill span{color:var(--text-secondary);font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.challenge-score-pill b{color:var(--text-primary);font-size:1.2rem;line-height:1.15}.challenge-shell-body,.challenge-page-layout{display:grid;gap:1.4rem}.challenge-page-layout.has-sidebar{grid-template-columns:minmax(320px,360px) minmax(0,1fr);align-items:start}.challenge-page-layout.has-sidebar.sidebar-closed{grid-template-columns:4.75rem minmax(0,1fr)}.challenge-page-main{display:grid;gap:1rem;min-width:0}.challenge-shell-main{display:grid;gap:1.4rem;min-width:0}.challenge-shell-sidebar{min-width:0;align-self:stretch}.challenge-shell-sidebar-panel{display:grid;gap:.9rem;align-content:start;height:100%}.challenge-shell-sidebar-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;min-height:auto;padding:0 0 .55rem;border-bottom:1px solid color-mix(in srgb,var(--border-subtle) 88%,transparent)}.challenge-shell-sidebar-title{color:var(--text-secondary);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.challenge-shell-sidebar-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:28px;min-width:28px;padding:.2rem;border-radius:.5rem;border:none;background:transparent;color:var(--text-primary);font-size:.76rem;font-weight:700;line-height:1.15}.challenge-shell-sidebar-toggle-icon{font-size:1.1rem;line-height:1}.challenge-shell-sidebar-toggle:hover{background:color-mix(in srgb,var(--bg-surface-muted) 92%,transparent)}.challenge-shell-sidebar-toggle:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.challenge-shell-sidebar-body{display:grid;gap:1rem;align-content:start}.challenge-shell-sidebar.is-closed .challenge-shell-sidebar-header{min-height:100%;flex-direction:column;justify-content:center;align-items:center;padding:.8rem .4rem;border-bottom:none}.challenge-shell-sidebar.is-closed .challenge-shell-sidebar-title{writing-mode:vertical-rl;transform:rotate(180deg);text-align:center}.challenge-shell-sidebar.is-closed .challenge-shell-sidebar-toggle{min-height:auto;min-width:32px;padding:.35rem .2rem}.challenge-shell-sidebar.is-closed .challenge-shell-sidebar-body{display:none}.challenge-info-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem}.challenge-info-strip.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.challenge-info-card{display:grid;gap:.4rem;min-height:84px;padding:.85rem .95rem;border-radius:1rem;background:color-mix(in srgb,var(--bg-surface-muted) 92%,transparent);border:1px solid var(--border-subtle)}.challenge-info-card span,.challenge-rail-title,.challenge-board-summary-card span,.challenge-room-player-score span,.challenge-result-meta span,.challenge-stage-label{color:var(--text-secondary);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.challenge-info-card b{color:var(--text-primary);line-height:1.45}.challenge-stage-layout,.challenge-match-layout{display:grid;gap:1.4rem;align-items:start;grid-template-columns:minmax(0,1fr)}.challenge-stage-layout.solo-focus{grid-template-columns:minmax(0,1fr)}.challenge-stage-column,.challenge-match-main,.challenge-side-rail,.challenge-match-side{display:grid;gap:1rem;min-width:0}.challenge-stage-card,.challenge-rail-card,.challenge-room-panel,.challenge-board-section{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:1.1rem;box-shadow:var(--shadow-md)}.challenge-stage-card,.challenge-rail-card,.challenge-room-panel{padding:1.35rem}.challenge-stage-card{display:grid;gap:.9rem}.challenge-stage-card.state-playing{border-color:color-mix(in srgb,var(--button-primary-bg) 35%,var(--border-subtle));box-shadow:0 12px 24px color-mix(in srgb,var(--button-primary-bg) 12%,transparent)}.challenge-stage-card.state-countdown{border-color:color-mix(in srgb,var(--warning) 38%,var(--border-subtle));background:linear-gradient(180deg,color-mix(in srgb,var(--warning) 8%,var(--bg-surface)),var(--bg-surface))}.challenge-stage-card.state-answer{border-color:color-mix(in srgb,var(--warning) 40%,var(--border-subtle))}.challenge-stage-card-header,.challenge-board-section-header,.challenge-room-player-top{display:flex;justify-content:space-between;gap:.9rem;align-items:flex-start}.challenge-stage-card-header h3,.challenge-launch-card h3{margin:.2rem 0 0;font-size:1.35rem;line-height:1.15}.challenge-launch-card{min-height:22rem;display:flex;flex-direction:column;justify-content:space-between;gap:1.5rem}.challenge-launch-card p{margin:0;max-width:42rem;color:var(--text-secondary);line-height:1.55}.challenge-launch-top,.challenge-launch-bottom{display:grid;gap:1.2rem}.challenge-launch-bottom{margin-top:auto;align-content:end}.challenge-launch-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;max-width:28rem}.challenge-launch-summary>div{display:grid;gap:.25rem;padding:.85rem .95rem;border-radius:.95rem;background:var(--bg-surface-muted);border:1px solid var(--border-subtle)}.challenge-launch-summary b{font-size:1.05rem;color:var(--text-primary)}.challenge-launch-card .challenge-actions{margin-top:.2rem}.challenge-stage-chip,.challenge-save-chip{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:.35rem .75rem;border-radius:999px;border:1px solid var(--border-subtle);background:var(--bg-surface-muted);color:var(--text-primary);font-size:.84rem;font-weight:700;white-space:nowrap}.challenge-save-chip.state-saved{background:color-mix(in srgb,#16a34a 14%,transparent);border-color:color-mix(in srgb,#16a34a 28%,var(--border-subtle))}.challenge-save-chip.state-saving{background:color-mix(in srgb,var(--button-primary-bg) 14%,transparent);border-color:color-mix(in srgb,var(--button-primary-bg) 26%,var(--border-subtle))}.challenge-save-chip.state-error{background:color-mix(in srgb,var(--danger, #b42318) 10%,transparent);border-color:color-mix(in srgb,var(--danger, #b42318) 24%,var(--border-subtle))}.challenge-round-prompt{font-size:1.45rem;font-weight:800;line-height:1.15;letter-spacing:.01em;color:var(--text-primary)}.challenge-result-card{background:linear-gradient(180deg,color-mix(in srgb,var(--bg-surface) 92%,transparent),color-mix(in srgb,var(--bg-surface-muted) 80%,transparent))}.challenge-result-hero{display:grid;grid-template-columns:minmax(120px,180px) minmax(0,1fr);gap:1rem;align-items:start}.challenge-result-score{display:flex;align-items:center;justify-content:center;min-height:140px;border-radius:1.1rem;background:linear-gradient(135deg,color-mix(in srgb,var(--button-primary-bg) 18%,transparent),color-mix(in srgb,var(--button-primary-bg) 5%,transparent));border:1px solid color-mix(in srgb,var(--button-primary-bg) 24%,var(--border-subtle));font-size:clamp(2rem,4vw,3rem);font-weight:900;letter-spacing:-.04em}.challenge-result-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.challenge-result-meta>div,.challenge-board-summary-card{display:grid;gap:.25rem;padding:.85rem .95rem;border-radius:.95rem;background:var(--bg-surface-muted);border:1px solid var(--border-subtle)}.challenge-result-meta b,.challenge-board-summary-card b{font-size:1.08rem;color:var(--text-primary)}.challenge-result-copy,.challenge-room-lobby-copy{color:var(--text-secondary);line-height:1.55}.challenge-rail-card{display:grid;gap:.85rem;background:color-mix(in srgb,var(--bg-surface) 92%,transparent);border-color:color-mix(in srgb,var(--border-subtle) 92%,transparent);box-shadow:var(--shadow-sm)}.challenge-rail-list,.challenge-round-history{display:grid;gap:.7rem}.challenge-rail-list>div,.challenge-round-history-row{display:flex;justify-content:space-between;gap:.75rem;align-items:center;padding:.75rem .85rem;border-radius:.85rem;background:var(--bg-surface-muted);border:1px solid var(--border-subtle)}.challenge-rail-list span,.challenge-round-history-row span{color:var(--text-secondary)}.challenge-host-strip{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.85rem;align-items:center;padding:.95rem 1rem;border-radius:1rem;background:color-mix(in srgb,var(--bg-surface-muted) 90%,transparent);border:1px solid var(--border-subtle)}.challenge-host-status{color:var(--text-secondary);line-height:1.5}.challenge-room-player-card{display:grid;gap:.75rem;padding:.9rem .95rem;border-radius:.95rem;background:var(--bg-surface-muted);border:1px solid var(--border-subtle)}.challenge-room-player-card.online{border-color:color-mix(in srgb,var(--button-primary-bg) 34%,var(--border-subtle))}.challenge-room-player-card.self{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--button-primary-bg) 30%,transparent)}.challenge-room-player-badges{display:flex;gap:.45rem;flex-wrap:wrap}.challenge-room-player-score{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.challenge-room-player-score b{font-size:1.05rem}.challenge-board-surface{display:grid;gap:1rem}.challenge-board-surface.variant-sidebar{gap:.85rem}.challenge-board-surface.variant-sidebar .challenge-board-grid{grid-template-columns:1fr;gap:.85rem}.challenge-board-surface.variant-sidebar .challenge-board-section{padding:.9rem;gap:.75rem;box-shadow:0 12px 26px -22px color-mix(in srgb,var(--button-primary-bg) 38%,transparent)}.challenge-board-surface.variant-sidebar .challenge-board-row{padding:.72rem .8rem}.challenge-board-surface.variant-sidebar .challenge-board-section-header{gap:.65rem}.challenge-board-surface.variant-sidebar .challenge-board-section:first-child{border-color:color-mix(in srgb,var(--button-primary-bg) 28%,var(--border-subtle));background:linear-gradient(180deg,color-mix(in srgb,var(--button-primary-bg) 8%,var(--bg-surface)),var(--bg-surface))}.challenge-board-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.challenge-board-section{display:grid;gap:.9rem}.challenge-board-section.accent-room{border-color:color-mix(in srgb,var(--button-primary-bg) 30%,var(--border-subtle))}.challenge-board-section.accent-daily{border-color:color-mix(in srgb,var(--warning) 30%,var(--border-subtle))}.challenge-board-section.accent-weekly{border-color:color-mix(in srgb,#2563eb 26%,var(--border-subtle))}.challenge-board-section-header{align-items:center}.challenge-board-row{padding:.8rem .9rem;border-radius:.85rem;background:var(--bg-surface-muted);border:1px solid var(--border-subtle)}.challenge-board-row.rank-1{background:linear-gradient(135deg,color-mix(in srgb,var(--warning) 16%,transparent),var(--bg-surface-muted))}.challenge-board-row.rank-2{background:linear-gradient(135deg,color-mix(in srgb,#94a3b8 12%,transparent),var(--bg-surface-muted))}.challenge-board-row.rank-3{background:linear-gradient(135deg,color-mix(in srgb,#b45309 12%,transparent),var(--bg-surface-muted))}.challenge-board-name b{display:block}.challenge-actions{gap:.75rem}.challenge-actions>button{min-height:46px}.challenge-log-field input,.challenge-input textarea{background:var(--bg-surface);border-color:var(--border-subtle)}.group-copy-card{gap:1rem}.group-copy-settings-panel,.group-copy-listen-panel,.group-copy-expected,.group-copy-answer-card,.group-copy-rank-row,.group-copy-podium-card{border:1px solid var(--border-subtle);background:color-mix(in srgb,var(--bg-surface-muted) 88%,transparent)}.group-copy-settings-panel{display:grid;gap:.95rem;padding:1rem;border-radius:1rem}.group-copy-settings-head,.group-copy-answer-top,.group-copy-answer-meta,.group-copy-rank-row{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.group-copy-settings-head h4{margin:.18rem 0 0;font-size:1.1rem;color:var(--text-primary)}.group-copy-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:.8rem}.group-copy-settings-grid .settings-field{min-width:0}.group-copy-settings-grid input,.group-copy-settings-grid select{width:100%}.group-copy-settings-chips,.group-copy-round-meta{display:flex;flex-wrap:wrap;gap:.55rem}.group-copy-settings-chips span,.group-copy-round-meta span{display:inline-flex;align-items:center;min-height:32px;padding:.35rem .65rem;border-radius:999px;border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-secondary);font-size:.84rem;font-weight:700}.group-copy-listen-panel{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem;border-radius:1rem}.group-copy-listen-panel p{margin:.22rem 0 0;color:var(--text-secondary);line-height:1.45}.group-copy-answer-input textarea{min-height:140px;resize:vertical;font-size:1.05rem;line-height:1.45}.group-copy-expected{display:grid;gap:.35rem;padding:.95rem 1rem;border-radius:.95rem}.group-copy-expected span,.group-copy-answer-meta,.group-copy-answer-top span{color:var(--text-secondary);font-size:.82rem;font-weight:800}.group-copy-expected b{color:var(--text-primary);font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.2;overflow-wrap:anywhere}.group-copy-answer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem}.group-copy-answer-card{display:grid;gap:.7rem;min-width:0;padding:.9rem;border-radius:.95rem}.group-copy-answer-card.self,.group-copy-rank-row.self{border-color:color-mix(in srgb,var(--button-primary-bg) 36%,var(--border-subtle));background:linear-gradient(135deg,color-mix(in srgb,var(--button-primary-bg) 10%,var(--bg-surface-muted)),color-mix(in srgb,var(--bg-surface-muted) 92%,transparent))}.group-copy-answer-top b,.group-copy-rank-row b,.group-copy-podium-card b{min-width:0;color:var(--text-primary);overflow-wrap:anywhere}.group-copy-answer-copy{min-height:2.8rem;padding:.7rem .75rem;border-radius:.8rem;background:var(--bg-surface);color:var(--text-primary);line-height:1.45;overflow-wrap:anywhere}.group-copy-answer-meta{justify-content:flex-start;flex-wrap:wrap}.group-copy-ranking-list{display:grid;gap:.55rem}.group-copy-rank-row{min-width:0;padding:.78rem .85rem;border-radius:.85rem;animation:group-copy-rank-move .38s ease both;animation-delay:calc(var(--rank, 1) * 40ms)}.group-copy-rank-row span:first-child{min-width:2.6rem;font-weight:900;color:var(--text-primary)}.group-copy-rank-row span:not(:first-child){color:var(--text-secondary);font-weight:700}.group-copy-rank-row.movement-up span:last-child{color:var(--success)}.group-copy-rank-row.movement-down span:last-child{color:var(--danger)}.group-copy-reaction-row{display:flex;flex-wrap:wrap;gap:.5rem}.group-copy-reaction-chip{min-height:2.2rem;border:1px solid var(--border-subtle);border-radius:999px;background:var(--bg-surface);color:var(--text-secondary);padding:.35rem .75rem;font-weight:800;cursor:pointer}.group-copy-reaction-chip.active{border-color:color-mix(in srgb,var(--button-primary-bg) 36%,var(--border-subtle));color:var(--button-primary-bg);background:color-mix(in srgb,var(--button-primary-bg) 10%,var(--bg-surface))}.group-copy-ranking-list.final .group-copy-rank-row{min-height:3.25rem}.group-copy-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;align-items:end}.group-copy-podium-card{display:grid;gap:.4rem;min-width:0;padding:1rem;border-radius:1rem;text-align:center}.group-copy-podium-card span{color:var(--text-secondary);font-weight:900}.group-copy-podium-card strong{color:var(--text-primary);font-size:1.4rem}.group-copy-podium-card.place-1{min-height:9rem;border-color:color-mix(in srgb,var(--warning) 42%,var(--border-subtle));background:linear-gradient(180deg,color-mix(in srgb,var(--warning) 18%,transparent),var(--bg-surface-muted))}.group-copy-podium-card.place-2{min-height:7.6rem}.group-copy-podium-card.place-3{min-height:6.8rem}@keyframes group-copy-rank-move{0%{opacity:.65;transform:translateY(calc(var(--rank-delta, 0) * 1.45rem))}to{opacity:1;transform:translateY(0)}}@media (max-width: 900px){.challenge-room-grid,.challenge-hub-header,.challenge-hub-dashboard{grid-template-columns:1fr}.challenge-hub-stats{width:100%;justify-content:flex-start}.challenge-hub-mode-bar,.challenge-hub-section-head,.challenge-hub .challenge-card-hero-top{flex-direction:column;align-items:stretch}.challenge-hub-header-main h2{max-width:none}.challenge-hub .challenge-card-featured,.challenge-hub .challenge-card-continue{padding:1rem}.challenge-hub-utility-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.challenge-shell-header,.challenge-stage-layout,.challenge-match-layout,.challenge-result-hero,.challenge-board-summary-grid,.challenge-page-layout.has-sidebar,.challenge-page-layout.has-sidebar.sidebar-closed{grid-template-columns:1fr}.challenge-shell-card{padding:1.5rem}.challenge-shell-title-row,.challenge-shell-subtitle-row,.challenge-shell-eyebrow-row{flex-direction:column;align-items:flex-start}.challenge-shell-meta{max-width:100%;justify-self:start}.challenge-shell-sidebar{order:0}.challenge-shell-sidebar-panel{height:auto}.challenge-shell-sidebar-body{align-content:start}.challenge-shell-sidebar.is-closed .challenge-shell-sidebar-header{min-height:auto;justify-content:space-between;align-items:center;padding:.9rem 1rem;border-bottom:1px solid color-mix(in srgb,var(--border-subtle) 88%,transparent)}.challenge-shell-sidebar.is-closed .challenge-shell-sidebar-title,.challenge-shell-sidebar.is-closed .challenge-shell-sidebar-toggle{writing-mode:horizontal-tb;transform:none}.challenge-shell-sidebar.is-closed .challenge-shell-sidebar-toggle{padding:.55rem .85rem}.challenge-page-main{order:1}}@media (max-width: 640px){.challenge-hub-header{padding:.95rem}.challenge-category-tabs{width:100%;justify-content:stretch}.challenge-hub-stats,.challenge-hub-utility-grid,.challenge-hub .challenge-card-hero-meta,.challenge-card-grid{grid-template-columns:1fr}.challenge-hub .challenge-card-hero-meta{display:grid}.challenge-hub .challenge-card-actions>button{flex:1 1 auto}.challenge-category-tab{flex:1 1 0;justify-content:center;text-align:center}.challenge-score-rail,.challenge-info-strip,.challenge-result-meta,.group-copy-settings-grid,.group-copy-podium,.challenge-info-strip.compact,.challenge-launch-summary,.challenge-log-grid{grid-template-columns:1fr}.challenge-shell-header,.challenge-card-top,.challenge-board-row,.challenge-room-player,.challenge-stage-card-header,.challenge-board-section-header,.challenge-room-player-top,.challenge-host-strip,.group-copy-settings-head,.group-copy-listen-panel,.group-copy-rank-row{flex-direction:column}}@media (prefers-reduced-motion: reduce){.challenge-hub-pane,.challenge-hub .challenge-card-featured:before,.group-copy-rank-row{animation:none}.challenge-hub .challenge-card,.challenge-primary-btn,.challenge-secondary-btn{transition:none}}.challenge-hub{--challenge-hub-command-border: color-mix(in srgb, var(--warning) 30%, var(--border-subtle));--challenge-hub-scene-a: color-mix(in srgb, var(--warning) 22%, transparent);--challenge-hub-scene-b: color-mix(in srgb, var(--success) 18%, transparent);--challenge-hub-scene-c: color-mix(in srgb, var(--accent) 18%, transparent);--challenge-hub-lounge-bg: radial-gradient(circle at 2% 10%, var(--challenge-hub-scene-a), transparent 32%), radial-gradient(circle at 88% 12%, var(--challenge-hub-scene-b), transparent 30%), radial-gradient(circle at 55% 100%, var(--challenge-hub-scene-c), transparent 35%), linear-gradient(145deg, color-mix(in srgb, var(--bg-surface-strong) 88%, transparent) 0%, color-mix(in srgb, var(--bg-surface) 95%, transparent) 55%, color-mix(in srgb, var(--bg-elevated) 94%, transparent) 100%);--challenge-hub-lounge-shadow: var(--shadow-lg);--challenge-hub-featured-bg: radial-gradient(circle at 84% 18%, color-mix(in srgb, var(--warning) 18%, transparent), transparent 28%), radial-gradient(circle at 2% 84%, color-mix(in srgb, var(--success) 10%, transparent), transparent 36%), linear-gradient(150deg, color-mix(in srgb, var(--bg-surface) 97%, transparent) 0%, color-mix(in srgb, var(--bg-elevated) 92%, transparent) 54%, color-mix(in srgb, var(--bg-surface-strong) 94%, transparent) 100%);--challenge-hub-featured-border: color-mix(in srgb, var(--warning) 34%, var(--border-strong));--challenge-hub-launch-bg: color-mix(in srgb, var(--bg-surface) 92%, transparent);--challenge-hub-launch-border: color-mix(in srgb, var(--border-strong) 44%, transparent);--challenge-hub-launch-label: var(--text-muted);--challenge-hub-launch-value: var(--text-primary);--challenge-hub-launch-copy: var(--text-secondary);--challenge-hub-launch-badge-bg: color-mix(in srgb, var(--warning-soft) 90%, transparent);--challenge-hub-launch-badge-text: color-mix(in srgb, var(--warning) 82%, var(--text-primary));--challenge-hub-chip-bg: color-mix(in srgb, var(--bg-surface) 84%, transparent);--challenge-hub-chip-border: color-mix(in srgb, var(--border-subtle) 90%, transparent);--challenge-hub-chip-text: var(--text-secondary);--challenge-hub-lock-bg: color-mix(in srgb, var(--warning-soft) 80%, var(--bg-surface));--challenge-hub-lock-border: color-mix(in srgb, var(--warning-border) 88%, var(--border-subtle));--challenge-hub-lock-text: var(--text-primary);--challenge-hub-shelf-bg: color-mix(in srgb, var(--bg-surface) 84%, transparent);--challenge-hub-shelf-border: color-mix(in srgb, var(--border-strong) 36%, transparent);--challenge-hub-shelf-primary-border: color-mix(in srgb, var(--warning) 20%, var(--border-subtle));--challenge-hub-shelf-secondary-border: color-mix(in srgb, var(--accent) 14%, var(--border-subtle));--challenge-hub-card-bg: color-mix(in srgb, var(--bg-surface) 76%, transparent);--challenge-hub-card-border: color-mix(in srgb, var(--border-subtle) 92%, transparent);--challenge-hub-card-shadow: 0 6px 16px rgba(0, 0, 0, .06)}:root[data-theme=light] .challenge-hub{--challenge-hub-command-border: rgba(251, 146, 60, .28);--challenge-hub-scene-a: rgba(255, 191, 105, .34);--challenge-hub-scene-b: rgba(46, 196, 182, .2);--challenge-hub-scene-c: rgba(244, 114, 182, .12);--challenge-hub-lounge-bg: radial-gradient(circle at 2% 10%, rgba(255, 191, 105, .36), transparent 32%), radial-gradient(circle at 88% 12%, rgba(46, 196, 182, .22), transparent 30%), radial-gradient(circle at 55% 100%, rgba(251, 146, 60, .14), transparent 35%), linear-gradient(145deg, #fff9ee 0%, #fff7fb 48%, #f5fbff 100%);--challenge-hub-lounge-shadow: 0 18px 40px rgba(31, 41, 55, .08);--challenge-hub-featured-bg: radial-gradient(circle at 85% 18%, rgba(245, 158, 11, .14), transparent 28%), radial-gradient(circle at 4% 82%, rgba(15, 118, 110, .1), transparent 36%), linear-gradient(150deg, #fffaf1 0%, #fff8fd 42%, #f6fbff 100%);--challenge-hub-launch-bg: rgba(255, 255, 255, .82);--challenge-hub-launch-border: rgba(148, 163, 184, .22);--challenge-hub-launch-label: #64748b;--challenge-hub-launch-value: #0f172a;--challenge-hub-launch-copy: #475569;--challenge-hub-launch-badge-bg: rgba(245, 158, 11, .14);--challenge-hub-launch-badge-text: #b45309;--challenge-hub-chip-bg: rgba(255, 255, 255, .78);--challenge-hub-chip-border: rgba(148, 163, 184, .24);--challenge-hub-chip-text: #475569;--challenge-hub-lock-text: #0f172a;--challenge-hub-shelf-bg: rgba(255, 255, 255, .7);--challenge-hub-shelf-border: rgba(148, 163, 184, .18);--challenge-hub-shelf-primary-border: rgba(251, 146, 60, .2);--challenge-hub-shelf-secondary-border: rgba(99, 102, 241, .14);--challenge-hub-card-bg: rgba(255, 255, 255, .76);--challenge-hub-card-border: rgba(148, 163, 184, .2);--challenge-hub-card-shadow: 0 6px 14px rgba(15, 23, 42, .05)}.challenge-hub.is-group{--challenge-hub-kicker: color-mix(in srgb, var(--accent) 72%, var(--warning));--challenge-hub-accent-text: color-mix(in srgb, var(--accent) 82%, var(--text-primary));--challenge-hub-tab-active-bg: linear-gradient(135deg, color-mix(in srgb, var(--accent) 80%, #38bdf8) 0%, color-mix(in srgb, var(--warning) 60%, var(--danger)) 100%);--challenge-hub-featured-border: color-mix(in srgb, var(--accent) 28%, var(--border-strong));--challenge-hub-scene-a: color-mix(in srgb, var(--accent) 24%, transparent);--challenge-hub-scene-b: color-mix(in srgb, var(--warning) 18%, transparent);--challenge-hub-scene-c: color-mix(in srgb, var(--success) 16%, transparent)}.challenge-hub-card{position:relative;width:100%;max-width:none;align-self:center;gap:.9rem}.challenge-page.challenge-page-cw-games .challenge-hub-card,.course-page.course-page-cw-games .challenge-hub-card,.course-card.course-card-cw-games .challenge-hub-card{width:100%;max-width:none}.challenge-hub-pane{animation:challenge-hub-rise .32s both cubic-bezier(.16,1,.3,1)}.challenge-hub-pane-1{animation-delay:0ms}.challenge-hub-pane-2{animation-delay:45ms}.challenge-hub-lounge{position:relative;display:grid;gap:.85rem;padding:clamp(.88rem,1.55vw,1.08rem);border-radius:1.5rem;border:1px solid var(--challenge-hub-command-border);background:var(--challenge-hub-lounge-bg);box-shadow:var(--challenge-hub-lounge-shadow);overflow:hidden}.challenge-hub-lounge-light{position:absolute;border-radius:999px;filter:blur(28px);opacity:.3;pointer-events:none}.challenge-hub-lounge-light-a{top:-44px;right:12%;width:160px;height:160px;background:color-mix(in srgb,var(--warning) 42%,transparent)}.challenge-hub-lounge-light-b{bottom:-68px;left:8%;width:220px;height:220px;background:color-mix(in srgb,var(--accent) 22%,transparent)}.challenge-hub-header{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.96fr);gap:.8rem;align-items:end}.challenge-hub-title-block{display:grid;gap:.18rem;max-width:31rem}.challenge-hub-title-block h2{margin:.08rem 0 0;max-width:12ch;font-size:clamp(1.78rem,2.9vw,2.65rem);line-height:.93;letter-spacing:-.045em;color:var(--challenge-hub-title)}.challenge-hub-title-block p{margin:0;max-width:34ch;color:var(--challenge-hub-body-text);line-height:1.25;font-size:.84rem}.challenge-hub-header-side{display:grid;gap:.55rem;justify-self:end;width:min(100%,24rem)}.challenge-hub-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.42rem;width:100%}.challenge-hub-mode-tabs{justify-self:end;align-self:start}.challenge-hub-counter{min-width:0;padding:.54rem .64rem;border-radius:.82rem;background:var(--challenge-hub-counter-bg);border:1px solid var(--challenge-hub-counter-border)}.challenge-hub-counter span{display:block;font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--challenge-hub-counter-label)}.challenge-hub-counter b{display:block;margin-top:.16rem;font-size:.98rem;color:var(--challenge-hub-counter-value)}.challenge-hub-command-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.26fr) minmax(340px,.94fr);gap:.82rem;align-items:start}.challenge-hub-featured-panel,.challenge-hub-launch-card,.challenge-hub-shelf,.challenge-hub-lane-card{position:relative;overflow:hidden}.challenge-hub-featured-panel{display:grid;gap:.7rem;padding:clamp(.92rem,1.5vw,1.16rem);border-radius:1.35rem;border:1px solid var(--challenge-hub-featured-border);background:var(--challenge-hub-featured-bg);box-shadow:0 18px 38px #00000024}.challenge-hub-featured-panel:before{content:"";position:absolute;inset:auto -8% -26% auto;width:38%;aspect-ratio:1;border-radius:999px;background:radial-gradient(circle,color-mix(in srgb,var(--warning) 24%,transparent) 0%,transparent 72%);opacity:.45;pointer-events:none;animation:challenge-hub-glow 10s ease-in-out infinite}.challenge-hub-featured-top,.challenge-hub-shelf-head,.challenge-hub-launch-head{display:flex;justify-content:space-between;gap:.55rem;align-items:flex-start;flex-wrap:wrap}.challenge-hub-featured-chip-row,.challenge-hub-featured-badges,.challenge-hub-featured-actions,.challenge-hub-launch-actions,.challenge-hub-launch-meta,.challenge-hub-lane-card-actions{display:flex;gap:.42rem;flex-wrap:wrap;align-items:center}.challenge-hub-featured-chip,.challenge-hub-lane-card-tag,.challenge-hub-launch-badge{display:inline-flex;align-items:center;min-height:1.35rem;padding:.14rem .48rem;border-radius:999px;font-size:.56rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.challenge-hub-featured-chip.strong{background:var(--challenge-hub-featured-kicker-bg);color:var(--challenge-hub-featured-kicker-text)}.challenge-hub-featured-chip.muted,.challenge-hub-featured-chip.context{background:var(--challenge-hub-chip-bg);border:1px solid var(--challenge-hub-chip-border);color:var(--challenge-hub-chip-text)}.challenge-hub-featured-chip.status.unlocked,.challenge-hub-launch-badge{background:var(--challenge-hub-launch-badge-bg);color:var(--challenge-hub-launch-badge-text)}.challenge-hub-featured-chip.status.locked{background:var(--challenge-hub-featured-locked-bg);color:var(--challenge-hub-featured-locked-text)}.challenge-hub-featured-title{position:relative;z-index:1;margin:0;max-width:11ch;font-size:clamp(1.8rem,3vw,3rem);line-height:.92;letter-spacing:-.05em;color:var(--challenge-hub-title)}.challenge-hub-featured-lead{position:relative;z-index:1;margin:0;max-width:27ch;font-size:.98rem;font-weight:800;line-height:1.08;color:var(--challenge-hub-title)}.challenge-hub-featured-support{position:relative;z-index:1;margin:0;max-width:38rem;color:var(--challenge-hub-body-text);font-size:.82rem;line-height:1.28}.challenge-hub-featured-panel .challenge-badge{padding:.2rem .5rem;font-size:.66rem;background:color-mix(in srgb,var(--bg-surface) 82%,transparent);border-color:color-mix(in srgb,var(--border-strong) 24%,transparent)}.challenge-hub-featured-lock,.challenge-hub-lane-card-lock{display:grid;gap:.16rem;padding:.58rem .7rem;border-radius:.84rem;background:var(--challenge-hub-lock-bg);border:1px solid var(--challenge-hub-lock-border);color:var(--challenge-hub-lock-text)}.challenge-hub-featured-meta,.challenge-hub-lane-card-meta{display:flex;gap:.4rem;flex-wrap:wrap}.challenge-hub-featured-meta-chip,.challenge-hub-lane-card-meta{min-width:0;padding:.48rem .56rem;border-radius:.8rem;background:var(--challenge-hub-stat-bg);border:1px solid var(--challenge-hub-stat-border)}.challenge-hub-featured-meta-chip{display:grid;gap:.14rem;flex:0 1 150px}.challenge-hub-featured-meta-chip span,.challenge-hub-lane-card-meta span{font-size:.56rem;letter-spacing:.11em;text-transform:uppercase;font-weight:800;color:var(--challenge-hub-stat-text)}.challenge-hub-featured-meta-chip b,.challenge-hub-lane-card-meta b{font-size:.84rem;color:var(--challenge-hub-stat-value)}.challenge-hub-featured-actions{position:relative;z-index:1}.challenge-hub-launch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;align-content:start}.challenge-hub-launch-card{display:grid;gap:.5rem;padding:.72rem .76rem;border-radius:1rem;border:1px solid var(--challenge-hub-launch-border);background:var(--challenge-hub-launch-bg);box-shadow:var(--challenge-hub-card-shadow);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.challenge-hub-launch-card.is-continue{grid-column:1 / -1;background:radial-gradient(circle at top right,color-mix(in srgb,var(--warning) 12%,transparent),transparent 36%),var(--challenge-hub-launch-bg)}.challenge-hub-launch-card:hover,.challenge-hub-lane-card:hover{transform:translateY(-1px);box-shadow:0 10px 20px #00000014}.challenge-hub-launch-label{font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--challenge-hub-launch-label)}.challenge-hub-launch-main{display:grid;gap:.16rem}.challenge-hub-launch-value{font-size:1rem;font-weight:800;line-height:1.02;color:var(--challenge-hub-launch-value)}.challenge-hub-launch-card.is-continue .challenge-hub-launch-value{font-size:1.08rem}.challenge-hub-launch-copy{margin:0;color:var(--challenge-hub-launch-copy);font-size:.76rem;line-height:1.22}.challenge-hub-launch-meta-chip{display:inline-flex;align-items:center;padding:.18rem .42rem;border-radius:999px;background:var(--challenge-hub-stat-bg);border:1px solid var(--challenge-hub-stat-border);color:var(--challenge-hub-stat-value);font-size:.64rem;font-weight:700}.challenge-hub-launch-actions .challenge-primary-btn,.challenge-hub-launch-actions .challenge-secondary-btn{min-height:32px;padding:.42rem .68rem;font-size:.78rem}.challenge-hub-shelves{display:grid;gap:.56rem}.challenge-hub-shelf{display:grid;gap:.48rem;padding:.62rem .7rem .76rem;border-radius:1.05rem;border:1px solid var(--challenge-hub-shelf-border);background:var(--challenge-hub-shelf-bg);box-shadow:0 8px 14px #0000000d;animation:challenge-hub-rise .32s both cubic-bezier(.16,1,.3,1)}.challenge-hub-shelf-primary{border-color:var(--challenge-hub-shelf-primary-border)}.challenge-hub-shelf-secondary{border-color:var(--challenge-hub-shelf-secondary-border)}.challenge-hub-shelf-head{gap:.4rem}.challenge-hub-shelf-head h3{margin:.12rem 0 0;font-size:.95rem;line-height:1.08;color:var(--challenge-hub-title)}.challenge-hub-shelf .challenge-category-copy{font-size:.76rem;line-height:1.2;max-width:34ch;color:var(--text-muted)}.challenge-hub-shelf-track{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.56rem}.challenge-hub .challenge-card{border:1px solid var(--challenge-hub-card-border);border-radius:.95rem;background:var(--challenge-hub-card-bg);box-shadow:var(--challenge-hub-card-shadow)}.challenge-hub-lane-card{display:grid;gap:.42rem;text-align:left;padding:.7rem;min-height:100%;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.challenge-hub-lane-card-top{display:flex;justify-content:space-between;gap:.4rem;align-items:flex-start;flex-wrap:wrap}.challenge-hub-lane-card .course-module-eyebrow.challenge{padding:.16rem .42rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--border-subtle) 88%,transparent);background:transparent;color:var(--text-muted);font-size:.54rem;letter-spacing:.12em}.challenge-hub-lane-card-tag{background:var(--challenge-hub-launch-badge-bg);color:var(--challenge-hub-launch-badge-text);opacity:.82}.challenge-hub-lane-card-title{font-size:.94rem;font-weight:800;line-height:1.12;color:var(--challenge-hub-title)}.challenge-hub-lane-card-support{color:var(--challenge-hub-body-text);font-size:.76rem;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.1em}.challenge-hub-lane-card-meta{display:grid;gap:.14rem;width:fit-content;min-width:min(100%,10rem)}.challenge-hub-lane-card-actions{margin-top:auto;gap:.36rem}.challenge-hub-lane-card-actions .challenge-primary-btn,.challenge-hub-lane-card-actions .challenge-secondary-btn{min-height:34px;padding:.46rem .7rem;font-size:.8rem}.challenge-hub.embedded .challenge-hub-lounge{padding:.8rem;border-radius:1.3rem}.challenge-hub.embedded .challenge-hub-title-block h2{font-size:clamp(1.52rem,2.3vw,2.08rem)}.challenge-hub.embedded .challenge-hub-featured-panel{padding:.88rem}.challenge-hub.embedded .challenge-hub-shelf{padding:.66rem .72rem .78rem}@media (max-width: 960px){.challenge-hub-header,.challenge-hub-command-grid{grid-template-columns:1fr}.challenge-hub-title-block h2{max-width:none}.challenge-hub-header-side,.challenge-hub-stats{justify-self:stretch;width:100%}.challenge-hub-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.challenge-hub-launch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.challenge-hub-lounge{padding:.88rem}.challenge-hub-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.challenge-hub-featured-title{max-width:none;font-size:clamp(1.65rem,9vw,2.4rem)}.challenge-hub-launch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.challenge-hub-shelf,.challenge-hub-shelf-head{padding-right:0}.challenge-hub-shelf-track{display:grid;grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:1fr;gap:.55rem;overflow-x:visible;overscroll-behavior-x:auto;scroll-snap-type:none;padding:0}.challenge-hub-shelf-track>*{scroll-snap-align:none}}@media (max-width: 640px){.challenge-hub-header{gap:.68rem}.challenge-hub-mode-tabs{justify-self:stretch}.challenge-category-tabs{width:100%;justify-content:stretch}.challenge-category-tab{flex:1 1 0}.challenge-hub-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.challenge-hub-counter{padding:.5rem .52rem}.challenge-hub-counter span{font-size:.56rem}.challenge-hub-counter b{font-size:.88rem}.challenge-hub-launch-grid,.challenge-hub-featured-meta{grid-template-columns:1fr}.challenge-hub-featured-meta{display:grid}.challenge-hub-featured-actions,.challenge-hub-launch-actions,.challenge-hub-lane-card-actions{flex-direction:column;align-items:stretch}.challenge-hub-featured-actions>button,.challenge-hub-launch-actions>button,.challenge-hub-lane-card-actions>button{width:100%}.challenge-hub-launch-card.is-continue{grid-column:auto}.challenge-hub-shelf-track{grid-auto-columns:minmax(15rem,88vw)}}@media (min-width: 1400px){.challenge-page.challenge-page-cw-games,.course-page.course-page-cw-games{padding-left:.45rem;padding-right:.45rem}.course-card.course-card-cw-games{padding:.45rem}.challenge-page.challenge-page-cw-games .challenge-hub-command-grid,.course-page.course-page-cw-games .challenge-hub-command-grid{grid-template-columns:minmax(0,1.34fr) minmax(360px,.94fr);gap:.95rem}.challenge-page.challenge-page-cw-games .challenge-hub-shelf-track,.course-page.course-page-cw-games .challenge-hub-shelf-track{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}}@media (min-width: 1680px){.challenge-page.challenge-page-cw-games,.course-page.course-page-cw-games{max-width:1920px;padding-left:.35rem;padding-right:.35rem}.course-card.course-card-cw-games{padding:.35rem}.challenge-page.challenge-page-cw-games .challenge-hub-command-grid,.course-page.course-page-cw-games .challenge-hub-command-grid{grid-template-columns:minmax(0,1.42fr) minmax(400px,.9fr);gap:1rem}.challenge-page.challenge-page-cw-games .challenge-hub-title-block,.course-page.course-page-cw-games .challenge-hub-title-block{max-width:40rem}.challenge-page.challenge-page-cw-games .challenge-hub-shelf-track,.course-page.course-page-cw-games .challenge-hub-shelf-track{grid-template-columns:repeat(auto-fit,minmax(244px,1fr))}}@media (prefers-reduced-motion: reduce){.challenge-hub-pane,.challenge-hub-featured-panel:before{animation:none}.challenge-hub-launch-card,.challenge-hub-lane-card,.challenge-primary-btn,.challenge-secondary-btn{transition:none}}.challenge-hub .challenge-hub-lounge{gap:.72rem;border-radius:1.05rem;background:color-mix(in srgb,var(--bg-surface) 84%,transparent);box-shadow:var(--shadow-sm)}.challenge-hub .challenge-hub-lounge-light,.challenge-hub .challenge-hub-featured-panel:before{display:none}.challenge-hub .challenge-hub-header{align-items:start}.challenge-hub .challenge-hub-title-block h2{max-width:none;font-size:clamp(1.35rem,2.1vw,2rem);line-height:1;letter-spacing:0}.challenge-hub .challenge-hub-title-block p{max-width:46rem}.cw-games-play-style{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem;min-width:0;padding:.28rem;border:1px solid color-mix(in srgb,var(--border-subtle) 74%,transparent);border-radius:.9rem;background:color-mix(in srgb,var(--bg-app) 44%,transparent)}.cw-games-style-button{display:flex;align-items:center;justify-content:center;min-width:0;min-height:2.8rem;padding:.42rem .62rem;border:1px solid transparent;border-radius:.72rem;background:transparent;color:var(--text-secondary);text-align:center;cursor:pointer}.cw-games-style-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-games-style-button span{color:inherit;font-size:.9rem;font-weight:900;line-height:1.1}.cw-games-style-button:hover{border-color:color-mix(in srgb,var(--border-strong) 54%,transparent);background:color-mix(in srgb,var(--bg-surface-muted) 68%,transparent);color:var(--text-primary)}.cw-games-style-button.active{border-color:color-mix(in srgb,var(--accent) 42%,var(--border-subtle));background:linear-gradient(135deg,color-mix(in srgb,var(--button-primary-bg) 78%,var(--warning)),color-mix(in srgb,var(--button-primary-bg) 92%,var(--danger)));color:#fffaf5;box-shadow:0 8px 18px color-mix(in srgb,var(--button-primary-bg) 18%,transparent)}.challenge-hub-primary-actions,.play-friends-primary-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.52rem}.challenge-hub-primary-actions>button,.play-friends-primary-actions>button{min-height:2.55rem;justify-content:center;white-space:normal}.challenge-hub .challenge-hub-command-grid{grid-template-columns:1fr;max-width:100%}.challenge-hub .challenge-hub-featured-panel{gap:.55rem;padding:.82rem;border-radius:.95rem;box-shadow:var(--shadow-sm)}.challenge-hub .challenge-hub-featured-title{max-width:none;font-size:clamp(1.35rem,2.15vw,2.05rem);line-height:1;letter-spacing:0}.challenge-hub .challenge-hub-featured-lead{max-width:56rem;font-size:.92rem;line-height:1.18}.challenge-hub .challenge-hub-featured-support{max-width:64rem}.challenge-hub .challenge-hub-featured-meta{gap:.34rem}.challenge-hub .challenge-hub-featured-meta-chip{flex-basis:12rem;padding:.42rem .5rem}.challenge-hub-ready-pill{display:inline-flex;align-items:center;justify-content:center;justify-self:end;min-height:2rem;padding:.26rem .72rem;border:1px solid color-mix(in srgb,var(--success) 38%,var(--border-subtle));border-radius:999px;background:color-mix(in srgb,var(--success-soft) 92%,transparent);color:color-mix(in srgb,var(--success) 78%,var(--text-primary));font-size:.82rem;font-weight:850}.play-friends-panel{gap:.72rem}.play-friends-main-stack{display:grid;gap:.62rem;min-width:0}.play-friends-arena-grid.is-simple{grid-template-columns:minmax(0,1fr)}.play-friends-arena-grid.is-choosing-mode{grid-template-columns:minmax(0,1.45fr) minmax(16rem,.72fr)}.play-friends-choice-strip{display:flex;align-items:center;justify-content:space-between;gap:.8rem;min-width:0;padding:.68rem .78rem;border:1px solid color-mix(in srgb,var(--border-subtle) 76%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-surface-muted) 56%,transparent)}.play-friends-choice-strip>div{display:grid;gap:.1rem;min-width:0}.play-friends-choice-strip span,.play-friends-choice-strip small{color:var(--text-secondary);font-size:.78rem;font-weight:780;line-height:1.2}.play-friends-choice-strip b{color:var(--text-primary);font-size:1rem;line-height:1.12}.play-friends-choice-strip small,.play-friends-choice-strip b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.play-friends-section-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.42rem}.play-friends-collapsed-row,.play-friends-more-summary{display:flex;align-items:center;justify-content:space-between;gap:.8rem;min-width:0}.play-friends-collapsed-row{padding:.72rem .78rem;border:1px solid color-mix(in srgb,var(--border-subtle) 72%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-surface-muted) 58%,transparent)}.play-friends-collapsed-row span{min-width:0;color:var(--text-secondary);font-size:.9rem;font-weight:720}.play-friends-more-summary h3{margin:.12rem 0 0;color:var(--text-primary);font-size:1rem;line-height:1.2}.play-friends-control-rail{display:grid;grid-template-columns:minmax(12rem,.72fr) minmax(16rem,1.28fr);gap:.62rem;align-items:end;min-width:0;padding:.72rem;border:1px solid color-mix(in srgb,var(--border-subtle) 82%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--bg-surface-muted) 62%,transparent)}.play-friends-control-rail .play-friends-create-form.compact{grid-template-columns:minmax(0,1fr) auto}.play-friends-preset-field{min-width:0}.play-friends-command{grid-template-columns:minmax(0,1fr) minmax(12rem,auto);padding:.82rem;border-radius:.8rem;box-shadow:none}.play-friends-command-actions{gap:.45rem}.play-friends-launcher{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.78fr);gap:.72rem;align-items:stretch}.play-friends-mode-panel{display:grid;gap:.62rem;padding:.82rem;border:1px solid var(--border-subtle);border-radius:.8rem;background:var(--bg-surface)}.play-friends-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.48rem}.play-friends-mode-card{display:grid;gap:.2rem;min-width:0;min-height:4.8rem;padding:.68rem;border:1px solid var(--border-subtle);border-radius:.72rem;background:var(--bg-surface-muted);color:var(--text-primary);text-align:left;cursor:pointer}.play-friends-mode-card.active{border-color:color-mix(in srgb,var(--button-primary-bg) 40%,var(--border-subtle));background:color-mix(in srgb,var(--button-primary-bg) 8%,var(--bg-surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--button-primary-bg) 12%,transparent)}.play-friends-mode-card span,.play-friends-mode-card small{color:var(--text-secondary);font-size:.78rem;font-weight:750;line-height:1.22}.play-friends-mode-card b{font-size:.98rem;line-height:1.08}.play-friends-browser{padding:.78rem;gap:.52rem;box-shadow:none}.play-friends-room-list{display:grid;gap:.34rem}.play-friends-room-row{display:grid;grid-template-columns:minmax(13rem,.82fr) minmax(0,1.55fr) auto;align-items:center;gap:.72rem;min-width:0;padding:.48rem .55rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-surface-muted) 74%,transparent)}.play-friends-room-main{display:grid;gap:.06rem;min-width:0}.play-friends-room-title-line,.play-friends-room-main span{min-width:0}.play-friends-room-title-line{display:flex;align-items:center;gap:.42rem}.play-friends-room-main b,.play-friends-room-main>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.play-friends-room-main b{color:var(--text-primary);font-size:.92rem;line-height:1.18}.play-friends-room-main span{color:var(--text-secondary);font-size:.76rem;font-weight:700}.play-friends-fit-label{flex:0 0 auto;width:fit-content;max-width:100%;min-height:1.34rem;padding:.08rem .4rem;border:1px solid color-mix(in srgb,var(--success) 26%,var(--border-subtle));border-radius:999px;background:color-mix(in srgb,var(--success-soft) 90%,transparent);color:color-mix(in srgb,var(--success) 76%,var(--text-primary))!important;font-size:.66rem!important;font-weight:850!important;line-height:1.05}.play-friends-room-row .play-friends-room-meta{display:flex;align-items:center;justify-content:flex-start;gap:.28rem;min-width:0}.play-friends-room-row .play-friends-room-meta span{min-height:1.38rem;padding:.08rem .36rem;border-color:color-mix(in srgb,var(--border-subtle) 74%,transparent);background:color-mix(in srgb,var(--bg-surface) 72%,transparent);color:var(--text-secondary);font-size:.68rem;font-weight:780}.play-friends-room-row .play-friends-room-meta .info-trigger,.metadata-strip .info-trigger,.arena-panel-title-row .info-trigger,.challenge-stage-title-row .info-trigger,.morse-chat-setup-subtitle-row .info-trigger,.morse-chat-setup-title-row .info-trigger,.keying-setup-title-row .info-trigger{width:1.65rem;height:1.65rem;min-width:1.65rem;min-height:1.65rem;font-size:.74rem}.play-friends-room-row>.challenge-secondary-btn{min-height:2.25rem;padding-inline:.78rem;border-radius:var(--radius-md)}.challenge-hub .arena-play-now-panel{border-color:color-mix(in srgb,var(--accent) 34%,var(--border-subtle));border-left:5px solid color-mix(in srgb,var(--accent) 86%,var(--success));background:radial-gradient(circle at top right,color-mix(in srgb,var(--accent-soft) 72%,transparent),transparent 42%),linear-gradient(145deg,color-mix(in srgb,var(--bg-surface) 98%,var(--success-soft)),color-mix(in srgb,var(--bg-elevated) 96%,transparent));box-shadow:0 14px 30px color-mix(in srgb,var(--accent) 10%,transparent)}.challenge-hub .arena-play-now-meta{gap:.28rem .55rem}.challenge-hub .arena-play-now-meta span{min-height:auto;padding:0;border:0;border-radius:0;background:transparent;color:var(--text-secondary);font-size:.82rem}.challenge-hub .arena-play-now-meta span:not(:last-child):after{content:"";width:1px;height:1rem;margin-left:.28rem;background:var(--border-subtle)}.challenge-hub .play-friends-setup-strip{border-color:var(--border-subtle);border-left:4px solid color-mix(in srgb,var(--success) 64%,var(--accent));background:color-mix(in srgb,var(--bg-surface-muted) 72%,var(--bg-surface));box-shadow:none}.challenge-hub .play-friends-mode-panel.arena-lobby-panel,.challenge-hub .play-friends-browser.arena-lobby-panel,.challenge-hub .play-friends-secondary.arena-lobby-panel{border-color:color-mix(in srgb,var(--border-subtle) 78%,transparent);background:color-mix(in srgb,var(--bg-surface) 88%,var(--bg-surface-muted));box-shadow:none}.challenge-hub .play-friends-mode-card{border-color:color-mix(in srgb,var(--border-subtle) 86%,transparent);background:color-mix(in srgb,var(--bg-surface-muted) 68%,transparent)}.challenge-hub .play-friends-mode-card.active{border-color:color-mix(in srgb,var(--accent) 48%,var(--border-subtle));border-left:4px solid color-mix(in srgb,var(--accent) 82%,var(--success));background:color-mix(in srgb,var(--accent-soft) 46%,var(--bg-surface));box-shadow:none}.challenge-hub .play-friends-more-item,.challenge-hub .play-friends-room-row{background:color-mix(in srgb,var(--bg-surface-muted) 54%,transparent)}.challenge-hub .play-friends-browser.arena-lobby-panel{border-color:color-mix(in srgb,var(--accent) 24%,var(--border-subtle));border-left:4px solid color-mix(in srgb,var(--accent) 72%,var(--success));background:linear-gradient(180deg,color-mix(in srgb,var(--bg-surface) 94%,var(--accent-soft)) 0%,var(--bg-surface) 100%)}.challenge-hub .play-friends-browser .arena-panel-head{padding-bottom:.2rem;border-bottom:1px solid color-mix(in srgb,var(--accent) 14%,var(--border-subtle))}.challenge-hub .play-friends-room-row{border-color:transparent;border-radius:0;background:transparent;border-top:1px solid color-mix(in srgb,var(--border-subtle) 68%,transparent)}.challenge-hub .play-friends-room-row:first-child{border-top:0}.challenge-hub .play-friends-secondary.arena-lobby-panel{border-style:dashed;border-color:color-mix(in srgb,var(--border-subtle) 70%,transparent);background:color-mix(in srgb,var(--bg-surface-muted) 56%,transparent)}.solo-library-panel.arena-lobby-panel{display:grid;gap:.48rem;padding:.72rem .82rem;border-color:color-mix(in srgb,var(--border-subtle) 78%,transparent);background:color-mix(in srgb,var(--bg-surface) 88%,var(--bg-surface-muted));box-shadow:none}.solo-library-summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-width:0}.solo-library-summary>div{display:grid;gap:.12rem;min-width:0}.solo-library-summary h3{margin:.1rem 0 0;color:var(--text-primary);font-size:1rem;line-height:1.15}.solo-library-collapsed-copy{padding-top:.42rem;border-top:1px solid color-mix(in srgb,var(--border-subtle) 62%,transparent)}.solo-library-collapsed-copy span{color:var(--text-secondary);font-size:.84rem;font-weight:700}.challenge-hub.is-personal .challenge-hub-shelves{gap:.72rem}.challenge-hub.is-personal .challenge-hub-shelf{box-shadow:none}.challenge-hub.is-group .challenge-hub-card{gap:.72rem}.challenge-hub.is-group>.course-card.challenge-hub-card{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.challenge-hub.is-group .challenge-hub-lounge{padding:.72rem .86rem;border-radius:.9rem;border-color:color-mix(in srgb,var(--border-subtle) 74%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--success-soft) 22%,transparent) 0%,transparent 34%),color-mix(in srgb,var(--bg-surface) 92%,transparent);box-shadow:none}.challenge-hub.is-group .challenge-hub-header{grid-template-columns:minmax(0,1fr) minmax(28rem,.9fr);align-items:center;gap:1rem}.challenge-hub.is-group .challenge-hub-title-block{max-width:none}.challenge-hub.is-group .challenge-hub-title-block h2{font-size:clamp(1.35rem,2vw,1.9rem);line-height:1.05}.challenge-hub.is-group .challenge-hub-title-block p{max-width:45rem;font-size:.88rem}.challenge-hub.is-group .challenge-hub-header-side{width:100%}.challenge-hub.is-group .challenge-hub-stats{display:none}.challenge-hub.is-group .cw-games-play-style{grid-template-columns:repeat(3,minmax(0,1fr))}.challenge-hub.is-style-score .arena-play-now-panel{border-color:color-mix(in srgb,var(--warning) 34%,var(--border-subtle));border-left-color:color-mix(in srgb,var(--warning) 88%,var(--button-primary-bg));background:radial-gradient(circle at top right,color-mix(in srgb,var(--warning-soft) 76%,transparent),transparent 40%),linear-gradient(145deg,color-mix(in srgb,var(--bg-surface) 98%,var(--warning-soft)),color-mix(in srgb,var(--bg-elevated) 96%,transparent))}.challenge-hub.is-group .play-friends-setup-strip{min-height:0;padding:.48rem .62rem;border-left-width:0;border-radius:.75rem;background:color-mix(in srgb,var(--bg-surface-muted) 42%,transparent)}.challenge-hub.is-group .play-friends-setup-strip>div:first-child{display:flex;flex-wrap:wrap;align-items:baseline;gap:.28rem .6rem}.challenge-hub.is-group .play-friends-setup-strip .challenge-hub-section-kicker{flex-basis:100%;font-size:.64rem}.challenge-hub.is-group .play-friends-setup-strip h3{font-size:.9rem}.challenge-hub.is-group .play-friends-setup-strip p{margin:0;font-size:.78rem}.challenge-hub.is-group .play-friends-arena-grid.is-simple{grid-template-columns:minmax(0,1fr)}.challenge-hub.is-group .play-friends-arena-grid.is-choosing-mode{grid-template-columns:minmax(0,1.48fr) minmax(16rem,.68fr);gap:.68rem;align-items:start}.challenge-hub.is-group .arena-play-now-panel{gap:.82rem;padding:clamp(.9rem,1.8vw,1.2rem);border-left-width:0;border-color:color-mix(in srgb,var(--accent) 26%,var(--border-subtle));background:linear-gradient(135deg,color-mix(in srgb,var(--accent-soft) 34%,transparent) 0%,transparent 42%),var(--bg-surface);box-shadow:none}.challenge-hub.is-group .arena-play-now-copy h3{font-size:clamp(1.55rem,2.8vw,2.05rem)}.challenge-hub.is-group .arena-play-now-meta{padding:.52rem 0;border-block:1px solid color-mix(in srgb,var(--border-subtle) 64%,transparent)}.challenge-hub.is-group .arena-play-now-actions{gap:.45rem}.challenge-hub.is-group .arena-primary-action{min-height:2.9rem;min-width:9.5rem}.challenge-hub.is-group .play-friends-control-rail{box-shadow:none}.challenge-hub.is-group .play-friends-choice-strip{padding:.56rem .66rem;background:color-mix(in srgb,var(--bg-surface-muted) 46%,transparent);box-shadow:none}.challenge-hub.is-group .play-friends-choice-strip .challenge-secondary-btn,.challenge-hub.is-group .play-friends-section-actions .challenge-secondary-btn,.challenge-hub.is-group .play-friends-collapsed-row .challenge-secondary-btn,.challenge-hub.is-group .play-friends-more-summary .challenge-secondary-btn{min-height:2.35rem;padding-inline:.72rem}.challenge-hub.is-group .play-friends-mode-panel.arena-lobby-panel{padding:.75rem}.challenge-hub.is-group .play-friends-mode-panel .arena-panel-head{padding-bottom:.42rem;border-bottom:1px solid color-mix(in srgb,var(--border-subtle) 58%,transparent)}.challenge-hub.is-group .play-friends-mode-panel .arena-panel-head h3{font-size:.92rem}.challenge-hub.is-group .play-friends-chooser-grid{grid-template-columns:1fr;gap:.42rem}.challenge-hub.is-group .play-friends-mode-card{min-height:3.8rem;padding:.58rem .66rem}.challenge-hub.is-group .play-friends-mode-card span{font-size:.68rem}.challenge-hub.is-group .play-friends-mode-card b{font-size:.94rem}.challenge-hub.is-group .play-friends-mode-card.active{border-left-width:3px}.challenge-hub.is-group .play-friends-browser.arena-lobby-panel{border-left-width:0;border-color:color-mix(in srgb,var(--border-subtle) 82%,transparent);background:color-mix(in srgb,var(--bg-surface) 92%,transparent)}.challenge-hub.is-group .play-friends-browser .arena-panel-head{padding-bottom:.42rem;border-bottom-color:color-mix(in srgb,var(--border-subtle) 62%,transparent)}.challenge-hub.is-group .play-friends-room-row{grid-template-columns:minmax(12rem,.74fr) minmax(0,1.45fr) auto;min-height:3.15rem;padding:.48rem .2rem}.challenge-hub.is-group .play-friends-room-row .play-friends-room-meta span:nth-child(2),.challenge-hub.is-group .play-friends-room-row .play-friends-room-meta .info-trigger{display:none}.challenge-hub.is-group .play-friends-secondary.arena-lobby-panel{padding:.72rem;border-style:solid;border-color:color-mix(in srgb,var(--border-subtle) 58%,transparent);background:color-mix(in srgb,var(--bg-surface-muted) 42%,transparent)}.challenge-hub.is-group .play-friends-secondary .arena-panel-head{display:none}.challenge-hub.is-group .play-friends-more-summary{padding:0}.challenge-hub.is-group .play-friends-more-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:stretch}.challenge-hub.is-group .play-friends-more-item{min-height:3.8rem;padding:.54rem .64rem}.challenge-hub.is-group .play-friends-more-item.tools{grid-column:auto;grid-template-columns:repeat(2,minmax(7rem,1fr))}.play-friends-show-all{justify-self:start}.play-friends-empty.compact{display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:.68rem .78rem;border:1px dashed var(--border-subtle);border-radius:.68rem;background:var(--bg-surface-muted)}.play-friends-secondary{display:grid;gap:.6rem;padding:.82rem;box-shadow:none}.play-friends-secondary .arena-panel-head{align-items:center;min-height:0}.play-friends-secondary .arena-panel-head h3{font-size:1.02rem}.challenge-hub-ready-pill.warning{border-color:color-mix(in srgb,var(--warning) 42%,var(--border-subtle));background:color-mix(in srgb,var(--warning-soft) 86%,transparent);color:color-mix(in srgb,var(--warning) 82%,var(--text-primary))}.play-friends-more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.44rem}.play-friends-more-item{display:grid;align-content:space-between;gap:.5rem;min-width:0;min-height:5.35rem;padding:.62rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface-muted)}.play-friends-more-item>div:first-child{display:grid;gap:.08rem;min-width:0}.play-friends-more-item span{color:var(--text-secondary);font-size:.78rem;font-weight:850}.play-friends-more-item b{color:var(--text-primary);font-size:.95rem;line-height:1.18;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.play-friends-more-actions,.play-friends-more-item.tools .play-friends-tool-row{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-start;gap:.42rem}.play-friends-more-item.tools{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;min-height:auto;grid-column:1 / -1}.play-friends-more-item.tools .challenge-secondary-btn{width:100%;min-height:2.65rem}.play-friends-compact-panel{display:grid;gap:.55rem;padding:.6rem;border:1px solid var(--border-subtle);border-radius:.68rem;background:var(--bg-surface)}.play-friends-disclosure{border:1px solid var(--border-subtle);border-radius:.75rem;background:var(--bg-surface);padding:.2rem .74rem}.play-friends-disclosure summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:2.65rem;cursor:pointer;color:var(--text-secondary);font-weight:850}.play-friends-disclosure summary b{color:var(--text-primary)}.play-friends-disclosure[open]{padding-bottom:.74rem}.play-friends-disclosure[open] summary{margin-bottom:.58rem;border-bottom:1px solid var(--border-subtle)}.play-friends-tool-row{display:flex;flex-wrap:wrap;gap:.48rem}.play-friends-chip-list.compact{display:flex;flex-wrap:wrap}.recent-player-list.compact{display:grid;gap:.42rem}.recent-player-row.compact{padding:.52rem .6rem;border-radius:.68rem;background:var(--bg-surface)}.recent-player-row.compact>div:first-child{gap:.06rem}.recent-player-row.compact b{font-size:.94rem;line-height:1.15}.recent-player-row.compact span{font-size:.78rem}.recent-player-row.compact .challenge-actions{align-items:center;gap:.36rem}.recent-player-more{position:relative}.recent-player-more summary{display:inline-flex;align-items:center;min-height:var(--control-height-compact);padding:0 .72rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary);font-weight:850;cursor:pointer;list-style:none}.recent-player-more summary::-webkit-details-marker{display:none}.recent-player-more>div{position:absolute;right:0;z-index:3;display:grid;gap:.32rem;min-width:8.5rem;margin-top:.28rem;padding:.42rem;border:1px solid var(--border-subtle);border-radius:.68rem;background:var(--bg-surface);box-shadow:var(--surface-shadow-raised)}@media (max-width: 960px){.play-friends-arena-grid,.challenge-hub.is-group .challenge-hub-header,.challenge-hub.is-group .play-friends-arena-grid{grid-template-columns:1fr}.challenge-hub.is-group .challenge-hub-header-side,.challenge-hub-header-side{justify-self:stretch;width:100%}.cw-games-play-style,.play-friends-launcher,.play-friends-room-row,.play-friends-control-rail,.challenge-hub.is-group .play-friends-room-row,.play-friends-arena-grid.is-choosing-mode,.challenge-hub.is-group .play-friends-arena-grid.is-choosing-mode,.challenge-hub.is-group .play-friends-more-grid{grid-template-columns:1fr}.challenge-hub.is-group .play-friends-more-item.tools{grid-template-columns:1fr 1fr}.play-friends-room-row>button{justify-self:start}}@media (max-width: 720px){.challenge-hub-primary-actions,.play-friends-primary-actions,.play-friends-mode-grid{grid-template-columns:1fr 1fr}.play-friends-setup-strip,.arena-panel-head,.arena-play-now-actions,.play-friends-setup-actions{align-items:stretch;flex-direction:column}.arena-play-now-actions>button,.play-friends-setup-actions>button{width:100%}.play-friends-command{grid-template-columns:1fr}.play-friends-command-actions,.challenge-hub-ready-pill{justify-items:stretch;justify-self:stretch}.solo-library-summary{align-items:stretch;flex-direction:column}.solo-library-summary .challenge-secondary-btn{width:100%}.play-friends-more-grid{grid-template-columns:1fr}.play-friends-more-item,.play-friends-more-item.tools{grid-template-columns:1fr;min-height:auto}.challenge-hub.is-group .play-friends-more-item.tools{grid-template-columns:1fr}.play-friends-more-actions,.play-friends-more-item.tools .play-friends-tool-row{justify-content:stretch}.play-friends-more-actions>button,.play-friends-more-item.tools .challenge-secondary-btn{flex:1 1 9rem}}@media (max-width: 520px){.challenge-hub-primary-actions,.play-friends-primary-actions,.play-friends-mode-grid{grid-template-columns:1fr}.cw-games-style-button{min-height:2.9rem}.play-friends-empty.compact,.recent-player-row,.play-friends-choice-strip,.play-friends-collapsed-row,.play-friends-more-summary{align-items:stretch;flex-direction:column}.play-friends-choice-strip .challenge-secondary-btn,.play-friends-collapsed-row .challenge-secondary-btn,.play-friends-more-summary .challenge-secondary-btn,.play-friends-section-actions .challenge-secondary-btn,.play-friends-section-actions{width:100%}.recent-player-row.compact .challenge-actions{align-items:stretch}.recent-player-row.compact .challenge-actions>.challenge-secondary-btn,.recent-player-more,.recent-player-more summary{width:100%}.recent-player-more>div{position:static;width:100%}}.app-notice-banner{display:flex;align-items:center;justify-content:space-between;gap:.85rem;max-width:1100px;margin:.9rem auto 0;padding:.8rem 1rem;border-radius:.85rem;border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.app-notice-banner.error{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-border)}.app-notice-banner.info{background:var(--info-soft);color:var(--info);border-color:var(--info-border)}.app-notice-dismiss{border:1px solid var(--border-subtle);background:var(--button-secondary-bg);color:var(--button-secondary-text);border-radius:999px;padding:.35rem .7rem;font-weight:700;cursor:pointer}.nav-link-primary{font-weight:700}.nav-link-secondary{opacity:.78}.course-access-gate{display:flex;align-items:center;justify-content:center}.course-access-card{max-width:680px;width:min(100%,680px);padding:1.6rem 1.7rem;border-radius:1.1rem;border:1px solid var(--border-subtle);background:var(--bg-surface);box-shadow:var(--shadow-md);text-align:left}.course-access-kicker,.course-module-eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--text-secondary)}.course-module-eyebrow.secondary{color:var(--warning)}.course-access-actions,.course-status-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.course-module-copy{margin-top:.45rem;color:var(--text-secondary);line-height:1.5}.course-module-copy.compact{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.course-module-copy.active-module-copy.compact-row{margin:0 0 1rem}.course-module-copy.active-module-copy.compact-row>span{color:var(--text-primary);font-weight:800}.practice-coach{display:grid;gap:var(--space-5)}.practice-coach-hero,.practice-coach-recommendation,.practice-coach-selected,.practice-coach-options{border:1px solid var(--border-subtle);background:var(--bg-surface);border-radius:var(--radius-md);box-shadow:var(--surface-shadow)}.practice-coach-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.42fr);align-items:center;gap:var(--space-5);padding:var(--space-6)}.practice-coach-main{display:grid;gap:var(--space-2)}.practice-coach-main h3,.practice-coach-recommendation h4{margin:0;color:var(--text-primary)}.practice-coach-main h3{font-size:clamp(2rem,4vw,3rem);line-height:1.05}.practice-coach-main p,.practice-coach-recommendation p,.practice-coach-selected p{margin:0;color:var(--text-secondary);line-height:1.45}.practice-coach-summary{display:grid;gap:var(--space-1);justify-self:end;min-width:0;width:100%;padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface-muted)}.practice-coach-summary span{color:var(--text-secondary);font-weight:800}.practice-coach-summary b{color:var(--text-primary);font-size:var(--text-lg)}.practice-coach-recommendation{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-4);padding:var(--space-5);border-left:4px solid var(--button-primary-bg)}.practice-coach-workbench{display:grid;grid-template-columns:minmax(280px,.38fr) minmax(0,1fr);gap:var(--space-5);align-items:start}.practice-coach-selected{display:grid;gap:var(--space-4);padding:var(--space-5);position:sticky;top:calc(var(--top-bar-height, 64px) + var(--space-4))}.practice-coach-selected-head{display:grid;gap:var(--space-1)}.practice-coach-selected-head span,.practice-coach-group-title,.practice-coach-option span{color:var(--text-secondary);font-weight:900;letter-spacing:.08em;text-transform:uppercase;font-size:var(--text-xs)}.practice-coach-selected-head b{color:var(--text-primary);font-size:var(--text-2xl);line-height:1.12}.practice-coach-selected-meta{display:flex;flex-wrap:wrap;gap:var(--space-2)}.practice-coach-selected-meta span{min-height:var(--control-height-compact);display:inline-flex;align-items:center;padding:0 var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);color:var(--text-secondary);background:var(--bg-surface-muted);font-weight:800}.practice-coach-options{display:grid;gap:var(--space-5);padding:var(--space-5)}.practice-coach-option-group{display:grid;gap:var(--space-3)}.practice-coach-option-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-3)}.practice-coach-option{display:grid;gap:var(--space-1);min-height:112px;padding:var(--space-4);text-align:left;color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface-muted);cursor:pointer}.practice-coach-option:hover{border-color:var(--border-strong);transform:translateY(-1px)}.practice-coach-option:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.practice-coach-option.active{border-color:var(--button-primary-bg);background:color-mix(in srgb,var(--button-primary-bg) 13%,var(--bg-surface-muted));box-shadow:inset 3px 0 0 var(--button-primary-bg)}.practice-coach-option b{font-size:var(--text-lg);line-height:1.15}.practice-coach-option small{color:var(--text-secondary);font-weight:800}@media (max-width: 900px){.practice-coach-hero,.practice-coach-recommendation,.practice-coach-workbench{grid-template-columns:1fr}.practice-coach-summary{justify-self:stretch}.practice-coach-selected{position:static}.practice-coach-recommendation>.settings-primary-btn,.practice-coach-selected>.settings-primary-btn{width:100%}}.course-module-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.course-module-card.secondary,.course-lesson-item.secondary{background:var(--bg-surface-muted);border-style:dashed}.course-module-card.challenge-module{position:relative;overflow:hidden;background:radial-gradient(circle at top right,rgba(255,214,102,.28),transparent 34%),radial-gradient(circle at bottom left,rgba(255,122,89,.2),transparent 36%),linear-gradient(145deg,#1e2d4f,#16213b 45%,#122c47);border-color:#ffb74d61;box-shadow:0 14px 34px #0d1b3733}.course-module-card.challenge-module:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.08),transparent 30%,transparent 70%,rgba(255,255,255,.05));pointer-events:none}.course-module-card.challenge-module:hover{transform:translateY(-2px);box-shadow:0 18px 38px #0d1b373d;border-color:#ffd1667a}.course-module-card.challenge-module .course-module-title,.course-module-card.challenge-module .course-module-copy,.course-module-card.challenge-module .course-module-progress-text{color:#f7fbff}.course-module-eyebrow.challenge{color:#ffd166}.course-module-card.morse-chat-module{position:relative;overflow:hidden;background:linear-gradient(145deg,color-mix(in srgb,var(--bg-surface) 92%,#e0f2fe),color-mix(in srgb,var(--bg-surface) 86%,#dcfce7));border-color:color-mix(in srgb,var(--border-subtle) 62%,#0891b2);box-shadow:0 12px 30px #0891b21f}.course-module-card.morse-chat-module:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--border-strong) 60%,#0891b2);box-shadow:0 16px 34px #0891b229}.course-module-eyebrow.morse-chat{color:#0e7490}.course-module-chat-callout{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;margin-top:auto;min-width:0;padding:.68rem .72rem;border-radius:var(--radius-md);background:#0e749014;border:1px solid rgba(14,116,144,.14)}.course-module-chat-count{min-width:0;overflow-wrap:anywhere;color:#0e7490;font-size:.78rem;font-weight:800;letter-spacing:0;line-height:1.18;text-transform:uppercase}.course-module-chat-cta{display:inline-flex;align-items:center;justify-content:center;justify-self:end;min-width:8.6rem;max-width:100%;min-height:2.2rem;padding:.42rem .72rem;border-radius:var(--radius-pill);background:color-mix(in srgb,#14b8a6 24%,transparent);color:var(--text-primary);font-size:.86rem;font-weight:850;line-height:1.12;text-align:center;text-wrap:balance}.course-module-challenge-callout{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.85rem;margin-top:auto;min-width:0;padding:.68rem .72rem;border-radius:var(--radius-md);background:#ffffff1a;border:1px solid rgba(255,255,255,.12)}.course-module-challenge-count{min-width:0;overflow-wrap:anywhere;color:#ffd166;font-size:.78rem;font-weight:800;letter-spacing:.04em;line-height:1.22;text-transform:uppercase}.course-module-challenge-cta{display:inline-flex;align-items:center;justify-content:center;justify-self:end;width:min(10.25rem,100%);min-height:2.45rem;padding:.42rem .74rem;border-radius:var(--radius-pill);background:color-mix(in srgb,#14b8a6 23%,transparent);color:#f7fbff;font-size:.86rem;font-weight:850;line-height:1.16;text-align:center;text-wrap:balance}.active-module-copy{margin:0 0 1rem}.app-error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--bg-app)}.app-error-card{width:min(100%,520px);padding:1.8rem;border-radius:1.1rem;border:1px solid var(--border-subtle);background:var(--bg-surface);box-shadow:var(--shadow-md)}.app-error-kicker{margin-bottom:.35rem;color:var(--danger);font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}@media (max-width: 600px){.app-notice-banner{margin:.75rem 1rem 0;align-items:flex-start}.course-access-card{padding:1.2rem}.course-access-actions,.course-status-actions{flex-direction:column}.nav-actions{width:100%;justify-content:center;gap:.75rem}.nav-links{width:100%;align-items:center}.nav-links li{flex:1 1 auto;justify-content:center}}.logo,.nav-links li a{color:var(--nav-text)}.nav-links li a:hover{color:var(--nav-link-hover)}.nav-links li button{font:inherit}.theme-toggle-btn{display:inline-flex;align-items:center;gap:.45rem;min-height:36px;padding:.42rem .8rem;border-radius:999px;border:1px solid var(--border-subtle);background:var(--button-secondary-bg);color:var(--text-primary);cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}.theme-toggle-btn:hover{background:var(--button-secondary-hover);border-color:var(--border-strong)}.theme-toggle-icon{font-size:1rem;line-height:1}.theme-toggle-label{font-size:.92rem;font-weight:700}.main-content h1,.main-content-home h1,.course-page h1,.course-page h2,.course-module-title,.course-lesson-title,.course-step-title,.course-runtime-subtitle,.streak-popup-title,.settings-page h2,.settings-modal h2,.modal h2{color:var(--text-primary)}.main-content-copy,.mode-desc,.course-lesson-desc,.course-lesson-why,.course-lesson-mastery,.course-control-current,.course-meta,.course-results-empty,.course-status-banner,.streak-popup-label,.streak-popup-last,.streak-popup-status,.settings-help-text,.settings-info-copy,.signup-modal-copy,.modal p{color:var(--text-secondary)}.get-started-btn,.morse-key-btn,.settings-primary-btn,.profile-menu-logout,.close-settings-btn,.modal-close-btn,.back-btn,.course-actions button,.course-status-retry,.course-touch-key.straight{background:var(--button-primary-bg);color:var(--button-primary-text);box-shadow:var(--shadow-sm)}.get-started-btn:hover,.morse-key-btn:hover,.settings-primary-btn:hover,.profile-menu-logout:hover,.close-settings-btn:hover,.modal-close-btn:hover,.back-btn:hover,.course-actions button:hover:not(:disabled),.course-status-retry:hover,.course-touch-key.straight:active{background:var(--button-primary-hover);color:var(--button-primary-text)}.settings-primary-btn:disabled,.course-actions button:disabled,.settings-danger-btn:disabled,.modal-secondary-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.homepage-header,.mode-switch,.mode-panel,.transmit-ui,.receive-ui,.main-interface,.course-card,.course-control,.course-results,.course-step-panel,.course-module-card,.course-lesson-item,.course-results-card,.course-runtime-card,.settings-page,.settings-modal,.streak-popup,.profile-menu,.modal,.course-log-grid,.course-choice-button,.course-input textarea,.course-control select,.course-toggle,.course-warning,.course-requirement-item,.settings-info-card{background:var(--bg-surface);color:var(--text-primary);border-color:var(--border-subtle);box-shadow:var(--shadow-md)}.home-course-section,.core-app-layout,.course-page,.main-content-home,.main-content{background:var(--bg-app);color:var(--text-primary)}.mode-switch,.transmit-morse-display,.transmit-tip,.kbd,.course-meta,.course-status-banner,.course-runtime-metrics>div,.course-lesson-status,.course-warning,.course-control-current,.settings-info-card,.streak-popup-metric,.streak-popup-badge,.settings-danger-card,.modal-secondary-btn,.theme-choice-btn,.settings-meter-track{background:var(--bg-surface-muted);border-color:var(--border-subtle);color:var(--text-secondary)}.mode-btn,.profile-icon-btn,.course-choice-button,.course-toggle,.course-touch-key,.receive-input,.keyboard-key,.play-btn,.backspace-btn,.submit-btn,.next-btn,.modal-secondary-btn,.theme-choice-btn,.settings-meter-btn{background:var(--button-secondary-bg);color:var(--button-secondary-text);border-color:var(--border-subtle)}.mode-btn:not(.active):hover,.course-choice-button:hover,.course-toggle:hover,.course-touch-key:hover,.receive-input:focus,.keyboard-key:hover:not(:disabled),.play-btn:hover,.backspace-btn:hover,.submit-btn:hover,.next-btn:hover,.modal-secondary-btn:hover,.theme-choice-btn:hover,.settings-meter-btn:hover{background:var(--button-secondary-hover);color:var(--text-primary)}.mode-btn.active,.theme-choice-btn.active{background:var(--button-primary-bg);color:var(--button-primary-text);border-color:var(--button-primary-bg)}.transmit-letter,.receive-question,.settings-icon,.course-step-marker.current .course-step-dot,.course-step-marker.complete .course-step-dot,.course-module-progress-text b,.course-lesson-progress b,.course-status-banner b,.course-meta b{color:var(--accent)}.transmit-hint-morse,.course-prompt-text,.course-step-status,.course-requirement-item.pending,.streak-popup-kicker{color:var(--text-secondary)}.transmit-feedback.correct,.receive-feedback.correct,.course-results-card.passed,.course-review-chip.healthy,.course-weak-symbol-chip.good{background:var(--success-soft);color:var(--success);border-color:var(--success-border)}.transmit-feedback.incorrect,.receive-feedback.incorrect,.course-results-card.failed,.course-review-chip.overdue,.course-weak-symbol-chip.poor,.settings-danger-card,.settings-error-text{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-border)}.course-review-chip.needs_review,.course-warning,.streak-popup-badge,.streak-icon-btn{background:var(--warning-soft);color:var(--warning);border-color:var(--warning-border)}.course-weak-symbol-chip.unseen{background:var(--bg-chip-neutral);color:var(--text-muted);border-color:var(--border-subtle)}.course-status-banner.info,.adaptive-recommendation,.course-philosophy-banner,.course-choice-button.selected,.course-requirement-item.done{background:var(--info-soft);color:var(--info);border-color:var(--info-border)}.course-module-card,.course-lesson-item,.course-step-panel,.course-results-card,.course-choice-button,.course-log-grid,.course-control,.course-runtime-card,.settings-page,.settings-modal,.modal,.streak-popup,.profile-menu{border:1px solid var(--border-subtle)}.course-timer-pie{background:conic-gradient(var(--accent) calc(var(--progress) * 1turn),var(--bg-surface-muted) 0);box-shadow:inset 0 0 0 6px var(--bg-surface),var(--shadow-sm)}.course-step-pie,.course-module-pie,.course-lesson-pie{box-shadow:inset 0 0 0 4px var(--bg-surface),var(--shadow-sm)}.course-timer-pie-label,.course-module-progress-text,.course-lesson-progress,.course-lesson-mastery,.course-results h2,.course-results-empty,.course-step-panel-title,.course-step-title,.course-control label,.course-toggle-row,.course-toggle,.course-runtime-header,.course-runtime-metrics>div,.course-requirement-item,.settings-row label,.settings-row span,.profile-menu-email,.modal-form-label,.modal-stage-label{color:var(--text-primary)}.slider,.letter-progress-bar,.dot,.progress-box,.settings-meter-track{background:var(--bg-chip-neutral)}.settings-meter-fill{background:var(--success)}.course-step-segment.complete,.progress-box.filled,.switch input:checked+.slider,.letter-progress-half.left,.letter-progress-half.right{background:var(--accent)}.course-input textarea,.course-control select,.course-control input,.settings-row input,.settings-row select,.modal-form-input,.modal-form-textarea,.modal-form-field input,.modal-form-field select{width:100%;padding:.75rem;border-radius:.65rem;border:1px solid var(--input-border);background:var(--bg-input);color:var(--text-primary)}.modal-form-textarea{min-height:10rem;resize:vertical}.modal-backdrop,.settings-modal-overlay{background:var(--bg-overlay)}.profile-menu{position:absolute;right:0;top:40px;min-width:200px;z-index:2000;padding:1rem;border-radius:.85rem}.profile-menu-email{margin-bottom:.75rem;font-weight:500;word-break:break-all}.profile-menu-logout{width:100%;padding:.65rem .85rem;border:none;border-radius:.55rem;font-weight:700;cursor:pointer}.settings-inline-fields{display:flex;gap:1rem;flex-wrap:wrap}.settings-field,.modal-form-field{display:flex;flex-direction:column;gap:.35rem;min-width:200px}.settings-field-compact{min-width:120px}.settings-field-wide{min-width:260px}.settings-action-row,.modal-actions-start{margin-top:.6rem}.settings-help-text,.settings-meter-label,.settings-danger-text,.feedback-success-copy{font-size:.95rem}.settings-meter-btn{border:1px solid var(--border-subtle);border-radius:.6rem;padding:.45rem .85rem;cursor:pointer}.settings-meter-btn.active{background:var(--danger);color:var(--text-inverse);border-color:transparent}.settings-device-card{background:var(--bg-surface-muted);border-color:var(--border-subtle);color:var(--text-primary)}.settings-device-title,.course-touch-label,.my-key-serial-title,.vband-inline-title,.settings-key-tester-stage-header strong,.settings-key-tester-history-row strong,.vband-inline-debug-item strong,.settings-key-tester-output-stream{color:var(--text-primary)}.settings-device-copy,.settings-key-tester-stage,.settings-key-tester-stage-header span,.settings-key-tester-history-row,.vband-inline-copy,.my-key-serial-copy{color:var(--text-secondary)}.settings-device-status,.my-key-serial-signal,.vband-inline-signal{background:var(--bg-chip-neutral);color:var(--text-secondary)}.settings-device-status.connected{background:var(--success-soft);color:var(--success)}.settings-key-tester-stage{border-color:var(--border-strong);background:var(--bg-surface)}.settings-key-tester-stage:hover{border-color:var(--focus-ring-color);background:var(--bg-elevated)}.settings-key-tester-stage.active{border-color:var(--focus-ring-color);background:var(--info-soft);box-shadow:var(--focus-ring)}.settings-key-tester-output,.settings-key-tester-output-stream,.settings-key-tester-history-row,.vband-inline-hint,.my-key-serial-panel{background:var(--bg-surface);border-color:var(--border-subtle)}.settings-key-tester-output-stream{background:var(--bg-surface-strong)}.settings-key-tester-history-list{color:var(--text-secondary)}.my-key-serial-panel.connected{background:var(--success-soft);border-color:var(--success-border)}.my-key-serial-debug,.vband-inline-copy.subtle,.vband-inline-debug-item span{color:var(--text-muted)}.my-key-serial-signal.active,.vband-inline-signal.active{background:var(--accent);color:var(--button-primary-text)}.vband-inline-debug-item{background:var(--bg-surface-muted);border-color:var(--border-subtle)}.settings-meter-block{margin-top:.5rem}.settings-meter-label{margin-bottom:.3rem;color:var(--text-secondary)}.settings-meter-track{width:240px;height:10px;border-radius:6px;overflow:hidden}.settings-meter-fill{height:100%;border-radius:6px}.settings-error-text{margin-top:.35rem;font-size:.9rem}.settings-status-banner{width:100%;border:1px solid var(--border-subtle);border-radius:.8rem;padding:.8rem 1rem;margin:0 0 1.5rem;font-size:.95rem;font-weight:600}.settings-status-banner.success{background:var(--success-soft);color:var(--success);border-color:var(--success-border)}.settings-status-banner.error{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-border)}.settings-footer-actions{width:100%;display:flex;justify-content:flex-end;gap:.75rem;margin:0 0 1.5rem}.settings-info-card{text-align:center;padding:1rem;border-radius:.8rem;border:1px solid var(--border-subtle)}.settings-primary-btn{border:none;border-radius:.65rem;padding:.65rem 1rem;font-size:.95rem;font-weight:700;cursor:pointer}.theme-choice-group{display:inline-flex;gap:.5rem;flex-wrap:wrap}.theme-choice-btn{padding:.55rem .9rem;border-radius:999px;border:1px solid var(--border-subtle);cursor:pointer;font-weight:700}.modal-wide{max-width:520px;width:90%}.signup-modal-content{min-width:320px;width:min(92vw,520px);max-width:520px;position:relative;text-align:left;padding-top:2.3rem}.modal-x-btn{position:absolute;top:8px;right:8px;background:transparent;color:var(--text-secondary);border:none;font-size:1.7rem;cursor:pointer}.modal-x-btn:hover,.modal-x-btn:focus-visible{color:var(--text-primary);background:var(--button-ghost-hover)}.signup-modal-copy{margin-top:0;line-height:1.6}.signup-modal-form,.signup-modal-stack{display:flex;flex-direction:column;gap:.85rem}.experienced-setup-modal{width:min(92vw,560px);max-width:560px}.experienced-setup-stack{display:grid;gap:1rem}.experienced-setup-modal .challenge-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));align-items:stretch}.start-setup-modal{width:min(94vw,640px)}.start-setup-path-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.start-setup-defaults{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.4rem;padding:.85rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface-subtle)}.start-setup-defaults>div{min-width:0}.start-setup-defaults strong{display:block;margin-top:.25rem;color:var(--text-primary);line-height:1.25;overflow-wrap:normal}.start-setup-defaults p{grid-column:1 / -1;margin:0;color:var(--text-secondary)}.start-setup-defaults-edit{min-height:var(--control-height-compact);padding-inline:1rem;white-space:nowrap}.concept-story-backdrop{position:fixed;inset:0;z-index:3200;display:grid;place-items:center;padding:1rem;background:var(--bg-overlay);overscroll-behavior:contain}.concept-story-modal{width:min(46rem,100%);height:min(46rem,calc(100dvh - 2rem));max-height:100%;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto;border:1px solid var(--border-strong);border-radius:var(--radius-modal);background:var(--bg-surface-strong);color:var(--text-primary);box-shadow:var(--shadow-lg);touch-action:pan-y}.concept-story-modal,.concept-story-modal *{box-sizing:border-box;letter-spacing:0}.concept-story-drag-handle{display:none}.concept-story-header{display:grid;grid-template-columns:var(--control-height-compact) minmax(0,1fr) var(--control-height-compact);align-items:center;gap:.75rem;min-height:4rem;padding:.7rem 1rem;border-bottom:1px solid var(--border-subtle);background:color-mix(in srgb,var(--bg-surface) 88%,var(--bg-app))}.concept-story-icon-button{width:var(--control-height-compact);min-width:var(--control-height-compact);height:var(--control-height-compact);min-height:var(--control-height-compact);padding:0;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--button-secondary-bg);color:var(--button-secondary-text);font-size:1.35rem;font-weight:800;line-height:1;cursor:pointer}.concept-story-icon-button:hover,.concept-story-icon-button:focus-visible{border-color:var(--border-strong);background:var(--button-secondary-hover);color:var(--text-primary)}.concept-story-icon-button:disabled{opacity:0;pointer-events:none}.concept-story-progress{display:flex;justify-content:center;align-items:center;gap:.5rem}.concept-story-progress button{width:.56rem;min-width:.56rem;height:.56rem;min-height:.56rem;padding:0;border:0;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--text-muted) 38%,transparent);box-shadow:none;cursor:pointer;transition:width .18s ease,background-color .18s ease}.concept-story-progress button.active{width:1.65rem;background:var(--accent)}.concept-story-count{justify-self:end;color:var(--text-muted);font-size:var(--text-xs);font-weight:800}.concept-story-track-window{min-width:0;min-height:0;overflow:hidden}.concept-story-track{display:flex;width:100%;height:100%;transition:transform .26s ease;will-change:transform}.concept-story-page{flex:0 0 100%;width:100%;min-width:0;min-height:0;overflow-y:auto;display:grid;grid-template-rows:minmax(17rem,1fr) auto}.concept-story-visual{position:relative;min-width:0;min-height:17rem;overflow:hidden;display:grid;place-items:center;padding:2rem;border-bottom:1px solid var(--border-subtle);background:color-mix(in srgb,var(--bg-app) 62%,var(--bg-surface))}.concept-story-copy{display:grid;gap:.45rem;min-height:8.75rem;align-content:start;padding:1.3rem 1.5rem 1.4rem;background:var(--bg-surface);text-align:center}.concept-story-copy>span{color:var(--warning);font-size:var(--text-xs);font-weight:900;text-transform:uppercase}.concept-story-copy h2{margin:0;color:var(--text-primary);font-size:1.85rem;line-height:1.12}.concept-story-copy p{max-width:34rem;margin:0 auto;color:var(--text-secondary);font-size:var(--text-base);font-weight:650;line-height:1.45}.concept-story-footer{display:grid;grid-template-columns:var(--control-height-compact) minmax(0,1fr) minmax(8.5rem,auto);align-items:center;gap:.65rem;min-height:5rem;padding:.8rem 1rem max(.8rem,env(safe-area-inset-bottom));border-top:1px solid var(--border-subtle);background:color-mix(in srgb,var(--bg-surface) 92%,var(--bg-app))}.concept-story-demo-button,.concept-story-next-button{min-height:var(--control-height);padding:.65rem 1rem;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:850;cursor:pointer}.concept-story-demo-button{justify-self:start;border:1px solid var(--border-strong);background:var(--button-secondary-bg);color:var(--button-secondary-text)}.concept-story-demo-button:hover,.concept-story-demo-button:focus-visible{background:var(--button-secondary-hover);color:var(--text-primary)}.concept-story-demo-button:disabled{opacity:.72;cursor:wait}.concept-story-next-button{justify-self:end;min-width:8.5rem;border:1px solid var(--button-primary-bg);background:var(--button-primary-bg);color:var(--button-primary-text);box-shadow:var(--shadow-sm)}.concept-story-next-button:hover,.concept-story-next-button:focus-visible{background:var(--button-primary-hover);color:var(--button-primary-text)}.concept-visual-center{position:relative;width:min(23rem,90%);height:13rem;display:grid;place-items:center}.concept-sound-orbit{position:absolute;border:2px solid color-mix(in srgb,var(--info) 48%,transparent);border-radius:50%}.concept-sound-orbit.outer{width:18rem;height:11rem}.concept-sound-orbit.inner{width:14.5rem;height:8rem;border-color:color-mix(in srgb,var(--warning) 52%,transparent)}.concept-spacing-visual{width:min(36rem,100%);display:grid;gap:1.2rem}.concept-spacing-caption-row{display:flex;justify-content:space-between;gap:1rem;color:var(--text-muted);font-size:var(--text-sm);font-weight:800}.concept-compare-visual{width:min(34rem,100%);display:grid;gap:1.5rem}.concept-compare-visual>div{display:grid;grid-template-columns:5rem minmax(0,1fr);align-items:center;gap:1rem}.concept-compare-visual small{color:var(--text-secondary);font-size:var(--text-sm);font-weight:850}.concept-memory-gate{width:min(35rem,100%);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1.4rem}.concept-memory-sounds{display:grid;gap:.5rem}.concept-memory-divider{width:.3rem;height:9rem;border-radius:var(--radius-pill);background:var(--warning)}.concept-memory-input,.concept-memory-tray{display:flex;justify-content:center;gap:.45rem;padding:1.2rem;border:2px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-input)}.concept-memory-buffer{width:min(32rem,100%);display:grid;gap:2.5rem}.concept-memory-token-row{display:flex;justify-content:space-around}.concept-memory-tray{border-color:var(--info);background:var(--info-soft)}.concept-character-group{position:relative;width:min(31rem,100%);padding:2rem 2.6rem}.concept-character-group>i{position:absolute;top:1rem;bottom:1rem;width:1rem;border:0 solid var(--warning)}.concept-character-group>i.left{left:.7rem;border-top-width:.25rem;border-bottom-width:.25rem;border-left-width:.25rem}.concept-character-group>i.right{right:.7rem;border-top-width:.25rem;border-right-width:.25rem;border-bottom-width:.25rem}.concept-group-stream{width:min(34rem,100%);display:flex;align-items:center;justify-content:center;gap:1rem}.concept-signal-chunks span{padding:.85rem 1rem;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary);font-family:var(--font-mono);font-weight:900}.concept-signal-chunks{width:min(31rem,100%);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.concept-signal-chunks span{display:grid;place-items:center;min-height:4.5rem;border-color:var(--info-border);background:var(--info-soft);color:var(--info);font-size:1.5rem}.concept-signal-chunks span:nth-child(2n){border-color:var(--warning-border);background:var(--warning-soft);color:var(--warning)}.concept-exchange-visual{width:min(34rem,100%);display:grid;grid-template-columns:5rem minmax(0,1fr) 5rem;align-items:center;gap:1rem}.concept-exchange-visual .station{display:grid;place-items:center;width:5rem;height:5rem;border:2px solid var(--border-strong);border-radius:50%;background:var(--bg-surface);color:var(--text-primary);font-size:1.5rem;font-weight:900}.concept-exchange-path{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.concept-exchange-path i{height:.22rem;background:var(--accent)}.concept-exchange-path b{padding:.55rem .75rem;border:1px solid var(--accent);border-radius:var(--radius-md);background:var(--accent-soft);color:var(--accent)}.concept-callsign-structure{width:min(32rem,100%);display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:.65rem}.concept-callsign-structure>div{min-width:0;display:grid;gap:.45rem;padding:1rem .65rem;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-surface);text-align:center}.concept-callsign-structure small{color:var(--text-muted);font-size:var(--text-xs);font-weight:800}.concept-sound-pulse{position:relative;z-index:2;width:8.5rem;height:8.5rem;display:grid;place-items:center}.concept-sound-pulse>span,.concept-sound-pulse>i,.concept-sound-pulse>b{position:absolute;border-radius:50%}.concept-sound-pulse>span{inset:0;border:2px solid color-mix(in srgb,var(--accent) 46%,transparent);background:color-mix(in srgb,var(--accent-soft) 26%,transparent)}.concept-sound-pulse>i{inset:1.55rem;border:2px solid color-mix(in srgb,var(--info) 58%,transparent);background:color-mix(in srgb,var(--info-soft) 30%,transparent)}.concept-sound-pulse>b{width:2rem;height:2rem;background:var(--accent);box-shadow:0 0 0 .45rem color-mix(in srgb,var(--accent-soft) 82%,transparent)}.concept-sound-pulse.compact{width:4.5rem;height:4.5rem}.concept-sound-pulse.compact>i{inset:.8rem}.concept-sound-pulse.compact>b{width:1rem;height:1rem;box-shadow:0 0 0 .25rem color-mix(in srgb,var(--accent-soft) 82%,transparent)}.concept-sound-pulse.muted{opacity:.58}.concept-story-modal.demo-active .concept-sound-pulse>span,.concept-story-modal.demo-active .concept-sound-orbit{animation:concept-sound-expand .9s ease-out infinite}.concept-story-modal.demo-active .concept-sound-pulse>i{animation:concept-sound-breathe .72s ease-in-out infinite alternate}.concept-direct-path{width:min(33rem,100%);display:grid;grid-template-columns:5rem minmax(4rem,1fr) 8rem;align-items:center;gap:1.2rem}.concept-path-line{position:relative;height:.22rem;border-radius:var(--radius-pill);background:var(--success)}.concept-path-line>i{position:absolute;top:50%;right:-.1rem;width:.8rem;height:.8rem;border-top:.22rem solid var(--success);border-right:.22rem solid var(--success);transform:translateY(-50%) rotate(45deg)}.concept-direct-path>.concept-recognition-state{min-width:0;display:grid;grid-template-columns:1.5rem minmax(0,1fr);align-items:center;gap:.45rem;padding:.75rem;border:1px solid var(--success-border);border-radius:var(--radius-md);background:var(--success-soft)}.concept-recognition-state>i{width:1.1rem;height:.62rem;border-bottom:.2rem solid var(--success);border-left:.2rem solid var(--success);transform:translateY(-.12rem) rotate(-45deg)}.concept-recognition-state>b{overflow:hidden;color:var(--success);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap}.concept-spacing-pulses{display:flex;align-items:center;justify-content:space-between;gap:3rem;width:100%}.concept-spacing-pulses.tight{gap:.8rem}.concept-control-cycle{width:min(30rem,100%);display:grid;grid-template-columns:minmax(0,1fr) 5rem minmax(0,1fr);align-items:center;gap:1rem}.concept-control-cycle>div{display:grid;justify-items:center;gap:.7rem}.concept-control-cycle>div>span{width:5.5rem;height:5.5rem;border:2px solid var(--accent);border-radius:50%;background:var(--accent-soft);box-shadow:inset 0 0 0 1rem color-mix(in srgb,var(--bg-surface) 54%,transparent)}.concept-control-cycle>div>span.release{border-color:var(--success);background:var(--success-soft)}.concept-control-cycle>div>b{color:var(--text-primary);font-size:var(--text-base)}.concept-control-cycle>i{position:relative;height:.22rem;border-radius:var(--radius-pill);background:var(--warning)}.concept-control-cycle>i:after{position:absolute;top:50%;right:0;width:.75rem;height:.75rem;border-top:.2rem solid var(--warning);border-right:.2rem solid var(--warning);content:"";transform:translateY(-50%) rotate(45deg)}.concept-cadence-lane{position:relative;min-width:0;height:3.4rem;display:grid;align-items:center}.concept-cadence-lane>i{position:absolute;right:1rem;left:1rem;height:.2rem;border-radius:var(--radius-pill);background:var(--border-strong)}.concept-cadence-lane>div{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center}.concept-cadence-lane>div>span{justify-self:center;width:2.2rem;height:2.2rem;border:2px solid var(--accent);border-radius:50%;background:var(--bg-surface);box-shadow:inset 0 0 0 .45rem var(--accent-soft)}.concept-cadence-lane.rushed>div{grid-template-columns:.4fr .5fr 2.1fr}.concept-cadence-lane.rushed>div>span{border-color:var(--danger);box-shadow:inset 0 0 0 .45rem var(--danger-soft)}.concept-memory-sounds .concept-sound-pulse{margin-inline:auto}.concept-memory-input{min-height:5rem;align-items:center}.concept-memory-input>span{width:.22rem;height:2.4rem;border-radius:var(--radius-pill);background:var(--accent)}.concept-memory-token-row{align-items:center;justify-content:center;gap:2.5rem}.concept-memory-tray{min-height:4.6rem;align-items:center}.concept-memory-tray>span{color:var(--info);font-size:var(--text-sm);font-weight:900}.concept-character-group>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem}.concept-character-group>div>span{display:block;aspect-ratio:1;border:1px solid var(--info-border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--info-soft) 64%,var(--bg-surface))}.concept-group-stream>div{display:flex;gap:.22rem;padding:.8rem;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-surface)}.concept-group-stream>div:nth-child(2){border-color:var(--warning-border);background:var(--warning-soft)}.concept-group-stream>div>i{width:.72rem;height:1.9rem;border-radius:var(--radius-sm);background:var(--info)}.concept-group-stream>div:nth-child(2)>i{background:var(--warning)}.concept-signal-chunks{grid-template-columns:repeat(3,minmax(0,1fr))}.concept-signal-chunks>span{min-height:5.4rem;display:grid;grid-template-rows:1.7rem auto;place-items:center;gap:.45rem;font-family:inherit;font-size:var(--text-base)}.concept-signal-chunks>span>i{width:1.5rem;height:1.5rem;border:.28rem solid currentColor;border-radius:50%;opacity:.78}.concept-exchange-visual .station{position:relative;overflow:hidden}.concept-exchange-visual .station>i{position:absolute;top:1.1rem;width:.22rem;height:2.5rem;border-radius:var(--radius-pill);background:var(--info)}.concept-exchange-visual .station>b{position:absolute;bottom:1rem;width:2.4rem;height:.28rem;border-radius:var(--radius-pill);background:var(--info)}.concept-exchange-visual .station:before,.concept-exchange-visual .station:after{position:absolute;top:.9rem;width:1.4rem;height:1.4rem;border:0 solid var(--accent);content:""}.concept-exchange-visual .station:before{left:.75rem;border-top-width:.2rem;border-left-width:.2rem;border-radius:1rem 0 0}.concept-exchange-visual .station:after{right:.75rem;border-top-width:.2rem;border-right-width:.2rem;border-radius:0 1rem 0 0}.concept-callsign-visual{width:min(30rem,100%);display:grid;grid-template-columns:5.5rem minmax(0,1fr);align-items:center;gap:1.2rem;padding:1.2rem;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-surface)}.concept-callsign-visual>.concept-identity-avatar{position:relative;display:block;width:5.5rem;height:5.5rem;aspect-ratio:auto;border:2px solid var(--info-border);border-radius:50%;background:var(--info-soft)}.concept-identity-avatar>i{position:absolute;top:1rem;left:50%;width:1.65rem;height:1.65rem;border-radius:50%;background:var(--info);transform:translate(-50%)}.concept-identity-avatar>b{position:absolute;right:1rem;bottom:.8rem;left:1rem;height:1.75rem;border-radius:1rem 1rem .45rem .45rem;background:var(--info)}.concept-identity-copy{min-width:0;display:grid;gap:.7rem}.concept-identity-copy>span{display:block;aspect-ratio:auto;border:0;background:transparent;color:var(--text-primary);font-family:inherit;font-size:var(--text-base);font-weight:900}.concept-identity-copy>i{width:100%;height:.55rem;border-radius:var(--radius-pill);background:var(--bg-chip-neutral)}.concept-identity-copy>i:last-child{width:64%}.concept-callsign-structure{grid-template-columns:repeat(3,minmax(0,1fr))}.concept-callsign-structure>div{justify-items:center}.concept-callsign-structure i{width:2.4rem;height:2.4rem;border:.5rem solid var(--accent-soft);border-radius:50%;background:var(--accent)}.concept-flow-visual{width:min(35rem,100%);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.concept-flow-step{position:relative;min-width:0;display:grid;justify-items:center;gap:.75rem;text-align:center}.concept-flow-step>span{display:grid;place-items:center;width:4.6rem;height:4.6rem;border:2px solid var(--accent);border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:1.45rem;font-weight:900}.concept-flow-step:nth-child(2)>span{border-color:var(--warning);background:var(--warning-soft);color:var(--warning)}.concept-flow-step:nth-child(3)>span{border-color:var(--success);background:var(--success-soft);color:var(--success)}.concept-flow-step strong{color:var(--text-primary);font-size:var(--text-base)}.concept-flow-step i{position:absolute;top:2.2rem;left:calc(50% + 3.3rem);width:calc(100% - 3rem);height:.2rem;background:var(--border-strong)}@keyframes concept-sound-expand{0%{transform:scale(.9);opacity:.7}to{transform:scale(1.08);opacity:0}}@keyframes concept-sound-breathe{0%{transform:scale(.9);opacity:.72}to{transform:scale(1.04);opacity:1}}@media (max-width: 720px){.concept-story-backdrop{place-items:stretch;padding:0}.concept-story-modal{width:100%;height:100dvh;max-height:none;border:0;border-radius:0}.concept-story-drag-handle{position:absolute;z-index:2;top:max(.45rem,env(safe-area-inset-top));left:50%;display:block;width:2.6rem;height:.26rem;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--text-muted) 55%,transparent);transform:translate(-50%)}.concept-story-header{min-height:4.4rem;padding:max(1rem,env(safe-area-inset-top)) .85rem .55rem}.concept-story-page{grid-template-rows:minmax(15rem,1fr) auto}.concept-story-visual{min-height:15rem;padding:1.2rem}.concept-story-copy{min-height:8.5rem;padding:1.05rem 1.2rem 1.2rem}.concept-story-copy h2{font-size:1.55rem}.concept-story-copy p{font-size:1rem}.concept-story-footer{min-height:5.2rem;grid-template-columns:var(--control-height-compact) minmax(0,1fr) minmax(7.75rem,auto);padding-inline:.75rem}.concept-story-demo-button,.concept-story-next-button{min-width:0;padding-inline:.75rem;font-size:.95rem}.concept-spacing-pulses{gap:1.25rem}.concept-spacing-caption-row{font-size:.8rem}.concept-compare-visual>div{grid-template-columns:4.4rem minmax(0,1fr);gap:.55rem}.concept-direct-path{grid-template-columns:4.5rem minmax(2rem,1fr) 7rem;gap:.55rem}.concept-direct-path>.concept-recognition-state{grid-template-columns:1.2rem minmax(0,1fr);padding:.6rem}.concept-recognition-state>b{font-size:.75rem}.concept-control-cycle{grid-template-columns:minmax(0,1fr) 3.5rem minmax(0,1fr);gap:.55rem}.concept-control-cycle>div>span{width:4.6rem;height:4.6rem}.concept-memory-gate{gap:.7rem}.concept-memory-divider{height:7rem}.concept-memory-input,.concept-memory-tray{gap:.25rem;padding:.75rem .45rem}.concept-memory-token-row{gap:1rem}.concept-character-group{padding-inline:2rem}.concept-character-group>div>span{border-radius:var(--radius-sm)}.concept-group-stream{gap:.4rem}.concept-group-stream>div{padding:.6rem .45rem}.concept-group-stream>div>i{width:.48rem;height:1.5rem}.concept-signal-chunks{gap:.45rem}.concept-signal-chunks>span{min-height:4.6rem;padding-inline:.45rem;font-size:.82rem}.concept-callsign-visual{grid-template-columns:4.5rem minmax(0,1fr);padding:.85rem}.concept-callsign-visual>.concept-identity-avatar{width:4.5rem;height:4.5rem}.concept-flow-visual{gap:.45rem}.concept-flow-step>span{width:3.8rem;height:3.8rem}.concept-flow-step i{top:1.85rem;left:calc(50% + 2.4rem);width:calc(100% - 1.8rem)}.concept-flow-step strong{font-size:.88rem}}@media (max-width: 390px){.concept-story-header{gap:.45rem;padding-inline:.65rem}.concept-story-visual{padding-inline:.8rem}.concept-story-footer{gap:.45rem;padding-inline:.55rem}.concept-story-demo-button,.concept-story-next-button{padding-inline:.55rem;font-size:.88rem}.concept-sound-orbit.outer{width:15.5rem}.concept-sound-orbit.inner{width:12.5rem}}@media (prefers-reduced-motion: reduce){.concept-story-track,.concept-story-progress button,.concept-story-modal.demo-active .concept-sound-pulse>span,.concept-story-modal.demo-active .concept-sound-pulse>i,.concept-story-modal.demo-active .concept-sound-orbit,.concept-memory-token-row .concept-sound-pulse{animation:none;transition:none}}.concept-action-diagram{width:min(38rem,100%);display:flex;align-items:flex-start;justify-content:center;gap:2.8rem}.concept-action-stage{--concept-step-color: var(--info);--concept-step-soft: var(--info-soft);--concept-step-border: var(--info-border);position:relative;min-width:0;flex:1 1 0;max-width:10.5rem}.concept-action-stage:nth-child(2){--concept-step-color: var(--warning);--concept-step-soft: var(--warning-soft);--concept-step-border: var(--warning-border)}.concept-action-stage:nth-child(3){--concept-step-color: var(--success);--concept-step-soft: var(--success-soft);--concept-step-border: var(--success-border)}.concept-action-node{min-width:0;display:grid;grid-template-rows:4.75rem auto;justify-items:center;gap:.85rem;color:var(--text-primary);text-align:center}.concept-action-icon{width:4.75rem;height:4.75rem;display:grid;place-items:center;border:2px solid var(--concept-step-border);border-radius:50%;background:color-mix(in srgb,var(--concept-step-soft) 76%,var(--bg-surface));color:var(--concept-step-color);box-shadow:var(--shadow-sm)}.concept-action-icon svg{width:2.15rem;height:2.15rem;stroke-width:2.15}.concept-action-copy{min-width:0;display:grid;gap:.25rem;justify-items:center}.concept-action-copy strong,.concept-action-copy small{max-width:100%;overflow-wrap:anywhere}.concept-action-copy strong{color:var(--text-primary);font-size:var(--text-base);line-height:1.18}.concept-action-copy small{color:var(--text-muted);font-size:var(--text-xs);font-weight:750;line-height:1.3}.concept-action-connector{position:absolute;top:1.8rem;left:calc(100% + .5rem);width:1.8rem;display:grid;place-items:center;color:var(--text-muted)}.concept-action-connector svg{width:1.55rem;height:1.55rem;stroke-width:2.4}.concept-story-modal.demo-active .concept-action-stage:first-child .concept-action-icon{border-color:var(--info);background:var(--info-soft);box-shadow:0 0 0 .45rem color-mix(in srgb,var(--info-soft) 72%,transparent)}.concept-comparison-diagram{width:min(38rem,100%);display:grid}.concept-comparison-row{display:grid;grid-template-columns:10rem minmax(0,1fr);align-items:center;gap:1.25rem;padding:1rem 0;border-top:1px solid var(--border-subtle)}.concept-comparison-row:last-child{border-bottom:1px solid var(--border-subtle)}.concept-comparison-label{min-width:0;display:grid;gap:.2rem;text-align:left}.concept-comparison-label strong{color:var(--text-primary);font-size:var(--text-sm)}.concept-comparison-label small{color:var(--text-muted);font-size:var(--text-xs);font-weight:700;line-height:1.3}.concept-action-diagram.compact{width:100%;justify-content:flex-start;gap:2.1rem}.concept-action-diagram.compact .concept-action-stage{max-width:9rem}.concept-action-node.compact{grid-template:auto / 2.8rem minmax(0,1fr);align-items:center;justify-items:start;gap:.6rem;text-align:left}.concept-action-node.compact .concept-action-icon{width:2.8rem;height:2.8rem}.concept-action-node.compact .concept-action-icon svg{width:1.35rem;height:1.35rem}.concept-action-node.compact .concept-action-copy{justify-items:start}.concept-action-node.compact .concept-action-copy strong{font-size:var(--text-xs)}.concept-action-diagram.compact .concept-action-connector{top:.7rem;left:calc(100% + .15rem);width:1.45rem}.concept-comparison-row.caution .concept-action-stage{--concept-step-color: var(--danger);--concept-step-soft: var(--danger-soft);--concept-step-border: var(--danger-border)}.concept-comparison-row.caution .concept-comparison-label strong{color:var(--danger)}.concept-exchange-diagram{width:min(38rem,100%);display:grid;grid-template-columns:minmax(0,9rem) minmax(10rem,1fr) minmax(0,9rem);align-items:start;gap:1rem}.concept-exchange-diagram>.concept-action-node:first-child{--concept-step-color: var(--info);--concept-step-soft: var(--info-soft);--concept-step-border: var(--info-border)}.concept-exchange-diagram>.concept-action-node:last-child{--concept-step-color: var(--success);--concept-step-soft: var(--success-soft);--concept-step-border: var(--success-border)}.concept-exchange-message{min-width:0;min-height:4.75rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.45rem;color:var(--warning);text-align:center}.concept-exchange-message:before,.concept-exchange-message:after{height:2px;background:var(--warning-border);content:""}.concept-exchange-message svg{display:none}.concept-exchange-message strong{padding:.5rem .65rem;border:1px solid var(--warning-border);border-radius:var(--radius-md);background:var(--warning-soft);color:var(--warning);font-size:var(--text-xs);line-height:1.2}.concept-callsign-structure{width:min(36rem,100%);display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.75rem}.concept-callsign-structure>div{--concept-step-color: var(--info);--concept-step-soft: var(--info-soft);--concept-step-border: var(--info-border);min-width:0;display:grid;justify-items:center;gap:.35rem;padding:0;border:0;background:transparent;text-align:center}.concept-callsign-structure>div:nth-of-type(2){--concept-step-color: var(--warning);--concept-step-soft: var(--warning-soft);--concept-step-border: var(--warning-border)}.concept-callsign-structure>div:nth-of-type(3){--concept-step-color: var(--success);--concept-step-soft: var(--success-soft);--concept-step-border: var(--success-border)}.concept-callsign-structure>div>span{width:3.25rem;height:3.25rem;display:grid;place-items:center;border:2px solid var(--concept-step-border);border-radius:50%;background:var(--concept-step-soft);color:var(--concept-step-color);font-size:1.15rem;font-weight:900}.concept-callsign-structure>div>strong{color:var(--text-primary);font-size:var(--text-base)}.concept-callsign-structure>div>small{color:var(--text-muted);font-size:var(--text-xs);font-weight:700;line-height:1.25}.concept-callsign-structure>svg{width:1.35rem;color:var(--text-muted);stroke-width:2.4}@media (max-width: 720px){.concept-action-diagram{gap:1.5rem}.concept-action-stage{max-width:7.4rem}.concept-action-node{grid-template-rows:3.9rem auto;gap:.65rem}.concept-action-icon{width:3.9rem;height:3.9rem}.concept-action-icon svg{width:1.75rem;height:1.75rem}.concept-action-copy strong{font-size:.88rem}.concept-action-copy small{font-size:.72rem}.concept-action-connector{top:1.35rem;left:calc(100% + .1rem);width:1.25rem}.concept-action-connector svg{width:1.15rem;height:1.15rem}.concept-comparison-row{grid-template-columns:1fr;gap:.55rem;padding:.75rem 0}.concept-comparison-label{grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:.5rem}.concept-action-diagram.compact{gap:1.8rem}.concept-action-diagram.compact .concept-action-stage{max-width:9rem}.concept-exchange-diagram{grid-template-columns:minmax(0,1fr) 5.5rem minmax(0,1fr);gap:.45rem}.concept-exchange-message{min-height:3.9rem;grid-template-columns:1fr}.concept-exchange-message:before,.concept-exchange-message:after{display:none}.concept-exchange-message svg{display:block;justify-self:center;width:1rem}.concept-exchange-message strong{padding:.4rem;font-size:.68rem}.concept-callsign-structure{gap:.35rem}.concept-callsign-structure>div>span{width:2.75rem;height:2.75rem;font-size:1rem}.concept-callsign-structure>div>strong{font-size:.84rem}.concept-callsign-structure>div>small{font-size:.68rem}.concept-callsign-structure>svg{width:.9rem}}@media (max-width: 390px){.concept-action-diagram{gap:1.05rem}.concept-action-node{grid-template-rows:3.45rem auto}.concept-action-icon{width:3.45rem;height:3.45rem}.concept-action-icon svg{width:1.5rem;height:1.5rem}.concept-action-copy strong{font-size:.78rem}.concept-action-copy small{font-size:.66rem}.concept-action-connector{top:1.15rem;left:calc(100% - .05rem);width:.9rem}.concept-action-diagram.compact{gap:1.15rem}.concept-action-node.compact{grid-template-columns:2.45rem minmax(0,1fr);gap:.4rem}.concept-action-node.compact .concept-action-icon{width:2.45rem;height:2.45rem}.concept-action-diagram.compact .concept-action-connector{left:calc(100% - .1rem)}}.course-module-card.secondary .course-module-title,.course-lesson-item.secondary .course-lesson-title{color:var(--text-primary)}.course-module-card.secondary .course-module-copy,.course-lesson-item.secondary .course-lesson-desc,.course-lesson-item.secondary .course-lesson-why{color:var(--text-secondary)}.course-module-card.challenge-module .course-module-copy{color:#f7fbffe0}.course-meta,.course-status-banner{line-height:1.55}.course-status-banner>div:first-child{flex:1 1 auto}.course-runtime-metrics{display:flex;flex-wrap:wrap;gap:.75rem}.course-runtime-metrics>div{min-width:9.5rem}.course-lesson-title-row{align-items:flex-start}.course-lesson-progress{min-width:6.5rem}.modal-form-row{margin-bottom:1rem}.modal-form-label{display:block;margin-bottom:.5rem;font-weight:600}.modal-actions{display:flex;gap:1rem;justify-content:flex-end}.modal-secondary-btn{padding:.75rem 1.25rem;border-radius:.65rem;border:1px solid var(--border-subtle);cursor:pointer;font-size:1rem}@media (max-width: 600px){.daily-mission-card{padding:.9rem}.daily-mission-copy h3{font-size:1.45rem}.daily-mission-home-main,.daily-mission-detail-head,.daily-mission-detail-summary,.daily-mission-main,.daily-mission-score,.daily-mission-block{grid-template-columns:1fr}.daily-mission-home-actions{flex-direction:column;align-items:stretch}.daily-mission-score{justify-items:stretch}.daily-mission-ring{justify-self:center}.daily-mission-stats,.daily-mission-primary{width:100%}.daily-mission-stats span{flex:1 1 8.5rem;justify-content:center}.daily-mission-block{min-height:0}.daily-mission-block-status{justify-self:start}.theme-toggle-btn,.create-account-link,.settings-icon,.profile-icon-btn,.streak-icon-btn{min-height:40px}.course-page{margin:1.1rem auto 2rem}.course-step-panel{max-height:none}.course-step-item{align-items:flex-start}.course-step-marker{padding-top:.1rem}.signup-modal-content{width:min(95vw,520px);padding-top:2.5rem}.modal-actions,.course-status-actions{width:100%;flex-direction:column}.course-runtime-header{gap:.75rem}.course-runtime-metrics>div{min-width:100%}.course-results-card,.course-status-banner,.course-card,.course-module-card,.course-lesson-item{padding-left:1rem;padding-right:1rem}.course-lesson-title-row{align-items:flex-start}.course-lesson-progress{align-self:stretch;min-width:0}.settings-inline-fields,.settings-footer-actions{flex-direction:column}}.feedback-success-state{text-align:center;padding:2rem}.feedback-success-icon{font-size:3rem;margin-bottom:1rem}.feedback-success-copy{color:var(--success);font-size:1.1rem;margin:0}.main-content-copy{max-width:520px;text-align:center;color:var(--text-secondary);margin-bottom:1.5rem}.profile-icon-btn{background:var(--bg-surface-muted);color:var(--text-secondary)}.settings-icon{color:var(--accent);background:transparent;border:none;border-radius:.6rem;padding:.2rem}.streak-icon-btn{box-shadow:none}.streak-icon-btn.active .streak-icon-count,.streak-icon-count,.streak-icon-glyph,.streak-icon-btn.active .streak-icon-glyph,.streak-popup-kicker{color:var(--warning)}.streak-popup-badge.active{background:var(--button-primary-bg);border-color:transparent;color:var(--button-primary-text)}.settings-danger-card{background:color-mix(in srgb,var(--danger-soft) 72%,var(--bg-surface));border-color:var(--danger-border)}.settings-danger-text{color:var(--text-secondary)}.settings-danger-btn{justify-self:start;border:none;background:var(--button-destructive-bg);color:var(--button-destructive-text);border-radius:.6rem;padding:.5rem 1rem;font-weight:600;cursor:pointer}.settings-danger-btn:hover:not(:disabled){background:var(--button-destructive-hover)}.sbui-modal-close,.sbui-modal__close,.supabase-auth-ui .sbui-btn-container,button[aria-label=Close]{color:var(--info)!important;background:transparent!important}.sbui-modal-close:hover,.sbui-modal__close:hover,.supabase-auth-ui .sbui-btn-container:hover,button[aria-label=Close]:hover{color:var(--text-primary)!important;background:var(--info-soft)!important}.homepage-header{background:var(--nav-bg);box-shadow:var(--shadow-sm)}.course-card:not(.course-card-cw-games),.course-results,.course-module-card,.course-lesson-item,.course-control,.course-step-panel,.course-status-banner,.course-results-card,.cw-proficiency-card,.settings-device-card,.settings-info-card,.settings-danger-card,.settings-key-tester-stage,.settings-key-tester-output,.challenge-stage-card,.challenge-shell-card,.challenge-shell-sidebar-panel,.activity-card,.play-friends-command,.play-friends-mode-panel,.play-friends-browser,.play-friends-disclosure,.play-friends-room-row,.play-friends-choice-card,.play-friends-identity-card,.morse-chat-audio-gate,.morse-chat-receive-panel,.morse-chat-composer,.morse-chat-timeline,.morse-chat-on-air,.morse-chat-roster,.morse-chat-setup-panel{border-radius:var(--radius-md);border-color:var(--border-subtle);background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--surface-shadow)}.course-module-card,.course-lesson-item,.play-friends-room-row,.play-friends-mode-card,.activity-card,.challenge-stage-card{box-shadow:none}.get-started-btn,.home-secondary-btn,.settings-primary-btn,.settings-secondary-btn,.settings-meter-btn,.settings-danger-btn,.modal-close-btn,.modal-secondary-btn,.challenge-primary-btn,.challenge-secondary-btn,.course-actions button,.course-status-retry,.course-back-btn,.theme-choice-btn,.theme-toggle-btn,.create-account-link,.profile-icon-btn,.streak-icon-btn,.settings-icon,.play-friends-chip,.play-friends-choice-card,.morse-chat-room-actions button,.morse-chat-audio-actions button,.morse-chat-message-actions button,.morse-chat-roster-actions button,.morse-chat-setup-actions button,.challenge-hub-launch-actions .challenge-primary-btn,.challenge-hub-launch-actions .challenge-secondary-btn,.challenge-hub-lane-card-actions .challenge-primary-btn,.challenge-hub-lane-card-actions .challenge-secondary-btn,.challenge-hub-primary-actions>button,.play-friends-primary-actions>button{min-height:var(--control-height);border-radius:var(--radius-md);font-size:var(--text-base)}.profile-icon-btn,.streak-icon-btn,.settings-icon,.modal-x-btn,.challenge-secondary-btn.compact{min-height:var(--control-height-compact);min-width:var(--control-height-compact)}.homepage-header.app-topbar .theme-toggle-btn{width:var(--control-height-compact);min-width:var(--control-height-compact);min-height:var(--control-height-compact);justify-content:center;gap:0;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none}.homepage-header.app-topbar .theme-toggle-btn:hover,.homepage-header.app-topbar .theme-toggle-btn:focus-visible{background:color-mix(in srgb,var(--bg-surface-muted) 72%,transparent)}.homepage-header.app-topbar .theme-toggle-icon{font-size:1.18rem}.course-page h1,.challenge-hub-title-block h2,.morse-chat-hero-copy h1{color:var(--text-primary);font-size:clamp(var(--text-2xl),3vw,var(--text-3xl));line-height:1.08;letter-spacing:0}.course-module-title,.course-lesson-title,.settings-device-title,.challenge-hub-lane-card-title,.play-friends-mode-card b,.play-friends-room-main b,.morse-chat-section-head h3{color:var(--text-primary);font-size:var(--text-md);line-height:1.2}.course-module-copy,.course-module-progress-text,.course-lesson-desc,.course-lesson-why,.settings-device-copy,.challenge-hub-featured-lead,.challenge-hub-featured-support,.challenge-hub-lane-card-support,.play-friends-room-main span,.morse-chat-hero-copy p,.morse-chat-receive-copy,.morse-chat-message-meta,.modal p{color:var(--text-secondary);font-size:var(--text-base);line-height:1.55}.challenge-badge,.challenge-stage-chip,.course-review-chip,.course-weak-symbol-chip,.settings-device-status,.my-key-serial-signal,.vband-inline-signal,.play-friends-fit-label,.play-friends-room-meta span,.morse-chat-meta-bar span,.morse-chat-kicker,.course-module-eyebrow,.my-key-serial-title,.vband-inline-title,.modal-stage-label{min-height:1.9rem;padding:.28rem .58rem;border-radius:var(--radius-pill);font-size:var(--text-xs);letter-spacing:0;text-transform:none}.morse-chat-meta-bar .morse-chat-status-pill{min-height:1.45rem;padding:.1rem .42rem;gap:.24rem;font-size:.74rem;line-height:1.05}.morse-chat-meta-bar>div>span,.morse-chat-meta-bar .morse-chat-kicker{min-height:0;padding:0;border-radius:0;font-size:.68rem;line-height:1.05;opacity:.9;text-transform:none}.morse-chat-meta-bar>div>b{color:var(--text-primary);font-size:.96rem;font-weight:850;line-height:1.08;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.morse-chat-meta-bar .morse-chat-status-light{width:.64rem;height:.64rem}.morse-chat-meta-bar .morse-chat-status-light>span{width:.5rem;height:.5rem;min-height:0;padding:0;border:0;border-radius:999px;font-size:0;line-height:1}.morse-chat-meta-bar .morse-chat-roster-row{flex:0 0 auto;height:1.85rem;max-width:min(100%,10.5rem);gap:.35rem;border-radius:var(--radius-md);padding:0 .4rem}.morse-chat-meta-bar .morse-chat-roster-row b,.morse-chat-meta-bar .morse-chat-roster-row>span:not(.morse-chat-status-light){min-height:0;padding:0;border:0;border-radius:0;font-size:.76rem;line-height:1.1}.morse-chat-meta-bar .morse-chat-roster-row>span:not(.morse-chat-status-light){border:1px solid var(--border-subtle);border-radius:var(--radius-pill);padding:.08rem .32rem;background:color-mix(in srgb,var(--bg-surface-muted) 70%,transparent);font-size:.66rem}.morse-chat-meta-bar .morse-chat-roster.compact{align-content:start;grid-template-rows:auto minmax(0,1.95rem)}.morse-chat-meta-bar .morse-chat-roster-list{display:flex;flex-wrap:nowrap;align-items:center;min-height:1.95rem;max-height:1.95rem;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.morse-chat-meta-bar .morse-chat-roster-list::-webkit-scrollbar{display:none}.morse-chat-meta-bar .morse-chat-roster-more{flex:0 0 auto;height:1.85rem;min-height:0;padding:0 .45rem}.morse-chat-meta-bar .morse-chat-composer.compact{align-content:start;gap:.22rem;grid-template-columns:minmax(0,1fr) auto;align-items:center}.morse-chat-meta-bar .morse-chat-composer.compact .morse-chat-section-head,.morse-chat-meta-bar .morse-chat-composer.compact .morse-chat-transmit-meter,.morse-chat-meta-bar .morse-chat-composer.compact .course-status-banner,.morse-chat-meta-bar .morse-chat-composer.compact .morse-chat-action-row{grid-column:1 / -1}.morse-chat-meta-bar .morse-chat-keyer-line{min-width:0;overflow:hidden;color:var(--text-muted);font-weight:800;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.morse-chat-meta-bar .morse-chat-transmitter-summary{justify-self:end;min-height:0}.morse-chat-meta-bar .morse-chat-transmitter-summary span{max-width:100%;min-height:1.45rem;padding:.1rem .42rem;font-size:.72rem;line-height:1.05}.morse-chat-meta-bar .morse-chat-transmit-meter{min-height:1.45rem;padding:.14rem .42rem;font-size:.7rem}.morse-chat-meta-bar .morse-chat-transmit-meter.idle{display:none}.morse-chat-meta-bar .morse-chat-action-row{gap:.3rem;margin-top:.08rem}.morse-chat-meta-bar .morse-chat-action-row .challenge-primary-btn,.morse-chat-meta-bar .morse-chat-action-row .challenge-secondary-btn{min-height:1.75rem;padding:.2rem .5rem;border-radius:var(--radius-md);font-size:.74rem;line-height:1}.morse-chat-meta-bar .morse-chat-on-air{gap:.24rem}.morse-chat-meta-bar .morse-chat-on-air-list{flex-wrap:nowrap;align-items:center;min-height:1.95rem;max-height:1.95rem;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.morse-chat-meta-bar .morse-chat-on-air-list::-webkit-scrollbar{display:none}.morse-chat-meta-bar .morse-chat-on-air-chip{flex:0 0 auto;max-width:min(100%,11.5rem);min-height:1.85rem;gap:.35rem;padding:.18rem .45rem}.morse-chat-meta-bar .morse-chat-on-air-chip b{font-size:.78rem;line-height:1.05}.morse-chat-meta-bar .morse-chat-on-air-chip span,.morse-chat-meta-bar .morse-chat-on-air-empty{min-height:0;padding:0;border-radius:0;font-size:.68rem;line-height:1.05}.morse-chat-meta-bar .morse-chat-on-air-chip .challenge-secondary-btn.compact{min-height:1.45rem;min-width:0;padding:.12rem .36rem;font-size:.66rem;line-height:1}@media (max-width: 720px){.get-started-btn,.home-secondary-btn,.settings-primary-btn,.settings-secondary-btn,.modal-close-btn,.modal-secondary-btn,.challenge-primary-btn,.challenge-secondary-btn,.course-actions button,.course-status-retry,.course-back-btn{min-height:var(--control-height-large)}}.mobile-nav-current{display:none}.nav-link-active,.nav-links li a.nav-link-active:hover,.nav-icon-active{background:transparent;color:var(--nav-text, #fff)}.nav-links li a.nav-link-active{opacity:1;color:var(--nav-text, #fff)}.nav-links li a.nav-link-active:after{content:"";position:absolute;right:0;bottom:-.42rem;left:0;height:2px;border-radius:var(--radius-pill);background:var(--button-primary-bg)}@media (max-width: 720px){.homepage-header{position:sticky;top:0;z-index:900;padding:calc(env(safe-area-inset-top,0px) + .42rem) 0 .46rem;border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-sm)}.nav-bar{max-width:none;min-height:44px;padding:0 .75rem;flex-direction:row!important;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.42rem}.logo{max-width:9.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;line-height:1;letter-spacing:.02em}.mobile-nav-current{display:inline-flex;align-items:center;min-height:32px;max-width:8.8rem;padding:.22rem .58rem;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--button-secondary-bg);color:var(--text-primary);font-size:.82rem;font-weight:800;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-spacer{flex:1 1 0!important;min-width:0}.nav-actions{display:contents}.nav-links{order:3;width:100%!important;display:flex;flex:0 0 100%;flex-wrap:nowrap!important;align-items:center;justify-content:flex-start!important;gap:.38rem!important;max-width:100%;margin-top:.1rem;padding:.08rem 0 .02rem;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch}.nav-links::-webkit-scrollbar{display:none}.nav-links li{flex:0 0 auto!important;justify-content:flex-start!important}.nav-links li a,.theme-toggle-btn{min-height:36px;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--button-secondary-bg);color:var(--text-primary);font-size:.84rem;font-weight:800;line-height:1;white-space:nowrap}.nav-links li a{padding:.4rem .68rem}.nav-links li a.nav-link-active{border-color:color-mix(in srgb,var(--button-primary-bg) 54%,var(--border-subtle));background:color-mix(in srgb,var(--button-primary-bg) 8%,var(--button-secondary-bg));color:var(--text-primary)}.nav-links li a.nav-link-active:after{right:.65rem;bottom:.28rem;left:.65rem;height:2px}.theme-toggle-btn{width:38px;min-width:38px;padding:0;justify-content:center;gap:0}.theme-toggle-label{display:none}.profile-icon-btn,.streak-icon-btn,.daily-xp-meter,.settings-icon{min-width:38px;min-height:38px;padding:0}.settings-icon svg{width:22px;height:22px}.settings-icon{order:2}.streak-icon-btn{gap:.22rem;padding-inline:.42rem}.streak-icon-count{font-size:.88rem}.daily-xp-meter-total{display:none}.profile-menu,.streak-popup{top:calc(100% + .45rem);right:0}}@media (max-width: 430px){.logo{max-width:8.2rem}.mobile-nav-current{max-width:7.4rem}.nav-links li a{padding-inline:.58rem}}@media (max-width: 720px){.homepage-header.app-topbar{min-height:var(--app-topbar-height);padding:env(safe-area-inset-top,0px) 0 0}.homepage-header.app-topbar .nav-bar{min-height:56px;max-width:none;padding:0 .75rem;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center;justify-content:flex-start;gap:.42rem}.homepage-header.app-topbar .app-topbar-actions{display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto;gap:.35rem;min-width:0}.homepage-header.app-topbar .theme-toggle-btn{width:38px;min-width:38px;min-height:38px;padding:0;justify-content:center;gap:0}.homepage-header.app-topbar .theme-toggle-label{display:none}.homepage-header.app-topbar .profile-icon-btn,.homepage-header.app-topbar .streak-icon-btn{min-width:38px;min-height:38px}.homepage-header.app-topbar .daily-xp-meter{grid-template-columns:1fr;gap:.16rem;min-width:4.8rem;min-height:38px;padding:.34rem .48rem}.homepage-header.app-topbar .daily-xp-meter-track{width:100%;height:.32rem}.homepage-header.app-topbar .daily-xp-meter-value{justify-content:center;font-size:.72rem}.app-sidebar-toggle{width:40px;min-width:40px;height:40px;top:calc(var(--app-topbar-height) + .7rem);left:.7rem}.app-sidebar-open.app-sidebar-narrow .app-sidebar-toggle{left:calc(min(84vw,19rem) - 3.25rem)}.homepage-header.app-topbar .app-topbar-account-link{max-width:5rem;min-height:38px;padding-inline:.62rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.homepage-header.app-topbar .profile-menu,.homepage-header.app-topbar .streak-popup{top:calc(100% + .45rem);right:0}}@media (max-width: 430px){.homepage-header.app-topbar .logo{max-width:7.2rem}.homepage-header.app-topbar .daily-xp-meter{min-width:3.4rem;width:3.4rem;padding-inline:.36rem}.homepage-header.app-topbar .daily-xp-meter-unit,.homepage-header.app-topbar .daily-xp-meter-total{display:none}.homepage-header.app-topbar .daily-xp-meter-value b{font-size:.82rem}.homepage-header.app-topbar .mobile-nav-current{max-width:6.8rem}}.settings-page{align-items:stretch;width:min(920px,calc(100vw - 2rem));max-width:920px;margin-top:1.5rem;padding:clamp(1rem,2vw,1.4rem);gap:1rem;border-radius:var(--radius-modal);text-align:left}.settings-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding-inline:.1rem}.settings-page h2{margin:0;color:var(--text-primary);font-size:var(--text-2xl);line-height:1.1;text-align:left}.settings-page-kicker,.settings-section-kicker{display:block;color:var(--text-muted);font-size:var(--text-xs);font-weight:850;letter-spacing:.08em;line-height:1.2;text-transform:uppercase}.settings-main-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.settings-section{width:auto;margin:0;padding:.85rem;gap:.75rem;border-radius:var(--radius-md);border-color:var(--border-subtle);background:color-mix(in srgb,var(--bg-surface) 92%,var(--bg-surface-muted));box-shadow:none}.settings-section-pace{grid-column:1 / -1}.settings-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;min-width:0}.settings-section-header>div{min-width:0}.settings-section-header h3{margin:.18rem 0 0;color:var(--text-primary);font-size:var(--text-lg);line-height:1.18}.settings-section-summary{max-width:20rem;color:var(--text-secondary);font-size:var(--text-sm);font-weight:750;line-height:1.35;text-align:right;overflow-wrap:anywhere;white-space:normal}.settings-row{margin:0;gap:.55rem}.settings-row label{color:var(--text-primary);font-size:var(--text-sm);font-weight:750}.settings-help-text{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.35}.settings-segmented{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem}.settings-segmented .theme-choice-btn{min-height:var(--control-height-compact);padding:.45rem .65rem;font-size:var(--text-sm);white-space:nowrap}.settings-custom-pace-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.settings-inline-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(5.5rem,.42fr);gap:.65rem}.settings-field,.modal-form-field{min-width:0}.settings-field input,.settings-field select{min-width:0;width:100%}.settings-meter-block{margin:0;min-width:0}.settings-meter-track{width:100%;max-width:16rem;background:var(--bg-surface-muted)}.settings-section-keyer .keying-setup-card{min-height:0;padding:.78rem;gap:.8rem;border-radius:var(--radius-md);box-shadow:none}.settings-section-keyer .keying-setup-card h2{font-size:var(--text-lg);line-height:1.18}.settings-section-keyer .keying-setup-card p{margin-top:.18rem;font-size:var(--text-sm);line-height:1.35}.settings-section-keyer .keying-setup-status{margin-top:.35rem;font-size:var(--text-sm)}.settings-section-keyer .keying-setup-actions>button{min-height:var(--control-height-compact);padding-inline:.9rem;font-size:var(--text-sm)}.settings-footer-actions{margin:0;padding-top:.2rem}.settings-utility-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.85rem}.settings-utility-grid.single{grid-template-columns:minmax(0,1fr)}.settings-info-card,.settings-danger-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-width:0;padding:.85rem;border-radius:var(--radius-md);box-shadow:none;text-align:left}.settings-info-copy,.settings-danger-text{margin:.15rem 0 0;font-size:var(--text-sm);line-height:1.35}.settings-utility-title,.settings-danger-title{color:var(--text-primary);font-size:var(--text-base);font-weight:850;line-height:1.2}.settings-danger-title{color:var(--danger)}.settings-info-card .settings-primary-btn,.settings-danger-card .settings-danger-btn{flex:0 0 auto;min-height:var(--control-height-compact);padding-inline:.9rem;white-space:nowrap}@media (max-width: 820px){.settings-main-grid,.settings-utility-grid,.settings-custom-pace-grid{grid-template-columns:1fr}.settings-section-summary{max-width:none;text-align:left;white-space:normal}.settings-section-header,.settings-info-card,.settings-danger-card{align-items:stretch;flex-direction:column}.settings-segmented{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 520px){.settings-page{width:min(100%,calc(100vw - 1rem));padding:.8rem}.settings-inline-fields,.settings-segmented{grid-template-columns:1fr}}@media (max-width: 640px){.skill-check-flow-stepper{flex-wrap:wrap;border-radius:var(--radius-lg)}.skill-check-flow-step{flex-basis:calc(50% - .25rem)}.skill-check-flow-step:after{display:none}.skill-check-current-prompt{grid-template-columns:1fr}.skill-check-current-prompt .settings-primary-btn{width:100%}}.practice-console{display:grid;gap:var(--space-5)}.practice-console-hero,.practice-console-recommendation,.practice-preset-card,.practice-session-panel,.practice-answer-panel,.practice-tuning-panel,.practice-results-panel{border:1px solid color-mix(in srgb,var(--border-subtle) 82%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-surface) 94%,var(--bg-surface-muted));box-shadow:var(--surface-shadow)}.practice-console-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(13rem,.32fr);align-items:center;gap:var(--space-5);padding:var(--space-6);border-color:color-mix(in srgb,var(--accent) 28%,var(--border-subtle));background:radial-gradient(circle at top left,color-mix(in srgb,var(--accent-soft) 48%,transparent),transparent 38%),linear-gradient(135deg,color-mix(in srgb,var(--bg-surface) 95%,var(--accent-soft)) 0%,var(--bg-surface) 100%)}.practice-console-hero h2{margin:.2rem 0 0;color:var(--text-primary);font-size:clamp(2rem,4vw,3rem);line-height:1.02}.practice-console-hero p{max-width:48rem;margin:var(--space-2) 0 0;color:var(--text-secondary);font-size:var(--text-base);line-height:1.45}.practice-console-live-card{display:grid;gap:var(--space-1);min-width:0;padding:var(--space-4);border:1px solid color-mix(in srgb,var(--border-subtle) 76%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-surface-muted) 82%,transparent)}.practice-console-live-card span,.practice-console-live-card small,.practice-panel-title-row span,.practice-session-header span,.practice-session-stats span,.practice-console-recommendation span,.practice-preset-card span{color:var(--text-secondary);font-size:var(--text-xs);font-weight:900;letter-spacing:.08em;line-height:1.2;text-transform:uppercase}.practice-console-live-card b{color:var(--text-primary);font-size:var(--text-lg);line-height:1.12}.practice-console-live-card small{overflow:hidden;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap}.practice-console-recommendation{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-4);padding:var(--space-4);border-left:4px solid var(--info);background:color-mix(in srgb,var(--info-soft) 36%,var(--bg-surface))}.practice-console-recommendation>div{display:grid;gap:var(--space-1);min-width:0}.practice-console-recommendation b{color:var(--text-primary);font-size:var(--text-lg);line-height:1.15}.practice-console-recommendation small{color:var(--text-secondary);font-weight:750;line-height:1.35}.practice-preset-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.practice-preset-card{display:grid;gap:var(--space-1);min-height:8.2rem;padding:var(--space-4);color:var(--text-primary);text-align:left;cursor:pointer}.practice-preset-card:hover:not(:disabled){border-color:var(--border-strong);transform:translateY(-1px)}.practice-preset-card:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.practice-preset-card.active{border-color:color-mix(in srgb,var(--button-primary-bg) 56%,var(--border-subtle));border-left:5px solid var(--button-primary-bg);background:linear-gradient(135deg,color-mix(in srgb,var(--button-primary-bg) 16%,var(--bg-surface)) 0%,var(--bg-surface) 100%)}.practice-preset-card:disabled{cursor:not-allowed;opacity:.58}.practice-preset-card b{color:var(--text-primary);font-size:var(--text-lg);line-height:1.12}.practice-preset-card small{color:var(--text-secondary);font-weight:760;line-height:1.32}.practice-console-grid{display:grid;grid-template-columns:minmax(18rem,.34fr) minmax(0,1fr);gap:var(--space-5);align-items:stretch}.practice-session-panel,.practice-answer-panel,.practice-results-panel{display:grid;gap:var(--space-4);padding:var(--space-5)}.practice-session-panel{align-content:start}.practice-session-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-4)}.practice-session-header>div:first-child,.practice-panel-title-row>div{display:grid;gap:var(--space-1);min-width:0}.practice-session-header b,.practice-panel-title-row b{color:var(--text-primary);font-size:var(--text-xl);line-height:1.1}.practice-session-timer.course-timer-pie{width:6.25rem;height:6.25rem;flex:0 0 auto;box-shadow:inset 0 0 0 7px var(--bg-surface),0 10px 20px color-mix(in srgb,var(--accent) 12%,transparent)}.practice-session-timer .course-timer-pie-label{color:var(--text-primary);font-size:var(--text-lg)}.practice-session-stats{display:grid;gap:var(--space-2)}.practice-session-stats>div{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:var(--control-height-compact);padding:0 var(--space-3);border:1px solid color-mix(in srgb,var(--border-subtle) 72%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-surface-muted) 64%,transparent)}.practice-session-stats b{color:var(--text-primary);font-weight:900;text-align:right}.practice-session-actions{display:grid;gap:var(--space-2)}.practice-session-actions button{min-height:var(--control-height-large);border:1px solid transparent;border-radius:var(--radius-md);background:var(--button-primary-bg);color:var(--button-primary-text);font-size:var(--text-base);font-weight:850;cursor:pointer}.practice-session-actions button:not(:first-child){border-color:var(--border-subtle);background:var(--button-secondary-bg);color:var(--button-secondary-text)}.practice-session-actions button:hover:not(:disabled){background:var(--button-primary-hover);color:var(--button-primary-text)}.practice-session-actions button:not(:first-child):hover:not(:disabled){background:var(--button-secondary-hover);color:var(--text-primary)}.practice-session-actions button:disabled{cursor:not-allowed;opacity:.5}.practice-panel-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-3)}.practice-panel-title-row small{color:var(--text-secondary);font-size:var(--text-sm);font-weight:750;text-align:right}.practice-answer-panel .course-input{min-height:100%}.practice-answer-panel .course-input textarea{min-height:13.4rem;resize:vertical;border-color:color-mix(in srgb,var(--border-subtle) 84%,transparent);background:color-mix(in srgb,var(--bg-input) 92%,var(--bg-surface));font-size:var(--text-lg);line-height:1.45}.practice-answer-panel .course-input textarea:disabled{opacity:.82}.practice-tuning-panel{overflow:hidden}.practice-tuning-panel summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:var(--control-height-large);padding:var(--space-3) var(--space-4);color:var(--text-primary);cursor:pointer;list-style:none}.practice-tuning-panel summary::-webkit-details-marker{display:none}.practice-tuning-panel summary span{font-weight:900}.practice-tuning-panel summary b{overflow:hidden;color:var(--text-secondary);font-size:var(--text-sm);font-weight:760;text-align:right;text-overflow:ellipsis;white-space:nowrap}.practice-tuning-panel[open] summary{border-bottom:1px solid var(--border-subtle)}.practice-tuning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);padding:var(--space-4)}.practice-tuning-grid .course-control{min-height:5.4rem;margin:0;padding:var(--space-3);border-color:color-mix(in srgb,var(--border-subtle) 78%,transparent);background:color-mix(in srgb,var(--bg-surface-muted) 58%,transparent);box-shadow:none}.practice-tuning-grid .course-control label{color:var(--text-primary);font-size:var(--text-sm)}.practice-source-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2);padding:0 var(--space-4) var(--space-4)}.practice-source-chip{display:flex;align-items:center;gap:var(--space-2);min-height:var(--control-height-compact);padding:0 var(--space-3);border:1px solid color-mix(in srgb,var(--border-subtle) 78%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-surface-muted) 56%,transparent);color:var(--text-secondary);font-weight:800;cursor:pointer}.practice-source-chip.active{border-color:color-mix(in srgb,var(--success) 34%,var(--border-subtle));background:color-mix(in srgb,var(--success-soft) 62%,var(--bg-surface));color:var(--text-primary)}.practice-source-chip input{width:1rem;height:1rem;accent-color:var(--button-primary-bg)}.practice-scoring-row{padding:0 var(--space-4) var(--space-4)}.practice-scoring-row .course-toggle{margin:0;box-shadow:none}.practice-results-panel .course-results-empty{padding:var(--space-4);border:1px dashed color-mix(in srgb,var(--border-subtle) 80%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-surface-muted) 42%,transparent);color:var(--text-secondary);font-weight:750}.practice-results-panel .course-results-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin:0;padding:var(--space-4);box-shadow:none}@media (max-width: 980px){.practice-console-hero,.practice-console-grid{grid-template-columns:1fr}.practice-preset-rail,.practice-tuning-grid,.practice-source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-session-panel{grid-template-columns:minmax(0,1fr)}}@media (max-width: 640px){.practice-console-hero,.practice-session-panel,.practice-answer-panel,.practice-results-panel{padding:var(--space-4)}.practice-preset-rail,.practice-tuning-grid,.practice-source-grid,.practice-results-panel .course-results-card{grid-template-columns:1fr}.practice-panel-title-row,.practice-tuning-panel summary{align-items:flex-start;flex-direction:column}.practice-panel-title-row small,.practice-tuning-panel summary b{text-align:left}}:root{--ns-chunk: 0 5px 0 0 rgba(4, 9, 20, .55);--ns-chunk-sm: 0 3px 0 0 rgba(4, 9, 20, .5);--ns-glow-mint: 0 0 24px rgba(22, 208, 198, .4);--ns-glow-blue: 0 0 24px rgba(46, 123, 255, .42);--ns-primary-lip: color-mix(in srgb, var(--button-primary-bg) 62%, #000)}body{background-color:var(--bg-app)}.app-shell-root,.homepage-root{isolation:isolate}.app-shell-root:before,.homepage-root:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-repeat:no-repeat;background-image:radial-gradient(1200px 620px at 90% -14%,rgba(46,123,255,.34),transparent 62%),radial-gradient(1000px 560px at -8% 112%,rgba(22,208,198,.26),transparent 60%),radial-gradient(760px 440px at 50% 122%,rgba(255,176,32,.08),transparent 55%),radial-gradient(2px 2px at 12% 18%,rgba(255,255,255,.55),transparent),radial-gradient(2px 2px at 28% 62%,rgba(255,255,255,.4),transparent),radial-gradient(2px 2px at 68% 22%,rgba(255,255,255,.45),transparent),radial-gradient(1.5px 1.5px at 82% 48%,rgba(255,255,255,.34),transparent),radial-gradient(1.5px 1.5px at 46% 82%,rgba(255,255,255,.32),transparent),radial-gradient(1.5px 1.5px at 92% 78%,rgba(255,255,255,.28),transparent),radial-gradient(1px 1px at 58% 40%,rgba(255,255,255,.26),transparent),radial-gradient(1px 1px at 22% 42%,rgba(255,255,255,.24),transparent)}:root[data-theme=light] .app-shell-root:before,:root[data-theme=light] .homepage-root:before{background-image:radial-gradient(1100px 560px at 90% -10%,rgba(0,246,217,.22),transparent 55%),radial-gradient(900px 500px at 0% 8%,rgba(46,123,255,.18),transparent 52%)}h1,h2,h3,h4,.sidebar-title,.app-sidebar-title,.course-page h1,.challenge-hub-title-block h2,.morse-chat-hero-copy h1{font-family:var(--font-display);letter-spacing:-.01em}.callsign,.mono,code,kbd,samp{font-family:var(--font-mono)}.get-started-btn,.settings-primary-btn,.challenge-primary-btn,.daily-mission-primary,[class*=primary-btn]:not(.challenge-secondary-btn),[class*=-cta]{border-radius:var(--radius-pill);font-family:var(--font-body);font-weight:900;letter-spacing:.02em;box-shadow:0 5px 0 0 var(--ns-primary-lip),var(--ns-glow-mint);transition:transform .09s ease,box-shadow .09s ease,background .15s ease,filter .15s ease}.get-started-btn:hover,.settings-primary-btn:hover,.challenge-primary-btn:hover,.daily-mission-primary:hover,[class*=primary-btn]:not(.challenge-secondary-btn):hover,[class*=-cta]:hover{filter:brightness(1.04)}.get-started-btn:active,.settings-primary-btn:active,.challenge-primary-btn:active,.daily-mission-primary:active,[class*=primary-btn]:not(.challenge-secondary-btn):active,[class*=-cta]:active{transform:translateY(3px);box-shadow:0 2px 0 0 var(--ns-primary-lip)}.get-started-btn:disabled,.settings-primary-btn:disabled,.challenge-primary-btn:disabled,[class*=primary-btn]:disabled{box-shadow:none;transform:none;filter:none}.home-secondary-btn,.modal-secondary-btn,.daily-mission-secondary,[class*=secondary-btn]{border-radius:var(--radius-pill);font-weight:800;box-shadow:var(--ns-chunk-sm);transition:transform .09s ease,box-shadow .09s ease,background .15s ease}.home-secondary-btn:active,.modal-secondary-btn:active,.daily-mission-secondary:active,[class*=secondary-btn]:active{transform:translateY(2px);box-shadow:0 1px #04091480}.settings-danger-btn{border-radius:var(--radius-pill);font-weight:900;box-shadow:0 5px color-mix(in srgb,var(--button-destructive-bg) 60%,#000);transition:transform .09s ease,box-shadow .09s ease,filter .15s ease}.settings-danger-btn:active{transform:translateY(3px);box-shadow:0 2px color-mix(in srgb,var(--button-destructive-bg) 60%,#000)}.course-card,.daily-mission-card,.daily-mission-home-card,.settings-card,.challenge-hub-panel,.challenge-hub-card,.skill-check-card,.practice-coach-card{border-radius:22px}.app-sidebar{background:var(--nav-bg)}.app-sidebar-nav-item{border-radius:16px;font-weight:800;letter-spacing:.01em;transition:transform .12s ease,background .15s ease,color .15s ease,border-color .15s ease}.app-sidebar-nav-item:hover,.app-sidebar-nav-item:focus-visible{transform:translate(2px)}.app-sidebar-nav-item.active,.app-sidebar-nav-item[aria-current=page],.app-sidebar-nav-item[aria-current=true]{background:color-mix(in srgb,var(--info) 16%,transparent);border-color:color-mix(in srgb,var(--info) 44%,transparent);color:color-mix(in srgb,var(--info) 40%,var(--text-primary));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--info) 26%,transparent)}.homepage-header.app-topbar .logo,.app-sidebar-title{font-family:var(--font-display);font-weight:800}.daily-xp-meter{border-radius:var(--radius-pill);border:2px solid color-mix(in srgb,var(--accent) 34%,var(--border-subtle));background:color-mix(in srgb,var(--accent) 10%,var(--bg-surface));box-shadow:var(--ns-chunk-sm)}.daily-xp-meter-fill{background:linear-gradient(90deg,var(--accent),var(--accent-hover))}.streak-icon-btn{border-radius:var(--radius-pill);border:2px solid color-mix(in srgb,var(--warning) 46%,var(--border-subtle));background:color-mix(in srgb,var(--warning) 12%,var(--bg-surface));box-shadow:var(--ns-chunk-sm)}.streak-icon-glyph{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--warning) 60%,transparent))}.code-talk{display:inline-flex;align-items:baseline;gap:.4rem;padding:.16rem .5rem;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--accent) 12%,var(--bg-surface));border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border-subtle));line-height:1.1;white-space:nowrap}.code-talk-char{font-family:var(--font-display);font-weight:800;color:var(--text-primary);font-size:.9rem}.code-talk-say{font-family:var(--font-mono);font-size:.74rem;font-weight:600;letter-spacing:.02em;color:color-mix(in srgb,var(--accent) 62%,var(--text-secondary))}.code-talk-row{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.course-trail-stop-marker{width:3rem;height:3rem;min-width:3rem;min-height:3rem;font-size:.92rem;box-shadow:0 0 0 .24rem color-mix(in srgb,var(--bg-surface) 86%,transparent),0 5px color-mix(in srgb,var(--bg-app) 70%,#000)}.course-trail-stop.complete .course-trail-stop-marker{background:radial-gradient(circle,color-mix(in srgb,var(--success) 22%,var(--bg-surface)) 0 56%,transparent 57%),conic-gradient(var(--success) 0 100%,var(--success) 0);color:var(--success);box-shadow:0 0 0 .24rem color-mix(in srgb,var(--bg-surface) 86%,transparent),0 5px color-mix(in srgb,var(--success) 55%,#000)}.course-trail-stop.current .course-trail-stop-marker{width:3.35rem;height:3.35rem;color:var(--warning);--checkpoint-ring: var(--warning);--checkpoint-ring-track: color-mix(in srgb, var(--warning) 22%, var(--bg-surface));box-shadow:0 0 0 .26rem color-mix(in srgb,var(--bg-surface) 88%,transparent),0 6px color-mix(in srgb,var(--warning) 55%,#000),0 0 22px color-mix(in srgb,var(--warning) 45%,transparent)}.course-trail-stop.review .course-trail-stop-marker{box-shadow:0 0 0 .24rem color-mix(in srgb,var(--bg-surface) 86%,transparent),0 5px color-mix(in srgb,var(--info) 52%,#000)}.course-trail-checkpoint{border-radius:18px}.course-trail-checkpoint-action{font-weight:900;letter-spacing:.02em}.course-trail-stop.current .course-trail-checkpoint-action{box-shadow:0 3px color-mix(in srgb,var(--accent) 55%,#000)}.course-trail-module{border-radius:22px}.mm-mascot{flex:0 0 auto;width:3.4rem;height:3.4rem;border-radius:20px;display:grid;place-items:center;background:radial-gradient(circle at 50% 38%,color-mix(in srgb,var(--accent) 40%,var(--bg-surface)),var(--bg-surface-muted));border:2px solid color-mix(in srgb,var(--accent) 40%,var(--border-subtle));box-shadow:0 5px color-mix(in srgb,var(--bg-app) 70%,#000),0 0 18px color-mix(in srgb,var(--accent) 30%,transparent)}@media (prefers-reduced-motion: no-preference){.mm-mascot{animation:ns-bob 3s ease-in-out infinite}}.mm-mascot svg{width:2.1rem;height:2.1rem;display:block;overflow:visible}.mm-mascot-face{fill:var(--accent)}.mm-mascot-ear{stroke:var(--accent)}.mm-mascot-spark{stroke:var(--warning)}.mm-mascot-spark-dot{fill:var(--warning)}.mm-mascot-inline{width:2.7rem;height:2.7rem;border-radius:16px}.mm-mascot-inline svg{width:1.7rem;height:1.7rem}.course-trail-map-headline{display:flex;align-items:center;gap:.7rem}.course-trail-current-codetalk{display:flex;flex-direction:column;gap:.35rem;margin-top:.55rem}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-track{background:transparent}.app-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;align-items:stretch;gap:.15rem;padding:.3rem .4rem calc(.3rem + env(safe-area-inset-bottom,0px));background:var(--nav-bg);border-top:1px solid color-mix(in srgb,var(--border-strong) 55%,transparent);box-shadow:0 -8px 26px #0409146b;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.app-bottom-nav-item{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.16rem;min-height:3.15rem;padding:.3rem .15rem;border:0;border-radius:14px;background:transparent;color:var(--text-secondary);font-family:var(--font-display, inherit);font-size:.66rem;font-weight:800;letter-spacing:.01em;cursor:pointer;transition:color .15s ease,background .15s ease,transform .08s ease}.app-bottom-nav-item:active{transform:translateY(1px)}.app-bottom-nav-icon{display:grid;place-items:center}.app-bottom-nav-item.is-active{color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.app-bottom-nav-item.is-active .app-bottom-nav-icon{filter:drop-shadow(0 0 8px color-mix(in srgb,var(--accent) 55%,transparent))}@media (max-width: 959px){.app-sidebar-narrow .main-content-home,.app-sidebar-narrow .course-page,.app-sidebar-narrow .settings-page{padding-bottom:calc(4.8rem + env(safe-area-inset-bottom,0px))}}@media (min-width: 960px){.app-bottom-nav{display:none}}.course-home-split-row{display:grid;gap:.9rem;margin-bottom:1rem}.course-home-split-row>*{margin:0}.app-sidebar-narrow .course-page:not(.embedded-home)>h1{padding-top:2.85rem}.daily-mission-blocks{grid-template-columns:repeat(auto-fit,minmax(min(100%,13.5rem),1fr))}@media (max-width: 640px){.daily-mission-blocks{grid-template-columns:1fr}.daily-mission-block{grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto;align-items:center;gap:.3rem .7rem;min-height:0}.daily-mission-block-copy small{margin-top:.05rem}.daily-mission-block-status{grid-column:auto;align-self:center;justify-self:end}}.daily-mission-goal{margin:.15rem 0 0;color:var(--text-secondary);font-weight:800}.daily-mission-upnext{margin:.2rem 0 0;color:var(--text-muted);font-weight:750}.daily-mission-block-copy .daily-mission-block-reason{margin-top:.05rem;color:var(--text-secondary);font-weight:650;font-size:.8rem;line-height:1.25;text-transform:none;letter-spacing:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.daily-mission-block-copy .daily-mission-block-meta{margin-top:.28rem;color:var(--text-muted);font-weight:850;letter-spacing:.02em;font-variant-numeric:tabular-nums}.course-module-chat-callout,.course-module-challenge-callout{grid-template-columns:1fr;justify-items:stretch;gap:.55rem}.course-module-chat-count,.course-module-challenge-count{overflow-wrap:normal;word-break:normal}.course-module-chat-cta,.course-module-challenge-cta{justify-self:stretch;width:100%;min-width:0;max-width:none}@media (max-width: 720px){.daily-mission-detail-head{grid-template-columns:1fr;align-items:stretch;gap:.85rem}.daily-mission-detail-head>.course-back-btn{justify-self:start}.daily-mission-detail .daily-mission-score{grid-template-columns:auto minmax(0,1fr);align-items:center;justify-items:stretch;gap:.85rem}.daily-mission-detail .daily-mission-score .daily-mission-ring{justify-self:start}.daily-mission-detail .daily-mission-primary{width:100%}}@media (min-width: 720px){.course-home-split-row{grid-template-columns:1fr 1fr;align-items:start}.course-home-split-row:has(.cw-proficiency-card.is-collapsed){align-items:stretch}.course-home-split-row:has(.cw-proficiency-card.is-collapsed)>*{align-content:start}.course-home-split-row:has(.keying-setup-card){align-items:stretch}}.course-home-split-row .course-pace-summary-card,.course-home-split-row .keying-setup-card{height:100%;padding:.95rem 1rem;border-radius:var(--radius-lg, 10px)}.course-home-split-row .course-pace-summary-card h3,.course-home-split-row .keying-setup-card h2{margin:.12rem 0 .2rem;font-size:clamp(1.15rem,1.4vw,1.4rem);line-height:1.15}.course-home-split-row .course-pace-summary-card .modal-secondary-btn,.course-home-split-row .keying-setup-actions>button{min-width:8.25rem;min-height:3rem;padding:.62rem 1rem;white-space:normal;line-height:1.1}.cw-proficiency-top-right{display:flex;align-items:flex-start;gap:.5rem;flex:0 0 auto}.cw-proficiency-details{display:grid;gap:.9rem}.cw-proficiency-collapse{display:grid;place-items:center;width:2rem;height:2rem;flex:0 0 auto;margin-top:.15rem;border:1px solid var(--border-subtle);border-radius:50%;background:color-mix(in srgb,var(--bg-surface-muted) 80%,transparent);color:var(--text-secondary);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.cw-proficiency-collapse:hover{color:var(--text-primary);border-color:var(--border-strong);background:var(--bg-surface-muted)}.cw-proficiency-collapse svg{transition:transform .2s ease}.cw-proficiency-card.is-collapsed .cw-proficiency-collapse svg{transform:rotate(180deg)}.cw-proficiency-rings{gap:.5rem}.cw-proficiency-ring{padding:.55rem .3rem;gap:.38rem}.cw-proficiency-ring-chart{width:3.5rem}.cw-proficiency-ring-value{font-size:.8rem}.cw-proficiency-ring-meta{width:100%;justify-self:stretch}.cw-proficiency-ring-meta span{max-width:100%;font-size:.7rem;letter-spacing:-.01em}.cw-proficiency-ring-meta small{font-size:.58rem}@media (max-width: 560px){.cw-proficiency-ring-chart{width:3.1rem}.cw-proficiency-ring-meta span{font-size:.66rem}}.course-home-secondary{display:grid;gap:.9rem;margin-top:.3rem}@media (min-width: 900px){.course-home-secondary{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));align-items:start}}.league-hud-chip{--league-color: var(--info);display:inline-flex;align-items:center;gap:.36rem;height:2.1rem;padding:0 .6rem 0 .4rem;border-radius:var(--radius-pill);border:1px solid color-mix(in srgb,var(--league-color) 42%,var(--border-subtle));background:color-mix(in srgb,var(--league-color) 14%,var(--bg-surface));color:var(--text-primary);font-family:var(--font-display, inherit);font-size:.8rem;font-weight:800;letter-spacing:.01em;cursor:pointer;transition:transform .08s ease,background .15s ease,border-color .15s ease}.league-hud-chip:hover{background:color-mix(in srgb,var(--league-color) 22%,var(--bg-surface))}.league-hud-chip:active{transform:translateY(1px)}.league-hud-chip.tier-static{--league-color: #8ba0b8}.league-hud-chip.tier-spark{--league-color: #ff6b5b}.league-hud-chip.tier-signal{--league-color: var(--info)}.league-hud-chip.tier-relay{--league-color: var(--accent)}.league-hud-chip.tier-operator{--league-color: #16d0c6}.league-hud-chip.tier-master{--league-color: var(--warning)}.league-hud-badge{display:grid;place-items:center;width:1.35rem;height:1.5rem;color:var(--league-color)}.league-hud-badge svg{width:1.15rem;height:1.3rem}.league-hud-shield{fill:color-mix(in srgb,var(--league-color) 26%,var(--bg-surface));stroke:var(--league-color)}.league-hud-bolt{fill:var(--league-color)}.league-hud-name{white-space:nowrap}.league-hud-chip.ranked-up{animation:league-rankup 1.8s cubic-bezier(.22,1.2,.4,1)}.league-hud-chip.ranked-up .league-hud-badge{animation:league-rankup-badge 1.8s ease-out}@keyframes league-rankup{0%{transform:scale(1);box-shadow:0 0 color-mix(in srgb,var(--league-color) 55%,transparent)}18%{transform:scale(1.14);box-shadow:0 0 0 7px color-mix(in srgb,var(--league-color) 32%,transparent)}42%{transform:scale(1);box-shadow:0 0 0 13px color-mix(in srgb,var(--league-color) 0%,transparent)}58%{transform:scale(1.06)}to{transform:scale(1);box-shadow:0 0 0 0 transparent}}@keyframes league-rankup-badge{0%,to{transform:rotate(0) scale(1)}22%{transform:rotate(-13deg) scale(1.18)}48%{transform:rotate(11deg) scale(1.12)}74%{transform:rotate(-4deg) scale(1.04)}}@media (max-width: 560px){.league-hud-name{display:none}.league-hud-chip{padding:0 .4rem}}.rankup-toast{--league-color: var(--info);position:fixed;top:calc(4.4rem + env(safe-area-inset-top,0px));left:50%;z-index:1100;transform:translate(-50%);display:flex;align-items:center;gap:.7rem;max-width:min(22rem,calc(100vw - 1.5rem));padding:.6rem .7rem .6rem .6rem;border-radius:18px;background:radial-gradient(180px 90px at 12% -30%,color-mix(in srgb,var(--league-color) 30%,transparent),transparent 70%),var(--bg-surface);border:1px solid color-mix(in srgb,var(--league-color) 44%,var(--border-subtle));box-shadow:0 16px 40px #04091480,0 0 26px color-mix(in srgb,var(--league-color) 26%,transparent);animation:rankup-toast-in .4s cubic-bezier(.22,1.3,.45,1) both}.rankup-toast.tier-static{--league-color: #8ba0b8}.rankup-toast.tier-spark{--league-color: #ff6b5b}.rankup-toast.tier-signal{--league-color: var(--info)}.rankup-toast.tier-relay{--league-color: var(--accent)}.rankup-toast.tier-operator{--league-color: #16d0c6}.rankup-toast.tier-master{--league-color: var(--warning)}.rankup-toast-badge{flex:0 0 auto;display:grid;place-items:center;width:2.5rem;height:2.7rem;color:var(--league-color);filter:drop-shadow(0 3px 8px color-mix(in srgb,var(--league-color) 45%,transparent));animation:league-rankup-badge 1.1s ease-out .15s}.rankup-toast-badge svg{width:2rem;height:2.3rem}.rankup-toast-shield{fill:color-mix(in srgb,var(--league-color) 24%,var(--bg-surface));stroke:var(--league-color)}.rankup-toast-bolt{fill:var(--league-color)}.rankup-toast-copy{display:grid;gap:.1rem;min-width:0}.rankup-toast-kicker{font-family:var(--font-display);font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.66rem;color:color-mix(in srgb,var(--league-color) 72%,var(--text-secondary))}.rankup-toast-title{font-family:var(--font-display);font-size:1.02rem;font-weight:800;color:var(--text-primary);line-height:1.15}.rankup-toast-close{flex:0 0 auto;width:1.7rem;height:1.7rem;margin-left:.1rem;border:0;border-radius:50%;background:var(--bg-surface-muted);color:var(--text-secondary);font-size:1.05rem;line-height:1;cursor:pointer}.rankup-toast-close:hover{color:var(--text-primary)}@keyframes rankup-toast-in{0%{opacity:0;transform:translate(-50%,-14px) scale(.94)}to{opacity:1;transform:translate(-50%) scale(1)}}.course-league-card{--league-color: var(--info);display:grid;gap:.7rem;padding:.9rem 1rem 1rem;border-radius:20px;border:1px solid color-mix(in srgb,var(--league-color) 34%,var(--border-subtle));background:radial-gradient(320px 140px at 88% -20%,color-mix(in srgb,var(--league-color) 22%,transparent),transparent 70%),var(--bg-surface);box-shadow:var(--surface-shadow)}.course-league-card.tier-static{--league-color: #8ba0b8}.course-league-card.tier-spark{--league-color: #ff6b5b}.course-league-card.tier-signal{--league-color: var(--info)}.course-league-card.tier-relay{--league-color: var(--accent)}.course-league-card.tier-operator{--league-color: #16d0c6}.course-league-card.tier-master{--league-color: var(--warning)}.course-league-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.course-league-rank{font-family:var(--font-mono);font-size:.72rem;font-weight:700;color:var(--text-secondary);padding:.1rem .5rem;border-radius:var(--radius-pill);background:var(--bg-surface-muted);border:1px solid var(--border-subtle)}.course-league-body{display:flex;align-items:center;gap:.85rem}.course-league-badge{flex:0 0 auto;display:grid;place-items:center;width:3.1rem;height:3.1rem;color:var(--league-color);filter:drop-shadow(0 3px 8px color-mix(in srgb,var(--league-color) 40%,transparent))}.course-league-badge svg{width:2.5rem;height:2.8rem}.course-league-badge-shield{fill:color-mix(in srgb,var(--league-color) 20%,var(--bg-surface));stroke:var(--league-color)}.course-league-badge-bolt{fill:var(--league-color)}.course-league-meta{flex:1 1 auto;min-width:0;display:grid;gap:.34rem}.course-league-name{font-family:var(--font-display);font-size:1.25rem;font-weight:800;color:var(--text-primary);line-height:1.1}.course-league-track{height:.5rem;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--border-subtle) 70%,var(--bg-surface));overflow:hidden}.course-league-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--league-color) 70%,#fff 10%),var(--league-color));transition:width .5s ease}.course-league-note{font-size:.76rem;font-weight:700;color:var(--text-secondary)}.mm-celebrate-backdrop{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:1.2rem;background:color-mix(in srgb,var(--bg-app) 78%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:ns-fade-in .2s ease both}.mm-celebrate-card{position:relative;width:min(26rem,100%);padding:2rem 1.6rem 1.5rem;border-radius:26px;text-align:center;background:radial-gradient(420px 200px at 50% -10%,color-mix(in srgb,var(--accent) 24%,transparent),transparent 65%),var(--bg-surface);border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border-subtle));box-shadow:0 24px 60px #0409148c,0 0 40px color-mix(in srgb,var(--accent) 22%,transparent);animation:ns-pop .32s cubic-bezier(.22,1.4,.5,1) both}.mm-celebrate-mascot{margin:0 auto .6rem;width:5rem;height:5rem;border-radius:26px}.mm-celebrate-mascot svg{width:3.1rem;height:3.1rem}.mm-celebrate-kicker{font-family:var(--font-display);font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;color:color-mix(in srgb,var(--accent) 70%,var(--text-secondary))}.mm-celebrate-title{font-family:var(--font-display);font-size:1.7rem;font-weight:800;color:var(--text-primary);margin:.15rem 0 .9rem}.mm-celebrate-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem;margin-bottom:1.1rem}.mm-celebrate-stat{flex:1 1 0;min-width:4.8rem;max-width:8rem;padding:.6rem .4rem;border-radius:16px;background:var(--bg-surface-muted);border:1px solid var(--border-subtle)}.mm-celebrate-stat b{display:block;font-family:var(--font-display);font-size:1.35rem;color:var(--text-primary);font-variant-numeric:tabular-nums}.mm-celebrate-stat span{font-size:.72rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.mm-celebrate-stat.xp b{color:var(--warning)}.mm-celebrate-continue{width:100%;min-height:3rem;border:0;border-radius:16px;background:var(--button-primary-bg, var(--accent));color:var(--button-primary-text);font-family:var(--font-display);font-size:1rem;font-weight:800;letter-spacing:.02em;cursor:pointer;box-shadow:0 5px 0 0 var(--ns-primary-lip, color-mix(in srgb, var(--accent) 62%, #000));transition:transform .08s ease,filter .15s ease}.mm-celebrate-continue:hover{filter:brightness(1.05)}.mm-celebrate-continue:active{transform:translateY(3px);box-shadow:0 2px 0 0 var(--ns-primary-lip, color-mix(in srgb, var(--accent) 62%, #000))}.mm-confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none;border-radius:26px}.mm-confetti i{position:absolute;top:-12%;width:9px;height:14px;border-radius:2px;opacity:0;animation:mm-confetti-fall 1.5s ease-in forwards}@keyframes ns-fade-in{0%{opacity:0}to{opacity:1}}@keyframes mm-confetti-fall{0%{transform:translateY(0) rotate(0);opacity:0}10%{opacity:1}to{transform:translateY(120vh) rotate(540deg);opacity:1}}@keyframes ns-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes ns-pop{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}@keyframes ns-pulse-ring{0%{box-shadow:0 0 color-mix(in srgb,var(--accent) 55%,transparent)}70%{box-shadow:0 0 0 14px #16d0c600}to{box-shadow:0 0 #16d0c600}}@keyframes ns-wave{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.daily-goal-card{margin-bottom:1rem;padding:1rem 1.1rem;border:1px solid var(--border-subtle);border-radius:var(--radius-lg, 12px);background:var(--bg-surface)}.daily-goal-card.met{border-color:color-mix(in srgb,var(--success) 55%,var(--border-subtle));background:color-mix(in srgb,var(--success-soft, var(--success)) 22%,var(--bg-surface))}.daily-goal-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.daily-goal-copy{min-width:0}.daily-goal-card h3{margin:.1rem 0 .2rem;font-size:clamp(1.05rem,1.3vw,1.3rem);line-height:1.15}.daily-goal-sub{margin:0;color:var(--text-secondary);font-size:.9rem;line-height:1.35}.daily-goal-ring{--goal-ratio: 0;position:relative;display:grid;place-items:center;width:4.2rem;height:4.2rem;flex:0 0 auto;border-radius:50%;background:radial-gradient(circle,var(--bg-surface) 0 58%,transparent 59%),conic-gradient(var(--accent) calc(var(--goal-ratio) * 360deg),color-mix(in srgb,var(--border-subtle) 70%,var(--bg-surface)) 0);color:var(--text-primary);font-weight:900;font-size:.92rem;font-variant-numeric:tabular-nums}.daily-goal-card.met .daily-goal-ring{background:radial-gradient(circle,var(--bg-surface) 0 58%,transparent 59%),conic-gradient(var(--success) 360deg,var(--success) 0)}.daily-goal-options{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-top:.9rem}.daily-goal-option{display:grid;gap:.1rem;padding:.5rem .4rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md, 10px);background:color-mix(in srgb,var(--bg-surface-muted) 70%,transparent);color:var(--text-secondary);cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .08s ease}.daily-goal-option:hover{transform:translateY(-1px)}.daily-goal-option b{color:var(--text-primary);font-size:.9rem}.daily-goal-option span{font-size:.72rem;font-weight:700}.daily-goal-option.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,var(--bg-surface))}@media (max-width: 520px){.daily-goal-options{grid-template-columns:repeat(2,1fr)}}.cw-crowns-card,.cw-badges-card{margin-bottom:1rem;padding:1rem 1.1rem;border:1px solid var(--border-subtle);border-radius:var(--radius-lg, 12px);background:var(--bg-surface)}.cw-crowns-head,.cw-badges-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.cw-crowns-card h3,.cw-badges-card h3{margin:.1rem 0 0;font-size:clamp(1.05rem,1.3vw,1.3rem)}.cw-crowns-score,.cw-badges-score{color:var(--text-secondary);font-weight:800;white-space:nowrap}.cw-crowns-score b,.cw-badges-score b{color:var(--warning);font-size:1.35rem}.cw-crowns-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(3.1rem,1fr));gap:.5rem}.cw-crown-tile{display:grid;justify-items:center;gap:.15rem;padding:.5rem .3rem .4rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md, 10px);background:color-mix(in srgb,var(--bg-surface-muted) 60%,transparent)}.cw-crown-letter{color:var(--text-primary);font-family:var(--font-mono, monospace);font-size:1rem;font-weight:800;letter-spacing:.02em}.cw-crown-glyph{width:1.5rem;height:1.25rem}.cw-crown-glyph path{fill:none;stroke:color-mix(in srgb,var(--border-strong) 70%,transparent)}.cw-crown-glyph .cw-crown-gem{fill:transparent}.cw-crown-tile.level-1 .cw-crown-glyph path{fill:#cd7f32;stroke:#cd7f32}.cw-crown-tile.level-2 .cw-crown-glyph path{fill:#cbd5e1;stroke:#cbd5e1}.cw-crown-tile.level-3 .cw-crown-glyph path{fill:var(--warning);stroke:var(--warning)}.cw-crown-tile.level-1{border-color:color-mix(in srgb,#cd7f32 45%,var(--border-subtle))}.cw-crown-tile.level-2{border-color:color-mix(in srgb,#cbd5e1 45%,var(--border-subtle))}.cw-crown-tile.level-3{border-color:color-mix(in srgb,var(--warning) 55%,var(--border-subtle));background:color-mix(in srgb,var(--warning) 12%,var(--bg-surface))}.cw-crown-tile.level-3 .cw-crown-glyph .cw-crown-gem{fill:#fff}.cw-crowns-legend{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:.85rem;color:var(--text-muted);font-size:.78rem;font-weight:800}.cw-crowns-legend-item{display:inline-flex;align-items:center;gap:.3rem}.cw-crowns-legend-item .cw-crown-glyph{width:1.1rem;height:.95rem}.cw-badges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr));gap:.6rem}.cw-badge{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem;padding:.6rem .7rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md, 10px);background:color-mix(in srgb,var(--bg-surface-muted) 55%,transparent)}.cw-badge.locked{opacity:.72}.cw-badge-icon{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;background:color-mix(in srgb,var(--border-subtle) 45%,var(--bg-surface));color:var(--text-muted)}.cw-badge-svg{width:1.5rem;height:1.5rem}.cw-badge.earned.tier-bronze .cw-badge-icon{background:color-mix(in srgb,#cd7f32 26%,var(--bg-surface));color:#e8a866}.cw-badge.earned.tier-silver .cw-badge-icon{background:color-mix(in srgb,#cbd5e1 26%,var(--bg-surface));color:#e2e8f0}.cw-badge.earned.tier-gold .cw-badge-icon{background:color-mix(in srgb,var(--warning) 26%,var(--bg-surface));color:var(--warning)}.cw-badge.earned.tier-master .cw-badge-icon{background:color-mix(in srgb,var(--accent) 26%,var(--bg-surface));color:var(--accent)}.cw-badge.earned{border-color:color-mix(in srgb,var(--accent) 22%,var(--border-subtle))}.cw-badge-body{display:grid;gap:.1rem;min-width:0}.cw-badge-name{color:var(--text-primary);font-weight:850;font-size:.9rem}.cw-badge-desc{color:var(--text-secondary);font-size:.76rem;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cw-badge-progress{display:block;height:4px;margin-top:.25rem;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--border-subtle) 75%,var(--bg-surface));overflow:hidden}.cw-badge-progress-fill{display:block;height:100%;background:var(--accent);border-radius:inherit}.streak-popup{overflow:hidden}.streak-popup>*{min-width:0}.streak-popup-metric{min-width:0}.streak-popup-value{overflow-wrap:anywhere}.streak-checkpoints{margin-top:.85rem;padding-top:.75rem;border-top:1px solid var(--border-subtle);min-width:0}.streak-checkpoints-head{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;margin-bottom:.55rem;min-width:0}.streak-checkpoints-title{flex:0 0 auto;color:var(--text-muted);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.streak-checkpoints-next{flex:0 1 auto;min-width:0;color:var(--accent);font-size:.78rem;font-weight:800;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.streak-checkpoints-track{display:grid;grid-template-columns:repeat(auto-fit,minmax(2.7rem,1fr));gap:.55rem .3rem;max-width:100%}.streak-checkpoint{display:grid;justify-items:center;gap:.15rem;min-width:0;max-width:100%;opacity:.55}.streak-checkpoint-dot{width:.85rem;height:.85rem;border-radius:50%;border:2px solid var(--border-strong);background:var(--bg-surface)}.streak-checkpoint.reached{opacity:1}.streak-checkpoint.reached .streak-checkpoint-dot{border-color:var(--warning);background:var(--warning)}.streak-checkpoint.next{opacity:1}.streak-checkpoint.next .streak-checkpoint-dot{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.streak-checkpoint-days{color:var(--text-primary);font-size:.78rem;font-weight:900;font-variant-numeric:tabular-nums}.streak-checkpoint-name{max-width:100%;color:var(--text-muted);font-size:.62rem;font-weight:700;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.games-coming-soon{display:flex;flex-direction:column;gap:1rem}.games-coming-soon-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.6rem;max-width:34rem;margin:1.5rem auto;padding:2rem 1.6rem;border-radius:1.25rem;border:1px solid var(--border-subtle, rgba(148, 163, 184, .22));background:radial-gradient(120% 150% at 50% 0%,rgba(56,189,248,.16),transparent 60%),var(--bg-surface, rgba(15, 23, 42, .6));box-shadow:0 16px 40px #030a164d}.games-coming-soon-card h1{margin:.2rem 0 0;font-size:clamp(1.4rem,3.5vw,1.9rem)}.games-coming-soon-card p{margin:0;max-width:30rem;color:var(--text-secondary);font-weight:600;line-height:1.5}.games-coming-soon-hint{color:var(--text-muted)!important;font-weight:800!important;letter-spacing:.02em}.games-coming-soon-badge{display:inline-flex;align-items:center;justify-content:center;width:4.5rem;height:4.5rem;border-radius:50%;background:color-mix(in srgb,var(--accent) 16%,transparent)}.games-coming-soon-badge svg{width:2.7rem;height:2.7rem;stroke:var(--accent);fill:none}.games-coming-soon-badge svg rect{fill:color-mix(in srgb,var(--accent) 22%,transparent);stroke:var(--accent);stroke-width:2.4}.games-coming-soon-badge svg circle{fill:var(--warning);stroke:none}.games-coming-soon-badge svg path{stroke:var(--button-primary-text, #08131f)}.course-league-card.is-clickable{cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.course-league-card.is-clickable:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 12px 26px #030a164d}.course-league-card.is-clickable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cw-profile-view{display:flex;flex-direction:column;gap:1rem}.cw-profile-view>.course-back-btn{align-self:flex-start}.cw-profile-header{display:flex;flex-direction:column;gap:1.1rem;padding:1.25rem 1.35rem;border-radius:1.1rem;border:1px solid var(--border-subtle, rgba(148, 163, 184, .22));background:radial-gradient(120% 140% at 100% 0%,rgba(56,189,248,.14),transparent 55%),var(--bg-surface, rgba(15, 23, 42, .6));box-shadow:0 12px 30px #030a1647}.cw-profile-identity{display:flex;align-items:center;gap:1rem}.mm-mascot-profile svg{width:3.4rem;height:3.4rem}.cw-profile-identity-copy h3{margin:.1rem 0 .2rem;font-size:1.35rem}.cw-profile-identity-copy p{margin:0;color:var(--text-secondary);font-weight:600;font-size:.9rem}.cw-profile-xp-progress{display:grid;gap:.45rem}.cw-profile-xp-copy{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;color:var(--text-secondary);font-size:.78rem;font-weight:750}.cw-profile-xp-copy b{color:var(--warning);font-size:.78rem;white-space:nowrap}.cw-profile-xp-track{height:.65rem;overflow:hidden;border:1px solid color-mix(in srgb,var(--warning) 24%,var(--border-subtle));border-radius:var(--radius-pill);background:color-mix(in srgb,var(--border-subtle) 72%,var(--bg-surface))}.cw-profile-xp-track>span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--warning));transition:width .35s ease}.cw-profile-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(6.5rem,1fr));gap:.7rem}.cw-profile-stat{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.7rem .85rem;border-radius:.85rem;border:1px solid var(--border-subtle, rgba(148, 163, 184, .2));background:var(--bg-surface-muted, rgba(15, 23, 42, .4))}.cw-profile-stat b{font-size:1.4rem;line-height:1.05;font-variant-numeric:tabular-nums}.cw-profile-stat span{font-size:.72rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--text-secondary)}.cw-profile-stat small{font-size:.72rem;font-weight:700;color:var(--text-muted)}.profile-menu-item{width:100%;padding:.65rem .85rem;margin-bottom:.5rem;border:1px solid var(--border-subtle, rgba(148, 163, 184, .22));border-radius:.55rem;background:var(--bg-surface-muted, rgba(15, 23, 42, .4));color:var(--text-primary);font-weight:700;text-align:left;cursor:pointer}.profile-menu-item:hover{border-color:var(--accent);color:var(--accent)}.streak-milestone-toast .rankup-toast-badge,.streak-milestone-badge{color:var(--warning)}.achievement-toast.tier-bronze .achievement-toast-badge{color:#e8a866}.achievement-toast.tier-silver .achievement-toast-badge{color:#e2e8f0}.achievement-toast.tier-gold .achievement-toast-badge{color:var(--warning)}.achievement-toast.tier-master .achievement-toast-badge{color:var(--accent)}.operator-level-toast .operator-level-toast-badge{color:var(--warning)}.operator-level-toast{z-index:1300;border-color:color-mix(in srgb,var(--warning) 44%,var(--border-subtle))}@media (max-width: 520px){.cw-profile-xp-copy{align-items:flex-start;flex-direction:column;gap:.15rem}.cw-profile-xp-copy b{white-space:normal}}.accent-aurora{--game-accent: var(--accent)}.accent-sunrise{--game-accent: #f6b73c}.accent-ember{--game-accent: #ef6a5a}.accent-violet{--game-accent: #8b7bf0}.accent-teal{--game-accent: #34cbb8}.games-hub{max-width:960px;margin:0 auto}.games-hub-hero{display:flex;align-items:center;gap:.9rem;padding:1rem 1.1rem;margin-bottom:1.1rem;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--border-subtle));border-radius:1.1rem;background:radial-gradient(120% 140% at 100% 0%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 60%),var(--bg-surface);box-shadow:var(--surface-shadow)}.games-hub-mascot{width:3.4rem;height:3.4rem;flex:0 0 auto}.games-hub-mascot svg{width:100%;height:100%}.games-hub-hero-copy h1{margin:.15rem 0 .3rem;font-size:clamp(1.15rem,4.5vw,1.5rem);line-height:1.15}.games-hub-hero-copy p{margin:0;color:var(--text-muted);font-size:.9rem}.games-hub-section-head{margin:1.2rem 0 .6rem}.games-hub-section-head h2{margin:0;font-size:.78rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.games-hub-grid{display:grid;grid-template-columns:1fr;gap:.7rem}@media (min-width: 620px){.games-hub-grid{grid-template-columns:repeat(2,1fr)}}.games-hub-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.85rem;padding:.9rem 1rem;text-align:left;border:1px solid color-mix(in srgb,var(--game-accent) 34%,var(--border-subtle));border-radius:1rem;background:linear-gradient(120deg,color-mix(in srgb,var(--game-accent) 12%,var(--bg-surface)),var(--bg-surface));box-shadow:0 4px color-mix(in srgb,var(--bg-app) 72%,#000);color:var(--text-primary);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.games-hub-card.is-live:hover,.games-hub-card.is-live:focus-visible{transform:translateY(-2px);border-color:color-mix(in srgb,var(--game-accent) 60%,var(--border-subtle));box-shadow:0 6px color-mix(in srgb,var(--bg-app) 72%,#000);outline:none}.games-hub-card.is-live:active{transform:translateY(1px);box-shadow:0 2px color-mix(in srgb,var(--bg-app) 72%,#000)}.games-hub-card.is-soon{opacity:.62;cursor:default;box-shadow:none}.games-hub-card-icon{display:grid;place-items:center;width:2.9rem;height:2.9rem;border-radius:.85rem;font-size:1.35rem;background:color-mix(in srgb,var(--game-accent) 22%,var(--bg-surface-muted));border:1px solid color-mix(in srgb,var(--game-accent) 34%,var(--border-subtle))}.games-hub-card-body{display:flex;flex-direction:column;gap:.15rem;min-width:0}.games-hub-card-title{font-weight:900;font-size:1rem}.games-hub-card-tagline{color:var(--text-muted);font-size:.82rem}.games-hub-card-foot{flex:0 0 auto}.games-hub-card-cta{font-weight:800;font-size:.82rem;white-space:nowrap;padding:.32rem .7rem;border-radius:999px;color:color-mix(in srgb,var(--game-accent) 82%,var(--text-primary));background:color-mix(in srgb,var(--game-accent) 18%,transparent);border:1px solid color-mix(in srgb,var(--game-accent) 42%,transparent)}.games-hub-card-soon{font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding:.2rem .5rem;border-radius:999px;border:1px solid var(--border-subtle)}.games-hub-stars,.game-stars{display:inline-flex;gap:.1rem}.games-hub-star,.game-star{color:color-mix(in srgb,var(--text-muted) 60%,transparent);font-size:.9rem}.games-hub-star.is-filled,.game-star.is-filled{color:var(--warning)}.games-hub-meta{display:grid;grid-template-columns:1fr;gap:.7rem}@media (min-width: 620px){.games-hub-meta{grid-template-columns:repeat(2,1fr)}}.games-hub-meta-card{display:flex;align-items:center;gap:.8rem;padding:.85rem 1rem;text-align:left;width:100%;border:1px dashed color-mix(in srgb,var(--game-accent) 40%,var(--border-subtle));border-radius:1rem;background:color-mix(in srgb,var(--game-accent) 8%,var(--bg-surface));color:var(--text-primary);cursor:pointer;transition:transform .12s ease,border-color .12s ease}.games-hub-meta-card.is-live:hover,.games-hub-meta-card.is-live:focus-visible{transform:translateY(-2px);border-style:solid;border-color:color-mix(in srgb,var(--game-accent) 60%,var(--border-subtle));outline:none}.games-hub-meta-card.is-soon{opacity:.62;cursor:default}.games-hub-meta-icon{font-size:1.5rem}.games-hub-meta-body{display:flex;flex-direction:column;gap:.1rem;flex:1 1 auto;min-width:0}.games-hub-meta-title{font-weight:900}.games-hub-meta-tagline{color:var(--text-muted);font-size:.82rem}.games-hub-meta-status{flex:0 0 auto;font-size:.72rem;font-weight:900;letter-spacing:.04em;color:var(--game-accent, var(--accent));white-space:nowrap}.solo-game{max-width:640px;margin:0 auto}.solo-game-topbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.solo-game-lives{display:inline-flex;gap:.25rem;font-size:1.15rem}.solo-life.is-active{color:var(--danger, #ef6a5a)}.solo-life.is-lost{color:color-mix(in srgb,var(--text-muted) 45%,transparent)}.solo-game-intro-card,.solo-game-result-card{text-align:center;padding:1.4rem 1.2rem;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border-subtle));border-radius:1.2rem;background:radial-gradient(120% 120% at 50% 0%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 60%),var(--bg-surface);box-shadow:var(--surface-shadow)}.solo-game-intro-card h1{margin:.25rem 0 .5rem;font-size:clamp(1.2rem,5vw,1.6rem)}.solo-game-intro-card p{margin:0 auto .8rem;color:var(--text-muted);max-width:32rem}.solo-game-rules{list-style:none;margin:0 auto 1rem;padding:0;max-width:26rem;text-align:left;display:grid;gap:.4rem}.solo-game-rules li{position:relative;padding-left:1.4rem;color:var(--text-secondary);font-size:.9rem}.solo-game-rules li:before{content:"✦";position:absolute;left:0;color:var(--accent)}.solo-game-best{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1rem;color:var(--text-muted);font-weight:700;font-size:.85rem}.cta-3d{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:none;border-radius:.95rem;padding:.8rem 1.5rem;font-family:inherit;font-weight:800;font-size:1rem;line-height:1.1;color:var(--button-primary-text);background:var(--accent);box-shadow:0 4px color-mix(in srgb,var(--accent) 55%,#000);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.cta-3d:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 5px color-mix(in srgb,var(--accent) 55%,#000)}.cta-3d:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px color-mix(in srgb,var(--accent) 55%,#000)}.cta-3d:disabled{opacity:.5;cursor:not-allowed;box-shadow:0 4px color-mix(in srgb,var(--accent) 38%,#000)}.solo-game-start{width:100%;max-width:22rem}.ghost-race-toggle{display:inline-flex;align-items:center;gap:.7rem;width:100%;max-width:22rem;margin:0 0 .9rem;padding:.7rem .9rem;border-radius:1rem;border:2px solid var(--card-border, rgba(255, 255, 255, .14));background:var(--card-elevated, rgba(255, 255, 255, .05));color:var(--text-primary);cursor:pointer;text-align:left;transition:border-color .14s ease,background .14s ease,transform .14s ease}.ghost-race-toggle:hover{transform:translateY(-1px)}.ghost-race-toggle.is-on{border-color:var(--accent-violet, #8b7bff);background:color-mix(in srgb,var(--accent-violet, #8b7bff) 16%,transparent)}.ghost-race-toggle-icon{font-size:1.5rem;opacity:.6}.ghost-race-toggle.is-on .ghost-race-toggle-icon{opacity:1}.ghost-race-toggle-copy{display:flex;flex-direction:column;gap:.1rem;min-width:0}.ghost-race-toggle-title{font-weight:800;font-size:.95rem}.ghost-race-toggle-sub{color:var(--text-muted);font-size:.8rem;font-weight:700}.ghost-race-pace{display:inline-flex;align-items:center;gap:.4rem;align-self:center;margin:0 auto .8rem;padding:.35rem .8rem;border-radius:999px;font-weight:800;font-size:.82rem;border:1px solid transparent}.ghost-race-pace.is-ahead{color:var(--success, #4ade80);border-color:color-mix(in srgb,var(--success, #4ade80) 45%,transparent);background:color-mix(in srgb,var(--success, #4ade80) 14%,transparent)}.ghost-race-pace.is-behind{color:var(--warning, #fbbf24);border-color:color-mix(in srgb,var(--warning, #fbbf24) 45%,transparent);background:color-mix(in srgb,var(--warning, #fbbf24) 14%,transparent)}.ghost-race-result{display:inline-flex;align-items:center;gap:.4rem;justify-content:center;font-weight:800;margin:0 0 .9rem}.ghost-race-result.is-win{color:var(--success, #4ade80)}.ghost-race-result.is-loss{color:var(--text-muted)}.live-arena-error{color:var(--warning, #fbbf24);font-weight:700;margin:0 0 .6rem}.live-arena-matching{text-align:center}.live-arena-radar{font-size:3rem;margin-bottom:.6rem;animation:live-arena-pulse 1.4s ease-in-out infinite}.live-arena-status{color:var(--text-muted);font-weight:700;font-size:.85rem}@keyframes live-arena-pulse{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.12);opacity:1}}.live-arena-vs{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.7rem;width:100%;max-width:24rem;margin:.5rem 0 1.1rem}.live-arena-op{display:flex;flex-direction:column;gap:.2rem;padding:.7rem;border-radius:.9rem;border:2px solid var(--card-border, rgba(255, 255, 255, .14));background:var(--card-elevated, rgba(255, 255, 255, .05));min-width:0}.live-arena-op.is-ready{border-color:var(--success, #4ade80);background:color-mix(in srgb,var(--success, #4ade80) 14%,transparent)}.live-arena-op-handle{font-weight:800;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-arena-op-state{font-size:.78rem;color:var(--text-muted);font-weight:700}.live-arena-vs-mark{font-weight:900;color:var(--text-muted);font-size:.9rem}.solo-game-start.is-waiting{opacity:.7}.live-arena-countdown{text-align:center}.live-arena-count{font-size:5rem;font-weight:900;margin:.5rem 0;line-height:1}.live-arena-scoreboard{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:.8rem}.live-arena-side{display:flex;flex-direction:column;gap:.15rem;padding:.6rem .7rem;border-radius:.9rem;border:2px solid var(--card-border, rgba(255, 255, 255, .14));background:var(--card-elevated, rgba(255, 255, 255, .05));min-width:0}.live-arena-side.is-me{border-color:color-mix(in srgb,var(--accent-aurora, #6ee7ff) 45%,transparent)}.live-arena-side-handle{font-weight:800;font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-arena-side-score{font-weight:900;font-size:1.25rem}.live-arena-side-sub{font-size:.75rem;color:var(--text-muted);font-weight:700}.live-arena-waiting{font-size:2.4rem;text-align:center;margin:1.4rem 0}.live-arena-result-versus{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.7rem;width:100%;max-width:24rem;margin:.8rem auto 1rem}.live-arena-result-side{display:flex;flex-direction:column;gap:.2rem;padding:.7rem;border-radius:.9rem;border:2px solid var(--card-border, rgba(255, 255, 255, .14));min-width:0}.live-arena-result-side.is-winner{border-color:var(--success, #4ade80);background:color-mix(in srgb,var(--success, #4ade80) 14%,transparent)}.live-arena-result-handle{font-weight:800;font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-arena-result-points{font-weight:900;font-size:1.6rem}@media (prefers-reduced-motion: reduce){.live-arena-radar{animation:none}.live-arena-mode-card,.live-arena-club{transition:none}.live-arena-mode-card:hover:not(:disabled){transform:none}}.live-arena-modes{display:grid;gap:.7rem;width:100%;max-width:24rem;margin:.6rem auto 0}.live-arena-mode-card{display:flex;flex-direction:column;gap:.2rem;text-align:left;padding:.9rem 1rem;border-radius:1rem;border:2px solid var(--card-border, rgba(255, 255, 255, .14));background:var(--card-elevated, rgba(255, 255, 255, .05));color:var(--text-primary);cursor:pointer;transition:transform .14s ease,border-color .14s ease}.live-arena-mode-card:hover:not(:disabled){transform:translateY(-2px);border-color:var(--accent-aurora, #6ee7ff)}.live-arena-mode-card:disabled{opacity:.5;cursor:not-allowed}.live-arena-mode-title{font-weight:800;font-size:1.02rem}.live-arena-mode-tagline{color:var(--text-muted);font-size:.84rem;font-weight:600}.live-arena-mode-cta{color:var(--accent-aurora, #6ee7ff);font-weight:800;font-size:.82rem;margin-top:.2rem}.live-arena-rooms{text-align:left}.live-arena-rooms-block{width:100%;max-width:24rem;margin:0 auto 1.1rem}.live-arena-rooms-block h2{font-size:.95rem;margin:0 0 .2rem}.live-arena-rooms-block p{color:var(--text-muted);font-size:.84rem;margin:0 0 .5rem}.live-arena-rooms-actions{display:flex;flex-wrap:wrap;gap:.5rem}.live-arena-join{display:flex;gap:.5rem;align-items:stretch}.live-arena-join .typed-game-input{flex:1 1 auto;text-transform:uppercase;letter-spacing:.12em}.live-arena-club-list{display:grid;gap:.45rem}.live-arena-club{display:flex;align-items:center;justify-content:space-between;padding:.6rem .8rem;border-radius:.8rem;border:1px solid var(--card-border, rgba(255, 255, 255, .14));background:var(--card-elevated, rgba(255, 255, 255, .05));color:var(--text-primary);cursor:pointer;font-weight:700}.live-arena-club:hover:not(:disabled){border-color:var(--accent-violet, #8b7bff)}.live-arena-club-cta{color:var(--accent-violet, #8b7bff);font-weight:800;font-size:.82rem}.live-arena-code{display:flex;flex-direction:column;align-items:center;gap:.1rem;margin:.3rem 0 .9rem}.live-arena-code-label{color:var(--text-muted);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.live-arena-code-value{font-family:var(--font-mono, monospace);font-size:1.6rem;font-weight:900;letter-spacing:.18em}.live-arena-roster{list-style:none;padding:0;margin:.3rem auto 1rem;width:100%;max-width:22rem;display:grid;gap:.4rem}.live-arena-roster-row{display:flex;align-items:center;justify-content:space-between;padding:.55rem .8rem;border-radius:.8rem;font-weight:700;font-size:.86rem;border:2px solid var(--card-border, rgba(255, 255, 255, .14));background:var(--card-elevated, rgba(255, 255, 255, .05))}.live-arena-roster-row.is-ready{border-color:var(--success, #4ade80);background:color-mix(in srgb,var(--success, #4ade80) 12%,transparent)}.live-arena-board{display:grid;gap:.4rem;margin-bottom:.8rem}.live-arena-board-row{display:grid;grid-template-columns:1fr auto auto;gap:.6rem;align-items:center;padding:.45rem .7rem;border-radius:.7rem;border:2px solid var(--card-border, rgba(255, 255, 255, .14));background:var(--card-elevated, rgba(255, 255, 255, .04))}.live-arena-board-row.is-me{border-color:color-mix(in srgb,var(--accent-aurora, #6ee7ff) 45%,transparent)}.live-arena-board-handle{font-weight:800;font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-arena-board-score{font-weight:900}.live-arena-board-sub{color:var(--text-muted);font-size:.75rem;font-weight:700}.live-arena-standings{list-style:none;padding:0;margin:.8rem auto 1rem;width:100%;max-width:22rem;display:grid;gap:.4rem}.live-arena-standing{display:grid;grid-template-columns:auto 1fr auto;gap:.7rem;align-items:center;padding:.55rem .8rem;border-radius:.8rem;font-weight:700;border:2px solid var(--card-border, rgba(255, 255, 255, .14))}.live-arena-standing.is-me{border-color:color-mix(in srgb,var(--accent-aurora, #6ee7ff) 45%,transparent)}.live-arena-standing.is-winner{background:color-mix(in srgb,var(--success, #4ade80) 12%,transparent)}.live-arena-standing-rank{font-weight:900;color:var(--text-muted)}.live-arena-standing-handle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-arena-standing-points{font-weight:900}.solo-game-scoreline{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.6rem;font-weight:800;font-size:.9rem}.solo-game-progress{color:var(--text-muted)}.solo-game-combo{color:var(--text-secondary)}.solo-game-combo.is-hot{color:var(--warning)}.game-timer{height:.5rem;border-radius:999px;background:var(--bg-surface-muted);overflow:hidden;margin-bottom:1.1rem}.game-timer-fill{width:100%;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-hover));transition-property:width;transition-timing-function:linear}.game-timer-fill.is-running{width:0%}.solo-game-listen{text-align:center;margin-bottom:1.2rem}.solo-game-replay{display:inline-flex;align-items:center;gap:.45rem;padding:.7rem 1.3rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border-subtle));background:color-mix(in srgb,var(--accent) 14%,var(--bg-surface));color:var(--text-primary);font-weight:800;font-size:1rem;cursor:pointer}.solo-game-replay:disabled{opacity:.6;cursor:default}.solo-game-prompt{margin:.7rem 0 0;color:var(--text-muted);font-weight:700}.solo-game-options{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem}@media (min-width: 480px){.solo-game-options{grid-template-columns:repeat(4,1fr)}}.solo-game-choice{display:grid;justify-items:center;gap:.1rem;padding:1rem .5rem;min-height:4.6rem;border:1px solid var(--border-subtle);border-radius:1rem;background:var(--bg-surface);box-shadow:0 4px color-mix(in srgb,var(--bg-app) 72%,#000);color:var(--text-primary);cursor:pointer;transition:transform .1s ease,border-color .1s ease,background .1s ease}.solo-game-choice:not(:disabled):hover{border-color:var(--accent);transform:translateY(-2px)}.solo-game-choice:not(:disabled):active{transform:translateY(1px);box-shadow:0 2px color-mix(in srgb,var(--bg-app) 72%,#000)}.solo-game-choice-char{font-family:var(--font-mono, monospace);font-size:1.6rem;font-weight:900}.solo-game-choice-say{font-size:.66rem;color:var(--text-muted);letter-spacing:.04em}.solo-game-choice.is-correct{border-color:var(--success);background:color-mix(in srgb,var(--success) 20%,var(--bg-surface))}.solo-game-choice.is-wrong{border-color:var(--danger, #ef6a5a);background:color-mix(in srgb,var(--danger, #ef6a5a) 18%,var(--bg-surface))}.solo-game-choice.is-dim{opacity:.5}.solo-game-result-card .game-stars-lg .game-star{font-size:2.1rem}.solo-game-result-points{margin:.5rem 0 .9rem;font-size:1.9rem;font-weight:900;color:var(--accent)}.solo-game-result-stats{display:flex;justify-content:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.solo-game-result-stat{display:grid;gap:.1rem;min-width:5rem;padding:.6rem .7rem;border-radius:.8rem;background:var(--bg-surface-muted)}.solo-game-result-stat-value{font-size:1.15rem;font-weight:900}.solo-game-result-stat-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.solo-game-result-note{color:var(--warning);font-weight:800;margin:0 0 .9rem}.solo-game-result-actions{display:grid;gap:.6rem;max-width:22rem;margin:0 auto}.solo-game-boss{display:flex;align-items:center;gap:.6rem;margin-bottom:.9rem}.solo-game-boss-face{font-size:1.6rem}.solo-game-boss-hp{flex:1 1 auto;height:.85rem;border-radius:999px;background:var(--bg-surface-muted);overflow:hidden;border:1px solid var(--border-subtle)}.solo-game-boss-hp-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#ef6a5a,#f6b73c);transition:width .35s ease}.solo-game-boss-count{flex:0 0 auto;min-width:1.6rem;text-align:right;font-weight:900;color:var(--text-secondary)}.typed-game-form{display:grid;gap:.7rem;max-width:26rem;margin:0 auto}.typed-game-input{width:100%;padding:.9rem 1rem;border-radius:.9rem;border:2px solid color-mix(in srgb,var(--game-accent, var(--accent)) 40%,var(--border-subtle));background:var(--bg-surface);color:var(--text-primary);font-family:var(--font-mono, monospace);font-size:1.5rem;font-weight:800;letter-spacing:.14em;text-align:center;text-transform:uppercase}.typed-game-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 .2rem color-mix(in srgb,var(--accent) 22%,transparent)}.typed-game-submit{width:100%}.typed-game-reveal{display:grid;justify-items:center;gap:.4rem;max-width:26rem;margin:0 auto;padding:1.1rem 1rem;border-radius:1rem;border:1px solid var(--border-subtle);background:var(--bg-surface)}.typed-game-reveal.is-correct{border-color:var(--success);background:color-mix(in srgb,var(--success) 12%,var(--bg-surface))}.typed-game-reveal.is-wrong{border-color:var(--danger, #ef6a5a);background:color-mix(in srgb,var(--danger, #ef6a5a) 10%,var(--bg-surface))}.typed-game-reveal-label{font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.typed-game-reveal-text{font-family:var(--font-mono, monospace);font-size:1.9rem;font-weight:900;letter-spacing:.12em}.typed-game-reveal-char.is-correct{color:var(--success)}.typed-game-reveal-char.is-wrong{color:var(--danger, #ef6a5a)}.typed-game-reveal-yours{color:var(--text-muted);font-size:.85rem}.send-game-mode-picker{display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem;margin:0 auto 1rem;max-width:26rem}.send-game-mode{padding:.5rem .85rem;border-radius:999px;border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-secondary);font-weight:800;font-size:.82rem;cursor:pointer}.send-game-mode.is-active{border-color:var(--game-accent, var(--accent));background:color-mix(in srgb,var(--game-accent, var(--accent)) 16%,var(--bg-surface));color:var(--text-primary)}.send-game-target{display:grid;justify-items:center;gap:.2rem;margin:0 auto 1.1rem;max-width:22rem;padding:1.2rem 1rem;border-radius:1.1rem;border:2px solid color-mix(in srgb,var(--game-accent, var(--accent)) 34%,var(--border-subtle));background:color-mix(in srgb,var(--game-accent, var(--accent)) 10%,var(--bg-surface));transition:border-color .15s ease,background .15s ease}.send-game-target.is-correct{border-color:var(--success);background:color-mix(in srgb,var(--success) 16%,var(--bg-surface))}.send-game-target.is-wrong{border-color:var(--danger, #ef6a5a);background:color-mix(in srgb,var(--danger, #ef6a5a) 14%,var(--bg-surface))}.send-game-target-label{font-size:.7rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted)}.send-game-target-char{font-family:var(--font-mono, monospace);font-size:3.2rem;font-weight:900;line-height:1}.send-game-target-say{font-size:.8rem;color:var(--text-muted);letter-spacing:.04em}.send-game-target-received{margin-top:.3rem;font-weight:800;color:var(--text-secondary)}.send-game-hint{text-align:center;color:var(--text-muted);font-weight:700}.send-game-touch{display:grid;gap:.7rem;max-width:26rem;margin:0 auto}.send-game-touch.paddles{grid-template-columns:1fr 1fr}.send-game-touch-key{padding:1.6rem .5rem;border-radius:1rem;border:1px solid color-mix(in srgb,var(--game-accent, var(--accent)) 40%,var(--border-subtle));background:color-mix(in srgb,var(--game-accent, var(--accent)) 14%,var(--bg-surface));color:var(--text-primary);font-weight:900;font-size:1.2rem;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;box-shadow:0 4px color-mix(in srgb,var(--bg-app) 72%,#000)}.send-game-touch-key:active{transform:translateY(2px);box-shadow:0 1px color-mix(in srgb,var(--bg-app) 72%,#000)}.games-meta{max-width:640px;margin:0 auto}.games-meta-hero{display:flex;align-items:center;gap:.9rem;padding:1rem 1.1rem;margin-bottom:1.1rem;border:1px solid color-mix(in srgb,var(--game-accent, var(--accent)) 32%,var(--border-subtle));border-radius:1.1rem;background:radial-gradient(120% 140% at 100% 0%,color-mix(in srgb,var(--game-accent, var(--accent)) 16%,transparent),transparent 60%),var(--bg-surface);box-shadow:var(--surface-shadow)}.games-meta-flame{font-size:2.4rem;flex:0 0 auto}.games-meta-hero-copy h1{margin:.15rem 0 .3rem;font-size:clamp(1.15rem,4.5vw,1.5rem);line-height:1.15}.games-meta-hero-copy p{margin:0;color:var(--text-muted);font-size:.9rem}.games-meta-note{color:var(--text-muted);font-size:.85rem;text-align:center;margin-top:1rem}.daily-sprint-card{display:flex;align-items:center;gap:.9rem;padding:1rem 1.1rem;margin-bottom:1rem;border:1px solid color-mix(in srgb,var(--game-accent, var(--accent)) 34%,var(--border-subtle));border-radius:1rem;background:linear-gradient(120deg,color-mix(in srgb,var(--game-accent, var(--accent)) 12%,var(--bg-surface)),var(--bg-surface))}.daily-sprint-card.is-done{border-color:var(--success)}.daily-sprint-icon{display:grid;place-items:center;width:3rem;height:3rem;border-radius:.85rem;font-size:1.5rem;background:color-mix(in srgb,var(--game-accent, var(--accent)) 22%,var(--bg-surface-muted))}.daily-sprint-body{display:flex;flex-direction:column;gap:.1rem;flex:1 1 auto;min-width:0}.daily-sprint-eyebrow{font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.daily-sprint-title{font-weight:900;font-size:1.1rem}.daily-sprint-tagline{color:var(--text-muted);font-size:.85rem}.daily-sprint-done-badge{color:var(--success);font-size:1.6rem;font-weight:900}.daily-sprint-stats{display:flex;gap:.6rem;margin-bottom:1rem}.daily-sprint-stat{flex:1 1 0;display:grid;gap:.1rem;padding:.7rem .6rem;border-radius:.8rem;background:var(--bg-surface-muted);text-align:center}.daily-sprint-stat-value{font-size:1.2rem;font-weight:900}.daily-sprint-stat-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.daily-sprint-play{width:100%}.weekly-league-standing{padding:1.1rem;margin-bottom:1.1rem;border-radius:1rem;border:1px solid color-mix(in srgb,var(--game-accent, var(--accent)) 34%,var(--border-subtle));background:var(--bg-surface)}.weekly-league-points{display:grid;gap:.15rem;margin-bottom:.8rem}.weekly-league-points-value{font-size:2.2rem;font-weight:900;color:var(--game-accent, var(--accent))}.weekly-league-points-label{color:var(--text-muted);font-size:.85rem}.weekly-league-progress{height:.65rem;border-radius:999px;background:var(--bg-surface-muted);overflow:hidden;margin-bottom:.5rem}.weekly-league-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-hover));transition:width .35s ease}.weekly-league-next{color:var(--text-secondary);font-weight:800;font-size:.85rem}.weekly-league-ladder{display:grid;gap:.45rem}.weekly-league-rung{display:flex;align-items:center;justify-content:space-between;padding:.7rem .9rem;border-radius:.8rem;border:1px solid var(--border-subtle);background:var(--bg-surface);opacity:.7}.weekly-league-rung.is-cleared{opacity:.85}.weekly-league-rung.is-current{opacity:1;border-color:color-mix(in srgb,var(--game-accent, var(--accent)) 60%,var(--border-subtle));background:color-mix(in srgb,var(--game-accent, var(--accent)) 14%,var(--bg-surface))}.weekly-league-rung-name{font-weight:900}.weekly-league-rung-min{color:var(--text-muted);font-size:.8rem;font-weight:800}.weekly-league-promo{display:flex;align-items:center;gap:.6rem;padding:.7rem 1rem;border-radius:.9rem;font-weight:800;margin-bottom:.9rem;border:2px solid transparent}.weekly-league-promo.is-up{border-color:color-mix(in srgb,var(--success, #4ade80) 55%,transparent);background:color-mix(in srgb,var(--success, #4ade80) 14%,transparent)}.weekly-league-promo.is-down{border-color:color-mix(in srgb,var(--danger, #f87171) 55%,transparent);background:color-mix(in srgb,var(--danger, #f87171) 12%,transparent)}.weekly-league-promo-icon{font-size:1.3rem}.weekly-league-promo-text small{color:var(--text-muted);font-weight:700}.weekly-league-board{margin-bottom:1.1rem}.weekly-league-board-head{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;margin-bottom:.5rem;flex-wrap:wrap}.weekly-league-board-head>span:first-child{font-weight:900}.weekly-league-board-zones{color:var(--text-muted);font-size:.78rem;font-weight:800}.weekly-league-rows{list-style:none;padding:0;margin:0;display:grid;gap:.35rem}.weekly-league-row{display:grid;grid-template-columns:2.6rem 1fr auto auto;gap:.6rem;align-items:center;padding:.5rem .8rem;border-radius:.7rem;border:1px solid var(--border-subtle);background:var(--bg-surface);font-weight:700}.weekly-league-row.is-promote{border-left:4px solid var(--success, #4ade80)}.weekly-league-row.is-relegate{border-left:4px solid var(--danger, #f87171)}.weekly-league-row.is-me{border-color:color-mix(in srgb,var(--game-accent, var(--accent)) 60%,var(--border-subtle));background:color-mix(in srgb,var(--game-accent, var(--accent)) 12%,var(--bg-surface))}.weekly-league-row-rank{color:var(--text-muted);font-weight:900}.weekly-league-row-handle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.weekly-league-row-plays{color:var(--text-muted);font-size:.78rem;font-weight:700}.weekly-league-row-points{font-weight:900}@media (max-width: 420px){.weekly-league-row,.live-arena-board-row{padding-left:.55rem;padding-right:.55rem;gap:.4rem}.weekly-league-row{grid-template-columns:2.1rem 1fr auto}.weekly-league-row-plays{display:none}.live-arena-join{flex-wrap:wrap}.live-arena-join .cta-3d{width:100%}.live-arena-modes,.live-arena-rooms-block{max-width:100%}}@media (prefers-reduced-motion: reduce){.games-hub-card,.games-hub-meta-card,.solo-game-choice,.solo-game-boss-hp-fill,.send-game-target,.weekly-league-progress-fill,.game-timer-fill{transition:none}}.sidebar-levels{width:220px;background:#181818;color:#fff;padding:2rem 1rem 2rem 1.5rem;height:100vh;box-shadow:2px 0 12px #0000000a;display:flex;flex-direction:column;align-items:flex-start;overflow-y:auto;position:relative}.sidebar-title{font-size:1.2rem;font-weight:700;margin-bottom:1.5rem;letter-spacing:1px;color:#e53935}.sidebar-level-list{list-style:none;padding:0;margin:0;width:100%}.sidebar-level-item{width:100%;padding:.75rem 1rem;margin-bottom:.5rem;border-radius:.75rem;cursor:pointer;background:transparent;color:#fff;display:flex;flex-direction:column;border:2px solid transparent;transition:background .2s,border .2s,color .2s;position:relative;text-align:left;font:inherit}.sidebar-level-item:focus-visible{outline:2px solid #1d4ed8;outline-offset:2px}.sidebar-level-item.active{background:#fff;color:#e53935;border:2px solid #e53935;font-weight:700}.sidebar-level-item.complete .sidebar-level-label{color:#388e3c}.sidebar-level-item:hover:not(.active){background:#222;color:#e53935}.sidebar-level-label{font-size:1rem;font-weight:600;margin-bottom:.25rem}.sidebar-level-chars{font-size:.95rem;color:#bbb;letter-spacing:1px}.sidebar-level-check{position:absolute;right:1rem;top:1rem;color:#388e3c;font-size:1.2rem;font-weight:700}.sidebar-char{display:flex;align-items:center;margin-right:.5em;font-size:1.1em;color:#bbb;font-weight:600;transition:color .2s}.sidebar-char.char-complete{color:#388e3c;font-weight:700}.total-progress-container{width:100%;margin-bottom:1.5rem;display:flex;flex-direction:column;align-items:flex-start}.total-progress-label{font-size:1rem;font-weight:600;margin-bottom:.5rem;color:#e53935;letter-spacing:.5px}.total-progress-bar-bg{width:100%;height:16px;background:#292929;border-radius:8px;overflow:hidden;margin-bottom:.5rem;box-shadow:0 1px 4px #00000014}.total-progress-bar-fill{height:100%;background:linear-gradient(90deg,#e53935,#ffb300);border-radius:8px 0 0 8px;transition:width .5s cubic-bezier(.4,0,.2,1)}.total-progress-percent{font-size:.95rem;color:#bbb;font-weight:500;margin-left:2px}.letter-progress-bar{display:inline-block;vertical-align:middle;width:22px;height:7px;margin:0 .15em;background:#eee;border-radius:4px;overflow:hidden;position:relative}.letter-progress-half{display:inline-block;height:100%;position:absolute;top:0;transition:width .3s}.letter-progress-half.left{left:0;background:#e53935;border-radius:4px 0 0 4px;z-index:1}.letter-progress-half.right{right:0;background:#ffb300;border-radius:0 4px 4px 0;z-index:1}.letter-progress-dots{display:inline-flex;align-items:center;gap:.18em;font-size:.68em;margin-left:.18em;vertical-align:middle}.mode-indicator{font-weight:700;margin:0 .08em 0 .22em;color:#888;font-size:.92em}.dot{display:inline-block;width:.65em;height:.65em;border-radius:50%;background:#eee;color:#bbb;text-align:center;line-height:.65em;font-size:1em;margin:0 .04em;transition:background .2s,color .2s}.dot.filled{background:#43a047;color:#fff}.letter-progress-checks{display:inline-flex;align-items:center;gap:.08em;font-size:.72em;margin-left:.12em;vertical-align:middle}.check{font-size:1em;margin:0 .01em;vertical-align:middle;opacity:.85}.letter-progress-boxes{display:inline-flex;align-items:center;gap:.08em;font-size:.72em;margin-left:.12em;vertical-align:middle}.letter-label{font-size:1.25em;font-weight:800;color:#222;letter-spacing:1px;margin-right:.18em;vertical-align:middle;transition:color .2s,background .2s}.sidebar-level-item:not(.active) .letter-label,.sidebar-char .letter-label{color:#fff;background:#222;border-radius:.22em;padding:.04em .22em;font-weight:800}.progress-box{display:inline-flex;align-items:center;justify-content:center;width:1.1em;height:1.1em;border-radius:.18em;background:#eee;color:#bbb;font-size:.92em;font-weight:500;margin:0 .03em;border:1.5px solid #ddd;box-sizing:border-box;transition:background .2s,color .2s;letter-spacing:0}.progress-box.filled{background:#43a047;color:#fff;border-color:#43a047;font-weight:700}.letter-score-bar-wrapper{display:flex;align-items:center;min-width:54px;position:relative;margin:0 .08em}.letter-score-bar-bg{width:48px;height:7px;background:#e6f4ea;border-radius:4px;overflow:hidden;position:relative;margin-right:2px;margin-left:2px;display:inline-block}.letter-score-bar-bg.mode-transmit{background:#e6f4ea}.letter-score-bar-bg.mode-receive{background:#e3f0fa}.letter-score-bar-fill{height:100%;background:linear-gradient(90deg,#43a047,#4fc3f7);border-radius:4px 0 0 4px;transition:width .3s cubic-bezier(.4,0,.2,1);position:absolute;left:0;top:0;z-index:1}.letter-score-bar-threshold{position:absolute;top:0;bottom:0;width:1px;background:#000;opacity:.7;z-index:2}.letter-score-check{display:none}.letter-score-bars-vertical{display:flex;flex-direction:column;gap:2px;margin-left:.4em;margin-right:.1em;align-items:flex-start}.letter-score-bar-fill.blue{background:#4fc3f7}.letter-score-bar-fill.green{background:#43a047}@media (max-width: 600px){.sidebar-levels{display:none}.mobile-progress-nav{display:flex;position:fixed;bottom:0;left:0;width:100vw;background:#181818;color:#fff;z-index:1000;align-items:center;justify-content:space-between;padding:.5rem;box-shadow:0 -2px 12px #0000001f;min-height:64px}.mobile-progress-left{flex:1 1 50%;display:flex;align-items:center;justify-content:flex-start;padding-left:.7rem}.mobile-progress-right{flex:1 1 50%;display:flex;align-items:center;justify-content:flex-end;padding-right:.7rem;gap:.5rem}.mobile-level-switcher{background:#292929;color:#e53935;border:none;border-radius:8px;padding:.5rem 1rem;font-size:1rem;font-weight:600;cursor:pointer;min-width:80px;min-height:44px;box-shadow:0 1px 4px #00000014}.mobile-level-switcher:focus-visible{outline:2px solid #1d4ed8;outline-offset:2px}.mobile-level-chars-inline{display:flex;gap:.3rem;margin-right:.5rem}.mobile-level-char-inline{display:inline-block;min-width:28px;min-height:32px;font-size:1.1em;color:#bbb;font-weight:600;background:none;border:none;border-radius:6px;text-align:center;line-height:32px;padding:0 .15em;transition:color .2s,background .2s}.mobile-level-char-inline.char-complete{color:#388e3c;font-weight:700}.mobile-level-modal-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;z-index:2000;display:flex;align-items:flex-end;justify-content:center}.mobile-level-modal{background:#222;width:100vw;max-height:80vh;border-radius:18px 18px 0 0;box-shadow:0 -2px 16px #0000002e;padding:1.2rem .5rem 2rem;overflow-y:auto;position:relative;display:flex;flex-direction:column;align-items:stretch}.mobile-level-modal-header{display:flex;align-items:center;justify-content:space-between;font-size:1.2rem;font-weight:700;color:#fff;margin-bottom:1rem;padding:0 .5rem}.mobile-level-modal-close{background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;margin-left:1rem;line-height:1}.mobile-level-modal-close:focus-visible{outline:2px solid #1d4ed8;outline-offset:2px;border-radius:.3rem}.mobile-level-modal-list{list-style:none;padding:0;margin:0;width:100%}.mobile-level-modal-item{width:100%;padding:.7rem 1rem;margin-bottom:.5rem;border-radius:.75rem;cursor:pointer;background:transparent;color:#fff;display:flex;flex-direction:column;border:2px solid transparent;transition:background .2s,border .2s,color .2s;position:relative;text-align:left;font:inherit}.mobile-level-modal-item:focus-visible{outline:2px solid #1d4ed8;outline-offset:2px}.mobile-level-modal-item.active{background:#fff;color:#e53935;border:2px solid #e53935;font-weight:700}.mobile-level-modal-label{font-size:1rem;font-weight:600;margin-bottom:.25rem}.mobile-level-modal-chars{font-size:.95rem;color:#bbb;letter-spacing:1px}.mobile-level-modal-char{display:inline-block;margin-right:.5em;font-size:1.1em;color:#bbb;font-weight:600;transition:color .2s}.mobile-level-modal-char.char-complete{color:#388e3c;font-weight:700}.mobile-progress-bar{display:flex;flex-direction:column;align-items:flex-start;min-width:60px;font-size:.95rem}.mobile-progress-label{color:#e53935;font-weight:600;margin-bottom:2px;font-size:.95rem}.mobile-progress-bar-bg{width:60px;height:8px;background:#292929;border-radius:4px;overflow:hidden;margin-bottom:.5rem;box-shadow:0 1px 4px #00000014}.mobile-progress-bar-fill{height:100%;background:linear-gradient(90deg,#e53935,#ffb300);border-radius:4px 0 0 4px;transition:width .5s cubic-bezier(.4,0,.2,1)}}.sidebar-levels{background:var(--bg-surface-strong);color:var(--text-primary);box-shadow:var(--shadow-sm)}.sidebar-level-item:focus-visible,.mobile-level-switcher:focus-visible,.mobile-level-modal-item:focus-visible,.mobile-level-modal-close:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.sidebar-title,.total-progress-label,.mobile-progress-label{color:var(--accent)}.sidebar-level-item{color:var(--text-primary)}.sidebar-level-item.active{background:var(--bg-surface);color:var(--accent);border-color:var(--accent)}.sidebar-level-item:hover:not(.active),.mobile-level-switcher,.mobile-level-modal-item:hover:not(.active){color:var(--accent)}.sidebar-level-item.complete .sidebar-level-label,.sidebar-level-check,.sidebar-char.char-complete,.dot.filled,.progress-box.filled,.letter-score-bar-fill.green,.mobile-level-modal-char.char-complete{color:var(--success)}.sidebar-level-item:hover:not(.active),.sidebar-level-item:not(.active) .letter-label,.letter-label,.mobile-level-modal,.mobile-level-switcher,.mobile-progress-nav{background:var(--bg-surface-muted)}.sidebar-level-chars,.sidebar-char,.total-progress-percent,.mode-indicator,.progress-box,.dot,.mobile-level-modal-char{color:var(--text-muted)}.total-progress-bar-bg,.mobile-progress-bar-bg,.letter-score-bar-bg.mode-transmit,.letter-score-bar-bg.mode-receive{background:var(--bg-chip-neutral);box-shadow:none}.total-progress-bar-fill,.mobile-progress-bar-fill,.letter-score-bar-fill{background:linear-gradient(90deg,var(--accent) 0%,var(--warning) 100%)}.letter-score-bar-fill.blue{background:var(--info)}.letter-progress-bar,.dot,.progress-box{background:var(--bg-chip-neutral);border-color:var(--border-subtle)}.letter-progress-half.left{background:var(--accent)}.letter-progress-half.right{background:var(--warning)}.letter-label{color:var(--text-primary)}.sidebar-level-item:not(.active) .letter-label,.sidebar-char .letter-label{color:var(--text-primary);background:var(--bg-surface-muted)}.progress-box.filled{background:var(--success);border-color:var(--success)}.mobile-level-modal{color:var(--text-primary);box-shadow:var(--shadow-lg)}.mobile-progress-nav{color:var(--text-primary);box-shadow:0 -2px 12px color-mix(in srgb,var(--shadow-color) 18%,transparent)}.mobile-level-modal-header,.mobile-level-modal-close,.mobile-level-modal-item,.mobile-level-switcher{color:var(--text-primary)}.mobile-level-modal-item.active{background:var(--bg-surface);color:var(--accent);border-color:var(--accent)}.mobile-level-modal-chars,.mobile-level-modal-char{color:var(--text-muted)}.letter-score-bar-threshold{background:var(--border-strong)}
