/* Kaldrix practice v2.19.0. Local assets only; responsive desktop / touch controls. */
@font-face{font-family:Pretendard;src:url('fonts/PretendardVariable.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{color-scheme:dark;--bg:#101114;--panel:#181a1f;--panel2:#202228;--ink:#f2f0ec;--muted:#9397a1;--line:#2c2e35;--gold:#e9bd78;--gold-bg:#30281e;--green:#8ed4b2;--sidebar:206px}
html[data-theme=light]{color-scheme:light;--bg:#f3f2ef;--panel:#fff;--panel2:#f4f3f0;--ink:#20232c;--muted:#646976;--line:#dfded9;--gold:#8b5c1e;--gold-bg:#f6ebd8;--green:#20704d}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Pretendard,"Noto Sans KR",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;line-height:1.6}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible,canvas:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button{color:var(--ink)}[hidden]{display:none!important}h1,h2,p{margin:0}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-60px;left:16px;z-index:100;background:var(--gold);color:#111;padding:10px}.skip-link:focus{top:10px}
.practice-sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);display:flex;flex-direction:column;padding:32px 16px 22px;border-right:1px solid var(--line);background:var(--bg);z-index:20}.side-brand{display:flex;gap:8px;align-items:center;padding:0 0 34px}.side-brand img{width:66px;height:auto;object-fit:contain}.side-brand>span{font-size:14px;font-weight:750;white-space:nowrap}.side-brand small{display:block;color:var(--muted);font-size:8px;letter-spacing:1.6px;margin-top:3px}.practice-sidebar nav{display:grid;gap:8px}.practice-sidebar nav a,.side-bottom a{display:flex;align-items:center;gap:11px;padding:13px 11px;border-radius:9px;color:var(--muted);font-size:12px;font-weight:600;white-space:nowrap}.practice-sidebar nav a:hover{background:var(--panel2);color:var(--ink)}.side-bottom{margin-top:auto}.side-caption{display:block;color:var(--muted);font-size:8px;letter-spacing:1.5px;margin:0 10px 12px}.practice-sidebar nav a.active{background:var(--gold-bg);color:var(--gold);border:1px solid color-mix(in srgb,var(--gold) 25%,transparent)}.practice-sidebar nav i{font-style:normal;font-size:8px;letter-spacing:1px;margin-left:auto}.practice-shell{margin-left:var(--sidebar)}.site-top{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 36px;color:var(--muted);font-size:12px}.site-top b{font-weight:400;margin:0 15px;color:var(--line)}.site-top>div{display:flex;align-items:center;gap:18px}.icon-button{height:34px;width:34px;border:1px solid var(--line);border-radius:8px;background:var(--panel);font-size:21px;line-height:1}.practice-shell main{padding:32px 36px 24px;max-width:1660px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--gold);margin-bottom:9px}.eyebrow>span{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gold);margin-right:9px;vertical-align:middle}h1{font-size:32px;font-weight:750;letter-spacing:-1.3px;line-height:1.3}h1 em{font-style:normal;color:var(--gold)}.intro{font-size:12px;color:var(--muted);margin-top:12px;line-height:1.8}.mobile-break{display:none}.quiet-button,.mini-button,.primary-button{border:1px solid var(--line);background:var(--panel2);border-radius:7px;padding:9px 14px;font-size:12px;font-weight:600;white-space:nowrap}.quiet-button:hover,.mini-button:hover{filter:brightness(1.16)}.primary-button{background:#e7bd7f;color:#221a11;border:1px solid #e7bd7f;box-shadow:0 3px 15px #00000014}.primary-button:hover{background:#f1ca8f}.primary-button>span{margin-left:28px}.mini-button{padding:4px 10px;background:#ffffff06;color:#d0c5b9;border-color:#ffffff1a;font-size:10px}
.practice-layout{display:grid;grid-template-columns:minmax(0,1fr) 292px;gap:22px;align-items:start}.play-column,.settings-column{min-width:0}.settings-column{display:grid;gap:16px}.arena-card{overflow:hidden;border:1px solid #39302a;border-radius:12px;background:#161419;box-shadow:0 12px 42px #00000012}.arena-toolbar{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:#201c1d;border-bottom:1px solid #382e2a;color:#e2dcd6}.arena-toolbar>div{display:flex;align-items:center;gap:9px}.arena-toolbar strong{font-size:12px;font-weight:650}.live-dot{width:6px;height:6px;border-radius:50%;background:#e4b875;box-shadow:0 0 8px #e4b87566}.subtle{font-size:10px;color:#998b82}.canvas-wrap{position:relative;aspect-ratio:1.52;min-height:360px;background:#160f10;overflow:hidden}canvas{display:block;width:100%;height:100%;touch-action:none}.boss-bar{position:absolute;left:50%;top:22px;transform:translateX(-50%);width:32%;max-width:270px;min-width:150px;text-align:center;pointer-events:none;color:#e4ceba;text-shadow:0 2px 3px #000}.boss-bar>span{font-size:8px;color:#a28d7c;letter-spacing:1px}.boss-bar>strong{font-size:13px;letter-spacing:3px;display:block;margin:3px 0 7px}.boss-bar>div{height:5px;background:#392326;border:1px solid #c28e6655}.boss-bar i{display:block;height:100%;width:75%;background:linear-gradient(90deg,#813535,#df795f)}.boss-bar small{position:absolute;right:0;bottom:9px;font-size:8px;color:#d8b098}.arena-state{position:absolute;left:16px;top:18px;color:#cdb599;font-size:10px;letter-spacing:.4px;border-left:2px solid #bc9666;padding-left:8px;pointer-events:none}.start-overlay,.pause-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse,#150e13e8 0%,#150e1385 70%);color:#f2e7da;z-index:3;text-align:center}.start-overlay h2{font-size:23px;letter-spacing:-.7px;font-weight:600;margin:20px 0 9px}.start-overlay p{font-size:12px;line-height:1.9;color:#af9f99}.start-overlay .primary-button{margin-top:22px;min-width:166px;padding:11px 18px}.start-overlay small{font-size:10px;color:#928681;margin-top:15px}.signal-mark{display:flex;gap:10px;padding:11px 16px;border:1px solid #77645755;border-radius:40px;background:#191315cc}.signal-mark i{width:10px;height:10px;border-radius:100%;background:#fd6b64;box-shadow:0 0 16px #fd6b6477}.signal-mark i:nth-child(2){background:#7ae4a5;box-shadow:0 0 16px #7ae4a577}.signal-mark i:nth-child(3){background:#79b0ff;box-shadow:0 0 16px #79b0ff77}.pause-overlay{z-index:5;background:#100e17c9;backdrop-filter:blur(3px)}.pause-overlay strong{font-size:23px}.pause-overlay p{color:#b8adab;margin:10px 0 20px;font-size:12px}.arena-message{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);background:#17131def;color:#e9c794;max-width:90%;width:max-content;padding:8px 15px;border:1px solid #94745555;border-radius:7px;font-size:12px;text-align:center;pointer-events:none;transition:opacity .2s}.arena-message:empty{opacity:0}.run-hud{display:flex;align-items:center;gap:21px;padding:17px 20px;border-top:1px solid #332a28;color:#dfd3c7;background:#1d191b}.pulse-caption>span,.round-score>span{display:block;font-size:9px;color:#a89588;margin-bottom:3px}.pulse-caption strong{font-size:22px;line-height:1;font-weight:600}.pulse-caption b{font-weight:600}.pulse-caption small{font-size:12px;color:#96877b}.pulse-track{flex:1}.pulse-dots{display:flex;gap:5px;margin-bottom:7px}.pulse-dots span{height:5px;flex:1;background:#41342f;border-radius:1px}.pulse-dots span.done{background:#bd9a68}.pulse-dots span.current{background:#fa9b7e;box-shadow:0 0 9px #ea805b55}.pulse-dots span:nth-child(3),.pulse-dots span:nth-child(5){margin-right:7px}.cast-track{height:3px;background:#32262a;overflow:hidden}.cast-track i{display:block;width:0;height:100%;background:#e96c67}.pulse-track>span{display:block;font-size:9px;color:#a49489;margin-top:6px;min-height:15px}.round-score{text-align:right}.round-score strong{font-size:17px;white-space:nowrap}.arena-controls{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:13px 16px;background:var(--panel);color:var(--ink)}.arena-controls>div{display:flex;gap:7px}.arena-controls>span{color:var(--muted);font-size:9px;white-space:nowrap}.arena-controls button{font-size:11px;padding:9px 11px}kbd{display:inline-block;border:1px solid var(--line);background:var(--panel2);padding:1px 4px;border-radius:4px;font:10px inherit;margin-left:3px}.guide-strip{display:flex;gap:12px;align-items:flex-start;padding:18px 0}.guide-icon{display:grid;place-items:center;border:1px solid var(--line);height:29px;width:29px;flex-shrink:0;border-radius:7px;color:var(--gold);font-size:21px}.guide-strip strong{font-size:11px;font-weight:650}.guide-strip p{color:var(--muted);font-size:10px;margin-top:4px;line-height:1.8}.guide-strip b{font-weight:600;color:var(--gold)}
.settings-card,.target-card,.record-card,.result-card{background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:19px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px;gap:10px}.section-heading h2{font-size:13px;font-weight:650}.section-heading>span{color:var(--muted);font-size:9px;letter-spacing:.6px}.section-heading #settingsBadge{font-size:8px;color:var(--gold);border:1px solid var(--line);padding:2px 6px;border-radius:4px}fieldset{border:0;margin:0;padding:0;min-width:0}fieldset:disabled{opacity:.7}.field-caption{font-size:10px;color:var(--muted);display:block;margin-bottom:8px}.segmented{display:flex;border:1px solid var(--line);border-radius:8px;padding:3px;gap:3px;background:var(--bg);margin-bottom:18px}.segmented button{flex:1;min-width:0;padding:10px 2px;background:none;border:1px solid transparent;border-radius:5px;font-size:14px;font-weight:700}.segmented button span{display:block;font-size:8px;font-weight:400;color:var(--muted);margin-top:3px}.segmented button[aria-pressed=true]{background:var(--gold-bg);border-color:color-mix(in srgb,var(--gold) 40%,transparent);color:var(--gold)}.field-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:9px}.field-grid label{font-size:9px;color:var(--muted)}select{width:100%;min-width:0;display:block;background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:8px 4px;color:var(--ink);font-size:10px;margin-top:6px}option{background:var(--panel);color:var(--ink)}.field-hint{font-size:9px;line-height:1.8;color:var(--muted);margin:10px 0 18px}.speed-field{display:block;font-size:10px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:6px}.speed-field>span:not(.range-labels){float:right;font-size:12px;color:var(--gold);font-weight:650}input[type=range]{width:100%;accent-color:#d7b179;height:4px;margin:17px 0 11px;cursor:pointer}.range-labels{display:flex;justify-content:space-between;font-size:8px;color:var(--muted)}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:11px 0}.toggle-row strong{font-size:11px;font-weight:550}.toggle-row small{display:block;font-size:8px;color:var(--muted);margin-top:2px}.toggle-row input{appearance:none;width:31px;height:18px;background:var(--line);border-radius:12px;position:relative;flex-shrink:0;border:0;cursor:pointer;margin:0}.toggle-row input:after{content:"";width:12px;height:12px;border-radius:50%;background:#aaa;position:absolute;left:3px;top:3px;transition:transform .15s}.toggle-row input:checked{background:#ad8248}.toggle-row input:checked:after{background:#fff1d9;transform:translateX(13px)}.fine-settings{border-top:1px solid var(--line);margin-top:8px;padding-top:12px;color:var(--muted);font-size:9px}.fine-settings summary{cursor:pointer}.fine-settings label{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.fine-settings input{width:54px;background:var(--bg);border:1px solid var(--line);border-radius:4px;color:var(--ink);padding:3px}.fine-settings p{line-height:1.8;margin-top:12px;font-size:9px}.target-colors{display:flex;justify-content:space-between;gap:9px;margin-bottom:16px}.target-color{position:relative;flex:1;text-align:center;padding:10px 2px;border:1px solid var(--line);background:var(--bg);border-radius:7px}.target-color i{display:block;width:13px;height:13px;border-radius:50%;margin:0 auto 7px;box-shadow:0 0 12px currentColor}.target-color span{display:block;font-size:9px}.target-color small{font-size:8px;color:var(--muted)}.target-color.current{border-color:var(--gold)}.target-color.muted{opacity:.35}.lane-cards{display:grid;gap:8px}.lane-card{display:flex;align-items:center;justify-content:space-between;padding:9px 10px;background:var(--panel2);border-radius:6px;font-size:10px}.lane-card>span{color:var(--muted)}.lane-orbs{display:flex;align-items:center;gap:7px}.orb-chip{width:21px;height:21px;border-radius:50%;display:grid;place-items:center;font-size:9px;font-weight:700;background:var(--bg);border:1px solid currentColor}.hint-text{color:var(--gold);font-size:10px;margin-top:14px;line-height:1.8}.record-grid{display:grid;grid-template-columns:1fr 1fr 1fr;text-align:center}.record-grid>div+div{border-left:1px solid var(--line)}.record-grid strong{display:block;font-size:21px;font-weight:600}.record-grid span{color:var(--muted);font-size:8px}.event-log{border-top:1px solid var(--line);margin-top:17px;padding-top:12px;font-size:9px;color:var(--muted);max-height:150px;overflow:auto}.event-log p{margin:5px 0;line-height:1.7}.event-log .success{color:var(--green)}.event-log .failure{color:#ed8c85}.result-card{margin:5px 0 18px}.result-top{display:flex;align-items:center;justify-content:space-between}.result-top h2{font-size:20px}.result-top>strong{font-size:28px;color:var(--gold)}.result-card>p{font-size:11px;color:var(--muted);margin:12px 0}.result-rows{display:grid;gap:6px;margin:14px 0}.result-row{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:8px 0;font-size:11px}.result-row>span{color:var(--muted)}.result-row .ok{color:var(--green)}.result-row .bad{color:#ed8c85}.about-practice{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px}.about-practice summary{cursor:pointer;line-height:1.8}.about-practice p{margin-top:12px;max-width:1000px;line-height:1.9}.about-practice a{display:inline-block;color:var(--gold);margin:0 20px 8px 0}.about-practice a:hover{text-decoration:underline}footer{border-top:1px solid var(--line);margin-top:8px;display:flex;justify-content:space-between;padding:20px 36px;color:var(--muted);font-size:10px}
.mobile-pad{display:none;position:absolute;bottom:14px;left:14px;grid-template-columns:31px 31px 31px;grid-template-rows:31px 31px 31px;gap:3px;z-index:2;user-select:none}.mobile-pad button{background:#201b25b8;border:1px solid #d9c2a33b;border-radius:7px;color:#ead7bd;font-size:15px;touch-action:none}.mobile-pad span{display:grid;place-items:center;color:#bdada0;font-size:8px}.mobile-pad [data-move=up]{grid-column:2}.mobile-pad [data-move=left]{grid-column:1;grid-row:2}.mobile-pad span{grid-column:2;grid-row:2}.mobile-pad [data-move=right]{grid-column:3;grid-row:2}.mobile-pad [data-move=down]{grid-column:2;grid-row:3}.mobile-pad button:active{background:#d4a36b77}dialog{max-width:520px;width:calc(100% - 32px);max-height:calc(100dvh - 40px);overflow:auto;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:27px;box-shadow:0 24px 80px #0008}dialog::backdrop{background:#08090dc4;backdrop-filter:blur(5px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center}dialog h2{font-size:24px;letter-spacing:-.8px;margin:13px 0 22px}dialog ol{padding-left:19px;font-size:12px;color:var(--muted)}dialog li{padding-left:7px;margin-bottom:16px;line-height:1.8}dialog li strong{display:block;color:var(--ink);margin-bottom:3px}dialog>p{font-size:11px;color:var(--muted);line-height:2}.help-note{background:var(--gold-bg);padding:12px;border-radius:7px;margin:15px 0;color:var(--gold)}dialog>.primary-button{width:100%}.practice-toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:calc(100% - 28px);width:max-content;background:var(--panel2);border:1px solid var(--gold);border-radius:9px;color:var(--ink);font-size:12px;padding:12px 18px;z-index:100;box-shadow:0 10px 35px #0007}.arena-card:fullscreen{display:flex;flex-direction:column;width:100vw;height:100dvh;border-radius:0;background:#160f10}.arena-card:fullscreen .canvas-wrap{flex:1;min-height:0;aspect-ratio:auto}.arena-card:fullscreen canvas{height:100%}.arena-card:fullscreen .run-hud{padding:12px 25px}.arena-card:fullscreen .arena-controls{padding:10px 25px}
@media(min-width:1700px){.canvas-wrap{aspect-ratio:1.65}.practice-layout{grid-template-columns:minmax(0,1fr) 320px}.settings-card,.target-card,.record-card{padding:22px}}
@media(max-width:1300px){:root{--sidebar:80px}.practice-sidebar{padding:27px 11px 20px}.side-brand{padding-bottom:31px;justify-content:center}.side-brand img{width:57px}.side-brand>span,.practice-sidebar nav span,.side-bottom a span,.practice-sidebar nav i,.side-caption{display:none}.practice-sidebar nav a,.side-bottom a{justify-content:center;padding:15px 10px}.practice-shell main{padding:26px}.site-top{padding:0 26px}.practice-layout{grid-template-columns:minmax(0,1fr) 270px;gap:18px}.arena-controls>span{display:none}.settings-card,.target-card,.record-card{padding:17px}.canvas-wrap{aspect-ratio:1.25}.arena-toolbar{padding:12px}.arena-toolbar .subtle{font-size:9px}}
@media(max-width:1000px){.practice-layout{grid-template-columns:minmax(0,1fr)}.settings-column{grid-template-columns:1fr 1fr;align-items:start}.settings-card{grid-row:span 2}.canvas-wrap{aspect-ratio:1.6}.page-heading{margin-bottom:22px}.arena-controls>span{display:block}.local-note{display:none}.mobile-pad{display:grid}.arena-message{max-width:60%;left:auto;right:12px;transform:none;bottom:15px;font-size:11px}.start-overlay h2{font-size:25px}}
@media(max-width:600px){:root{--sidebar:0px}.practice-sidebar{inset:auto 0 0;width:100%;height:64px;border-top:1px solid var(--line);border-right:0;display:grid;grid-template-columns:1fr;gap:0;padding:4px 8px max(4px,env(safe-area-inset-bottom));background:var(--panel)}.side-brand,.side-caption{display:none}.practice-sidebar nav{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.practice-sidebar nav a,.side-bottom a{flex-direction:column;gap:1px;padding:5px 1px;font-size:9px;line-height:1.5;border-radius:7px}.practice-sidebar nav span,.side-bottom a span{display:block;font-size:8px;font-weight:400}.practice-sidebar svg{width:19px;height:19px}.side-bottom{display:none}.practice-sidebar nav a.active{border-color:transparent}.site-top{height:54px;padding:0 16px;font-size:10px}.site-top b{margin:0 7px}.icon-button{height:29px;width:29px;font-size:18px}.practice-shell main{padding:21px 12px}.page-heading{gap:10px;align-items:flex-start;padding:0 3px;margin-bottom:19px}.eyebrow{font-size:8px;letter-spacing:1.4px;margin-bottom:8px}h1{font-size:27px}.intro{font-size:10px;margin-top:8px}.mobile-break{display:block}.page-heading>.quiet-button{font-size:9px;padding:6px 8px;margin-top:3px}.arena-toolbar{padding:10px}.arena-toolbar>div{gap:6px}.arena-toolbar strong{font-size:10px}.arena-toolbar .subtle{font-size:8px}.mini-button{font-size:9px;padding:3px 6px}.canvas-wrap{aspect-ratio:auto;height:390px;min-height:390px}.boss-bar{top:18px;min-width:135px}.arena-state{top:14px;left:11px;font-size:8px;max-width:80px}.start-overlay h2{font-size:21px}.start-overlay p{font-size:11px}.start-overlay .primary-button{font-size:12px;padding:10px 15px}.run-hud{padding:13px 12px;gap:14px}.pulse-caption strong{font-size:21px}.pulse-caption>span,.round-score>span{font-size:8px}.round-score strong{font-size:15px}.pulse-track>span{font-size:8px}.arena-controls{padding:11px;justify-content:center}.arena-controls>div{gap:6px;width:100%}.arena-controls button{font-size:10px;padding:10px 8px;flex:1}.arena-controls>span{display:none}.settings-column{grid-template-columns:1fr;gap:12px}.settings-card{grid-row:auto}.settings-card,.target-card,.record-card{padding:18px}.field-caption{font-size:11px}.segmented button{font-size:15px;padding:11px}.segmented button span{font-size:10px}.field-grid label{font-size:11px}.field-grid select{font-size:12px;padding:10px 7px}.field-hint{font-size:10px}.speed-field{font-size:12px}.range-labels{font-size:9px}.toggle-row strong{font-size:12px}.toggle-row small{font-size:10px}.fine-settings{font-size:11px}.fine-settings p{font-size:10px}.record-grid span{font-size:10px}.target-color span,.lane-card{font-size:11px}.target-color small{font-size:9px}.hint-text{font-size:11px}.guide-strip{padding:15px 3px}.guide-strip strong{font-size:10px}.guide-strip p{font-size:10px}.about-practice{font-size:10px;margin-top:5px}.result-row{font-size:10px}.result-top>strong{font-size:25px}footer{padding:18px 16px 88px;font-size:9px}.practice-toast{bottom:79px;font-size:11px}.arena-card:fullscreen .canvas-wrap{min-height:0;height:auto}.arena-card:fullscreen .arena-message{right:14px}.event-log{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

#fullscreenButton{display:flex;align-items:center;justify-content:center;min-height:26px}#fullscreenButton svg{width:14px;height:14px}
#configFields:disabled{opacity:.9}#configFields:disabled button{opacity:.8}

/* Front practice: keep the selected lanes and movement controls in one view. */
.segmented button{font-size:13px;padding:10px 2px}.segmented #frontModeButton{flex:1.5}.segmented button span{font-size:8px;white-space:nowrap}
.front-options{padding:12px;background:var(--gold-bg);border:1px solid color-mix(in srgb,var(--gold) 23%,transparent);border-radius:8px;margin:-5px 0 17px}.front-option-heading{display:flex;justify-content:space-between;gap:6px;align-items:center}.front-option-heading strong{font-size:11px;color:var(--gold)}.front-option-heading>span{font-size:8px;color:var(--muted)}.front-line-picker{display:flex;gap:6px;margin:11px 0}.front-line-picker button{flex:1;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:7px 3px;font-size:11px;color:var(--muted)}.front-line-picker button[aria-pressed=true]{border-color:var(--gold);color:var(--gold);font-weight:700}.front-options>p{font-size:9px;color:var(--muted);line-height:1.8}.front-options .toggle-row{padding:12px 0 0;margin-top:10px;border-top:1px solid color-mix(in srgb,var(--gold) 20%,transparent)}.front-options .toggle-row strong{font-size:10px}.front-options .toggle-row small{font-size:8px}
.direction-front{grid-template-columns:1fr}.front-mode .mobile-pad{display:none}.front-mode .start-overlay{inset:auto 0 15px;background:none;pointer-events:none}.front-mode .start-overlay .signal-mark,.front-mode .start-overlay h2,.front-mode .start-overlay p,.front-mode .start-overlay small{display:none}.front-mode .start-overlay .primary-button{margin:0;pointer-events:auto}.front-mode .arena-state{font-size:9px;max-width:110px}.front-mode .arena-message{bottom:10px;right:auto;left:50%;transform:translateX(-50%);max-width:92%;font-size:10px;padding:6px 11px}.front-mode .boss-bar{top:18px}.front-mode .boss-bar>span{font-size:7px}
.focus-controls{background:#1b191e;border-top:1px solid #3d3430;padding:13px 18px 10px;color:#d9c3a4}.focus-moves{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.focus-moves button{background:#29242a;border:1px solid #554331;border-radius:7px;padding:10px 5px;color:#f1d1a3;font-size:11px;font-weight:600;transition:background .15s}.focus-moves button:hover:not(:disabled){background:#403327}.focus-moves button[data-focus-move=avoid]{border-color:#475461;color:#b8cadc;background:#20272e}.focus-moves button:active:not(:disabled){background:#755434}.focus-moves kbd{background:#18161b;border-color:#67523a;font-size:9px;margin:0 5px 0 0;padding:1px 5px}.focus-controls p{font-size:9px;color:#a99b8d;margin-top:8px;text-align:center}.focus-controls.single-line .focus-moves{grid-template-columns:1fr 1fr}.pause-overlay p{max-width:85%}
@media(max-width:600px){.segmented button{font-size:13px;padding:10px 2px}.segmented button span{font-size:9px}.front-option-heading strong{font-size:12px}.front-option-heading>span,.front-options>p{font-size:10px}.front-options .toggle-row strong{font-size:11px}.front-options .toggle-row small{font-size:9px}.front-line-picker button{font-size:12px;padding:9px 3px}.focus-controls{padding:11px 10px 9px}.focus-moves{gap:5px}.focus-moves button{font-size:10px;padding:12px 2px}.focus-moves kbd{padding:0 3px;margin-right:2px}.focus-controls p{font-size:9px}.front-mode .canvas-wrap{height:430px;min-height:430px}.front-mode .arena-state{top:12px;left:9px;font-size:8px;max-width:72px}.front-mode .boss-bar{top:15px}.front-mode .arena-toolbar .subtle{display:none}.front-mode:fullscreen .canvas-wrap{height:auto;min-height:0}}

/* A decision pause leaves the colored orbs visible for inspection. */
.decision-pause .pause-overlay{display:none}.decision-pause #pauseButton{background:#e7bd7f;color:#221a11;border-color:#e7bd7f}.decision-pause .arena-message{border-color:#d1a165;color:#ffe0a8;background:#241c18}
/* The start control below the arena stays available without covering compact lane labels. */
@media(max-width:1000px){.front-mode .start-overlay{display:none}}

/* Yellow-hazard feedback and opt-in continuous practice. */
.hazard-hud{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#242019;border-top:1px solid #4b402b;padding:10px 18px;color:#cbb383;font-size:10px}.hazard-count{display:flex;align-items:center;gap:12px;white-space:nowrap}.hazard-count:before{content:"";width:7px;height:7px;flex:none;border-radius:50%;background:#e4bf67;box-shadow:0 0 9px #e4bf6733}.hazard-count strong{font-size:12px;color:#f2d995;font-weight:600}.hazard-count b{font-weight:700}.hazard-hud>span:last-child{text-align:right;font-size:9px;color:#b5a583}.hazard-hud.is-off{opacity:.6}.hazard-hud.was-hit .hazard-count strong{color:#ffa489}.repeat-setting{border-top:1px solid var(--line);margin-top:14px;padding-top:2px}.repeat-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 17px;background:#27302a;color:#c3e4cd;border-top:1px solid #45604c;font-size:12px}.repeat-banner .quiet-button{background:#314337;border-color:#597c61;color:#d8efdd;padding:6px 10px;font-size:10px}.result-card .result-hazard{display:inline-block;margin:0 0 4px;border:1px solid var(--line);border-radius:6px;padding:5px 10px;font-size:11px;color:var(--muted)}.result-card .result-hazard.clean{color:var(--green);border-color:var(--green)}.result-card .result-hazard.hit{color:#ed8c85;border-color:#ed8c8544}.arena-controls{flex-wrap:wrap}.arena-controls>div{flex-wrap:wrap}
@media(max-width:600px){.hazard-hud{padding:10px 12px;align-items:flex-start;gap:6px}.hazard-count{font-size:9px;gap:7px}.hazard-count strong{font-size:11px}.hazard-hud>span:last-child{max-width:49%;font-size:9px;line-height:1.7}.arena-controls>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.arena-controls button{min-height:40px}.repeat-banner{padding:10px 12px;font-size:10px}.repeat-banner .quiet-button{min-height:36px}.repeat-setting .toggle-row{padding-top:12px}.result-card .result-hazard{font-size:10px}}
