/*!
Morse Flyer v1838
Copyright © 2026 David Coultis. All Rights Reserved.
*/
@font-face{font-family:libre baskerville;src:url(https://static.morseflyer.com/fonts/LibreBaskerville-VariableFont_wght.ttf)format('truetype');font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:libre baskerville;src:url(https://static.morseflyer.com/fonts/LibreBaskerville-Italic-VariableFont_wght.ttf)format('truetype');font-weight:100 900;font-style:italic;font-display:swap}#sky-bg-canvas{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:-1;pointer-events:none;display:block}:root{--bg-dark:#0f1923;--bg-panel:#1a2a3a;--bg-card:#1e3045;--gold:#d4a843;--gold-dim:#8b6914;--red:#cc3333;--green:#44cc66;--text:#e8d5a3;--text-dim:rgba(232, 213, 163, 0.78);--font-display:'Libre Baskerville', Georgia, serif;--font-mono:'Libre Baskerville', Georgia, serif;--btn-height:42px;--btn-height-compact:34px}*{margin:0;padding:0;box-sizing:border-box}html{width:100%;height:100%;height:100dvh}body{width:100%;height:100%;overflow:hidden;background:#1a2a4a;color:var(--text);font-family:var(--font-mono);min-height:-webkit-fill-available;padding:env(safe-area-inset-top)env(safe-area-inset-right)env(safe-area-inset-bottom)env(safe-area-inset-left)}.hidden{display:none!important}[data-dev-only]{display:none!important}html.dev-mode [data-dev-only]{display:revert!important}html:not(.full-cockpit-mode) #btn-path-full-cockpit,html:not(.full-cockpit-mode) .path-card-beta-shell:has(>#btn-path-full-cockpit){display:none!important}html:not(.settings-mode) #btn-open-settings{opacity:.45;cursor:not-allowed;pointer-events:auto;filter:grayscale(.3)}html:not(.settings-mode) #btn-open-settings:hover{background:0 0;color:inherit;border-color:inherit;transform:none;box-shadow:none}#splash-screen{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#1a2a4a;background-size:cover;background-position:50%;z-index:10000;touch-action:manipulation;overflow:hidden;padding:24px}.splash-clouds{position:absolute;inset:0;pointer-events:none;z-index:0}.splash-cloud{position:absolute;background:rgba(255,255,255,.85);border-radius:50%;filter:blur(2px);box-shadow:30px 10px 0 -4px rgba(255,255,255,.85),-28px 8px 0 -6px rgba(255,255,255,.85),58px -2px 0 -8px rgba(255,255,255,.85),-54px -4px 0 -10px rgba(255,255,255,.85)}.splash-cloud-1{top:14%;left:12%;width:80px;height:32px}.splash-cloud-2{top:28%;right:14%;width:110px;height:40px}.splash-cloud-3{bottom:22%;left:38%;width:90px;height:34px}#splash-screen[data-bg-image] .splash-clouds{display:none}.splash-biplane{position:absolute;top:50%;left:50%;transform:translate(-50%,calc(-50% - clamp(40px,10vh,80px)));width:clamp(180px,55vw,360px);height:auto;opacity:.7;pointer-events:none;z-index:0;user-select:none;-webkit-user-drag:none}#splash-screen[data-bg-image] .splash-biplane{display:none}.splash-title,.splash-sub,.splash-content-card,.splash-take-flight-btn{position:relative;z-index:1}.splash-title{font-family:var(--font-display);font-size:clamp(36px,10vw,64px);color:var(--gold);letter-spacing:clamp(2px,.8vw,4px);text-transform:uppercase;text-shadow:0 2px 6px rgba(0,0,0,.35)}.splash-sub{font-size:clamp(12px,2.8vw,16px);color:var(--gold);font-weight:700;letter-spacing:clamp(1.5px,.6vw,3px);text-transform:uppercase;text-shadow:0 1px 3px rgba(0,0,0,.55);text-align:center}.splash-content-card{width:min(560px,calc(100% - 24px));max-height:40vh;overflow-y:auto;background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.6);border-radius:14px;padding:14px 18px;box-shadow:0 6px 18px rgba(0,0,0,.18)}.splash-content-card.hidden{display:none}.splash-content-body{display:flex;flex-direction:column;gap:8px;color:#1a2a3a}.splash-content-body .rtc-paragraph,.splash-content-body .rtc-subtitle,.splash-content-body .rtc-bullets{color:#1a2a3a}.splash-take-flight-btn{margin-top:8px;font-family:var(--font-display);font-size:clamp(16px,4vw,22px);font-weight:700;letter-spacing:.08em;padding:clamp(12px,3vw,16px)clamp(28px,7vw,44px);border-radius:999px;border:2px solid rgba(255,255,255,.55);background:var(--green);color:#fff;cursor:pointer;box-shadow:0 6px 14px rgba(0,0,0,.22);transition:background-color .12s ease,transform .08s ease,opacity .15s ease;-webkit-tap-highlight-color:transparent}.splash-take-flight-btn:hover{background:#5cd97a}.splash-take-flight-btn:active{transform:translateY(1px)}.splash-take-flight-btn.is-loading{background:#6c8678;color:rgba(255,255,255,.85);opacity:.75;cursor:default}.splash-take-flight-btn.is-flashing{background:#8af0a4;color:#fff}#mode-screen{display:flex;flex-direction:column;align-items:center;justify-content:safe center;min-height:100%;min-width:0;gap:16px;padding:20px 10px;overflow-y:auto}#mode-screen .mode-buttons-stack{width:fit-content;min-width:min(300px,92vw)}#mode-screen .mode-buttons-stack .btn{width:100%;font-weight:800;border-color:rgba(212,168,67,.65);text-align:center}#mode-screen .menu-tools.mode-buttons-stack .btn{width:100%;font-weight:800;border-color:rgba(212,168,67,.6);opacity:.95}.title{font-family:var(--font-display);font-size:clamp(30px,8vw,64px);letter-spacing:clamp(1px,.6vw,4px);color:#f0c040;text-shadow:0 0 24px rgba(255,200,60,.45),0 2px 8px rgba(0,0,0,.6)}.subtitle{font-size:clamp(10px,2.5vw,14px);color:var(--text-dim);margin-bottom:clamp(16px,4vw,30px);letter-spacing:2px;text-transform:uppercase}#mode-screen .subtitle{font-size:clamp(12px,2.8vw,16px);color:var(--gold);font-weight:700;letter-spacing:clamp(1.5px,.6vw,3px);text-shadow:0 1px 3px rgba(0,0,0,.55);text-align:center}.menu-title-wrap{position:relative;display:flex;align-items:center;justify-content:center}.menu-biplane{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:clamp(180px,55vw,360px);height:auto;opacity:.7;pointer-events:none;z-index:0;user-select:none;-webkit-user-drag:none}.menu-title-wrap .title{position:relative;z-index:1}.menu-beta,.splash-beta{font-size:clamp(14px,3.2vw,22px);color:#f0d878;letter-spacing:clamp(2px,.8vw,4px);text-transform:uppercase;font-weight:700;text-align:center;margin:0}.mode-buttons{display:flex;gap:clamp(10px,2vw,20px)}.menu-tools{display:flex;justify-content:center;width:min(680px,100%)}.skies-screen .menu-tools{width:auto}.menu-tool-btn{min-width:0}.menu-accel{text-decoration:underline;text-underline-offset:.14em;text-decoration-thickness:2px}.btn{font-family:var(--font-display);font-size:clamp(16px,3.5vw,22px);letter-spacing:2px;padding:clamp(8px,1.6vw,12px)clamp(18px,3.5vw,32px);border:2px solid var(--gold);background:0 0;color:var(--gold);cursor:pointer;transition:all .15s ease;text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.05;min-height:var(--btn-height);white-space:nowrap}.toolbar-btn{min-height:var(--btn-height-compact)}.btn{font-family:var(--font-display);font-size:clamp(16px,3.5vw,22px);letter-spacing:2px;padding:clamp(10px,2vw,14px)clamp(20px,4vw,36px);border:2px solid var(--gold);background:0 0;color:var(--gold);cursor:pointer;transition:all .15s ease;text-transform:uppercase}.btn:hover{background:var(--gold);color:var(--bg-dark)}.btn-secondary{border-color:rgba(212,168,67,.55);color:rgba(232,213,163,.8);font-size:16px}.btn-secondary:hover{border-color:var(--gold);color:var(--gold);background:rgba(212,168,67,.1)}.btn-back{background:#1a3a5c;border-color:var(--gold);border-radius:20px;color:var(--text);font-weight:700;letter-spacing:2px}.btn-back:hover{background:#1f4a74;border-color:var(--gold);color:var(--gold)}.btn-choose-chars{border-color:var(--gold)!important;background:rgba(232,213,163,.12);color:var(--gold-bright)!important;box-shadow:inset 0 0 0 1px rgba(232,213,163,8%);font-size:.82rem;padding:3px 9px;letter-spacing:.03em}.btn-choose-chars:hover{background:var(--gold)!important;color:var(--bg-dark)!important}.sidebar{position:fixed;top:0;right:0;width:320px;height:100%;background:var(--bg-panel);border-left:2px solid var(--gold-dim);z-index:300;display:flex;flex-direction:column;overflow-y:auto;transition:transform .25s ease}.sidebar.hidden{transform:translateX(100%);display:flex!important;pointer-events:none}.sidebar:not(.hidden){transform:translateX(0);pointer-events:all}.left-drawer{left:0;right:auto;border-left:none;border-right:2px solid var(--gold-dim)}.left-drawer.hidden{transform:translateX(-100%)}.left-drawer:not(.hidden){transform:translateX(0)}.settings-panel{left:0;right:auto;border-left:none;border-right:2px solid var(--gold-dim)}.settings-panel.hidden{transform:translateX(-100%)}.settings-panel:not(.hidden){transform:translateX(0)}.settings-stack{display:flex;flex-direction:column;gap:10px}.setting-row-wrap{flex-wrap:wrap}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--gold-dim)}.sidebar-header h3{font-family:var(--font-display);font-size:18px;color:var(--gold);letter-spacing:2px}.btn-icon{background:0 0;border:none;color:var(--text-dim);font-size:24px;cursor:pointer;padding:0 4px;line-height:1}.btn-icon:hover{color:var(--text)}.sidebar-hint{font-size:11px;color:var(--text-dim);text-align:center;padding:8px 16px 4px}.sidebar-section{padding:8px 16px 12px}.sidebar-section-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:12px;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px}.sidebar-section-header span{flex:1}.btn-link{background:0 0;border:none;color:var(--gold-dim);font-size:11px;cursor:pointer;text-decoration:underline;font-family:var(--font-mono);padding:0}.btn-link:hover{color:var(--gold)}.char-grid{display:grid;grid-template-columns:repeat(auto-fill,42px);gap:4px}.char-btn{width:42px;height:42px;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:18px;font-weight:700;background:var(--bg-card);border:1px solid var(--gold-dim);color:var(--text-dim);cursor:pointer;transition:all .1s ease;user-select:none}.char-btn:hover{border-color:var(--gold);color:var(--text)}.char-btn.selected{background:rgba(212,168,67,.15);border-color:var(--gold);color:var(--gold)}.char-btn.playing{background:rgba(212,168,67,.3);border-color:var(--gold);color:var(--gold);transform:scale(1.05)}.char-btn.locked{border-width:2px;border-color:var(--gold);box-shadow:inset 0 0 0 1px rgba(212,168,67,.5)}.char-btn.locked-blocked{animation:locked-pulse .3s ease-out}@keyframes locked-pulse{0%{background:rgba(212,168,67,.15);transform:scale(1)}40%{background:rgba(212,168,67,.55);transform:scale(1.08)}100%{background:rgba(212,168,67,.15);transform:scale(1)}}.sidebar-footer{padding:12px 16px;border-top:1px solid var(--gold-dim);margin-top:auto}.sidebar-count{font-size:12px;color:var(--text-dim);text-align:center}.sidebar-callsign-opts{padding:4px 0}.sidebar-callsign-details{padding:4px 0 0 18px}.setting-row-compact{margin:6px 0;font-size:13px}.setting-row-compact label{font-size:13px}.setting-row-compact input[type=range]{width:80px}.callsign-setup-note{font-size:12px;color:var(--text-dim);font-style:italic}.sidebar-toggles{display:flex;flex-wrap:wrap;gap:6px;padding:10px 16px;border-bottom:1px solid rgba(232,213,163,8%)}.btn-toggle{font-family:var(--font-mono);font-size:11px;padding:5px 10px;background:var(--bg-card);border:1px solid var(--gold-dim);color:var(--text-dim);cursor:pointer;transition:all .1s ease}.btn-toggle:hover{border-color:var(--gold);color:var(--text)}.btn-toggle.active{background:rgba(212,168,67,.15);border-color:var(--gold);color:var(--gold)}#callsign-screen{display:flex;flex-direction:column;height:100%}.callsign-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--bg-panel);border-bottom:1px solid var(--gold-dim);gap:10px}.callsign-header h2{font-family:var(--font-display);font-size:20px;color:var(--gold);letter-spacing:2px;flex:1}.callsign-setup-overlay{flex:1;display:flex;align-items:center;justify-content:center;background:0 0}.callsign-setup-card{background:var(--bg-card);border:2px solid var(--gold);padding:30px 40px;display:flex;flex-direction:column;align-items:center;gap:16px;max-width:420px}.callsign-setup-card h3{font-family:var(--font-display);font-size:24px;color:var(--gold);letter-spacing:3px}.callsign-setup-card .setting-row{width:100%}.callsign-setup-card select,.callsign-setup-card input[type=range]{accent-color:var(--gold)}.callsign-setup-card label{font-size:13px;color:var(--text-dim);cursor:pointer;display:flex;align-items:center;gap:6px}.callsign-setup-card input[type=checkbox]{accent-color:var(--gold)}.callsign-warning{font-size:12px;color:var(--red);min-height:16px}#callsign-play-area{flex:1;position:relative}#callsign-canvas{width:100%;height:100%;display:block}.callsign-overlay{position:absolute;top:0;left:0;right:0;display:flex;flex-direction:column;align-items:center;padding-top:10px;pointer-events:none;gap:6px}.callsign-progress{font-size:13px;color:var(--text-dim)}.callsign-display{font-family:var(--font-display);font-size:64px;color:var(--gold);letter-spacing:6px;text-align:center;min-height:80px;text-shadow:0 0 20px rgba(212,168,67,.3)}.callsign-display.blind-mode{font-size:28px;color:var(--text-dim);letter-spacing:2px}.race-callsign-display{position:absolute;top:10px;left:50%;transform:translateX(-50%);font-family:var(--font-display);font-size:clamp(20px,7vw,42px);color:var(--gold);letter-spacing:clamp(2px,1vw,6px);text-align:center;padding:4px clamp(10px,2vw,20px);background:rgba(15,25,35,.6);border-radius:4px;z-index:10;pointer-events:none;white-space:nowrap;max-width:calc(100vw - 24px);overflow:hidden;text-shadow:0 0 16px rgba(212,168,67,.25)}.race-callsign-display .cs-correct{color:var(--green)}.race-callsign-display .cs-wrong{color:var(--red)}.race-callsign-display .cs-current{color:#fff;font-weight:700}.race-callsign-display .cs-pending{color:var(--text-dim)}.race-callsign-display.blind-mode{font-size:clamp(18px,6vw,36px)}.callsign-log{position:absolute;top:68px;left:10px;bottom:60px;width:180px;display:flex;flex-direction:column;gap:0;overflow:hidden;z-index:10;pointer-events:none;font-family:var(--font-mono);font-size:13px}.cs-log-entry{display:flex;align-items:center;gap:8px;padding:4px 8px;background:rgba(15,25,35,.6);border-radius:3px;margin-bottom:3px;white-space:nowrap;animation:csLogSlideIn .3s ease-out}@keyframes csLogSlideIn{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.cs-log-entry .cs-log-chars{letter-spacing:2px;flex:1}.cs-log-entry .cs-log-chars .clc-correct{color:var(--green)}.cs-log-entry .cs-log-chars .clc-wrong{color:var(--red)}.cs-log-entry .cs-log-pct{font-size:11px;min-width:32px;text-align:right}.cs-log-entry .cs-log-pct.pct-perfect{color:var(--green)}.cs-log-entry .cs-log-pct.pct-good{color:var(--gold)}.cs-log-entry .cs-log-pct.pct-poor{color:var(--red)}.fk-score-panel{position:absolute;top:68px;left:10px;bottom:60px;width:220px;display:flex;flex-direction:column;gap:0;overflow:hidden;z-index:10;pointer-events:none;font-family:var(--font-mono);font-size:12px;transition:transform .2s ease}.fk-score-panel--collapsed{transform:translateX(-230px)}.fk-score-header{display:flex;align-items:baseline;justify-content:space-between;padding:4px 8px 5px;background:rgba(15,25,35,.75);border-radius:3px;margin-bottom:3px;white-space:nowrap}.fk-score-header-label{font-size:10px;letter-spacing:2px;color:var(--text-dim)}.fk-score-header-total{font-size:16px;font-weight:700;color:var(--gold);letter-spacing:1px}.fk-score-col-head{display:flex;align-items:center;padding:2px 8px 3px;background:rgba(15,25,35,.5);border-radius:3px;margin-bottom:3px;font-size:10px;letter-spacing:1px;color:var(--text-dim)}.fk-score-log{display:flex;flex-direction:column;gap:0;overflow:hidden;flex:1}.fk-score-row{display:flex;align-items:center;padding:3px 8px;background:rgba(15,25,35,.6);border-radius:3px;margin-bottom:2px;white-space:nowrap;color:rgba(255,255,255,.75);animation:fkRowSlideIn .15s ease-out}.fk-score-row--bonus{color:var(--green)}.fk-score-row--gold{color:var(--gold)}.fk-score-row--penalty{color:rgba(204,68,68,.9)}.fk-sc-char--penalty{color:#dc3c3c;font-weight:700}.fk-sc-total--penalty{color:#dc3c3c;font-weight:700}@keyframes fkRowSlideIn{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}.fk-sc-char{font-weight:700;font-size:14px;min-width:20px;text-align:left}.fk-sc-num{flex:1;text-align:center;font-size:11px}.fk-sc-total{font-weight:700;font-size:12px;text-align:right}.fk-score-panel--no-eff .fk-sc-eff{display:none}.fk-score-tab{position:absolute;top:68px;left:0;writing-mode:vertical-lr;text-orientation:mixed;transform:rotate(180deg);background:rgba(15,25,35,.7);border:1px solid rgba(212,168,67,.3);border-left:none;border-radius:0 3px 3px 0;color:var(--gold);font-family:var(--font-mono);font-size:10px;letter-spacing:2px;padding:8px 4px;cursor:pointer;z-index:11;pointer-events:auto}.fk-score-tab.hidden{display:none}.hanger-card-list{display:flex;flex-direction:column;gap:12px;width:min(680px,96vw);margin:0 auto;padding:16px}.hanger-sv2-card{width:100%}.hanger-add-row{text-align:center;padding:4px 0}.hanger-add-btn{background:rgba(76,175,80,.18)!important;border-color:rgba(76,175,80,.5)!important;color:#81c784!important;max-width:220px}.hanger-select-pill{border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:4px 14px;cursor:pointer;border:1px solid rgba(240,192,64,.6);background:rgba(240,192,64,.12);color:#f0c040;transition:background .15s,border-color .15s;white-space:nowrap}.hanger-select-pill:hover:not(:disabled){background:rgba(240,192,64,.25);border-color:#f0c040}.hanger-select-pill--active{background:rgba(68,204,102,.15);border-color:rgba(68,204,102,.6);color:var(--green);cursor:default}.hanger-import-row{display:flex;gap:8px;align-items:flex-start;padding:8px 14px 10px}.hanger-import-ta{flex:1;background:#080c12;color:#d4a843;border:1px solid rgba(212,168,67,.25);border-radius:4px;padding:6px 8px;font-size:11px;font-family:var(--font-mono);resize:vertical;min-height:48px}.main-menu-card{border:1px solid rgba(212,168,67,.45);border-radius:14px;background:linear-gradient(180deg,rgba(10,16,25,.94),rgba(7,11,18,.92));box-shadow:0 8px 22px rgba(0,0,0,.22),inset 0 0 0 1px rgba(255,255,255,2%);width:min(380px,92vw);overflow:hidden;margin-top:8px}.main-menu-card-header{padding:8px 14px;background:linear-gradient(180deg,rgba(118,90,26,.96),rgba(72,54,14,.94));border-bottom:1px solid rgba(212,168,67,.28);display:flex;align-items:center;justify-content:space-between;gap:8px}.main-menu-card-body{padding:14px;display:flex;flex-direction:column;gap:8px}.main-menu-btn{flex:none!important;width:100%;text-align:center}.main-menu-divider{height:1px;background:rgba(212,168,67,.15);margin:2px 0}.main-menu-tools{display:flex;gap:8px}.main-menu-btn-secondary{flex:1;text-align:center;background:rgba(212,168,67,8%)!important;border-color:rgba(212,168,67,.35)!important;color:rgba(240,192,64,.75)!important;font-size:.78rem!important}.main-menu-btn-secondary:hover{background:rgba(212,168,67,.18)!important;border-color:rgba(212,168,67,.65)!important;color:#f0d878!important}.path-menu-screen{justify-content:flex-start;padding-top:clamp(24px,6vh,56px)}.path-menu-screen .subtitle{max-width:min(620px,92vw);margin-bottom:4px;color:var(--gold);font-weight:700;text-align:center;text-shadow:0 1px 3px rgba(0,0,0,.55)}.path-card-grid{width:min(760px,94vw);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:14px;margin-top:12px}.path-card-grid-wide{width:min(920px,94vw)}.path-card{min-height:164px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:8px;padding:16px;border-radius:16px;border:1px solid rgba(212,168,67,.45);background:linear-gradient(180deg,rgba(10,16,25,.94),rgba(7,11,18,.92));box-shadow:0 8px 22px rgba(0,0,0,.22),inset 0 0 0 1px rgba(255,255,255,2%);color:var(--text);cursor:pointer;text-align:left;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:border-color .12s ease,box-shadow .12s ease,transform .08s ease,background .12s ease;position:relative}.path-card:hover,.path-card:focus-visible{border-color:rgba(240,216,120,.84);box-shadow:0 10px 26px rgba(0,0,0,.28),0 0 0 2px rgba(240,216,120,.12);transform:translateY(-1px);outline:none}.path-card:active{transform:translateY(0)}.path-card-primary{background:linear-gradient(180deg,rgba(18,34,35,.96),rgba(8,18,20,.94));border-color:rgba(96,201,121,.62)}.path-card-kicker{font-size:11px;letter-spacing:.16em;color:rgba(240,216,120,.78);font-weight:800;text-transform:uppercase}.path-card-title{font-family:var(--font-display);font-size:clamp(22px,4.6vw,32px);color:var(--gold);line-height:1.05;letter-spacing:.05em;text-transform:uppercase}.path-card-copy{font-size:14px;line-height:1.45;color:var(--text-dim)}.path-card-action{margin-top:auto;align-self:stretch;text-align:center;padding:8px 12px;border-radius:999px;color:#fff;background:rgba(96,201,121,.34);border:1px solid rgba(96,201,121,.45);font-weight:800}.first-flight-listen-card{cursor:default}.first-flight-listen-card:hover,.first-flight-listen-card:focus-within{border-color:rgba(240,216,120,.84);box-shadow:0 10px 26px rgba(0,0,0,.28),0 0 0 2px rgba(240,216,120,.12);transform:translateY(-1px)}.first-flight-start-btn{cursor:pointer;font:inherit}.first-flight-card-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px;align-self:stretch}.first-flight-card-header-row .path-card-title,.first-flight-card-header-row h2{margin:0}.first-flight-gear-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:none;border:1px solid rgba(212,168,67,.42);border-radius:999px;background:rgba(255,255,255,8%);color:var(--gold);cursor:pointer;font:inherit;font-weight:800;line-height:1}.first-flight-card-tool-row{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;flex:none}.first-flight-key-setup-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:none;border:1px solid rgba(96,201,121,.45);border-radius:999px;background:rgba(96,201,121,.12);color:#fff;cursor:pointer;font:inherit;font-size:16px;font-weight:800;line-height:1}.first-flight-key-setup-btn:hover,.first-flight-key-setup-btn:focus-visible{border-color:rgba(96,201,121,.82);background:rgba(96,201,121,.22);outline:none}.first-flight-key-setup-btn.key-setup-attention{animation:key-setup-attention-blink 600ms ease-in-out 3}@keyframes key-setup-attention-blink{0%,100%{opacity:1;transform:scale(1);border-color:rgba(96,201,121,.45);box-shadow:none}50%{opacity:.4;transform:scale(1.18);border-color:rgba(212,168,67,.95);box-shadow:0 0 10px rgba(212,168,67,.75)}}.first-flight-gear-btn:hover,.first-flight-gear-btn:focus-visible,.first-flight-gear-btn[aria-expanded=true]{border-color:rgba(240,216,120,.84);background:rgba(212,168,67,.18);outline:none}.first-flight-inline-speed{align-self:stretch;margin:4px 0 2px;padding:10px;border-radius:14px;border:1px solid rgba(212,168,67,.28);background:rgba(0,0,0,.16)}.first-flight-speed-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.first-flight-inline-speed input[type=range]{width:100%}.path-menu-tools{gap:10px;flex-wrap:wrap}.first-flight-speed-label,.first-flight-speed-value{color:var(--gold);font-weight:800;white-space:nowrap}.first-flight-speed-note{margin:6px 0 0;color:var(--text-dim);font-size:12px;line-height:1.35;text-align:left}.first-flight-feedback-toggles{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(212,168,67,.18)}.first-flight-feedback-toggles .mf-toggle-label{text-align:left}.first-flight-feedback-toggles-plain{margin-top:0;padding-top:0;border-top:0}.first-flight-listen-card>.beta-feedback-row{align-self:flex-end;margin-left:auto}.path-card-beta-shell{min-height:164px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px;padding:16px;border-radius:16px;border:1px solid rgba(212,168,67,.45);background:linear-gradient(180deg,rgba(10,16,25,.94),rgba(7,11,18,.92));box-shadow:0 8px 22px rgba(0,0,0,.22),inset 0 0 0 1px rgba(255,255,255,2%);min-width:0;transition:border-color .12s ease,box-shadow .12s ease,transform .08s ease,background .12s ease}.path-card-beta-shell.path-card-primary{background:linear-gradient(180deg,rgba(18,34,35,.96),rgba(8,18,20,.94));border-color:rgba(96,201,121,.62)}.path-card-beta-shell:hover,.path-card-beta-shell:focus-within{border-color:rgba(240,216,120,.84);box-shadow:0 10px 26px rgba(0,0,0,.28),0 0 0 2px rgba(240,216,120,.12);transform:translateY(-1px)}.path-card-beta-shell>.path-card{width:100%;min-height:0;padding:0;border:0;border-radius:0;background:0 0;box-shadow:none;box-sizing:border-box;flex:auto}.path-card-beta-shell>.path-card:hover,.path-card-beta-shell>.path-card:focus-visible,.path-card-beta-shell>.path-card:active{border-color:transparent;box-shadow:none;transform:none}.path-card-beta-shell>.path-card:focus-visible{outline:2px solid rgba(240,216,120,.5);outline-offset:4px}.path-card-beta-shell>.beta-feedback-row{align-self:stretch;margin-top:auto;padding-top:8px}.key-choice-body>.beta-feedback-row{margin-top:8px}.key-choice-grid{width:min(1e3px,94vw);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));align-items:stretch;gap:16px;margin-top:12px}#first-flight-key-screen.key-setup-only .key-choice-card .first-flight-gear-btn,#first-flight-key-screen.key-setup-only .key-choice-card .key-choice-actions{display:none}.key-choice-card{display:flex;flex-direction:column;height:100%;border:1px solid rgba(212,168,67,.45);border-radius:16px;background:linear-gradient(180deg,rgba(10,16,25,.94),rgba(7,11,18,.92));box-shadow:0 8px 22px rgba(0,0,0,.22),inset 0 0 0 1px rgba(255,255,255,2%);overflow:hidden}.key-choice-image{width:100%;aspect-ratio:2.54/1!important;flex:none;background-repeat:no-repeat;background-origin:content-box;background-clip:content-box;background-position:50%;background-size:contain;padding:10px;border-bottom:1px solid rgba(212,168,67,.16)}.key-choice-image.sprite-load-failed{display:flex;align-items:center;justify-content:center;color:var(--text-dim);font-size:13px}.key-choice-body{display:flex;flex:auto;flex-direction:column;gap:8px;padding:16px}.key-choice-body h2{margin:0;font-family:var(--font-display);font-size:clamp(22px,4.6vw,30px);color:var(--gold);text-transform:uppercase;letter-spacing:.05em}.key-choice-body p{margin:0;color:var(--text-dim);font-size:14px;line-height:1.45}.key-choice-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:8px}.key-choice-actions .sv2-contact-btn,.key-choice-actions .btn{flex:1 1 150px}.first-flight-practice-btn{border-radius:999px;color:#fff;background:rgba(96,201,121,.34);border:1px solid rgba(96,201,121,.45);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.first-flight-practice-btn:hover{color:#fff;background:rgba(96,201,121,.48);border-color:rgba(96,201,121,.72)}@media(max-width:640px){.path-menu-screen{padding-top:18px}.path-card{min-height:140px}.key-choice-grid{grid-template-columns:1fr}.first-flight-speed-header{gap:8px}}.main-menu-btn-disabled,.main-menu-btn-disabled:hover,.main-menu-btn-disabled:focus{opacity:.45!important;cursor:default!important;background:rgba(212,168,67,4%)!important;border-color:rgba(212,168,67,.18)!important;color:rgba(240,192,64,.45)!important}#btn-flight-cadets .fc-btn-subtitle{display:none}.flight-cadets-attract .fc-btn-primary{display:block;line-height:1.2}.flight-cadets-attract .fc-btn-subtitle{display:block;font-size:.66rem;line-height:1.2;margin-top:3px;letter-spacing:.14em;opacity:.78}.flight-cadets-attract{animation:flight-cadets-attract-blink 600ms ease-in-out 3}@keyframes flight-cadets-attract-blink{0%,100%{background:linear-gradient(135deg,rgba(212,168,67,.28),rgba(180,136,40,.22));border-color:rgba(212,168,67,.65);color:#f0d878}40%{background:linear-gradient(135deg,rgba(76,175,80,.45),rgba(76,175,80,.32));border-color:rgba(76,175,80,.85);color:#81c784}}.fk-card-stats{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin:4px 0 8px;font-family:var(--font-mono);font-size:11px;letter-spacing:1px;color:rgba(212,168,67,.8)}.fk-card-stat-sep{color:rgba(212,168,67,.3);margin:0 4px}.fk-card-top-score{display:flex;align-items:center;flex-wrap:wrap;column-gap:4px;row-gap:2px}.fk-card-top-label{color:rgba(212,168,67,.55)}.fk-card-top-value{color:var(--gold);font-weight:700}.fk-card-top-ident{color:var(--text);font-weight:600;letter-spacing:.05em}.fk-card-top-games{color:rgba(232,213,163,.6)}.fk-card-top-empty{color:rgba(232,213,163,.45);font-style:italic;letter-spacing:.5px}.fk-card-mastery{display:flex;align-items:center;flex-wrap:wrap;column-gap:4px;row-gap:2px}.fk-card-mastery-label{color:rgba(120,190,120,.6)}.fk-card-mastery-value{color:var(--green);font-weight:700}.fk-card-mastery-pct{color:rgba(160,210,160,.7)}.fk-card-top-scores-link{background:0 0;border:none;padding:2px 0;color:var(--gold);font-family:inherit;font-size:11px;letter-spacing:.05em;cursor:pointer;text-align:left}.fk-card-top-scores-link:hover{color:#f0d878;text-decoration:underline}.fk-history-wrap{margin:6px 0 4px;text-align:center}.fk-history-toggle{background:0 0;border:1px solid rgba(212,168,67,.3);color:rgba(212,168,67,.7);font-family:var(--font-mono);font-size:10px;letter-spacing:2px;padding:3px 10px;cursor:pointer;border-radius:2px;margin-bottom:4px;transition:all .15s}.fk-history-toggle:hover{border-color:var(--gold);color:var(--gold)}.fk-history-chart{display:inline-block;background:rgba(10,15,20,.5);border:1px solid rgba(212,168,67,.15);border-radius:3px;padding:4px}.fk-stats-line{display:flex;align-items:center;justify-content:center;gap:8px;margin:6px 0 2px;font-family:var(--font-mono);font-size:11px;letter-spacing:1px;color:rgba(232,213,163,.65)}.fk-stats-sep{color:rgba(212,168,67,.3)}.fk-stats-best-flash{color:var(--green);font-weight:700}.fk-result-block{margin:12px 0 4px;text-align:center}.fk-result-total{display:flex;flex-direction:column;align-items:center;gap:2px;margin-bottom:12px}.fk-result-total-label{font-size:11px;letter-spacing:2px;color:var(--text-dim)}.fk-result-total-value{font-size:clamp(28px,8vw,44px);font-weight:700;color:var(--gold);letter-spacing:2px}.fk-result-table{width:100%;border-collapse:collapse;font-size:clamp(11px,2vw,13px);color:var(--text)}.fk-result-table thead th{font-size:10px;letter-spacing:1px;color:var(--text-dim);padding:2px 4px 6px;text-align:center;border-bottom:1px solid rgba(212,168,67,.2)}.fk-result-table tbody tr:hover{background:rgba(255,255,255,4%)}.fk-rt-char{font-weight:700;font-size:14px;padding:3px 6px;text-align:center;color:var(--gold)}.fk-rt-num{padding:3px 6px;text-align:center;color:var(--text)}.fk-rt-total{font-weight:700;color:rgba(255,255,255,.9)}@media(max-width:480px){.fk-result-table{display:none}}.result-card.fk-result-card{width:min(92vw,520px);max-width:min(92vw,520px)}.sv2-result-card.fk-result-card{width:min(92vw,520px);max-width:min(92vw,520px)}.fk-legend{margin-top:8px;padding:6px 8px;background:rgba(15,25,35,.4);border-radius:3px;font-size:11px;line-height:1.5}.fk-legend-row{display:flex;gap:8px;margin-bottom:2px}.fk-legend-key{font-family:var(--font-mono);color:var(--gold);min-width:30px;flex-shrink:0}.fk-legend-val{color:var(--text-dim)}.callsign-char-indicator{font-family:var(--font-mono);font-size:14px;color:var(--text-dim);min-height:20px;letter-spacing:3px}.callsign-char-indicator .char-done{color:var(--green)}.callsign-char-indicator .char-current{color:var(--gold);font-weight:700;text-decoration:underline}.callsign-char-indicator .char-pending{color:var(--text-dim)}.callsign-feedback{font-size:16px;min-height:24px}.callsign-feedback.correct{color:var(--green)}.callsign-feedback.incorrect{color:var(--red)}.callsign-scorecard{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(15,25,35,.92);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;z-index:50;overflow-y:auto;padding:30px}.scorecard-title{font-family:var(--font-display);font-size:28px;color:var(--gold);letter-spacing:3px}.scorecard-list{display:flex;flex-direction:column;gap:8px;max-width:500px;width:100%}.scorecard-row{display:flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:18px;padding:6px 12px;background:var(--bg-card);border:1px solid rgba(232,213,163,8%)}.scorecard-num{font-size:12px;color:var(--text-dim);min-width:24px}.scorecard-chars{letter-spacing:3px}.scorecard-chars .sc-correct{color:var(--green)}.scorecard-chars .sc-wrong{color:var(--red);text-decoration:underline}.scorecard-chars .sc-reset{color:var(--text-dim);opacity:.4}.scorecard-summary{font-size:14px;color:var(--text-dim);text-align:center}.scorecard-buttons{display:flex;gap:12px}.race-settings{display:flex;flex-direction:column;gap:10px;margin-top:16px}.setting-row{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-dim)}.setting-row input[type=range]{width:140px;accent-color:var(--gold)}.chars-summary{font-size:12px;color:var(--text);font-weight:600}.adaptive-label{font-size:13px;color:var(--text-dim);cursor:pointer;display:flex;align-items:center;gap:4px;margin-left:8px}.adaptive-label input[type=checkbox]{accent-color:var(--gold)}.wpm-control{display:flex;align-items:center;gap:12px;margin-top:20px;font-size:13px;color:var(--text-dim)}.wpm-control input[type=range]{width:160px;accent-color:var(--gold)}.tone-control{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-dim)}.tone-control select{background:var(--bg-card);color:var(--text);border:1px solid var(--gold-dim);padding:4px 8px;font-size:13px;font-family:var(--font-mono)}.input-control{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-dim)}.input-control-stack,.serial-control-stack{flex-direction:column;align-items:stretch}.input-control-stack label{min-width:0}.input-control select,.iambic-control select{font-family:var(--font-mono);font-size:13px;background:var(--bg-card);border:1px solid var(--gold-dim);color:var(--text);padding:4px 8px;cursor:pointer}.serial-control{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.btn-small{font-size:13px;padding:4px 12px;letter-spacing:1px;min-height:var(--btn-height-compact)}.btn-serial.connected,.btn.connected{border-color:var(--green);color:var(--green)}.btn.blind-active{border-color:var(--gold);background:rgba(212,168,67,.15);color:var(--gold)}.btn.is-connected{border-color:var(--green);background:rgba(68,204,102,.15);color:var(--green)}.serial-status{font-size:12px}.status-connected{color:var(--green)}.status-disconnected{color:var(--text-dim)}.status-error{color:var(--red)}.iambic-control{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-dim)}.iambic-mode-label{color:var(--text-dim);font-size:13px}.iambic-mode-radios{display:flex;gap:16px}.radio-label{display:flex;align-items:center;gap:6px;color:var(--text-dim);font-size:13px;cursor:pointer}.radio-label input[type=radio]{accent-color:var(--gold);cursor:pointer}#race-screen{display:flex;flex-direction:column;height:100%;transition:padding-left .25s ease}@media(min-width:980px){body.lesson-game-drawer-open #race-screen{padding-left:320px}}.race-header{display:flex;align-items:center;gap:0;padding:0;background:var(--bg-panel);border-bottom:1px solid var(--gold-dim);overflow:hidden;height:42px;flex-shrink:0}.race-header-label{flex:none;padding:0 10px;font-family:var(--font-display);font-size:clamp(12px,2.8vw,18px);color:var(--gold);letter-spacing:2px;white-space:nowrap;border-right:1px solid var(--gold-dim);height:100%;display:flex;align-items:center}.header-menu-fixed{flex:none;margin:0 4px}.race-header-scroll{flex:1;min-width:0;display:flex;align-items:center;gap:4px;padding:0 4px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-behavior:smooth;height:100%}.race-header-scroll::-webkit-scrollbar{display:none}.nav-scroll-wrap{flex:1;min-width:0;position:relative;overflow:hidden;display:flex;align-items:stretch}.nav-scroll-ind{position:absolute;top:0;bottom:0;display:flex;align-items:center;font-family:var(--font-display);font-size:11px;font-weight:700;color:var(--gold);pointer-events:none;z-index:2;padding:0 3px}.nav-scroll-left{left:0;background:linear-gradient(to right,var(--bg-panel) 55%,transparent);padding-right:8px}.nav-scroll-right{right:0;background:linear-gradient(to left,var(--bg-panel) 55%,transparent);padding-left:8px}.nav-scroll-ind.hidden{display:none}.header-nav-btn{flex:none;white-space:nowrap;min-height:30px;padding:2px 10px;font-size:12px;letter-spacing:1px;border:1px solid var(--gold);background:0 0;color:var(--gold);font-family:var(--font-display);cursor:pointer;border-radius:0}.header-nav-btn:hover,.header-nav-btn:active{background:var(--gold);color:var(--bg-dark)}.header-action-btn{flex:none;white-space:nowrap;min-height:30px;padding:2px 12px;font-size:12px;letter-spacing:1px;font-family:var(--font-display);border:2px solid var(--gold);background:rgba(212,168,67,.15);color:var(--gold);cursor:pointer;border-radius:0}.header-action-btn:hover,.header-action-btn:active{background:rgba(212,168,67,.35)}.header-action-btn:disabled{opacity:.35;cursor:default}.header-pill-btn{flex:none;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.05;min-height:34px;padding:4px 16px;border-radius:999px;background:linear-gradient(135deg,rgba(212,168,67,.28),rgba(180,136,40,.22));border:1px solid rgba(212,168,67,.65);color:#f0d878;font-family:var(--font-display);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .15s,border-color .15s,color .15s}.header-pill-btn:hover,.header-pill-btn:active{background:linear-gradient(135deg,rgba(212,168,67,.4),rgba(180,136,40,.32));border-color:rgba(212,168,67,.9)}.header-pill-btn .pill-line{display:block}@keyframes char-sets-mastered-blink{0%,100%{border-color:rgba(68,204,102,.55);box-shadow:0 0 rgba(68,204,102,0)}50%{border-color:#4c6;box-shadow:0 0 10px 2px rgba(68,204,102,.7)}}.header-pill-btn.set-mastered{color:#b8f0c4;background:linear-gradient(135deg,rgba(68,204,102,.3),rgba(40,150,80,.24));border-color:rgba(68,204,102,.85);animation:char-sets-mastered-blink 1.4s ease-in-out infinite}.header-pill-btn.set-mastered:hover,.header-pill-btn.set-mastered:active{background:linear-gradient(135deg,rgba(68,204,102,.42),rgba(40,150,80,.34));border-color:#4c6}.hint-reveal-pill{flex:none;display:inline-flex;align-items:center;justify-content:center;min-height:34px;min-width:34px;padding:4px 16px;border-radius:999px;background:linear-gradient(135deg,rgba(212,168,67,.28),rgba(180,136,40,.22));border:1px solid rgba(212,168,67,.65);color:#f0d878;font-family:var(--font-display);font-size:15px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;user-select:none;pointer-events:none}.hint-reveal-pill.hidden{display:none}#btn-aa-pause .aa-pause-label-long{display:inline}#btn-aa-pause .aa-pause-label-short{display:none}@media(max-width:600px){#btn-aa-pause .aa-pause-label-long{display:none}#btn-aa-pause .aa-pause-label-short{display:inline}}#btn-aa-pause.aa-paused{background:rgba(212,168,67,.35)}.hud-engine-control-btn .engine-ctrl-label-long{display:inline}.hud-engine-control-btn .engine-ctrl-label-short{display:none}@media(max-width:600px){.hud-engine-control-btn .engine-ctrl-label-long{display:none}.hud-engine-control-btn .engine-ctrl-label-short{display:inline}}.hud-engine-control-btn[disabled]{opacity:.45;cursor:not-allowed}.hud-engine-control-btn.engine-off{background:rgba(212,168,67,.35)}.race-header-scroll .header-stats{flex:none;font-size:11px;color:var(--text-dim);white-space:nowrap;padding:0 4px}.race-header h2{font-family:var(--font-display);font-size:clamp(14px,3vw,20px);color:var(--gold);letter-spacing:2px}#stats-panel{font-size:13px;color:var(--text-dim)}.canvas-wrap{flex:1;position:relative}.canvas-wrap.has-touch-paddle .key-hint{display:none}@media(pointer:coarse){.canvas-wrap.kb-has-numbers{padding-bottom:50px}.canvas-wrap.kb-has-punct{padding-bottom:90px}.canvas-wrap.kb-has-numbers.kb-has-punct{padding-bottom:130px}}#race-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.key-hint{position:absolute;bottom:calc(env(safe-area-inset-bottom,0px) + 16px);left:50%;transform:translateX(-50%);font-size:clamp(10px,2vw,12px);color:var(--text-dim);background:rgba(15,25,35,.7);padding:6px 14px;border-radius:4px}.paddle-touch{position:fixed;bottom:env(safe-area-inset-bottom,0px);left:50%;transform:translateX(-50%);display:flex;gap:clamp(6px,2vw,12px);z-index:900;touch-action:none;user-select:none}.race-game-info{position:absolute;bottom:clamp(8px,2vw,16px);left:50%;transform:translateX(-50%);text-align:center;z-index:10;pointer-events:none;font-family:libre baskerville,Georgia,serif;line-height:1.4;width:clamp(200px,70vw,400px)}.fuel-gauge{position:fixed;bottom:clamp(12px,3vw,28px);right:clamp(12px,3vw,28px);z-index:9999;pointer-events:auto;cursor:grab;user-select:none;touch-action:none}.fuel-gauge:active{cursor:grabbing}#fuel-gauge-svg{width:clamp(80px,11vw,130px);height:clamp(80px,11vw,130px);display:block;filter:drop-shadow(0 3px 10px rgba(0,0,0,.65))}.altimeter{position:fixed;bottom:clamp(12px,3vw,28px);right:clamp(152px,calc(11vw + 32px),172px);z-index:9999;pointer-events:auto;cursor:grab;user-select:none;touch-action:none}.altimeter:active{cursor:grabbing}#altimeter-svg{width:clamp(80px,11vw,130px);height:clamp(80px,11vw,130px);display:block;filter:drop-shadow(0 3px 10px rgba(0,0,0,.65))}.asi{position:fixed;bottom:clamp(12px,3vw,28px);right:clamp(292px,calc(22vw + 52px),314px);z-index:9999;pointer-events:auto;cursor:grab;user-select:none;touch-action:none}.asi:active{cursor:grabbing}#asi-svg{width:clamp(80px,11vw,130px);height:clamp(80px,11vw,130px);display:block;filter:drop-shadow(0 3px 10px rgba(0,0,0,.65))}.tutorial-active .race-game-info,.has-touch-paddle .race-game-info{bottom:clamp(96px,17vw,108px)}.game-info-last{font-size:clamp(13px,2.8vw,16px);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-info-last .gi-correct{color:var(--green)}.game-info-last .gi-wrong{color:var(--red)}.game-info-stats{font-size:clamp(11px,2.2vw,13px);color:var(--text);display:flex;justify-content:center;gap:clamp(8px,2vw,16px);flex-wrap:wrap}.paddle-btn{width:clamp(80px,18vw,120px);height:clamp(64px,13vw,88px);display:flex;align-items:center;justify-content:center;border-radius:12px;font-family:var(--font-display);font-size:clamp(14px,3.5vw,20px);letter-spacing:clamp(1px,.5vw,3px);text-transform:uppercase;touch-action:none;user-select:none;transition:background .08s,border-color .08s;cursor:pointer;position:relative}.paddle-btn::before{content:'';position:absolute;left:0;right:0;bottom:100%;height:clamp(14px,3vw,20px);background:0 0;pointer-events:auto}.paddle-dit{background:rgba(68,204,102,.2);border:2px solid rgba(68,204,102,.7);color:rgba(68,204,102,.85)}.paddle-dah{background:rgba(212,168,67,.2);border:2px solid rgba(212,168,67,.7);color:rgba(212,168,67,.85)}.paddle-dit:active,.paddle-dit.tapping{background:rgba(68,204,102,.25);border-color:var(--green);color:var(--green)}.paddle-dah:active,.paddle-dah.tapping{background:rgba(212,168,67,.25);border-color:var(--gold);color:var(--gold)}#result-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:0 0;z-index:10002;pointer-events:none}#result-overlay>*{pointer-events:auto}.result-card{background:var(--bg-card);border:2px solid var(--gold);padding:clamp(20px,4vw,40px)clamp(24px,5vw,50px);text-align:center;width:fit-content;min-width:min(280px,90vw);max-width:min(92vw,520px);max-height:min(88dvh,700px);overflow-y:auto}.result-card.result-card-wide{width:min(92vw,380px)}.result-card h2{font-family:var(--font-display);font-size:clamp(22px,5vw,32px);color:var(--gold);margin-bottom:clamp(12px,3vw,20px);letter-spacing:clamp(1px,.5vw,3px)}.result-row{font-size:clamp(13px,2.5vw,16px);margin:8px 0;color:var(--text)}.result-card .btn{margin-top:20px;margin-right:10px}.result-card h2.result-crash{color:#c44}.result-row.result-dim{color:rgba(212,168,67,.5);font-size:clamp(11px,2vw,14px)}.result-section{margin-top:16px;padding-top:12px;border-top:1px solid rgba(212,168,67,.22)}.result-section-title{margin:0 0 10px;font-family:var(--font-display);letter-spacing:1px;color:var(--gold);font-size:clamp(13px,2.4vw,16px)}.result-char-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;align-items:flex-end;margin:10px 0 6px}.result-char-col{display:flex;flex:0 0 22px;flex-direction:column;align-items:center;gap:4px}.result-char-bar{position:relative;width:22px;min-width:22px;height:74px;border:1px solid rgba(212,168,67,.2);background:rgba(255,255,255,3%);overflow:hidden}.result-char-bar::after{content:'';position:absolute;left:0;right:0;top:50%;border-top:1px solid rgba(212,168,67,.35)}.result-char-bar-pos,.result-char-bar-neg{position:absolute;left:2px;right:2px}.result-char-bar-pos{bottom:50%;background:rgba(88,186,122,.92)}.result-char-bar-neg{top:50%;background:rgba(204,68,68,.92)}.result-char-label{font-size:11px;color:var(--text-muted);line-height:1}.sv2-result-card{width:fit-content;min-width:min(280px,90vw);max-width:min(92vw,520px);max-height:min(88dvh,700px);text-align:center;position:relative;background:linear-gradient(180deg,rgba(10,16,25,.92),rgba(7,11,18,.9));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.sv2-result-face>.result-row{margin:0}.sv2-result-card.is-wide{width:min(92vw,520px)}.sv2-result-header{padding:14px 18px;justify-content:center;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.sv2-result-card.is-dragging{}.sv2-result-card.is-dragging .sv2-result-header{cursor:grabbing}.sv2-result-resize-handle{position:absolute;top:0;right:0;bottom:0;width:10px;cursor:ew-resize;touch-action:none;user-select:none;-webkit-user-select:none;background:linear-gradient(90deg,transparent 0%,rgba(212,168,67,.12) 60%,rgba(212,168,67,.18) 100%);border-left:1px solid rgba(212,168,67,.18);z-index:1;transition:background 120ms}.sv2-result-resize-handle::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:26px;background:rgba(212,168,67,.55);border-radius:2px;box-shadow:4px 0 rgba(212,168,67,.55),-4px 0 rgba(212,168,67,.55)}.sv2-result-resize-handle:hover{background:linear-gradient(90deg,transparent 0%,rgba(212,168,67,.22) 60%,rgba(212,168,67,.32) 100%)}.sv2-result-card.is-resizing .sv2-result-resize-handle{background:linear-gradient(90deg,transparent 0%,rgba(212,168,67,.32) 60%,rgba(212,168,67,.45) 100%)}.sv2-result-card.is-resizing{}.sv2-result-title{font-family:var(--font-display);font-size:clamp(22px,5vw,32px);letter-spacing:clamp(1px,.5vw,3px);color:#fff3ca;text-transform:uppercase;text-align:center;font-weight:700}.sv2-result-title.is-crash{color:#c44}.sv2-result-face{padding:16px 20px;overflow-y:auto;text-align:center;max-height:calc(min(88dvh,700px) - 64px)}.sv2-result-actions{margin-top:18px;padding-top:14px;border-top:1px solid rgba(212,168,67,.22);justify-content:center;flex-wrap:nowrap}.sv2-result-actions .btn{margin-top:0;margin-right:0;border-radius:999px;background:linear-gradient(135deg,rgba(212,168,67,.28),rgba(180,136,40,.22));border:1px solid rgba(212,168,67,.65);color:#f0d878;font-size:.9rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:8px 22px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .15s,border-color .15s,color .15s;flex:1;min-width:0}.sv2-result-actions .btn:hover{background:linear-gradient(135deg,rgba(212,168,67,.45),rgba(180,136,40,.38));border-color:rgba(212,168,67,.9);color:#fff8dc}.sv2-result-actions .btn.btn-secondary{background:rgba(212,168,67,8%);border:1px solid rgba(212,168,67,.45);color:rgba(240,216,120,.85)}.sv2-result-actions .btn.btn-secondary:hover{background:rgba(212,168,67,.18);border-color:rgba(212,168,67,.75);color:#f0d878}@media(max-width:600px){.sv2-result-actions .btn{padding:8px 14px;font-size:.85rem;letter-spacing:.1em}}@media(min-width:601px) and (max-width:1024px){.sv2-result-card.is-wide{width:min(94vw,640px);max-width:min(94vw,640px)}}@media(min-width:1025px){.sv2-result-card.is-wide{width:min(94vw,720px);max-width:min(94vw,720px)}}.sv2-result-collapsible{}.sv2-result-section-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:8px 4px;margin:0;background:0 0;border:0;color:inherit;font:inherit;cursor:pointer;text-align:left;border-radius:6px;transition:background 120ms}.sv2-result-section-toggle:hover{background:rgba(212,168,67,8%)}.sv2-result-section-toggle:focus-visible{outline:2px solid rgba(212,168,67,.55);outline-offset:1px}.sv2-result-section-toggle .result-section-title{margin:0}.sv2-result-chevron{display:inline-block;font-size:16px;line-height:1;color:rgba(212,168,67,.85);transition:transform 200ms cubic-bezier(.4,0,.2,1);flex-shrink:0}.sv2-result-collapsible.is-collapsed .sv2-result-chevron{transform:rotate(-90deg)}.sv2-result-collapsible.is-collapsed .sv2-result-collapsible-body{display:none}#endurance-screen{display:flex;flex-direction:column;height:100%}.endurance-header{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-panel);border-bottom:1px solid var(--gold-dim)}.endurance-header h2{margin:0;font-family:var(--font-display);font-size:clamp(14px,3vw,22px);color:var(--gold)}.endurance-stats{flex:1;font-family:var(--font-mono);font-size:12px;color:var(--text-dim)}#endurance-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}#endurance-result{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:0 0;z-index:10002;pointer-events:none}#endurance-result>*{pointer-events:auto}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-dark)}::-webkit-scrollbar-thumb{background:var(--gold-dim);border-radius:3px}#calibration-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(15,25,35,.92);z-index:200}.calibration-card{background:var(--bg-card);border:2px solid var(--gold);padding:40px 50px;text-align:center;max-width:480px;min-height:220px;display:flex;flex-direction:column;align-items:center;gap:16px}.calibration-card h2{font-family:var(--font-display);font-size:28px;color:var(--gold);letter-spacing:3px}.cal-message{font-size:16px;color:var(--text);line-height:1.5}.cal-message.cal-success{color:var(--green)}.cal-message.cal-error{color:var(--red)}.cal-message.cal-warning{color:#c94}.cal-detail{font-size:12px;color:var(--text-dim);min-height:18px}.cal-indicator{min-height:40px;display:flex;align-items:center;justify-content:center}.cal-pulse{width:16px;height:16px;border-radius:50%;background:var(--gold);animation:calPulse 1s ease-in-out infinite}@keyframes calPulse{0%,100%{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.cal-check{font-size:32px;color:var(--green)}.cal-cross{font-size:32px;color:var(--red)}#listen-screen{display:flex;flex-direction:column;height:100%}.listen-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;background:var(--bg-panel);border-bottom:1px solid var(--gold-dim)}.listen-header h2{font-family:var(--font-display);font-size:20px;color:var(--gold);letter-spacing:2px}.listen-body{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;align-items:center;gap:18px;max-width:700px;margin:0 auto;width:100%}.listen-intro{font-size:13px;color:var(--text-dim);text-align:center}.listen-speed{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-dim)}.listen-speed input[type=range]{width:160px;accent-color:var(--gold)}.listen-section{width:100%}.listen-section-label{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}.listen-grid{display:grid;grid-template-columns:repeat(auto-fill,46px);gap:5px}.listen-groups{display:flex;flex-direction:column;gap:12px}.listen-group{display:flex;flex-direction:column;gap:5px}.listen-group-label{font-size:11px;color:var(--gold);font-weight:700;letter-spacing:1px}.listen-order-note{font-size:12px;color:var(--text-dim);font-style:italic;margin:0 0 4px}.listen-speed-end{font-size:12px;color:var(--text-dim)}.listen-speed input[type=range]{flex:1}.listen-char-btn{width:46px;height:46px;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:20px;font-weight:700;background:var(--bg-card);border:1px solid var(--gold-dim);color:var(--text);cursor:pointer;transition:all .1s ease;user-select:none}.listen-char-btn:hover{border-color:var(--gold);color:var(--gold)}.listen-char-btn.playing{background:rgba(212,168,67,.3);border-color:var(--gold);color:var(--gold);transform:scale(1.08)}.listen-message-area{width:100%}.listen-message-area label{font-size:12px;color:var(--text-dim);display:block;margin-bottom:6px}.listen-message-row{display:flex;gap:8px;align-items:center}.listen-message-area .listen-message-row{flex-wrap:wrap}.listen-message-area .listen-message-input{flex:1 1 240px;min-width:200px}.listen-menu-tools{margin-top:18px}.listen-message-input{flex:1;font-family:var(--font-mono);font-size:16px;padding:8px 12px;background:var(--bg-card);border:1px solid var(--gold-dim);color:var(--text);letter-spacing:2px;text-transform:uppercase}.listen-message-input::placeholder{color:var(--text-dim);opacity:.5}.listen-message-input:focus{outline:none;border-color:var(--gold)}.listen-message-highlight{font-family:var(--font-mono);font-size:16px;letter-spacing:2px;min-height:28px;padding:6px 0;color:var(--text-dim)}.listen-message-highlight .lh-done{color:var(--gold)}.listen-message-highlight .lh-current{color:var(--gold);font-weight:700;text-decoration:underline}.listen-message-highlight .lh-pending{color:var(--text-dim);opacity:.4}.listen-error{font-size:11px;color:var(--red);min-height:16px;margin-top:4px}.key-hint-inline{font-size:11px;color:var(--text-dim)}.listen-keyback-section{width:100%;margin-top:2px}.listen-keyback-section label{font-size:12px;color:var(--text-dim);margin-right:8px}.listen-keyback-target,.listen-keyback-actual{font-family:var(--font-mono);font-size:18px;letter-spacing:1px;min-height:28px;padding:4px 0;word-spacing:8px}.listen-keyback-target{color:var(--text-dim)}.listen-keyback-target .lkb-correct{color:var(--green)}.listen-keyback-target .lkb-wrong{color:var(--red)}.listen-keyback-target .lkb-skipped{color:var(--red);opacity:.5;text-decoration:line-through}.listen-keyback-target .lkb-current{color:var(--gold);font-weight:700;text-decoration:underline}.listen-keyback-target .lkb-pending{color:var(--text-dim);opacity:.4}.listen-keyback-target .lkb-space{display:inline-block;width:8px}.listen-keyback-actual{color:var(--text);opacity:.7;font-size:14px;min-height:24px}.listen-keyback-actual .lka-correct{color:var(--green)}.listen-keyback-actual .lka-wrong{color:var(--red)}.listen-keyback-actual .lka-extra{color:#c94}.listen-keyback-actual .lka-space{display:inline-block;width:8px}.listen-keyback-result{font-size:14px;color:var(--text-dim);min-height:20px;padding:4px 0}.listen-keyback-result.correct{color:var(--green)}.tutorial-panel{flex:1;display:flex;flex-direction:column;align-items:center;padding:clamp(12px,3vw,24px)clamp(12px,3vw,24px)clamp(110px,20vw,140px);overflow-y:auto;background:0 0;gap:clamp(8px,1.5vw,14px)}.tutorial-panel>*{width:100%;max-width:480px;box-sizing:border-box}.tut-progress{font-size:clamp(10px,2vw,12px);color:rgba(232,213,163,.78);letter-spacing:1px;text-transform:uppercase}.tut-title{font-family:var(--font-display);font-size:clamp(18px,4vw,28px);color:var(--gold);letter-spacing:2px;margin:0}.tut-instruction{font-size:clamp(13px,2.5vw,15px);color:var(--text);line-height:1.5;max-width:600px}.tut-target-area{display:flex;align-items:center;justify-content:center;gap:12px;margin:clamp(4px,1vw,8px)0;min-height:80px}.tut-target-label{font-size:clamp(12px,2vw,14px);color:var(--text-dim);text-transform:uppercase;letter-spacing:1px}.tut-target{font-family:var(--font-display);font-size:clamp(36px,8vw,56px);color:var(--gold);letter-spacing:4px;background:rgba(212,168,67,8%);border:2px solid rgba(212,168,67,.25);border-radius:8px;padding:clamp(4px,1vw,8px)clamp(16px,4vw,32px);min-width:60px;text-align:center;transition:background .15s,border-color .15s,color .15s}.tut-target-flash{background:rgba(212,168,67,.25)!important;border-color:var(--gold)!important}.tut-target-correct{background:rgba(68,204,102,.2)!important;border-color:var(--green)!important;color:var(--green)!important}.tut-hint{font-size:clamp(12px,2.2vw,14px);color:rgba(232,213,163,.82);font-style:italic;line-height:1.4}.tut-feedback{font-size:clamp(13px,2.5vw,15px);color:rgba(232,213,163,.86);min-height:clamp(20px,4vw,28px);line-height:1.4;transition:color .2s}.tut-feedback-correct{color:var(--green)}.tut-feedback-wrong{color:var(--red)}.tut-feedback-info{color:rgba(232,213,163,.86)}.tut-actions{display:flex;flex-wrap:wrap;gap:clamp(6px,1.5vw,10px);margin:clamp(4px,1vw,8px)0}.tut-btn{font-size:clamp(13px,2.5vw,16px)!important;padding:clamp(8px,1.5vw,12px)clamp(14px,3vw,24px)!important}.tut-btn:disabled{opacity:.3;cursor:default}.tut-paddle-help{font-size:clamp(10px,2vw,12px);color:rgba(232,213,163,.78);text-align:center;padding:clamp(6px,1vw,10px)0;border-top:1px solid rgba(212,168,67,.15);margin-top:auto}.tut-key-indicators{display:flex;justify-content:center;padding:clamp(10px,2vw,16px)0 clamp(4px,1vw,8px)}.tut-paddle-indicators{display:flex;gap:clamp(12px,3vw,24px)}.tut-straight-indicators{display:flex;justify-content:center}.tut-paddle-btn{width:clamp(64px,15vw,90px);min-height:clamp(52px,12vw,70px);display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:10px;font-family:var(--font-display);font-size:clamp(11px,2.5vw,14px);letter-spacing:1px;text-transform:uppercase;border:2px solid rgba(212,168,67,.35);background:rgba(212,168,67,6%);color:rgba(212,168,67,.55);transition:background .06s,border-color .06s,color .06s;pointer-events:none;user-select:none}.tut-paddle-btn small{font-size:clamp(9px,1.8vw,11px);opacity:.7;letter-spacing:0}.tut-paddle-left.tut-ind-active{background:rgba(68,204,102,.28);border-color:rgba(68,204,102,.8);color:#4c6}.tut-paddle-right.tut-ind-active{background:rgba(212,168,67,.28);border-color:rgba(212,168,67,.8);color:#d4a843}.tut-straight-btn{width:clamp(100px,28vw,160px);min-height:clamp(52px,12vw,70px);display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:10px;font-family:var(--font-display);font-size:clamp(11px,2.5vw,14px);letter-spacing:1px;text-transform:uppercase;border:2px solid rgba(212,168,67,.35);background:rgba(212,168,67,6%);color:rgba(212,168,67,.55);transition:background .06s,border-color .06s,color .06s;pointer-events:none;user-select:none}.tut-straight-btn small{font-size:clamp(9px,1.8vw,11px);opacity:.7;letter-spacing:0}.tut-straight-btn.tut-ind-active{background:rgba(68,204,102,.28);border-color:rgba(68,204,102,.8);color:#4c6}.tut-wpm-row{display:flex;align-items:center;gap:10px;justify-content:center;padding:6px 0 4px}.tut-wpm-label{font-size:13px;color:var(--text-dim)}.tut-wpm-slider{width:clamp(100px,30vw,180px);accent-color:var(--gold)}.tut-wpm-display{font-size:13px;font-family:var(--font-mono);color:var(--gold);min-width:52px}.tut-auto-row{display:flex;justify-content:center;padding:4px 0 2px}.tut-btn-small{font-size:11px;padding:4px 12px;min-height:0}.paddle-btn.demo-highlight{animation:demo-glow .15s ease-in-out}.paddle-dit.demo-highlight{background:rgba(68,204,102,.5)!important;border-color:var(--green)!important;color:#fff!important;box-shadow:0 0 16px rgba(68,204,102,.4)}.paddle-dah.demo-highlight{background:rgba(212,168,67,.5)!important;border-color:var(--gold)!important;color:#fff!important;box-shadow:0 0 16px rgba(212,168,67,.4)}@keyframes demo-glow{0%{transform:scale(1)}50%{transform:scale(1.08)}100%{transform:scale(1)}}.tutorial-active .paddle-btn{width:clamp(100px,22vw,140px)!important;height:clamp(64px,14vw,90px)!important;font-size:clamp(12px,2.8vw,16px)!important}#version-label{position:fixed;bottom:8px;right:12px;font-size:14px;color:rgba(232,213,163,.75);font-family:var(--font-mono);pointer-events:none;z-index:9999}.settings-panel .btn,.settings-panel select,.settings-panel input[type=range]{max-width:100%}.settings-panel .btn{width:100%}.settings-panel .serial-status,.settings-panel .chars-summary,.settings-panel .profile-summary-status,.settings-panel .profile-summary-current,.settings-panel .profile-summary-numbers{display:block}.settings-panel .input-control,.settings-panel .iambic-control,.settings-panel .setting-row,.settings-panel .serial-control{align-items:flex-start}.settings-panel .input-control select,.settings-panel .iambic-control select{width:100%}.settings-panel .profile-summary-panel{width:100%}html[data-pointer=coarse] .btn,html[data-device=phone] .btn,html[data-device=tablet] .btn{min-height:52px}html[data-pointer=coarse] .mode-buttons .btn,html[data-device=phone] .mode-buttons .btn,html[data-device=tablet] .mode-buttons .btn,html[data-pointer=coarse] .menu-tool-btn,html[data-device=phone] .menu-tool-btn,html[data-device=tablet] .menu-tool-btn{min-height:58px;padding:14px 26px}@media(max-width:600px){#mode-screen{justify-content:flex-start;padding-top:24px;gap:12px}.submenu-screen{padding-top:16px;gap:10px}.submenu-screen .subtitle{margin-bottom:8px;text-align:center;max-width:min(92vw,560px)}.submenu-screen .menu-tools{width:min(720px,92vw)}.submenu-controls{padding:12px}.mode-buttons{flex-direction:column;align-items:center;gap:10px;width:100%;padding:0 16px;box-sizing:border-box}.mode-buttons:not(.mode-buttons-stack) .btn{width:min(320px,100%);box-sizing:border-box}.mode-buttons-stack .btn{width:auto;box-sizing:border-box}.menu-tool-btn{width:min(320px,100%);min-width:0;box-sizing:border-box}.menu-tools{padding:0 16px;box-sizing:border-box;align-items:center;display:flex;flex-direction:column;gap:8px}.settings-panel .sidebar-section{padding:10px 16px 14px}.settings-panel .setting-row,.settings-panel .input-control,.settings-panel .iambic-control,.settings-panel .serial-control{width:100%}.btn-choose-chars{width:100%;border-color:var(--gold)!important;background:rgba(232,213,163,.14)!important;color:var(--gold-bright)!important;box-shadow:inset 0 0 0 1px rgba(232,213,163,.12)}.btn-choose-chars:hover{background:var(--gold)!important;color:var(--bg-dark)!important}.race-header,.endurance-header,.listen-header{padding:0;gap:0;height:36px}.race-header-label{font-size:12px;padding:0 6px;letter-spacing:1px}.header-nav-btn,.header-action-btn{min-height:26px;padding:2px 7px;font-size:10px}.sidebar{width:100%}.char-btn{width:48px;height:48px;font-size:20px}.char-grid{grid-template-columns:repeat(auto-fill,48px);gap:6px}.callsign-log{display:none!important}.listen-speed{flex-wrap:wrap}.listen-speed input[type=range]{width:100%}.listen-message-row{flex-wrap:wrap;align-items:stretch}.listen-message-area .listen-message-input{flex-basis:100%;min-width:0}.listen-message-row .btn{flex:auto}.key-hint-inline{width:100%}.listen-keyback-section .listen-message-row{flex-wrap:wrap;gap:6px}.listen-grid{grid-template-columns:repeat(auto-fill,40px);gap:4px}.listen-char-btn{width:40px;height:40px;font-size:16px}.result-card .btn{margin-right:0;margin-top:10px;min-width:120px}}@media(max-height:420px) and (orientation:landscape){.race-header,.endurance-header,.listen-header{padding:4px 8px}.race-callsign-display{top:4px}.callsign-log{top:50px;font-size:10px;width:120px}}#race-screen.keyboard-landscape{flex-direction:row;flex-wrap:nowrap}#race-screen.keyboard-landscape .race-header{position:absolute;top:0;left:0;right:0;z-index:10}#race-screen.keyboard-landscape .canvas-wrap{flex:auto;min-width:0;padding-top:36px}#race-screen.keyboard-landscape .copy-virtual-keyboard{position:relative;bottom:auto;left:auto;right:auto;width:clamp(180px,40vw,280px);flex:none;height:100%;flex-direction:column;justify-content:center;padding:36px 3px 4px;border-top:none;border-left:1px solid rgba(212,168,67,.28)}#race-screen.keyboard-landscape .copy-kb-row{gap:2px}#race-screen.keyboard-landscape .copy-key-btn{height:28px;font-size:11px}@media(max-height:760px){#mode-screen{justify-content:flex-start;padding-top:16px;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}.submenu-screen{gap:10px;padding-top:16px}.submenu-screen .menu-tools{padding-top:10px}}@media(min-width:601px) and (max-width:1024px){.result-card.result-card-wide{width:min(94vw,820px)}.btn-choose-chars{border-color:var(--gold)!important;background:rgba(232,213,163,.12)!important;color:var(--gold-bright)!important;box-shadow:inset 0 0 0 1px rgba(232,213,163,.1)}.btn-choose-chars:hover{background:var(--gold)!important;color:var(--bg-dark)!important}.char-btn{width:46px;height:46px;font-size:19px}}@media(min-width:1025px){.result-card.result-card-wide{width:min(94vw,1120px)}.header-nav-btn,.header-action-btn{min-height:38px;padding:4px 16px;font-size:15px;letter-spacing:1px}}.profile-summary-panel{width:min(680px,92vw);border:1px solid var(--gold-dim);background:rgba(8,16,24,.75);padding:10px 14px;font-size:12px;color:var(--text-dim)}.profile-summary-title{font-family:var(--font-display);font-size:14px;letter-spacing:1px;color:var(--gold);margin-bottom:6px}.profile-summary-status{line-height:1.4}.profile-summary-body{display:flex;flex-direction:column;gap:4px}.profile-summary-current{color:var(--text)}.profile-summary-numbers{color:var(--text-dim);line-height:1.4}#paddle-test-screen{display:flex;flex-direction:column;min-height:100%;min-width:0}.paddle-test-body{display:flex;flex-direction:column;gap:12px;padding:12px;padding-bottom:140px;overflow-y:auto}.paddle-test-header{display:flex;flex-direction:column;gap:8px;padding:8px 12px 10px;background:var(--bg-panel);border-bottom:1px solid var(--gold-dim)}.paddle-test-header h2{margin:0;font-family:var(--font-display);font-size:20px;color:var(--gold);letter-spacing:2px}@media(max-width:480px){.paddle-test-header h2{font-size:16px;letter-spacing:1px}}.paddle-test-header-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.paddle-test-header-actions{display:flex;gap:8px;flex-wrap:wrap}.paddle-test-pill-btn{flex:none;padding:4px 14px;font-size:.78rem}.paddle-test-mode-menu{position:relative;flex:none}.paddle-test-mode-button{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-width:96px;background:rgba(0,0,0,.3);color:var(--text,#e8d5a3);border:1px solid rgba(212,168,67,.55);border-radius:999px;padding:4px 14px;font-size:.82rem;font-family:inherit;cursor:pointer;touch-action:manipulation}.paddle-test-mode-button:focus-visible{outline:2px solid rgba(212,168,67,.65);outline-offset:2px}.paddle-test-mode-caret{font-size:.78em;line-height:1}.paddle-test-mode-options{position:absolute;right:0;top:calc(100% + 6px);z-index:1000;min-width:112px;display:flex;flex-direction:column;gap:4px;padding:6px;background:rgba(7,11,16,.98);border:1px solid rgba(212,168,67,.55);border-radius:14px;box-shadow:0 10px 24px rgba(0,0,0,.42)}.paddle-test-mode-options.hidden{display:none}.paddle-test-mode-option{width:100%;text-align:left;background:rgba(255,255,255,4%);color:var(--text,#e8d5a3);border:1px solid rgba(212,168,67,.24);border-radius:10px;padding:7px 10px;font-family:inherit;font-size:.82rem;cursor:pointer;touch-action:manipulation}.paddle-test-mode-option[aria-selected=true]{background:rgba(212,168,67,.2);border-color:rgba(212,168,67,.7);color:#fff8dc}.paddle-test-mode-option:focus-visible{outline:2px solid rgba(212,168,67,.65);outline-offset:2px}.paddle-test-trace-description{margin-top:6px;font-size:11px;line-height:1.45;color:rgba(232,213,163,.65)}.paddle-test-chip{background:rgba(212,168,67,.12);border:1px solid rgba(212,168,67,.3);padding:6px 10px;font-size:12px;color:var(--text)}.paddle-test-chip-dim{color:var(--text-dim)}.paddle-test-panels{display:flex;flex-direction:column;gap:12px}.paddle-test-panel{background:rgba(255,255,255,3%);border:1px solid rgba(212,168,67,.25);padding:12px}.paddle-test-panel-title{font-family:var(--font-display);color:var(--gold);letter-spacing:1px;margin-bottom:10px;font-size:18px}.paddle-test-stats{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}.paddle-test-stat{min-width:120px;background:rgba(0,0,0,.2);padding:10px 12px;border:1px solid rgba(212,168,67,.2)}.paddle-test-stat-label{display:block;font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px}.paddle-test-stat-value{display:block;font-family:var(--font-display);color:var(--gold);font-size:28px;letter-spacing:1px;margin-top:4px}.paddle-test-output{min-height:70px;background:#0a0f14;border:1px solid rgba(212,168,67,.18);color:var(--text);padding:12px;font-size:20px;line-height:1.5;word-break:break-word}.paddle-test-status{margin-top:10px;color:var(--text-dim);font-size:12px;line-height:1.45;min-height:32px}#paddle-test-trace{width:100%;height:auto;background:#0a0f14;border:1px solid rgba(212,168,67,.18);display:block}.paddle-test-trace-legend{color:var(--text-dim);font-size:11px;margin-top:8px}#paddle-test-touch.hidden{display:none!important}#paddle-test-touch .paddle-btn{min-width:44vw;min-height:80px}.paddle-test-decode-head{display:flex;gap:12px;align-items:stretch;margin-bottom:12px}.paddle-test-panel-title-stacked{min-width:72px;display:flex;flex-direction:column;justify-content:center;line-height:.95}.paddle-test-panel-title-stacked span{display:block}@media(max-width:900px){.paddle-test-stats{margin-bottom:0;flex:auto}.paddle-test-stat{min-width:0;flex:1}}@media(pointer:coarse),(max-width:700px){.paddle-test-trace-note,.paddle-test-status,#paddle-test-screen .key-hint{display:none!important}.paddle-test-panel{padding:10px}.paddle-test-decode-head{gap:8px;align-items:stretch}.paddle-test-panel-title-stacked{min-width:54px;font-size:16px;margin-bottom:0;justify-content:center}.paddle-test-stats{gap:8px}.paddle-test-stat{padding:8px 10px}.paddle-test-stat-label{font-size:10px}.paddle-test-stat-value{font-size:24px}.paddle-test-output{min-height:52px;padding:10px;font-size:18px}#paddle-test-touch .paddle-btn{min-width:44vw;min-height:68px;font-size:22px}}gap: 12px;}.serial-timing-hint{padding:0;text-align:left;font-size:11px;line-height:1.35}.serial-timing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.serial-timing-grid label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-dim)}.serial-timing-grid input{width:100%;font-family:var(--font-mono);font-size:13px;background:var(--bg-card);border:1px solid var(--gold-dim);color:var(--text);padding:6px 8px}.serial-timing-buttons{gap:8px}.serial-profile-preview{margin:0;max-height:180px;overflow:auto;padding:10px;font-size:11px;line-height:1.35;background:rgba(0,0,0,.25);border:1px solid var(--gold-dim);color:var(--text);white-space:pre-wrap;word-break:break-word}@media(max-width:720px){.serial-timing-grid{grid-template-columns:1fr}}.about-card{width:min(560px,calc(100% - 24px));padding:18px 20px;border:1px solid var(--gold-dim);background:rgba(26,42,58,.85);display:flex;flex-direction:column;gap:10px;text-align:center}.about-line{font-size:clamp(14px,3vw,18px);color:var(--text)}.game-rules-overlay{position:fixed;inset:0;z-index:10004;display:flex;align-items:center;justify-content:center;padding:18px;background:0 0;backdrop-filter:none}.game-rules-panel{width:min(720px,94vw);max-height:min(760px,88vh);color:#f5e7ba;touch-action:none}.game-rules-panel.is-dragging{user-select:none}.game-rules-header{flex-shrink:0;cursor:grab}.game-rules-panel.is-dragging .game-rules-header{cursor:grabbing}.game-rules-title{margin:0}.game-rules-header-right{display:inline-flex;align-items:center;gap:10px;margin-left:auto}.game-rules-label{white-space:nowrap}.game-rules-body{overflow-y:auto;flex:auto;min-height:0;padding:16px 18px}.game-rules-body .rtc-paragraph,.game-rules-body .rtc-subtitle,.game-rules-body .rtc-bullets{color:rgba(255,248,220,.9)}.game-rules-footer{flex-shrink:0;justify-content:flex-start;flex-wrap:wrap;gap:12px;padding:0 18px 18px}.game-rules-takeflight-btn{min-width:132px;min-height:38px;border-radius:999px;color:#fff;background:rgba(96,201,121,.34);border:1px solid rgba(96,201,121,.45);cursor:pointer;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.game-rules-takeflight-btn:hover,.game-rules-takeflight-btn:focus-visible{color:#fff;background:rgba(96,201,121,.48);border-color:rgba(96,201,121,.72);outline:none}.game-rules-suppress-toggle{margin-left:0}.game-rules-suppress-text{color:rgba(255,248,220,.86)}@media(max-width:600px){.game-rules-overlay{align-items:flex-start;padding:10px}.game-rules-panel{max-height:calc(100dvh - 20px)}.game-rules-footer{align-items:flex-start;flex-direction:column}}.about-cards-wrap{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%;margin-top:6px}.about-sv2-card{width:min(560px,calc(100% - 24px));background:rgba(26,42,58,.85)}.about-sv2-card-face{padding:18px 20px;display:flex;flex-direction:column;gap:10px;text-align:left}.about-sv2-card .sv2-card-title{text-transform:uppercase;letter-spacing:.12em;white-space:normal}#about-copyright-card .about-line{text-align:center}#about-version-card .about-version-line{font-weight:600}#about-version-card .about-version-status{opacity:.75;font-size:.92em}#about-version-card .about-version-actions{margin-top:4px}.rtc-paragraph,.rtc-subtitle{font-size:clamp(14px,2.8vw,16px);line-height:1.5;color:var(--text);margin:0;text-align:left;font-style:normal}.rtc-bullets{text-align:left;margin:0;padding-left:1.4em;display:flex;flex-direction:column;gap:4px;font-size:clamp(14px,2.8vw,16px);line-height:1.5;color:var(--text)}.rtc-bullets li{list-style-type:disc}.rtc-align-left{text-align:left}.rtc-align-center{text-align:center}.rtc-align-right{text-align:right}.rtc-size-small{font-size:clamp(11px,2.4vw,13px)}.rtc-size-normal{font-size:clamp(14px,2.8vw,16px)}.rtc-size-large{font-size:clamp(17px,3.4vw,20px)}.rtc-size-xlarge{font-size:clamp(20px,4vw,24px)}.rtc-bold{font-weight:700}.rtc-section{margin:14px 0;padding:12px 14px;border:1px solid rgba(212,168,67,.2);border-radius:12px;background:rgba(255,255,255,.035);display:flex;flex-direction:column;gap:8px}.rtc-section:first-child{margin-top:0}.rtc-section-heading{margin:0;color:#f0d878;font-size:.84rem;letter-spacing:.08em;text-transform:uppercase}.lesson-group-grid{display:flex;flex-direction:column;gap:10px;width:100%;max-width:420px}.lesson-group-section{display:flex;flex-direction:column;gap:6px}.lesson-group-section-label{font-size:11px;letter-spacing:1px;color:var(--text-dim);text-transform:uppercase;padding:0 2px}.lesson-group-row{display:flex;flex-wrap:wrap;gap:6px}.lesson-group-btn{flex:none;padding:6px 14px;font-size:13px;font-family:var(--font-display);border:1px solid var(--gold-dim);background:0 0;color:var(--text-dim);border-radius:4px;cursor:pointer;user-select:none}.lesson-group-btn.selected{border-color:var(--gold);background:rgba(212,168,67,.15);color:var(--gold)}.lesson-group-btn .lesson-group-chars{display:block;font-size:10px;letter-spacing:1px;color:var(--text-dim);margin-top:2px}.lesson-group-btn.selected .lesson-group-chars{color:rgba(212,168,67,.75)}.lesson-group-btn.mastered:not(.selected){border-color:var(--green);background:rgba(68,204,102,.15);color:var(--green)}.lesson-group-btn.mastered:not(.selected) .lesson-group-chars{color:rgba(68,204,102,.75)}.lesson-group-btn.selected.mastered{background:rgba(68,204,102,.15);border-width:2px}.submenu-screen{width:100%;min-height:100%;min-width:0;max-height:100%;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;gap:12px;padding:24px 10px calc(24px + env(safe-area-inset-bottom,0px));overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scroll-padding-bottom:96px;background:0 0}.submenu-screen>*{flex-shrink:0}.submenu-screen .menu-tools{position:sticky;bottom:0;z-index:5;padding:12px 0 calc(10px + env(safe-area-inset-bottom,0px));background:0 0;pointer-events:none}.submenu-screen .menu-tools>*{pointer-events:auto}.submenu-note-inline{display:inline-block;font-size:11px;opacity:.75;letter-spacing:.5px}.result-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:12px}@media(pointer:coarse),(max-width:700px){.paddle-touch .paddle-btn{min-width:44vw;max-width:180px;min-height:88px;font-size:22px}}.straight-touch{justify-content:center}.paddle-straight{background:rgba(68,204,102,8%);border:2px solid rgba(68,204,102,.35);color:rgba(68,204,102,.72);min-width:clamp(180px,42vw,320px);letter-spacing:clamp(2px,.7vw,4px)}.paddle-straight.tapping,.paddle-straight:active{background:rgba(68,204,102,.28);border-color:rgba(68,204,102,.8);color:#4c6}@media(pointer:coarse),(max-width:700px){.straight-touch .paddle-btn{min-width:90vw;min-height:88px;font-size:24px}}.menu-tools-bottom{margin-top:2px}.mode-buttons-stack{flex-direction:column;width:auto;min-width:min(260px,90vw);max-width:min(560px,92vw)}.menu-stack-tight{gap:10px}.submenu-controls{width:min(720px,92vw);border:1px solid rgba(212,168,67,.2);background:rgba(15,25,35,.55);padding:14px 16px;display:flex;flex-direction:column;gap:12px}.submenu-control-row,.submenu-toggle-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.submenu-control-row label{min-width:96px;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;font-size:12px}.submenu-control-row input[type=range]{flex:1;min-width:180px}.submenu-control-row select{min-width:130px}.submenu-status,.submenu-note{width:min(720px,92vw);text-align:center;color:var(--text-dim);font-size:13px}#skies-input-status{font-size:clamp(14px,2.8vw,18px);font-weight:700;color:#f0d878;text-shadow:0 0 12px rgba(240,216,80,.35);letter-spacing:.06em}.submenu-note{min-height:18px}.parrot-setup-card{gap:14px}.parrot-content-note{text-align:left;min-height:36px}.parrot-toggle-row{align-items:center;justify-content:space-between;gap:12px}.submenu-inline-check{display:inline-flex;align-items:center;gap:8px;color:var(--text);font-size:14px}.submenu-inline-check input{margin:0}#parrot-menu-screen .menu-tools.mode-buttons-stack{width:min(720px,92vw)}#parrot-menu-screen .btn[disabled]{opacity:.55;cursor:not-allowed}.btn-toggle-pill.is-on,.btn-key-choice.is-selected{border-color:var(--green);color:var(--green);background:rgba(68,204,102,.12)}.btn-label{display:flex;flex-direction:column;align-items:center;gap:1px;width:100%}.btn-line{display:block;line-height:1.2;text-align:center;width:100%}.btn-line .menu-accel{vertical-align:baseline;display:inline}.ks-device-panel{width:min(720px,92vw);display:flex;flex-direction:column;align-items:center;gap:12px;padding:14px 16px;border:1px solid rgba(212,168,67,.25);background:rgba(15,25,35,.6);border-radius:4px}.ks-device-panel.hidden{display:none!important}.ks-panel-title{font-size:13px;letter-spacing:1px;color:var(--gold);text-transform:uppercase;margin:0}.ks-config-block{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;width:100%}.ks-config-row{font-size:13px;color:var(--text-dim);display:flex;align-items:center;gap:6px}.ks-back-btn{margin-top:4px;font-size:13px;padding:6px 18px;min-height:32px}.ks-sub-panel{width:100%;display:flex;flex-direction:column;align-items:center;gap:10px;padding:10px 0 4px;border-top:1px solid rgba(212,168,67,.18)}.ks-sub-panel.hidden{display:none!important}.ks-iambic-row{display:flex;gap:24px;justify-content:center;align-items:center}.ks-radio-label{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--gold);cursor:pointer;font-family:var(--font-display);letter-spacing:1px}.ks-radio-label input[type=radio]{accent-color:var(--gold);width:16px;height:16px;cursor:pointer}.ks-note{font-size:11px;color:var(--text-dim);text-align:center;max-width:280px;line-height:1.4}.ks-status-line{display:block;text-align:center;font-size:12px;min-height:16px;white-space:normal;overflow-wrap:break-word}.ks-use-btn{font-size:clamp(13px,3.5vw,16px);padding:8px 20px;min-height:44px;border:1px solid rgba(212,168,67,.45);background:0 0;color:rgba(232,213,163,.8);font-family:var(--font-display);letter-spacing:1px;border-radius:3px;cursor:pointer;width:100%;max-width:320px;text-transform:uppercase}.ks-use-btn:hover,.ks-use-btn:active{border-color:var(--gold);color:var(--gold);background:rgba(212,168,67,.1)}.ks-use-btn.is-selected{border-color:var(--green);color:var(--green);background:rgba(68,204,102,.12)}.ks-speedpot-row{display:flex;flex-direction:column;gap:6px;padding:10px 0 4px;border-top:1px solid rgba(255,255,255,8%);margin-top:8px}.ks-speedpot-label{display:flex;align-items:center;gap:8px;font-size:clamp(12px,3.2vw,15px);color:var(--text-secondary,#aaa);cursor:pointer;user-select:none}.ks-speedpot-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--gold,#d4a843);cursor:pointer}.ks-speedpot-wpm-row{display:flex;align-items:center;gap:8px;padding-top:6px}.ks-wpm-input{width:60px;padding:3px 6px;background:rgba(255,255,255,8%);border:1px solid rgba(255,255,255,.2);border-radius:4px;color:var(--gold,#d4a843);font-size:clamp(13px,3.5vw,16px);font-weight:700;text-align:center}.ks-wpm-input:focus{outline:none;border-color:var(--gold,#d4a843)}.ks-wpm-hint{font-size:clamp(10px,2.8vw,12px);color:var(--text-secondary,#888)}.ks-key-test-zone{margin-top:10px;padding:10px 12px;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.1);border-radius:6px}.ktp-row{display:flex;align-items:center;gap:10px;margin-bottom:6px}.ktp-label{font-size:clamp(11px,3vw,13px);color:var(--text-secondary,#aaa)}.ktp-indicator{font-size:clamp(13px,3.5vw,16px);font-weight:700;padding:3px 10px;border-radius:4px;letter-spacing:.05em;transition:background 80ms,color 80ms}.ktp-off{background:rgba(255,255,255,6%);color:#666}.ktp-on{background:rgba(68,204,102,.25);color:var(--green,#44cc66)}.ktp-char-display{font-size:clamp(22px,7vw,32px);font-weight:700;color:var(--gold,#d4a843);min-width:1.2em;text-align:center;transition:color 200ms}.ktp-char-display.ktp-flash{color:#fff}.ktp-hint{font-size:clamp(10px,2.8vw,12px);color:var(--text-secondary,#888);margin:0 0 8px}.btn-sub-choice{font-size:clamp(13px,3.5vw,17px);min-height:52px}.copy-virtual-keyboard{width:100%;display:flex;flex-direction:column;gap:3px;padding:4px 2px 6px;background:rgba(10,18,28,.96);border-top:1px solid rgba(212,168,67,.28);box-sizing:border-box;flex-shrink:0;position:relative;z-index:10000}.copy-virtual-keyboard.hidden{display:none!important}.copy-kb-row{display:flex;flex-direction:row;justify-content:center;gap:3px;width:100%}.copy-key-btn{flex:1;max-width:42px;min-width:0;height:36px;padding:0;margin:0;font-size:14px;font-weight:700;font-family:libre baskerville,Georgia,serif;letter-spacing:0;border-radius:4px;border:1px solid rgba(212,168,67,.3);background:rgba(30,45,65,.9);color:rgba(232,213,163,.95);cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.copy-key-btn:active{background:rgba(212,168,67,.35);border-color:rgba(212,168,67,.7)}.copy-key-btn.copy-key-gold{border-color:rgba(212,168,67,.85);background:rgba(150,110,30,.55);color:#f5e0a0}.copy-key-btn.copy-key-green{border-color:rgba(96,196,120,.85);background:rgba(40,120,70,.55);color:#d6f5dc}.copy-key-btn.copy-key-wide{flex:1.5;max-width:60px;font-size:12px}.copy-key-btn.copy-key-backspace{flex:1.8;max-width:66px;font-size:11px;color:rgba(212,168,67,.8)}.copy-key-btn.copy-key-num{font-size:13px}@media(max-width:380px){.copy-key-btn{height:32px;font-size:12px}.copy-key-btn.copy-key-wide{font-size:10px}}@media(min-width:600px) and (pointer:coarse){.copy-key-btn{max-width:64px;height:56px;font-size:20px}.copy-key-btn.copy-key-wide{max-width:92px;font-size:16px}.copy-key-btn.copy-key-backspace{max-width:100px;font-size:15px}.copy-key-btn.copy-key-num{font-size:18px}}.btn-icon .menu-accel{font-size:18px}@media(pointer:coarse),(max-width:700px){.submenu-control-row,.submenu-toggle-row{flex-direction:column;align-items:stretch}.submenu-control-row label{min-width:0}}.fc-method-grid{width:min(940px,94vw);display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px;padding:0;border:none;background:0 0;align-items:stretch}#flight-controls-screen .btn.is-selected,#flight-controls-screen .btn.is-selected:hover,#flight-controls-screen .btn.is-selected:active{border-color:var(--green);color:var(--green);background:rgba(68,204,102,.12)}#flight-controls-straight-screen .submenu-controls{width:min(940px,94vw);display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px;padding:0;border:none;background:0 0;box-shadow:none;align-items:stretch}#flight-controls-straight-screen .sidebar-section,.fc-method-box{border:1px solid rgba(212,168,67,.55);border-radius:14px;background:linear-gradient(180deg,rgba(10,16,25,.94),rgba(7,11,18,.92));display:flex;flex-direction:column;gap:12px;min-height:100%;min-width:0;padding:16px;overflow:hidden;box-shadow:0 10px 26px rgba(0,0,0,.24),inset 0 0 0 1px rgba(255,255,255,2%);transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}#flight-controls-straight-screen .sidebar-section.fc-path-active,.fc-method-box.fc-path-active{border-color:rgba(68,204,102,.58);box-shadow:0 12px 28px rgba(0,0,0,.28),0 0 0 1px rgba(68,204,102,.22),inset 0 0 0 1px rgba(68,204,102,8%)}.fc-method-box-physical{border-color:rgba(212,168,67,.42)}#flight-controls-straight-screen .sidebar-section-header,.fc-method-box .sidebar-section-header{margin:-16px -16px 0;padding:12px 16px;border-bottom:1px solid rgba(212,168,67,.24);border-top-left-radius:inherit;border-top-right-radius:inherit;background:linear-gradient(180deg,rgba(118,90,26,.96),rgba(72,54,14,.94));background-clip:padding-box;box-shadow:inset 0 -1px rgba(255,255,255,4%);color:rgba(255,243,202,.96)}#flight-controls-straight-screen .sidebar-section.fc-path-active .sidebar-section-header,.fc-method-box.fc-path-active .sidebar-section-header{border-bottom-color:rgba(68,204,102,.32);background:linear-gradient(180deg,rgba(34,98,49,.98),rgba(23,65,34,.96));color:rgba(234,255,240,.98)}#flight-controls-straight-screen .sidebar-section-header span,.fc-method-box .sidebar-section-header span{letter-spacing:.12em;font-size:14px;font-weight:800}.fc-method-box .ks-config-block{gap:10px;flex-wrap:wrap}#flight-controls-straight-screen .ks-use-btn,#flight-controls-paddles-screen .fc-use-btn{margin-top:auto;width:100%;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}#fc-paddle-keyboard-configure.is-selected{border-color:rgba(68,204,102,.65);box-shadow:0 0 0 1px rgba(68,204,102,.24)}.fc-winkeyer-panel{flex-direction:column}.fc-live-wpm{display:inline-block;text-align:center;color:var(--gold);font-size:12px;letter-spacing:.06em}.fc-card-header{margin:-16px -16px 0;padding:10px 16px;background:linear-gradient(180deg,rgba(118,90,26,.96),rgba(72,54,14,.94));border-bottom:1px solid rgba(212,168,67,.28);border-top-left-radius:inherit;border-top-right-radius:inherit;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:52px}.fc-card-title{font-size:12px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:rgba(255,243,202,.97);line-height:1.3}.fc-card-face{padding:10px 14px;display:flex;align-items:center;justify-content:stretch;gap:8px}.fc-card-face .fc-use-btn{flex:1;display:block;min-height:auto}.fc-method-box.fc-path-active .fc-card-header{border-bottom-color:rgba(68,204,102,.32);background:linear-gradient(180deg,rgba(34,98,49,.98),rgba(23,65,34,.96))}.fc-method-box.fc-path-active .fc-card-title{color:rgba(234,255,240,.98)}.fc-method-box .sv2-card-settings{display:none;flex-direction:column;gap:8px;padding:12px 16px;border-top:1px solid rgba(212,168,67,.15);background:rgba(0,0,0,.18)}.fc-method-box .sv2-card-settings.is-open{display:flex}.fc-method-grid{align-items:start}.fc-method-grid .fc-method-box{min-height:auto}.fc-use-btn{border-radius:999px;background:linear-gradient(135deg,rgba(212,168,67,.28),rgba(180,136,40,.22));border:1px solid rgba(212,168,67,.65);font-size:0;padding:8px 22px;cursor:pointer;transition:background .15s,border-color .15s;display:inline-block}.fc-use-btn::before{content:"Select";font-size:.88rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#f0d878}.fc-use-btn.is-selected{background:rgba(40,160,70,.22);border-color:rgba(68,204,102,.65)}.fc-use-btn.is-selected::before{content:"Online";color:rgba(100,230,130,.95)}.fc-use-btn:hover:not(.is-selected){background:linear-gradient(135deg,rgba(212,168,67,.45),rgba(180,136,40,.38));border-color:rgba(212,168,67,.9)}.fc-use-btn:hover:not(.is-selected)::before{color:#fff8dc}.fc-action-btn{border-radius:999px;background:linear-gradient(135deg,rgba(212,168,67,.18),rgba(180,136,40,.13));border:1px solid rgba(212,168,67,.5);color:rgba(212,168,67,.85);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 16px;cursor:pointer;transition:background .15s,border-color .15s,color .15s;touch-action:manipulation}.fc-action-btn:hover{background:linear-gradient(135deg,rgba(212,168,67,.35),rgba(180,136,40,.28));border-color:rgba(212,168,67,.85);color:#f0d878}.fc-action-btn.fc-action-btn--connected{background:linear-gradient(135deg,rgba(76,175,80,.18),rgba(56,142,60,.13));border-color:rgba(129,199,132,.5);color:#81c784}.fc-action-btn.fc-action-btn--connected:hover:not(:disabled){background:linear-gradient(135deg,rgba(76,175,80,.32),rgba(56,142,60,.25));border-color:rgba(129,199,132,.85);color:#b6e0b8}.fc-action-btn.fc-action-btn--connected:disabled{cursor:default;opacity:.85}.fc-action-btn.fc-action-btn--dim{opacity:.55}.fc-action-btn.fc-action-btn--dim:hover{opacity:.85}.fc-action-btn:disabled{opacity:.4;cursor:default;filter:grayscale(.4)}.fc-action-btn:disabled:hover{background:linear-gradient(135deg,rgba(212,168,67,.18),rgba(180,136,40,.13));border-color:rgba(212,168,67,.5);color:rgba(212,168,67,.85)}.wk-config-overlay{position:fixed;inset:0;z-index:10004;display:flex;align-items:center;justify-content:center;padding:18px;background:0 0;backdrop-filter:none;pointer-events:auto}.wk-config-card{width:min(420px,94vw);color:#f5e7ba;touch-action:none}.wk-config-card.is-dragging{user-select:none}.wk-config-header{flex-shrink:0;cursor:grab}.wk-config-card.is-dragging .wk-config-header{cursor:grabbing}.wk-config-body p{margin:0 0 4px;font-size:.82rem;line-height:1.45;color:var(--text-dim)}#fc-wk-popover-wpm{flex-basis:100%;text-align:center}.wk-config-exit{border-radius:999px;padding:6px 18px;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(135deg,rgba(150,150,160,.16),rgba(110,110,120,.12));border:1px solid rgba(200,200,210,.4);color:rgba(220,220,228,.88);cursor:pointer;transition:background .15s,border-color .15s,color .15s;touch-action:manipulation}.wk-config-exit:hover{background:linear-gradient(135deg,rgba(150,150,160,.3),rgba(110,110,120,.22));border-color:rgba(200,200,210,.7);color:#f0f0f4}.fc-method-box select,.fc-method-box .submenu-control-row select{flex:1;padding:4px 6px;border-radius:6px;border:1px solid rgba(212,168,67,.5);background:rgba(7,12,20,.8);color:var(--text);font:inherit;font-size:.82rem}.ktp-paddle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:8px}#flight-controls-paddles-screen .submenu-controls.fc-method-grid{border:none;background:0 0;box-shadow:none;margin-bottom:calc(72px + env(safe-area-inset-bottom,0px))}#flight-controls-paddles-screen .menu-tools{width:auto;max-width:100%;align-self:center;padding:8px 0 calc(8px + env(safe-area-inset-bottom,0px));background:0 0;pointer-events:none}#flight-controls-paddles-screen .menu-tools>*{pointer-events:auto}#flight-controls-paddles-screen .ks-key-test-zone{margin-top:4px}@media(max-width:700px){.fc-method-grid{grid-template-columns:1fr}}.mc-tab-bar{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:16px}.mc-tab-btn{padding:8px 14px;font-size:13px;font-weight:600;letter-spacing:.04em;color:rgba(200,200,210,.85);background:rgba(50,60,75,.7);border:1px solid rgba(120,130,150,.4);border-radius:5px;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.mc-tab-btn:hover{background:rgba(70,80,95,.8)}.mc-tab-btn.active{color:rgba(255,243,202,.95);background:linear-gradient(180deg,rgba(139,105,20,.85),rgba(100,75,15,.9));border-color:rgba(212,168,67,.7)}.mc-setup-card{background:rgba(30,48,69,.6);border:1px solid rgba(212,168,67,.25);border-radius:8px;padding:16px;margin-bottom:16px}.mc-learning-actions{display:flex;justify-content:flex-end;margin-top:12px}.mc-reset-learning-btn{min-width:160px}.mc-choice-panel{position:absolute;bottom:15%;left:50%;transform:translateX(-50%);z-index:100;background:0 0;border:none;padding:0;max-width:90vw;width:400px;pointer-events:none}.mc-choice-panel.hidden{display:none}.mc-status{text-align:center;color:rgba(255,255,255,.7);font-size:13px;margin-bottom:10px;letter-spacing:.04em;text-shadow:0 1px 3px rgba(0,0,0,.8)}.mc-choices{display:flex;flex-direction:column;gap:6px;pointer-events:auto}.mc-choice-btn{display:block;width:100%;padding:10px 16px;font-size:18px;font-weight:600;letter-spacing:.08em;color:rgba(255,255,255,.95);background:rgba(0,0,0,.25);border:none;border-radius:4px;cursor:pointer;transition:background .12s,color .12s;text-shadow:0 1px 3px rgba(0,0,0,.9)}.mc-choice-btn:hover:not(:disabled){background:rgba(255,255,255,.15);color:#fff3ca}.mc-choice-btn:active:not(:disabled){background:rgba(255,255,255,.25)}.mc-choice-btn:disabled{opacity:.4;cursor:not-allowed}.mc-choice-btn.correct{background:rgba(34,180,34,.5);color:#c8ffc8;text-shadow:0 1px 3px rgba(0,60,0,.9)}.mc-choice-btn.incorrect{background:rgba(180,40,40,.5);color:#ffc8c8;text-shadow:0 1px 3px rgba(60,0,0,.9)}.mc-special-row{display:flex;gap:10px;margin-top:10px;justify-content:center;pointer-events:auto}.mc-special-btn{padding:6px 14px;font-size:12px;font-weight:600;color:rgba(255,255,255,.8);background:rgba(0,0,0,.2);border:none;border-radius:4px;cursor:pointer;transition:background .12s;text-shadow:0 1px 2px rgba(0,0,0,.8)}.mc-special-btn:hover:not(:disabled){background:rgba(255,255,255,.1)}.mc-special-btn.sk{color:rgba(255,180,180,.9)}.mc-special-btn.sk:hover:not(:disabled){background:rgba(150,50,50,.4)}.mc-special-btn:disabled{opacity:.4;cursor:not-allowed}.mc-ready-overlay{position:absolute;left:50%;bottom:28%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;z-index:102}.mc-ready-overlay.hidden{display:none}.mc-ready-btn{min-width:164px;padding:12px 26px;border:1px solid rgba(98,214,145,.52);border-radius:999px;background:linear-gradient(180deg,rgba(28,134,74,.76),rgba(16,88,47,.72));color:rgba(236,255,241,.98);font-size:18px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;box-shadow:0 14px 28px rgba(0,0,0,.3);backdrop-filter:blur(4px)}.mc-ready-btn:hover{background:linear-gradient(180deg,rgba(38,156,88,.82),rgba(20,104,57,.78));border-color:rgba(134,236,175,.68)}.mc-hud-item{margin-right:16px}.mc-custom-panel{background:rgba(30,48,69,.5);border:1px solid rgba(212,168,67,.2);border-radius:8px;padding:12px;margin-bottom:12px}.mc-custom-panel.hidden{display:none}.mc-custom-list-row{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}.mc-custom-list-row label{color:rgba(200,200,210,.9);font-size:13px}.mc-custom-list-row select{flex:1;min-width:120px;padding:6px 8px;background:rgba(20,30,40,.8);border:1px solid rgba(100,110,130,.4);border-radius:4px;color:rgba(220,220,230,.95);font-size:13px}.mc-custom-drop-zone{border:2px dashed rgba(120,130,150,.4);border-radius:6px;padding:16px;text-align:center;color:rgba(160,160,180,.8);font-size:13px;cursor:pointer;transition:border-color .15s,background .15s;margin-bottom:10px}.mc-custom-drop-zone:hover{border-color:rgba(212,168,67,.5);background:rgba(212,168,67,5%)}.mc-custom-drop-zone.dragover{border-color:rgba(212,168,67,.8);background:rgba(212,168,67,.1)}.mc-paste-area{width:100%;height:80px;padding:8px;background:rgba(20,30,40,.8);border:1px solid rgba(100,110,130,.4);border-radius:4px;color:rgba(220,220,230,.95);font-size:13px;font-family:inherit;resize:vertical;margin-bottom:8px}.mc-custom-actions{display:flex;justify-content:space-between;align-items:center}#mc-custom-stats{color:rgba(160,160,180,.8);font-size:12px}.mc-length-select{min-width:112px}.btn-danger{color:rgba(255,180,180,.9)!important;border-color:rgba(180,80,80,.5)!important}.btn-danger:hover{background:rgba(120,40,40,.6)!important}.mc-hud-item b{color:var(--gold)}.mc-history-drawer{position:absolute;left:0;top:132px;width:220px;max-height:calc(100% - 188px);padding:14px 14px 14px 26px;background:linear-gradient(180deg,rgba(17,27,39,.96),rgba(11,18,28,.94));border:1px solid rgba(212,168,67,.28);border-left:none;border-radius:0 12px 12px 0;box-shadow:0 16px 30px rgba(0,0,0,.35);transform:translateX(-194px);transition:transform .2s ease;z-index:85;overflow:visible}.mc-history-drawer.open{transform:translateX(0)}.mc-history-drawer.closed{transform:translateX(-194px)}.mc-history-drawer.hidden{display:none}.mc-history-tab{position:absolute;top:12px;right:-40px;width:40px;height:158px;max-height:calc(100% - 24px);padding:10px 0;border:1px solid rgba(212,168,67,.35);border-left:none;border-radius:0 10px 10px 0;background:linear-gradient(180deg,rgba(80,61,16,.95),rgba(48,37,11,.95));color:rgba(255,240,200,.96);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;writing-mode:vertical-rl;text-orientation:mixed;box-shadow:0 8px 16px rgba(0,0,0,.28)}.mc-history-header{margin-bottom:10px;color:rgba(255,240,200,.95);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.mc-history-list{display:flex;flex-direction:column;gap:6px;max-height:calc(100% - 28px);overflow-y:auto;overflow-x:hidden}.mc-history-row,.mc-history-empty{min-height:28px;padding:6px 10px;border-radius:7px;background:rgba(255,255,255,5%)}.mc-history-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.mc-history-row.is-correct{border:1px solid rgba(80,180,90,.22)}.mc-history-row.is-missed{border:1px solid rgba(180,80,80,.22)}.mc-history-word{flex:1;min-width:0;color:rgba(238,240,244,.94);font-size:14px;font-weight:600;letter-spacing:.06em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mc-history-row.is-correct .mc-history-word{color:rgba(118,232,131,.96)}.mc-history-row.is-missed .mc-history-word{color:rgba(255,120,120,.96)}.mc-history-score{flex:none;min-width:28px;text-align:right;color:var(--gold);font-size:15px;font-weight:700}.mc-history-empty{color:rgba(190,196,206,.7);font-size:12px;letter-spacing:.04em}.word-strip-display{position:absolute;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;min-width:min(88vw,240px);max-width:min(92vw,620px);padding:8px 12px 10px;border:1px solid rgba(212,168,67,.26);border-radius:12px;background:linear-gradient(180deg,rgba(9,16,25,.84),rgba(15,24,36,.92));box-shadow:0 14px 28px rgba(0,0,0,.28);pointer-events:none;z-index:32}.word-strip-display.hidden{display:none}.word-strip-label{color:rgba(255,240,200,.9);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.word-strip-row{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}.word-strip-cell{display:inline-flex;align-items:center;justify-content:center;width:clamp(22px,3vw,30px);min-height:clamp(28px,3.8vw,36px);padding:2px 0;border-radius:8px;border:1px solid rgba(212,168,67,.3);background:rgba(255,255,255,6%);color:rgba(248,249,252,.96);font-size:clamp(16px,2.4vw,22px);font-weight:700;letter-spacing:.05em;text-transform:uppercase}.word-strip-gap{width:clamp(10px,1.8vw,16px);height:1px}.word-strip-display.is-next .word-strip-cell{color:rgba(222,232,246,.94)}.word-strip-display.is-recent .word-strip-cell{color:rgba(255,248,226,.98)}.word-strip-display.is-correct .word-strip-cell{color:var(--green);border-color:rgba(64,210,113,.34);background:rgba(35,110,63,.22)}.word-strip-display.is-wrong .word-strip-cell{color:var(--red);border-color:rgba(255,91,91,.34);background:rgba(115,34,34,.24)}.word-strip-display.is-neutral .word-strip-cell{color:rgba(255,248,226,.98)}.mc-result{text-align:center}.mc-result .result-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 20px;margin:20px 0}.mc-result .result-stat{display:flex;flex-direction:column;gap:4px}.mc-result .result-stat.highlight{grid-column:span 2;background:rgba(212,168,67,.15);border-radius:8px;padding:12px}.mc-result .result-label{font-size:12px;color:rgba(200,200,210,.7);text-transform:uppercase;letter-spacing:.08em}.mc-result .result-value{font-size:20px;font-weight:700;color:var(--gold)}.mc-result .result-stat.highlight .result-value{font-size:32px}.mc-result .result-actions{display:flex;gap:12px;justify-content:center;margin-top:20px}.mc-result .result-message{color:rgba(200,200,210,.85);margin:16px 0}@media(max-width:480px){.mc-history-drawer{top:116px;width:188px;transform:translateX(-162px)}.mc-history-drawer.closed{transform:translateX(-162px)}.mc-history-drawer.open{transform:translateX(0)}.mc-choice-panel{width:calc(100vw - 32px);bottom:15%;padding:12px 14px}.mc-word-strip-display{top:46px;max-width:calc(100vw - 72px)}.mc-choice-btn{padding:10px 12px;font-size:15px}.mc-ready-overlay{bottom:18%;width:calc(100vw - 44px)}.mc-ready-btn{width:min(100%,220px)}.mc-result .result-stats{grid-template-columns:1fr 1fr;gap:10px}}#lat-screen{display:flex;flex-direction:column;min-height:100vh;background:linear-gradient(180deg,#091220 0%,#0c1a2e 100%);color:var(--text);font-family:var(--font-ui)}.lat-header{display:flex;align-items:center;gap:12px;padding:14px 20px;background:rgba(7,12,22,.88);border-bottom:1px solid rgba(212,168,67,.2)}.lat-header h2{flex:1;margin:0;font-size:1rem;letter-spacing:.12em;color:var(--gold)}.lat-round-info{color:var(--text-dim);font-size:.88rem}.lat-body{flex:1;display:flex;flex-direction:column;gap:18px;padding:20px;max-width:720px;width:100%;margin:0 auto;box-sizing:border-box}.lat-word-strip-host{min-height:80px}.lat-status{color:var(--text-dim);font-size:.95rem;min-height:1.4em}.lat-entry-row{display:flex;gap:10px;align-items:stretch}#lat-entry-input{flex:1;padding:14px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(7,14,24,.9);color:var(--text);font:inherit;font-size:1.2rem;letter-spacing:.06em;outline:none;transition:border-color .14s ease}#lat-entry-input:focus{border-color:rgba(212,168,67,.55)}#lat-entry-input:disabled{opacity:.5;cursor:not-allowed}.lat-result{min-height:56px}.lat-result-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;border-left:4px solid transparent;background:rgba(255,255,255,5%)}.lat-result-exact{border-left-color:var(--green)}.lat-result-accepted{border-left-color:var(--gold)}.lat-result-partial{border-left-color:rgba(180,80,80,.8)}.lat-result-word{color:var(--text);font-size:.95rem}.lat-result-badge{font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.lat-result-points{margin-left:auto;color:var(--gold);font-weight:800;font-size:1rem}.lat-totals{display:flex;flex-wrap:wrap;gap:12px;padding:12px 0;border-top:1px solid rgba(255,255,255,8%)}.lat-stat{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:60px}.lat-stat-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}.lat-stat strong{font-size:1.1rem;color:var(--gold)}#lat-menu-screen .submenu-controls{max-width:560px}.lat-list-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}#lat-list-select{padding:8px 12px;border-radius:10px;border:1px solid rgba(212,168,67,.35);background:rgba(7,12,20,.8);color:var(--text);font:inherit}.lak-entry-panel{display:grid;gap:8px;padding:16px;border-radius:16px;background:rgba(12,18,31,.84);border:1px solid rgba(255,255,255,8%)}.lak-entry-label{font-size:.82rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim)}.lak-entry-display{min-height:58px;padding:14px 16px;border-radius:12px;background:rgba(255,255,255,4%);border:1px solid rgba(255,255,255,8%);font-size:1.55rem;font-weight:700;letter-spacing:.12em;color:var(--gold);word-break:break-word}.lak-entry-meta{color:var(--text-dim);font-size:.9rem}.bwe-input-panel{position:absolute;top:22%;left:50%;transform:translateX(-50%);z-index:100;background:rgba(255,255,255,.1);border:1px solid rgba(212,168,67,.22);border-radius:6px;padding:3px 8px;width:auto;min-width:6ch;max-width:92vw}.bwe-input-panel.hidden{display:none}.bwe-panel-status{display:none}.bwe-panel-entry-row{display:block}.bwe-panel-input{display:block;width:100%;padding:2px 4px;border:none;border-radius:3px;background:0 0;color:var(--gold);font:inherit;font-size:.95rem;letter-spacing:.1em;outline:none;text-align:center}.bwe-panel-input:disabled{opacity:.35;cursor:not-allowed}.bwe-floating-replay-btn{position:absolute;top:114px;left:50%;transform:translateX(-50%);z-index:125;width:36px;height:34px;border-radius:9px;border:1px solid rgba(212,168,67,.72);background:rgba(15,25,35,.84);color:#fff8dc;font:inherit;font-size:1.18rem;font-weight:900;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0;box-shadow:0 3px 10px rgba(0,0,0,.42);cursor:grab;pointer-events:auto;touch-action:none;user-select:none}.bwe-floating-replay-btn:hover:not(:disabled),.bwe-floating-replay-btn:focus-visible{background:rgba(212,168,67,.28);border-color:rgba(255,248,220,.94);outline:none}.bwe-floating-replay-btn:active:not(:disabled),.bwe-floating-replay-btn.is-dragging{cursor:grabbing;border-color:#fff8dc;box-shadow:0 4px 14px rgba(0,0,0,.52)}.bwe-floating-replay-btn:disabled{opacity:.48;cursor:not-allowed}.bwe-floating-replay-btn.hidden{display:none}.lak-panel-entry-display{padding:2px 4px;background:0 0;font-size:.95rem;font-weight:700;letter-spacing:.1em;color:var(--gold);text-align:center;min-height:1.4em;word-break:break-word}.lak-panel-entry-meta{display:none}.bwe-input-panel.word-key-mode{transform:none;translate:-50% 0;padding:6px 12px;min-width:176px;max-width:min(92vw,380px);cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.bwe-input-panel.word-key-mode.is-dragging{cursor:grabbing}.bwe-input-panel.word-key-mode .word-key-panel-entry{box-sizing:border-box;width:100%;min-width:128px;min-height:1.7em;padding:2px 8px;border-radius:4px;background:rgba(255,255,255,6%);font-size:.95rem;line-height:1.45;overflow-wrap:anywhere;cursor:text;touch-action:manipulation;user-select:text;-webkit-user-select:text}.word-key-panel-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:6px}.word-key-key-image{display:block;width:44px;height:34px;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none}.bwe-input-panel.word-key-mode .mc-special-btn.sk{display:block;margin:0;font-size:.85rem;padding:3px 12px;cursor:pointer;touch-action:manipulation}.bwe-input-panel.word-copy-mode{transform:none;translate:-50% 0;padding:6px 12px;min-width:176px;max-width:min(92vw,380px);cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.bwe-input-panel.word-copy-mode.is-dragging{cursor:grabbing}.bwe-input-panel.word-copy-mode .bwe-panel-input{box-sizing:border-box;width:100%;cursor:text;touch-action:manipulation;user-select:text;-webkit-user-select:text}.word-copy-panel-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:6px}.word-copy-abc{display:block;width:44px;height:22px;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none}.bwe-input-panel.word-copy-mode .mc-special-btn.sk{display:block;margin:0;font-size:.85rem;padding:3px 12px;cursor:pointer;touch-action:manipulation}.bwe-ready-overlay{position:absolute;left:50%;bottom:28%;transform:translateX(-50%);z-index:200;display:flex;flex-direction:column;align-items:center;gap:10px}.bwe-ready-overlay.hidden{display:none}.bwe-ready-card{text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.bwe-ready-title{color:rgba(255,240,200,.92);letter-spacing:.14em;font-size:.85rem;text-shadow:0 1px 4px rgba(0,0,0,.8)}.bwe-ready-hint{font-family:system-ui,-apple-system,segoe ui,Roboto,Arial,sans-serif;color:rgba(232,213,163,.96);font-size:.95rem;font-weight:500;line-height:1.5;text-shadow:0 1px 5px rgba(0,0,0,.85);max-width:300px;text-align:center}.bwe-ready-btn{min-width:164px;padding:12px 26px;border:1px solid rgba(98,214,145,.52);border-radius:999px;background:linear-gradient(180deg,rgba(28,134,74,.76),rgba(16,88,47,.72));color:rgba(236,255,241,.98);font-size:18px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;box-shadow:0 14px 28px rgba(0,0,0,.3);backdrop-filter:blur(4px)}.bwe-ready-btn:hover{background:linear-gradient(180deg,rgba(38,156,88,.82),rgba(20,104,57,.78));border-color:rgba(134,236,175,.68)}.bwe-ready-count{font-family:var(--font-display);font-size:3.2rem;font-weight:900;line-height:1;letter-spacing:.04em;color:rgba(255,240,200,.96);text-shadow:0 2px 10px rgba(0,0,0,.85);min-height:3.4rem;display:flex;align-items:center;justify-content:center}.skies-screen{overflow-y:auto;align-items:center;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}.skies-card-grid{display:flex;flex-direction:column;gap:22px;width:min(960px,94vw);padding:0}.skies-section{display:flex;flex-direction:column;gap:10px}.skies-section-label{display:none}.skies-section-shared{display:flex;flex-direction:column;gap:6px;padding:8px 14px;background:rgba(255,255,255,3%);border:1px solid rgba(212,168,67,.32);border-radius:10px}.skies-shared-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.84rem}.skies-shared-row label{min-width:52px;color:var(--text-dim);font-size:.8rem}.skies-shared-row input[type=range]{flex:1;min-width:80px}.skies-section-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;align-items:stretch}.skies-card{border:1px solid rgba(212,168,67,.55);border-radius:14px;background:linear-gradient(180deg,rgba(10,16,25,.94),rgba(7,11,18,.92));display:flex;flex-direction:column;gap:0;min-width:0;overflow:hidden;box-shadow:0 10px 26px rgba(0,0,0,.24),inset 0 0 0 1px rgba(255,255,255,2%)}.skies-card-wide{grid-column:span 2}.skies-card-header{padding:8px 14px;border-bottom:1px solid rgba(212,168,67,.28);background:linear-gradient(180deg,rgba(118,90,26,.96),rgba(72,54,14,.94));color:rgba(255,243,202,.97);display:flex;align-items:center;justify-content:space-between;gap:8px}.skies-card-header .card-header-section{font-size:11px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;opacity:.92;flex-shrink:0}.skies-card-header .card-header-title{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;text-align:right;opacity:1}.skies-card-body{display:flex;flex-direction:column;gap:8px;padding:12px 14px;flex:1}.skies-control-row{display:flex;align-items:center;gap:8px;font-size:.84rem}.skies-control-row label{min-width:56px;color:var(--text-dim);font-size:.8rem;flex-shrink:0}.skies-control-row input[type=range]{flex:1;min-width:60px}.sv2-fw-wpm-row input[type=range].sv2-fw-wpm{accent-color:var(--gold)}.sv2-fw-wpm-row .sv2-fw-wpm-display{min-width:46px;text-align:right;color:var(--text-dim);font-size:.8rem;flex-shrink:0}.skies-control-row select{flex:1;padding:4px 6px;border-radius:6px;border:1px solid rgba(212,168,67,.5);background:rgba(7,12,20,.8);color:var(--text);font:inherit;font-size:.82rem}.sv2-fuel-multiplier-row{justify-content:flex-start;padding-left:2px}#sv2-fuel-multiplier-display{color:var(--text-dim);font-size:.82rem}.skies-toggle-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-start}.skies-reset-rules-row{display:flex;align-items:center;justify-content:flex-start;margin:-2px 0 4px}.skies-reset-rules-row .btn-small{border-radius:18px}.skies-toggle-row--split{justify-content:space-between}.skies-toggle-row--split .mf-toggle{flex:auto}.skies-mc-tabs{gap:4px;margin-bottom:2px}.skies-mc-tabs .mc-tab-btn{padding:3px 7px;font-size:.75rem}.skies-card-note{font-size:.74rem;color:var(--text-dim);line-height:1.4}.skies-card-start{margin:6px 14px 14px;width:calc(100% - 28px)}@media(max-width:600px){.skies-section-cards{grid-template-columns:1fr}.skies-card-wide{grid-column:span 1}}.list-toggle-row{display:flex;flex-wrap:wrap;gap:4px}.mc-list-toggle,.lat-list-toggle,.lak-list-toggle{padding:3px 8px;border-radius:999px;border:1px solid rgba(212,168,67,.3);background:rgba(255,255,255,4%);color:var(--text-dim);font:inherit;font-size:.76rem;font-weight:600;cursor:pointer;letter-spacing:.04em;transition:background .12s ease,border-color .12s ease,color .12s ease}.mc-list-toggle.is-active,.lat-list-toggle.is-active,.lak-list-toggle.is-active{background:rgba(212,168,67,.18);border-color:rgba(212,168,67,.65);color:var(--gold)}.mc-list-toggle:hover,.lat-list-toggle:hover,.lak-list-toggle:hover{border-color:rgba(212,168,67,.5);color:var(--text)}.backup-textarea{width:100%;box-sizing:border-box;background:rgba(4,8,16,.9);border:1px solid rgba(212,168,67,.3);border-radius:6px;color:var(--text);font:inherit;font-size:.78rem;font-family:courier new,monospace;padding:6px 8px;resize:vertical;outline:none}.backup-textarea:focus{border-color:rgba(212,168,67,.6)}.mc-history-pill{display:none;position:absolute;bottom:72px;left:10px;z-index:110;padding:6px 12px;border-radius:999px;border:1px solid rgba(212,168,67,.45);background:rgba(10,18,30,.88);color:var(--gold);font:inherit;font-size:.78rem;font-weight:700;letter-spacing:.08em;cursor:pointer;backdrop-filter:blur(4px)}.mc-history-popover{display:none;position:absolute;bottom:112px;left:10px;z-index:120;width:190px;max-height:42vh;background:linear-gradient(180deg,rgba(17,27,39,.97),rgba(11,18,28,.95));border:1px solid rgba(212,168,67,.28);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.4);overflow:hidden;flex-direction:column}.mc-history-popover.is-open{display:flex}.mc-history-popover-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid rgba(212,168,67,.2);font-size:11px;font-weight:700;letter-spacing:.14em;color:rgba(255,240,200,.9);flex-shrink:0}.mc-history-popover-close{background:0 0;border:none;color:var(--gold);cursor:pointer;font-size:16px;line-height:1;padding:0 2px}.mc-history-popover .mc-history-list{overflow-y:auto;flex:1;padding:6px 8px}@media(max-width:700px){.mc-history-drawer{display:none!important}.mc-history-pill{display:block}}.list-toggle-coming-soon{opacity:.42;cursor:default!important;pointer-events:none;filter:grayscale(.4)}.skies-section-cards--copy-pair{grid-template-columns:repeat(2,1fr)}@media(max-width:600px){.skies-section-cards--copy-pair{grid-template-columns:1fr}}.mf-toggle{display:inline-flex;align-items:center;gap:9px;cursor:pointer;user-select:none;line-height:1}.mf-toggle input[type=checkbox]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.mf-toggle-track{position:relative;display:inline-flex;align-items:center;width:36px;height:20px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(212,168,67,.35);transition:background .18s ease,border-color .18s ease;flex-shrink:0}.mf-toggle input:checked~.mf-toggle-track{background:rgba(212,168,67,.38);border-color:rgba(212,168,67,.75)}.mf-toggle-thumb{position:absolute;left:2px;width:14px;height:14px;border-radius:50%;background:rgba(212,168,67,.55);box-shadow:0 1px 3px rgba(0,0,0,.35);transition:transform .18s ease,background .18s ease}.mf-toggle input:checked~.mf-toggle-track .mf-toggle-thumb{transform:translateX(16px);background:#d4a843}.mf-toggle:hover .mf-toggle-track{border-color:rgba(212,168,67,.6)}.mf-toggle-label{font-size:.82rem;color:var(--text-dim);line-height:1.3}.mf-toggle input:checked~.mf-toggle-label{color:var(--text)}.mf-toggle input:disabled~.mf-toggle-track{opacity:.35;cursor:not-allowed}.mf-toggle input:disabled~.mf-toggle-label{opacity:.35;cursor:not-allowed}.btn-reset-char-prob{display:inline-flex;align-items:center;gap:7px;background:0 0;border:none;cursor:pointer;padding:2px 0;font:inherit}.btn-reset-char-prob-icon{width:20px;height:20px;border-radius:50%;background:rgba(212,168,67,.25);border:1px solid rgba(212,168,67,.55);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px;color:rgba(212,168,67,.95);transition:background .15s,border-color .15s}.btn-reset-char-prob:hover .btn-reset-char-prob-icon{background:rgba(212,168,67,.42)}.btn-reset-char-prob-label{font-size:.78rem;color:rgba(212,168,67,.88);letter-spacing:.02em}.btn-reset-char-prob.no-stats{cursor:default;pointer-events:none}.btn-reset-char-prob.no-stats .btn-reset-char-prob-icon{background:rgba(100,100,110,.18);border-color:rgba(150,150,160,.25);color:rgba(200,200,210,.3)}.btn-reset-char-prob.no-stats .btn-reset-char-prob-label{color:rgba(180,180,190,.35)}.sv2-global-card,.sv2-full-card{width:min(900px,92vw);border:1px solid rgba(212,168,67,.45);border-radius:14px;background:linear-gradient(180deg,rgba(10,16,25,.94),rgba(7,11,18,.92));overflow:hidden;box-shadow:0 8px 22px rgba(0,0,0,.22),inset 0 0 0 1px rgba(255,255,255,2%)}.sv2-global-card-header{padding:8px 14px;background:linear-gradient(180deg,rgba(118,90,26,.96),rgba(72,54,14,.94));border-bottom:1px solid rgba(212,168,67,.28);display:flex;align-items:center;justify-content:space-between;gap:8px}.sv2-global-header-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.sv2-global-input-type{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,243,202,.75)}.sv2-global-card-title{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,243,202,.97)}.sv2-global-card-body{padding:10px 14px;display:flex;flex-direction:column;gap:8px}.sv2-wpm-row{display:flex;align-items:center;gap:8px;min-width:0}.sv2-wpm-row label{font-size:.82rem;color:var(--text-dim);white-space:nowrap;flex-shrink:0;min-width:100px}.sv2-wpm-row input[type=range]{flex:1;min-width:0}.sv2-wpm-row span{font-size:.82rem;color:var(--text-dim);white-space:nowrap;min-width:48px;text-align:right}@media(max-width:480px){.sv2-wpm-row{flex-direction:column;align-items:stretch;gap:4px}.sv2-wpm-row label{min-width:0}.sv2-wpm-row span{text-align:left}}.sv2-freq-select{width:110px;flex:none!important}.sv2-global-divider{border-top:1px solid rgba(212,168,67,.18);margin:4px 0}.sv2-custom-actions-row{display:flex;align-items:center;gap:10px}.sv2-custom-actions-row span{font-size:.8rem;color:var(--text-dim);flex:1}.sv2-list-action-btn{flex:none!important;padding:6px 18px!important;font-size:.82rem!important}.sv2-list-danger-btn{background:linear-gradient(135deg,rgba(180,50,50,.32),rgba(140,30,30,.26))!important;border-color:rgba(220,80,80,.65)!important;color:#f4a0a0!important}.sv2-list-danger-btn:hover:not(:disabled){background:linear-gradient(135deg,rgba(200,60,60,.5),rgba(160,40,40,.42))!important;border-color:rgba(240,100,100,.9)!important;color:#ffd0d0!important}.sv2-list-danger-btn:disabled{opacity:.35;cursor:default}.sv2-filter-bar{display:flex;gap:8px;flex-wrap:wrap;width:min(900px,92vw);margin-bottom:14px}.sv2-filter-btn{padding:6px 18px;border-radius:999px;border:1px solid rgba(240,192,64,.55);background:rgba(240,192,64,6%);color:#f0c040;font-size:.8rem;font-weight:700;letter-spacing:.1em;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.sv2-filter-btn.is-active{background:rgba(240,192,64,.18);border-color:#f0c040;color:#f0c040}.sv2-filter-btn:hover:not(.is-active){background:rgba(240,192,64,.12);border-color:rgba(240,192,64,.75);color:#f0c040}.sv2-favorite-btn{width:34px;height:40px;border-radius:8px;border:1px solid rgba(212,168,67,.42);background:rgba(212,168,67,.18);color:transparent;-webkit-text-stroke:1.5px #050505;text-shadow:0 0 1px rgba(255,255,255,.28);cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.32rem;font-weight:900;line-height:1;transition:background 120ms,border-color 120ms,color 120ms,-webkit-text-stroke-color 120ms,text-shadow 120ms,transform 120ms}.sv2-favorite-btn:hover{background:rgba(212,168,67,.32);border-color:rgba(212,168,67,.82);-webkit-text-stroke-color:#000;text-shadow:0 0 2px rgba(255,255,255,.5)}.sv2-favorite-btn.is-favorite{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.88);color:#fff;-webkit-text-stroke:1.1px #ffffff;text-shadow:0 0 8px rgba(255,255,255,.78)}.sv2-filter-empty{grid-column:1/-1;border:1px dashed rgba(212,168,67,.45);border-radius:14px;background:rgba(10,16,25,.72);color:rgba(255,243,202,.82);font-size:.86rem;font-weight:700;letter-spacing:.04em;padding:16px;text-align:center}.sv2-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;width:min(900px,92vw);align-items:start}.sv2-card{border:1px solid rgba(212,168,67,.45);border-radius:14px;background:linear-gradient(180deg,rgba(10,16,25,.94),rgba(7,11,18,.92));display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 22px rgba(0,0,0,.22),inset 0 0 0 1px rgba(255,255,255,2%);transition:border-color .15s}.sv2-card-header{padding:8px 14px;background:linear-gradient(180deg,rgba(118,90,26,.96),rgba(72,54,14,.94));border-bottom:1px solid rgba(212,168,67,.28);display:flex;align-items:center;justify-content:space-between;gap:8px}.sv2-card-section{font-size:11px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,243,202,.75)}.sv2-card-title{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,243,202,.97)}.sv2-card-face{padding:10px 14px;display:flex;flex-direction:column;gap:6px}.sv2-card-desc{font-size:.78rem;color:var(--text-dim);line-height:1.4;min-height:2.8em}.sv2-card-actions{display:flex;align-items:center;gap:8px;margin-top:2px}.sv2-expand-btn{--gear-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='3'/><path d='M19.4 15a1.65 1.65 0 00.33 1.82l.06.06a2 2 0 01-2.83 2.83l-.06-.06a1.65 1.65 0 00-1.82-.33 1.65 1.65 0 00-1 1.51V21a2 2 0 01-4 0v-.09A1.65 1.65 0 008.91 19a1.65 1.65 0 00-1.82.33l-.06.06a2 2 0 01-2.83-2.83l.06-.06a1.65 1.65 0 00.33-1.82 1.65 1.65 0 00-1.51-1H3a2 2 0 010-4h.09A1.65 1.65 0 005 8.91a1.65 1.65 0 00-.33-1.82l-.06-.06a2 2 0 012.83-2.83l.06.06a1.65 1.65 0 001.82.33H9a1.65 1.65 0 001-1.51V3a2 2 0 014 0v.09a1.65 1.65 0 001 1.51 1.65 1.65 0 001.82-.33l.06-.06a2 2 0 012.83 2.83l-.06.06a1.65 1.65 0 00-.33 1.82V9a1.65 1.65 0 001.51 1H21a2 2 0 010 4h-.09a1.65 1.65 0 00-1.51 1z'/></svg>");width:40px;height:40px;background:rgba(20,42,71,.7);border:1px solid rgba(212,168,67,.3);border-radius:8px;color:rgba(212,168,67,.85);cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:background 120ms,border-color 120ms,color 120ms}.sv2-expand-btn::before{content:'';display:block;width:22px;height:22px;background-color:currentColor;-webkit-mask:var(--gear-mask)center/contain no-repeat;mask:var(--gear-mask)center/contain no-repeat;transition:transform 280ms cubic-bezier(.4,0,.2,1)}.sv2-expand-btn:hover{background:rgba(20,42,71,.95);border-color:rgba(212,168,67,.55);color:#d4a843}.sv2-expand-btn.is-open{background:rgba(212,168,67,.15);border-color:rgba(212,168,67,.55);color:#f0d878}.sv2-expand-btn.is-open::before{transform:rotate(60deg)}.sv2-card-settings{display:none;flex-direction:column;gap:8px;padding:10px 14px;border-top:1px solid rgba(212,168,67,.15);background:rgba(0,0,0,.18)}.sv2-card-settings.is-open{display:flex}.sv2-cs-hidden{display:none}.sv2-cs-visible{display:flex;flex-direction:column;gap:6px;padding-left:16px;margin-top:4px}.sv2-lesson-group-label{font-size:10px;letter-spacing:2px;color:var(--text-dim);text-transform:uppercase;margin-bottom:2px}.sv2-lesson-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.sv2-section[data-hidden]{display:none}.sv2-section{display:contents}.sv2-section[data-hidden]{display:none!important}.sv2-card[data-hidden]{display:none}.sv2-contact-btn{border-radius:999px;background:linear-gradient(135deg,rgba(212,168,67,.28),rgba(180,136,40,.22));border:1px solid rgba(212,168,67,.65);color:#f0d878;font-size:.9rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:8px 22px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .15s,border-color .15s,color .15s;flex:1}.sv2-contact-btn:hover{background:linear-gradient(135deg,rgba(212,168,67,.45),rgba(180,136,40,.38));border-color:rgba(212,168,67,.9);color:#fff8dc}.sv2-adaptive-key-toggle.is-greyed{opacity:.35;pointer-events:none}.sv2-adaptive-key-toggle.is-greyed input{pointer-events:none}.sv2-chars-btn{border-radius:999px;background:rgba(212,168,67,.1);border:1px solid rgba(212,168,67,.45);color:rgba(212,168,67,.85);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 12px;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}.sv2-chars-btn:hover{background:rgba(212,168,67,.22);border-color:rgba(212,168,67,.75);color:#f0d878}.tutorial-v2-panel{flex:1;display:flex;flex-direction:column;align-items:center;position:relative;padding:clamp(12px,3vw,24px)clamp(58px,13vw,76px)clamp(110px,20vw,140px)clamp(12px,3vw,24px);overflow-y:auto;background:0 0;gap:clamp(8px,1.5vw,14px)}.tutorial-v2-panel>*:not(.tutv2-wpm-rail){width:100%;max-width:480px;box-sizing:border-box}.tutv2-progress{font-family:system-ui,-apple-system,segoe ui,Roboto,Arial,sans-serif;font-size:clamp(10px,2vw,12px);color:#f2e6c2;text-shadow:0 1px 3px rgba(0,0,0,.85),0 0 8px rgba(0,0,0,.45);letter-spacing:1px;text-transform:uppercase}.tutv2-title{font-family:var(--font-display);font-size:clamp(18px,4vw,28px);color:var(--gold);letter-spacing:2px;margin:0}.tutv2-instruction{font-family:system-ui,-apple-system,segoe ui,Roboto,Arial,sans-serif;font-size:clamp(13px,2.5vw,15px);color:#fdf6e3;text-shadow:0 1px 3px rgba(0,0,0,.85),0 0 8px rgba(0,0,0,.45);line-height:1.5;max-width:600px}.tutv2-target-area{display:flex;align-items:center;justify-content:center;gap:12px;margin:clamp(4px,1vw,8px)0;min-height:80px}.tutv2-target-label{font-family:system-ui,-apple-system,segoe ui,Roboto,Arial,sans-serif;font-size:clamp(12px,2vw,14px);color:#f2e6c2;text-shadow:0 1px 3px rgba(0,0,0,.85),0 0 8px rgba(0,0,0,.45);text-transform:uppercase;letter-spacing:1px}.tutv2-target{font-family:var(--font-display);font-size:clamp(36px,8vw,56px);color:var(--gold);letter-spacing:4px;background:rgba(212,168,67,8%);border:2px solid rgba(212,168,67,.25);border-radius:8px;padding:clamp(4px,1vw,8px)clamp(16px,4vw,32px);min-width:60px;text-align:center;transition:background .15s,border-color .15s,color .15s}.tutv2-target-flash{background:rgba(212,168,67,.25)!important;border-color:var(--gold)!important}.tutv2-target-correct{background:rgba(68,204,102,.2)!important;border-color:var(--green)!important;color:var(--green)!important}.tutv2-hint{font-family:system-ui,-apple-system,segoe ui,Roboto,Arial,sans-serif;font-size:clamp(12px,2.2vw,14px);color:#f5ead0;text-shadow:0 1px 3px rgba(0,0,0,.85),0 0 8px rgba(0,0,0,.45);font-style:italic;line-height:1.4}.tutv2-feedback{font-family:system-ui,-apple-system,segoe ui,Roboto,Arial,sans-serif;font-size:clamp(13px,2.5vw,15px);color:#fdf6e3;text-shadow:0 1px 3px rgba(0,0,0,.85),0 0 8px rgba(0,0,0,.45);min-height:clamp(20px,4vw,28px);line-height:1.4;font-weight:700;transition:color .2s}.tutv2-feedback-correct{color:var(--green)}.tutv2-feedback-wrong{color:var(--red)}.tutv2-feedback-info{color:#fdf6e3}.tutv2-actions{display:flex;flex-wrap:wrap;gap:clamp(6px,1.5vw,10px);margin:clamp(4px,1vw,8px)0;justify-content:center}.tutv2-action-btn{font-family:system-ui,-apple-system,segoe ui,Roboto,Arial,sans-serif;border-radius:999px;background:linear-gradient(135deg,#6b531c,#463511);border:1.5px solid #d4a843;color:#ffe9a8;font-size:clamp(12px,2.4vw,15px);font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:clamp(7px,1.4vw,10px)clamp(14px,2.8vw,22px);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .15s,border-color .15s,color .15s,transform .05s;white-space:nowrap;user-select:none}.tutv2-action-btn:hover{background:linear-gradient(135deg,#8a6c25,#5d4716);border-color:#e8c060;color:#fff8dc}.tutv2-action-btn:active{transform:translateY(1px)}.tutv2-action-btn:disabled{background:linear-gradient(135deg,#3a3225,#2a2419);border-color:#6f5e35;color:#8d8266;cursor:default}.tutv2-action-btn:disabled:hover{background:linear-gradient(135deg,#3a3225,#2a2419);border-color:#6f5e35;color:#f6e4a1}.tutv2-action-btn-primary{background:linear-gradient(135deg,rgba(232,188,80,.62),rgba(196,152,48,.55));border-color:#f4d070;color:#1a1208;font-weight:800}.tutv2-action-btn-primary:hover{background:linear-gradient(135deg,rgba(244,208,112,.85),rgba(212,168,67,.75));border-color:#f8d878;color:#0f0a04}.tutv2-action-btn-primary:disabled:hover{background:linear-gradient(135deg,rgba(232,188,80,.62),rgba(196,152,48,.55));border-color:#f4d070;color:#1a1208}.tutv2-action-btn-small{font-size:clamp(11px,2vw,13px);letter-spacing:.08em;padding:clamp(5px,1vw,7px)clamp(12px,2.5vw,18px)}.tutv2-action-btn--on{background:linear-gradient(135deg,rgba(76,175,80,.3),rgba(56,142,60,.22));border-color:rgba(129,199,132,.85);color:#b6e0b8}.tutv2-action-btn--on:hover{background:linear-gradient(135deg,rgba(76,175,80,.42),rgba(56,142,60,.32));border-color:rgba(160,215,162,.95);color:#d4f0d4}@keyframes tutv2-auto-hint-pulse{0%,100%{background:linear-gradient(135deg,rgba(212,168,67,.32),rgba(180,136,40,.24));border-color:rgba(212,168,67,.75);color:#f6e4a1}50%{background:linear-gradient(135deg,rgba(104,214,108,.95),rgba(72,188,78,.85));border-color:#bef5c0;color:#fff}}.tutv2-action-btn--hint{animation:tutv2-auto-hint-pulse .9s ease-in-out 6}.tutv2-paddle-help{font-size:clamp(10px,2vw,12px);color:rgba(232,213,163,.78);text-align:center;padding:clamp(6px,1vw,10px)0;border-top:1px solid rgba(212,168,67,.15);margin-top:auto}.tutv2-key-indicators{display:flex;justify-content:center;padding:clamp(10px,2vw,16px)0 clamp(4px,1vw,8px)}.tutv2-paddle-indicators{display:flex;gap:clamp(12px,3vw,24px)}.tutv2-straight-indicators{display:flex;justify-content:center}.tutv2-paddle-btn{width:clamp(64px,15vw,90px);min-height:clamp(52px,12vw,70px);display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:10px;font-family:var(--font-display);font-size:clamp(11px,2.5vw,14px);letter-spacing:1px;text-transform:uppercase;border:2px solid #b08a36;background:#2c2615;color:#d9b965;transition:background .06s,border-color .06s,color .06s;pointer-events:none;user-select:none}.tutv2-paddle-btn small{font-size:clamp(9px,1.8vw,11px);opacity:.7;letter-spacing:0}.tutv2-paddle-left.tutv2-ind-active{background:#1d4a2a;border-color:#4c6;color:#5fe884}.tutv2-paddle-right.tutv2-ind-active{background:#1d4a2a;border-color:#4c6;color:#5fe884}.tutv2-straight-btn{width:clamp(100px,28vw,160px);min-height:clamp(52px,12vw,70px);display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:10px;font-family:var(--font-display);font-size:clamp(11px,2.5vw,14px);letter-spacing:1px;text-transform:uppercase;border:2px solid #b08a36;background:#2c2615;color:#d9b965;transition:background .06s,border-color .06s,color .06s;pointer-events:none;user-select:none}.tutv2-straight-btn small{font-size:clamp(9px,1.8vw,11px);opacity:.7;letter-spacing:0}.tutv2-straight-btn.tutv2-ind-active{background:#1d4a2a;border-color:#4c6;color:#5fe884}.tutv2-wpm-row{display:flex;align-items:center;gap:10px;justify-content:center;padding:6px 0 4px}.tutv2-wpm-label{font-size:13px;color:var(--text-dim)}.tutv2-wpm-slider{width:clamp(100px,30vw,180px);accent-color:var(--gold)}.tutv2-wpm-display{font-size:13px;font-family:var(--font-mono);color:var(--gold);min-width:52px}.tutv2-wpm-rail{position:absolute;right:clamp(6px,1.6vw,14px);top:clamp(6px,1.6vw,14px);width:clamp(220px,48vw,300px);height:auto;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:clamp(6px,1.4vw,10px);padding:6px clamp(8px,1.6vw,12px);border-radius:12px;background:linear-gradient(180deg,rgba(212,168,67,.1),rgba(180,136,40,6%));border:1px solid rgba(212,168,67,.32);box-sizing:border-box;pointer-events:auto;z-index:5}.tutv2-wpm-readout{font-family:var(--font-mono);font-size:clamp(11px,1.6vw,13px);color:var(--gold);font-weight:700;letter-spacing:.03em;white-space:nowrap;text-align:center;line-height:1.1}.tutv2-wpm-slider{flex:auto;min-width:80px;height:auto;margin:0;accent-color:var(--gold);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.tutv2-wpm-caption{font-family:var(--font-display);font-size:clamp(9px,1.4vw,11px);color:rgba(232,213,163,.78);letter-spacing:.15em;text-transform:uppercase;white-space:nowrap}.tutv2-auto-row{display:flex;justify-content:center;gap:clamp(6px,1.5vw,10px);padding:4px 0 2px;flex-wrap:wrap}.tutorial-v2-active .paddle-btn{width:clamp(100px,22vw,140px)!important;height:clamp(64px,14vw,90px)!important;font-size:clamp(12px,2.8vw,16px)!important}.serial-reconnect-banner{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:center;gap:12px;padding:10px clamp(12px,3vw,24px);background:linear-gradient(180deg,rgba(212,168,67,.92),rgba(180,136,40,.88));color:#1a1208;font-family:var(--font-display);font-weight:700;font-size:clamp(12px,2.4vw,14px);letter-spacing:.05em;box-shadow:0 2px 6px rgba(0,0,0,.45);flex-wrap:wrap}.serial-reconnect-banner-text{flex:auto;text-align:center;white-space:normal}.serial-reconnect-banner-btn{flex:none;font-family:var(--font-display);font-weight:800;font-size:clamp(12px,2.4vw,14px);letter-spacing:.08em;text-transform:uppercase;padding:6px 18px;border-radius:999px;border:1.5px solid #1a1208;background:rgba(255,248,220,.95);color:#1a1208;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .15s,color .15s}.serial-reconnect-banner-btn:hover{background:#fff;color:#000}.serial-reconnect-banner-dismiss{flex:none;background:0 0;border:none;color:#1a1208;font-size:22px;line-height:1;cursor:pointer;padding:0 4px;margin-left:4px;font-weight:800}.serial-reconnect-banner-dismiss:hover{color:#000}.sv2-help-btn{width:34px;height:40px;border-radius:8px;border:1px solid rgba(212,168,67,.5);background:rgba(212,168,67,.16);color:#f0d878;cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1rem;font-weight:900;line-height:1;transition:background 120ms,border-color 120ms,color 120ms,text-shadow 120ms,transform 120ms}.sv2-help-btn:hover,.sv2-help-btn:focus-visible{background:rgba(212,168,67,.34);border-color:rgba(212,168,67,.9);color:#fff8dc;text-shadow:0 0 6px rgba(255,248,220,.5);outline:none}.fk-card-stats-fp-bottom-row{align-self:stretch;display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:2px}.path-card-help-row{margin-top:auto;align-self:stretch;display:flex;justify-content:flex-end;align-items:center;margin-right:-4px;margin-bottom:-4px}.path-card .sv2-help-btn--pathcard{}.gm-help-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:18px;background:0 0;backdrop-filter:none}.gm-help-panel{width:min(720px,94vw);max-height:min(760px,88vh);overflow:hidden;border:1px solid rgba(212,168,67,.62);border-radius:18px;background:linear-gradient(180deg,rgba(12,19,30,.98),rgba(7,11,18,.98));box-shadow:0 18px 44px rgba(0,0,0,.45),inset 0 0 0 1px rgba(255,255,255,3%);color:#f5e7ba;display:flex;flex-direction:column}.gm-help-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid rgba(212,168,67,.38);background:rgba(212,168,67,.1);flex-shrink:0}.gm-help-title{margin:0;color:#f0d878;font-size:1.08rem;letter-spacing:.08em;text-transform:uppercase}.gm-help-close-x{width:34px;height:34px;border:1px solid rgba(212,168,67,.5);border-radius:999px;background:rgba(212,168,67,.12);color:#f0d878;cursor:pointer;font-size:1.3rem;line-height:1}.gm-help-close-x:hover,.gm-help-close-x:focus-visible{border-color:rgba(212,168,67,.9);color:#fff8dc;outline:none}.gm-help-body{padding:18px;overflow-y:auto;flex:auto;min-height:0}.gm-help-summary{margin:0 0 16px;color:rgba(255,248,220,.92);font-size:.98rem;line-height:1.45}.gm-help-section{margin:0 0 14px;padding:12px 14px;border:1px solid rgba(212,168,67,.2);border-radius:12px;background:rgba(255,255,255,.035)}.gm-help-section h3{margin:0 0 6px;color:#f0d878;font-size:.84rem;letter-spacing:.08em;text-transform:uppercase}.gm-help-section p{margin:0;color:rgba(255,248,220,.88);line-height:1.45}.gm-help-footer{display:flex;justify-content:flex-end;padding:0 18px 18px;flex-shrink:0}.gm-help-close-btn{min-width:96px;min-height:36px;border:1px solid rgba(212,168,67,.65);border-radius:999px;background:linear-gradient(135deg,rgba(212,168,67,.28),rgba(180,136,40,.22));color:#f0d878;cursor:pointer;font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.gm-help-close-btn:hover,.gm-help-close-btn:focus-visible{background:linear-gradient(135deg,rgba(212,168,67,.45),rgba(180,136,40,.38));border-color:rgba(212,168,67,.9);color:#fff8dc;outline:none}@media(max-width:600px){.gm-help-overlay{align-items:flex-start;padding:10px}.gm-help-panel{max-height:92vh}.gm-help-title{font-size:.96rem}}.feedback-form{display:flex;flex-direction:column;gap:14px;text-align:left}.feedback-intro{text-align:left;margin:0 0 4px;color:var(--text-dim)}.feedback-field{display:flex;flex-direction:column;gap:6px}.feedback-field-label{font-size:.92rem;color:var(--text-dim);letter-spacing:.02em}.feedback-input,.feedback-textarea{background:var(--bg-dark);color:var(--text);border:1px solid rgba(232,213,163,.35);border-radius:8px;padding:10px 12px;font:inherit;font-size:1rem;outline:none;transition:border-color 120ms ease;width:100%;box-sizing:border-box}.feedback-input:focus,.feedback-textarea:focus{border-color:var(--text)}.feedback-textarea{resize:vertical;min-height:120px;line-height:1.4}.feedback-field-meta{display:flex;justify-content:flex-end;font-size:.85rem;color:var(--text-dim)}.feedback-counter-over{color:var(--red)}.feedback-field-error{font-size:.9rem;color:var(--red)}.feedback-actions{display:flex;justify-content:flex-end;margin-top:4px}.feedback-submit{min-width:110px}.feedback-status{min-height:1.2em;font-size:.95rem;color:var(--text-dim);text-align:left}.feedback-status-ok{color:var(--green)}.feedback-status-err{color:var(--red)}.flight-param-label{cursor:pointer;text-decoration:underline dotted rgba(212,168,67,.4);text-underline-offset:3px;transition:color 120ms ease,text-decoration-color 120ms ease}.flight-param-label:hover{color:var(--text);text-decoration-color:var(--text)}.flight-param-intro-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:rgba(212,168,67,.12);border:1px solid rgba(212,168,67,.4);border-radius:50%;color:#d4a843;font-family:courier new,monospace;font-size:12px;font-weight:700;cursor:pointer;padding:0;line-height:1;transition:background 120ms ease,border-color 120ms ease}.flight-param-intro-btn:hover{background:rgba(212,168,67,.25);border-color:rgba(212,168,67,.7)}.flight-param-intro-row{display:flex;align-items:center;gap:10px;padding:6px 12px 4px;font-size:11px;color:rgba(232,213,163,.65);border-bottom:1px solid rgba(212,168,67,.12);margin-bottom:4px}.flight-param-intro-label{letter-spacing:.04em}.gm-help-default{margin-top:8px;font-size:.88rem;color:var(--text-dim);font-family:courier new,monospace}.gm-help-impact{margin-top:4px;font-size:.88rem;color:var(--text);font-family:courier new,monospace;letter-spacing:.04em}.flight-param-popover{position:absolute;z-index:10001;width:max-content;max-width:min(420px,calc(100vw - 24px));max-height:min(480px,70vh);overflow:hidden;border:1px solid rgba(212,168,67,.62);border-radius:14px;background:linear-gradient(180deg,rgba(12,19,30,.98),rgba(7,11,18,.98));box-shadow:0 12px 32px rgba(0,0,0,.45),inset 0 0 0 1px rgba(255,255,255,3%);color:#f5e7ba;font-family:inherit;display:flex;flex-direction:column}.flight-param-popover.hidden{display:none}.flight-param-popover-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid rgba(212,168,67,.22);flex-shrink:0}.flight-param-popover-title{margin:0;font-size:1rem;letter-spacing:.04em;color:#f0d878;font-weight:600;word-break:break-word}.flight-param-popover-close-x{flex-shrink:0;width:28px;height:28px;background:0 0;border:1px solid rgba(212,168,67,.45);border-radius:50%;color:#d4a843;font-size:18px;line-height:1;cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;transition:background 120ms ease,border-color 120ms ease}.flight-param-popover-close-x:hover{background:rgba(212,168,67,.18);border-color:rgba(212,168,67,.75)}.flight-param-popover-close-x:focus-visible{outline:none;border-color:rgba(212,168,67,.95);color:#fff8dc}.flight-param-popover-body{padding:14px;overflow-y:auto}.flight-param-popover-summary{margin:0 0 12px;color:rgba(255,248,220,.92);font-size:.96rem;line-height:1.45}.flight-param-popover-section{margin:0 0 10px;padding:10px 12px;border:1px solid rgba(212,168,67,.2);border-radius:10px;background:rgba(255,255,255,.035)}.flight-param-popover-section h3{margin:0 0 4px;color:#f0d878;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.flight-param-popover-section p{margin:0;color:rgba(255,248,220,.88);line-height:1.45;font-size:.94rem}.flight-param-popover-default{margin-top:8px;margin-bottom:0;font-size:.86rem;color:var(--text-dim);font-family:courier new,monospace}.flight-param-popover-impact{margin-top:4px;margin-bottom:0;font-size:.86rem;color:var(--text);font-family:courier new,monospace;letter-spacing:.04em}@media(max-width:520px){.flight-param-popover{border-radius:10px;max-height:70vh}.flight-param-popover-title{font-size:.94rem}}.beta-feedback-popover{position:absolute;z-index:10001;width:max-content;max-width:min(480px,calc(100vw - 24px));max-height:min(540px,80vh);overflow:hidden;border:1px solid rgba(212,168,67,.62);border-radius:14px;background:linear-gradient(180deg,rgba(12,19,30,.98),rgba(7,11,18,.98));box-shadow:0 12px 32px rgba(0,0,0,.45),inset 0 0 0 1px rgba(255,255,255,3%);color:#f5e7ba;font-family:inherit;display:flex;flex-direction:column}.beta-feedback-popover.hidden{display:none}.beta-feedback-popover-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid rgba(212,168,67,.22);flex-shrink:0}.beta-feedback-popover-title{margin:0;font-size:1rem;letter-spacing:.04em;color:#f0d878;font-weight:600;word-break:break-word}.beta-feedback-popover-close-x{flex-shrink:0;width:28px;height:28px;background:0 0;border:1px solid rgba(212,168,67,.45);border-radius:50%;color:#d4a843;font-size:18px;line-height:1;cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;transition:background 120ms ease,border-color 120ms ease}.beta-feedback-popover-close-x:hover{background:rgba(212,168,67,.18);border-color:rgba(212,168,67,.75)}.beta-feedback-popover-close-x:focus-visible{outline:none;border-color:rgba(212,168,67,.95);color:#fff8dc}.beta-feedback-popover-body{padding:14px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.beta-feedback-popover-surface{font-size:.82rem;letter-spacing:.04em;color:rgba(240,216,120,.85);padding:6px 10px;border:1px solid rgba(212,168,67,.2);border-radius:8px;background:rgba(255,255,255,.025);word-break:break-word}.beta-feedback-popover-textarea{width:100%;min-height:120px;resize:vertical;padding:10px 12px;border:1px solid rgba(212,168,67,.35);border-radius:8px;background:rgba(0,0,0,.35);color:#f5e7ba;font-family:inherit;font-size:.95rem;line-height:1.4;box-sizing:border-box}.beta-feedback-popover-textarea:focus-visible{outline:none;border-color:rgba(212,168,67,.85)}.beta-feedback-popover-counter{font-size:.75rem;color:rgba(245,231,186,.55);text-align:right}.beta-feedback-popover-identity{display:flex;flex-direction:column;gap:8px}.beta-feedback-popover-identity-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 10px;border:1px solid rgba(212,168,67,.2);border-radius:8px;background:rgba(255,255,255,.025)}.beta-feedback-popover-identity-summary-text{flex:1;font-size:.82rem;color:rgba(240,216,120,.8);letter-spacing:.02em;word-break:break-word}.beta-feedback-popover-identity-toggle{flex-shrink:0;font-size:.78rem;letter-spacing:.06em;background:0 0;border:1px solid rgba(212,168,67,.45);color:#d4a843;border-radius:6px;padding:3px 10px;cursor:pointer;transition:background 120ms ease,border-color 120ms ease}.beta-feedback-popover-identity-toggle:hover{background:rgba(212,168,67,.18);border-color:rgba(212,168,67,.75)}.beta-feedback-popover-identity-toggle:focus-visible{outline:none;border-color:rgba(212,168,67,.95);color:#fff8dc}.beta-feedback-popover-identity-fields{display:flex;flex-direction:column;gap:8px;padding:8px 10px;border:1px solid rgba(212,168,67,.2);border-radius:8px;background:rgba(255,255,255,.025)}.beta-feedback-popover-identity-fields.hidden{display:none}.beta-feedback-popover-identity-field{display:flex;flex-direction:column;gap:4px;font-size:.78rem;letter-spacing:.04em;color:rgba(240,216,120,.75)}.beta-feedback-popover-identity-field-label{}.beta-feedback-popover-identity-input{padding:6px 10px;border:1px solid rgba(212,168,67,.35);border-radius:6px;background:rgba(0,0,0,.35);color:#f5e7ba;font-family:inherit;font-size:.9rem;line-height:1.4;box-sizing:border-box}.beta-feedback-popover-identity-input:focus-visible{outline:none;border-color:rgba(212,168,67,.85)}.beta-feedback-popover-contact-toggle{display:flex;align-items:center;gap:8px;font-size:.85rem;color:rgba(245,231,186,.85);cursor:pointer;user-select:none;padding:4px 0}.beta-feedback-popover-contact-checkbox{flex-shrink:0;width:16px;height:16px;cursor:pointer;accent-color:#d4a843}.beta-feedback-popover-contact-label{flex:1;letter-spacing:.02em}.beta-feedback-popover-contact-fields{display:flex;flex-direction:column;gap:8px;padding:8px 10px;border:1px solid rgba(212,168,67,.2);border-radius:8px;background:rgba(255,255,255,.025)}.beta-feedback-popover-contact-fields.hidden{display:none}.beta-feedback-popover-contact-field-label{display:flex;flex-direction:column;gap:4px;font-size:.78rem;letter-spacing:.04em;color:rgba(240,216,120,.75)}.beta-feedback-popover-contact-input{padding:6px 10px;border:1px solid rgba(212,168,67,.35);border-radius:6px;background:rgba(0,0,0,.35);color:#f5e7ba;font-family:inherit;font-size:.9rem;line-height:1.4;box-sizing:border-box}.beta-feedback-popover-contact-input:focus-visible{outline:none;border-color:rgba(212,168,67,.85)}.beta-feedback-popover-status.is-hint{font-size:.82rem;color:rgba(245,231,186,.55);font-style:italic;letter-spacing:.02em}.beta-feedback-popover-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.beta-feedback-row{display:flex;justify-content:flex-end;margin-top:6px}.beta-feedback-row .beta-feedback-btn.hidden{display:none}.beta-feedback-btn{letter-spacing:.03em}.beta-testers-form{display:flex;flex-direction:column;gap:14px}.beta-testers-intro{margin:0;line-height:1.5}.beta-testers-toggle-row{padding-top:10px;border-top:1px solid rgba(212,168,67,.18)}.beta-testers-fields{display:flex;flex-direction:column;gap:10px}.beta-testers-field{display:flex;flex-direction:column;gap:4px}.beta-testers-field-label{font-size:.82rem;letter-spacing:.04em;color:rgba(240,216,120,.85)}.beta-testers-input{width:100%;padding:8px 10px;border:1px solid rgba(212,168,67,.35);border-radius:8px;background:rgba(0,0,0,.3);color:#f5e7ba;font-family:inherit;font-size:.95rem;box-sizing:border-box}.beta-testers-input:focus-visible{outline:none;border-color:rgba(212,168,67,.85)}.beta-testers-contact-toggle{display:flex;align-items:center;gap:8px;font-size:.9rem;color:rgba(245,231,186,.85);cursor:pointer;user-select:none;padding:4px 0;margin-top:4px}.beta-testers-contact-checkbox{flex-shrink:0;width:18px;height:18px;cursor:pointer;accent-color:#d4a843}.beta-testers-contact-label{flex:1;letter-spacing:.02em}.beta-testers-contact-fields{display:flex;flex-direction:column;gap:10px;padding:10px 12px;border:1px solid rgba(212,168,67,.2);border-radius:8px;background:rgba(255,255,255,.025)}.beta-testers-contact-fields.hidden{display:none}@media(max-width:520px){.beta-feedback-popover-title{font-size:.94rem}}.ios-iambic-warning-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);display:flex;align-items:center;justify-content:center;z-index:10000;padding:16px}.ios-iambic-warning-dialog{background:#1a1d22;color:#e6e6e6;border:1px solid rgba(212,168,67,.55);border-radius:10px;max-width:480px;width:100%;padding:22px 24px;box-shadow:0 8px 32px rgba(0,0,0,.55);font-size:1em;line-height:1.45}.ios-iambic-warning-title{margin:0 0 12px;font-size:1.15em;color:#d4a843;font-weight:600}.ios-iambic-warning-body p{margin:8px 0}.ios-iambic-warning-actions{margin-top:18px;display:flex;justify-content:flex-end}.ios-iambic-warning-btn{background:rgba(212,168,67,.2);color:#f0d878;border:1px solid rgba(212,168,67,.55);border-radius:6px;padding:8px 18px;font-size:.95em;cursor:pointer;min-height:44px;min-width:88px;touch-action:manipulation}.ios-iambic-warning-btn:hover{background:rgba(212,168,67,.3)}.ios-iambic-warning-btn:active{background:rgba(212,168,67,.45);transform:scale(.97)}.flight-cmds-help-intro{margin:0 0 14px;color:rgba(255,248,220,.92);font-size:.98rem;line-height:1.45}.flight-cmds-help-subhead{margin:14px 0 6px;color:#f0d878;font-size:.84rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600}.flight-cmds-help-list{margin:0 0 10px;padding-left:22px;color:rgba(255,248,220,.92);font-size:.95rem;line-height:1.5}.flight-cmds-help-list li{margin:0 0 6px}.ufo-lerp-dev-panel{position:fixed;right:12px;bottom:12px;z-index:9999;width:280px;padding:10px 12px;background:rgba(20,22,28,.92);color:#d8dde3;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;border:1px solid #4b5260;border-radius:6px;box-shadow:0 4px 14px rgba(0,0,0,.5);user-select:none}.ufo-lerp-dev-header{font-weight:700;font-size:11px;color:#ffd966;margin-bottom:8px;letter-spacing:.04em;text-transform:uppercase}.ufo-lerp-dev-row{display:flex;align-items:center;gap:6px;margin-bottom:5px}.ufo-lerp-dev-row-reset{margin-top:6px;justify-content:flex-end}.ufo-lerp-dev-label{flex:0 0 92px;font-size:10px;color:#aab2bd}.ufo-lerp-dev-slider{flex:auto;min-width:0}.ufo-lerp-dev-readout{flex:0 0 64px;text-align:right;font-variant-numeric:tabular-nums;color:#e6ebf2}.ufo-lerp-dev-select{flex:auto;background:#1a1d24;color:#d8dde3;border:1px solid #4b5260;padding:2px 6px;font-family:inherit;font-size:11px}.ufo-lerp-dev-reset{background:#2a2f38;color:#ffd966;border:1px solid #4b5260;padding:4px 10px;font-family:inherit;font-size:10px;cursor:pointer;border-radius:3px}.ufo-lerp-dev-reset:hover{background:#3a4150;color:#ffe9a3}.ufo-lerp-dev-checkbox{flex:none;margin:0;cursor:pointer}.initials-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.82);z-index:10003;padding:20px}.initials-card{background:var(--bg-card,#1a2030);border:2px solid var(--gold);border-radius:8px;padding:clamp(20px,4vw,32px);width:min(92vw,480px);max-height:92dvh;overflow-y:auto;text-align:center;box-shadow:0 8px 32px rgba(0,0,0,.6),0 0 24px rgba(212,168,67,.25)}.initials-header{margin-bottom:20px}.initials-title{font-size:clamp(18px,4.5vw,26px);font-weight:700;letter-spacing:.08em;color:var(--gold);text-transform:uppercase}.initials-rank{font-size:clamp(14px,3vw,18px);color:var(--text,#e8d5a3);letter-spacing:.05em;margin-top:4px}.initials-score{font-size:clamp(28px,7vw,44px);font-weight:700;color:var(--text);margin-top:8px;font-variant-numeric:tabular-nums}.initials-input-wrap{margin:16px 0 12px}.initials-input{width:100%;max-width:360px;padding:12px 16px;font-family:courier new,Courier,monospace;font-size:clamp(22px,5vw,30px);font-weight:700;letter-spacing:.2em;text-align:center;text-transform:uppercase;color:var(--gold);background:rgba(0,0,0,.55);border:2px solid var(--gold-dim,#8b6914);border-radius:6px;outline:none}.initials-input:focus{border-color:var(--gold);box-shadow:0 0 0 1px rgba(212,168,67,.4)}.initials-input.initials-input-invalid{animation:initials-input-shake .3s ease-out;border-color:#d46347}@keyframes initials-input-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}.initials-hint{font-size:11px;color:rgba(232,213,163,.6);letter-spacing:.04em;margin-top:6px}.initials-vkbd{margin:16px 0;display:flex;flex-direction:column;gap:6px}.initials-vkbd-row{display:flex;justify-content:center;gap:4px}.initials-vkbd-key{flex:1;min-width:28px;max-width:44px;height:40px;padding:0;font-size:16px;font-weight:600;color:var(--text);background:rgba(212,168,67,8%);border:1px solid var(--gold-dim,#8b6914);border-radius:4px;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.initials-vkbd-key:active{background:rgba(212,168,67,.35);transform:scale(.96)}.initials-vkbd-backspace{flex:1;max-width:64px;font-size:18px}.initials-actions{display:flex;gap:12px;justify-content:center;margin-top:16px}.initials-btn{padding:10px 20px;font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border-radius:6px;cursor:pointer;border:1px solid var(--gold);font-family:inherit;min-width:100px}.initials-btn-submit{background:var(--gold);color:#1a1410}.initials-btn-submit:hover:not(:disabled){background:#f0d878}.initials-btn-submit:disabled,.initials-btn-submit.is-disabled{background:rgba(212,168,67,.25);color:rgba(26,20,16,.55);cursor:not-allowed;border-color:var(--gold-dim,#8b6914)}.initials-btn-skip{background:0 0;color:var(--text)}.initials-btn-skip:hover{background:rgba(232,213,163,8%)}@media(max-width:480px){.initials-card{padding:18px 14px}.initials-vkbd-key{height:36px;min-width:24px;font-size:14px}}.top-scores-popover{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.82);z-index:10003;padding:20px}.top-scores-card{background:var(--bg-card,#1a2030);border:2px solid var(--gold);border-radius:8px;padding:clamp(16px,3vw,24px);width:fit-content;max-width:min(95vw,960px);min-width:320px;max-height:88dvh;display:flex;flex-direction:column;gap:12px;box-shadow:0 8px 32px rgba(0,0,0,.6),0 0 24px rgba(212,168,67,.25)}.top-scores-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid var(--gold-dim,#8b6914)}.top-scores-title{font-size:clamp(15px,3vw,18px);font-weight:700;letter-spacing:.08em;color:var(--gold);text-transform:uppercase}.top-scores-close{background:0 0;border:1px solid var(--gold-dim,#8b6914);color:var(--text);font-size:22px;line-height:1;width:32px;height:32px;border-radius:4px;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center}.top-scores-close:hover{border-color:var(--gold);color:var(--gold)}.top-scores-list{overflow-y:auto;display:grid;grid-template-columns:36px auto auto auto auto auto auto auto;gap:4px 0;max-height:60dvh}.top-scores-row{display:grid;grid-column:1/-1;grid-template-columns:subgrid;align-items:center;column-gap:10px;padding:6px 8px;background:rgba(212,168,67,5%);border-radius:4px;font-family:var(--font-mono);font-size:13px}.top-scores-row-header{background:0 0;border:0;padding:4px 8px 2px;font-size:10px;letter-spacing:.08em;color:rgba(212,168,67,.55);text-transform:uppercase}.top-scores-row-header>span{color:inherit;font-weight:500;font-style:normal}.top-scores-row[data-rank="1"]{background:rgba(212,168,67,.15);border:1px solid rgba(212,168,67,.4)}.top-scores-rank{color:rgba(212,168,67,.7);font-weight:700;letter-spacing:.05em}.top-scores-identifier{color:var(--text);font-weight:600;letter-spacing:.1em;white-space:nowrap}.top-scores-aircraft-name{color:rgba(232,213,163,.75);font-size:12px;letter-spacing:.05em;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-scores-aircraft-name.is-fallback,.top-scores-aircraft-name.is-legacy{color:rgba(232,213,163,.45);font-style:italic}.top-scores-duration{color:rgba(232,213,163,.8);font-variant-numeric:tabular-nums;font-size:12px;min-width:36px;text-align:right}.top-scores-duration.is-legacy{color:rgba(232,213,163,.45)}.top-scores-score{color:var(--gold);font-weight:700;font-variant-numeric:tabular-nums;text-align:right}.top-scores-ppm{color:rgba(232,213,163,.8);font-variant-numeric:tabular-nums;font-size:12px;min-width:36px;text-align:right}.top-scores-date{color:rgba(232,213,163,.7);font-variant-numeric:tabular-nums;font-size:11px;min-width:52px;text-align:right;white-space:nowrap}.top-scores-abductions{display:flex;align-items:center;gap:6px;justify-content:flex-end;min-width:0}.top-scores-abduction{display:inline-flex;align-items:center;gap:2px;color:var(--text);font-size:12px}.top-scores-abduction-glyph{font-size:14px}.top-scores-abduction-count{color:rgba(232,213,163,.75);font-variant-numeric:tabular-nums}.top-scores-empty{padding:24px 12px;text-align:center;color:rgba(232,213,163,.6);font-style:italic;font-size:14px}@media(max-width:480px){.top-scores-list{grid-template-columns:auto auto auto auto auto auto}.top-scores-row{column-gap:8px;font-size:12px}.top-scores-rank,.top-scores-duration{display:none}.top-scores-aircraft-name{max-width:90px}.top-scores-abduction-glyph{font-size:13px}.ts-date-year{display:none}}.top-scores-reset-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.82);z-index:10003;padding:20px}.ts-reset-card{background:var(--bg-card,#1a2030);border:2px solid var(--gold);border-radius:8px;padding:clamp(16px,3vw,24px);width:min(92vw,480px);max-height:88dvh;display:flex;flex-direction:column;gap:12px;box-shadow:0 8px 32px rgba(0,0,0,.6),0 0 24px rgba(212,168,67,.25)}.ts-reset-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid var(--gold-dim,#8b6914)}.ts-reset-title{font-size:clamp(15px,3vw,18px);font-weight:700;letter-spacing:.08em;color:var(--gold);text-transform:uppercase}.ts-reset-close{background:0 0;border:1px solid var(--gold-dim,#8b6914);color:var(--text);font-size:22px;line-height:1;width:32px;height:32px;border-radius:4px;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center}.ts-reset-close:hover{border-color:var(--gold);color:var(--gold)}.ts-reset-toolbar{display:flex;gap:8px}.ts-reset-list{overflow-y:auto;display:flex;flex-direction:column;gap:2px;max-height:50dvh}.ts-reset-row{display:flex;align-items:center;gap:10px;padding:8px 10px;background:rgba(212,168,67,5%);border-radius:4px;cursor:pointer;font-size:14px}.ts-reset-row:hover:not(.is-disabled){background:rgba(212,168,67,.12)}.ts-reset-row.is-disabled{opacity:.45;cursor:not-allowed}.ts-reset-checkbox{flex:none;width:16px;height:16px;accent-color:var(--gold);cursor:inherit}.ts-reset-name{flex:auto;color:var(--text);font-weight:600}.ts-reset-count{flex:none;color:rgba(232,213,163,.6);font-variant-numeric:tabular-nums;font-size:12px}.ts-reset-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:4px;border-top:1px solid var(--gold-dim,#8b6914)}.ts-reset-confirm:disabled,.ts-reset-confirm.is-disabled{opacity:.4;cursor:not-allowed}@media(max-width:480px){.ts-reset-row{padding:6px 8px;font-size:13px}.ts-reset-toolbar{flex-direction:row;flex-wrap:wrap}}.draggable-card .sv2-card-header{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.draggable-card.is-dragging .sv2-card-header{cursor:grabbing}.tutv2-completion-card{width:min(360px,90vw)}.tutv2-completion-header{justify-content:center;text-align:center}.tutv2-completion-face{padding:14px 16px 16px}.tutv2-completion-actions{display:flex;flex-direction:column;gap:8px;margin-top:0}.tutv2-completion-actions .hanger-select-pill{width:100%}.mf-feedback-tab{position:fixed;right:0;bottom:80px;width:4px;height:96px;border-top-left-radius:16px;border-bottom-left-radius:16px;background:linear-gradient(135deg,rgba(212,168,67,.28),rgba(180,136,40,.22));border:1px solid rgba(212,168,67,.65);border-right:none;color:transparent;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:width .18s ease,color .15s,background .15s,border-color .15s;z-index:9000;display:flex;align-items:center;justify-content:flex-start;padding:0 0 0 14px;box-sizing:border-box;overflow:hidden;user-select:none;outline:none}.mf-feedback-tab:focus-visible{border-color:rgba(212,168,67,.9);box-shadow:0 0 0 2px rgba(212,168,67,.45)}.mf-feedback-tab.is-open{width:120px;background:linear-gradient(135deg,rgba(212,168,67,.45),rgba(180,136,40,.38));border-color:rgba(212,168,67,.9);color:#f0d878}.mf-feedback-tab-label{font-size:.9rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s ease .05s}.mf-feedback-tab.is-open .mf-feedback-tab-label{opacity:1}@media(max-width:600px){.mf-feedback-tab{bottom:96px;height:80px}}.bwe-input-panel.char-mode{min-width:4ch;width:auto;padding:4px 10px;transform:none;translate:-50% 0;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.bwe-input-panel.char-mode.is-dragging{cursor:grabbing}.bwe-input-panel.char-mode .bwe-panel-entry-row{display:flex;align-items:center;justify-content:center;gap:10px}.bwe-panel-input.char-mode{width:3ch;font-size:16px;letter-spacing:0;text-align:center;border:1px solid transparent;background:rgba(255,255,255,5%);border-radius:4px;padding:4px 0;transition:border-color 80ms ease-out,background-color 80ms ease-out;cursor:text;touch-action:manipulation;user-select:text;-webkit-user-select:text}.bwe-panel-input.char-mode.is-wrong{border-color:rgba(220,60,60,.92);background:rgba(220,60,60,.18);color:#ffb0b0}.bwe-panel-input.char-mode.is-correct{border-color:rgba(80,200,100,.92);background:rgba(80,200,100,.18);color:#b8f0c4}.bwe-panel-input.char-mode.is-gold{border-color:rgba(212,168,67,.92);background:rgba(212,168,67,.18);color:#f0d49a}.copy-char-panel-abc{display:block;width:40px;height:22px;object-fit:contain;flex:none;pointer-events:none;user-select:none;-webkit-user-drag:none}#copy-char-sk-end-btn{display:block;margin:6px auto 0;font-size:.85rem;padding:3px 12px;cursor:pointer;touch-action:manipulation}body.copy-char-panel-keyboard-active .canvas-wrap{padding-bottom:var(--copy-char-panel-keyboard-inset,0px)}.beta-feedback-popover-header{cursor:grab;touch-action:none;user-select:none}.beta-feedback-popover.is-dragging .beta-feedback-popover-header{cursor:grabbing}.bwe-input-panel.key-mode{transform:none;translate:-50% 0;padding:6px 12px;min-width:0;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.bwe-input-panel.key-mode.is-dragging{cursor:grabbing}.key-char-panel-row{display:flex;align-items:center;justify-content:center;gap:10px}.bwe-input-panel.key-mode .bwe-panel-input.char-mode{cursor:text;touch-action:manipulation;user-select:text;-webkit-user-select:text}.bwe-input-panel.key-mode.is-dragging .key-char-panel-row{}.key-char-key-sprite{display:block;width:40px;height:32px;object-fit:contain;flex:none;pointer-events:none;user-select:none;-webkit-user-drag:none}#key-char-sk-end-btn{display:block;margin:6px auto 0;font-size:.85rem;padding:3px 12px;cursor:pointer;touch-action:manipulation}body.cvk-visible .hst-root{--hst-bottom:var(--cvk-bottom, 130px)}body.cvk-visible .mf-feedback-tab{bottom:var(--cvk-bottom,130px)}body.cvk-visible #version-label{bottom:130px}body:has(.canvas-wrap.has-touch-paddle) .hst-root{--hst-bottom:calc(88px + env(safe-area-inset-bottom, 0px) + 4px)}body:has(.canvas-wrap.has-touch-paddle),body:has(.canvas-wrap.has-touch-paddle) #race-screen,body:has(.canvas-wrap.has-touch-paddle) #endurance-screen,body:has(.canvas-wrap.has-touch-paddle) .canvas-wrap{touch-action:none}.hud-engine-control-btn{display:none!important}#btn-endurance-stop{display:none!important}.btn-open-sidebar-any{display:none!important}.skies-settings-subheading{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;opacity:.65;margin:8px 0 2px}.feedback-context-overlay{position:fixed;inset:0;z-index:10005;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(0,0,0,.35)}.feedback-context-overlay.hidden{display:none}.feedback-context-panel{width:min(380px,94vw)}.feedback-context-intro-text{margin:0;line-height:1.5}.fw-pitch-indicator{display:inline-flex;align-items:center;justify-content:center;min-width:1.6em;padding:0 .3em;font-size:1.05rem;line-height:1;color:#ffd97a;text-shadow:0 0 4px rgba(0,0,0,.55);user-select:none;pointer-events:none}