@font-face{font-family:Kompute Cabinet;src:url('assets/type/kompute-cabinet.woff') format('woff');font-style:normal;font-weight:400 900;font-display:block}@font-face{font-family:Kompute Blade;src:url('assets/type/kompute-blade-v2.woff') format('woff');font-style:normal;font-weight:700;font-display:block}@font-face{font-family:Kompute Sans;src:url('assets/type/kompute-sans.woff') format('woff');font-style:normal;font-weight:400 900;font-display:block}
:root{--black:#090707;--panel:#171010;--edge:#6e5032;--gold:#d5ac62;--ivory:#f5e4bb;--red:#8e1619;--muted:#b9a997;--display:'Kompute Blade',serif;--sans:'Kompute Cabinet',monospace;--body:'Kompute Sans','Arial Narrow',Arial,sans-serif}*{box-sizing:border-box}html{min-width:350px}body{margin:0;background:#080606;color:var(--ivory);font-family:var(--body);background-image:radial-gradient(ellipse at 50% 30%,#32100d60,transparent 65%),repeating-linear-gradient(0deg,#ffffff02 0 1px,transparent 1px 4px)}a{color:inherit;text-decoration:none}button,select,input{font-family:var(--sans)}button{color:var(--ivory);cursor:pointer;background:linear-gradient(#231919,#100b0b);border:1px solid var(--edge);border-radius:0;padding:10px 16px;letter-spacing:1.2px;font-size:12px;box-shadow:inset 0 1px #b39a5c25,0 2px 0 #000}button:hover{background:#401615;border-color:#d1a35d;color:#fff0c9}button:disabled{opacity:.35;cursor:default}button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid #f9d28a;outline-offset:3px}main{max-width:1552px;padding:0 28px;margin:auto}header{height:64px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #6f482333;margin-bottom:18px}.brand{font:700 25px var(--display);color:var(--gold);display:flex;align-items:center;gap:13px;letter-spacing:-1px}.brand span{font:12px var(--sans);letter-spacing:2px;border-left:1px solid #6f4823;padding-left:13px}.edition{font-size:10px;letter-spacing:2px;color:var(--muted)}.edition span{color:#825436;margin:0 14px}.header-right{display:flex;align-items:center;gap:7px;font-size:10px;letter-spacing:1px;color:#c5af91}.status-dot{display:inline-block;width:5px;height:5px;background:var(--gold);transform:rotate(45deg)}.machine{max-width:min(100%,calc((100vh - 155px)*1.777778));margin:auto;border:2px solid #6f5130;border-top-color:#c09758;border-bottom-color:#392516;background:#080605;box-shadow:0 0 0 3px #110c09,0 0 0 4px #47311e,0 24px 70px #000b;overflow:hidden}.viewport{position:relative;aspect-ratio:16/9;isolation:isolate;container-type:inline-size}canvas#game{display:block;width:100%;height:100%;outline:none;background:#110907}.hidden{display:none!important}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.loading{position:absolute;inset:0;background:#090606;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:25px;z-index:20;font:13px var(--sans);letter-spacing:3px}.load-mark{font:700 clamp(24px,4vw,60px) var(--display);color:var(--gold);text-shadow:1px 3px #49120d}.load-track{width:260px;height:5px;border:1px solid #6f4e28;background:#1e100b}.load-track i{height:100%;display:block;width:0;background:linear-gradient(90deg,#8b1a14,#e2bc6e);transition:width .2s}.loading small{font-size:11px;letter-spacing:.4px;color:var(--muted)}
.title-screen{position:absolute;inset:0;pointer-events:none}.title-screen button,.title-screen select{pointer-events:auto}.fighter-select{position:absolute;left:5.86%;top:49.3%;width:48.45%;height:18.9%;display:grid;grid-template-columns:repeat(5,1fr);gap:1.45%}.fighter-select button{border:2px solid transparent;background:none;box-shadow:none;padding:0}.fighter-select button:hover{border-color:#ffe4a2;background:#ffdda412}.fighter-select button.selected{border-color:#ffe4a280}.fighter-select button:focus-visible{outline:3px solid #fff1ba;outline-offset:1px}
.match-settings{position:absolute;left:5.86%;top:73.1%;width:58.5%;display:grid;grid-template-columns:1.1fr 1.4fr .7fr;gap:2.2%}.match-settings label{font-size:clamp(6px,.85cqw,12px);letter-spacing:1.8px;color:#c6a66e;display:flex;flex-direction:column;gap:7px}select{width:100%;min-width:0;padding:8px 10px;color:var(--ivory);background:#170e0b;border:1px solid #8d683d;border-radius:0;font:clamp(7px,1.05cqw,15px) var(--sans);letter-spacing:.3px;box-shadow:inset 0 1px #000}select option{background:#160d0a;color:#f5e4bb}.mode-picks{position:absolute;left:5.86%;top:87%;display:flex;gap:5px}.mode-picks button{font-size:clamp(7px,.92cqw,13px);padding:8px 14px;letter-spacing:1.6px;background:#170e0c}.mode-picks .selected{background:linear-gradient(#8b251b,#4e100b);color:#ffe9b6;border-color:#d4a35b;box-shadow:inset 0 0 0 1px #2d0805,0 2px 0 #000}.primary{background:linear-gradient(#a83522,#73170f 54%,#4a0c08);color:#ffedbe;border:1px solid #d5aa63;border-bottom-color:#78532a;box-shadow:inset 0 0 0 2px #340905,inset 0 3px 0 #d16a3a40,0 3px 0 #000;text-shadow:1px 2px #310805;letter-spacing:2px}.primary:hover{background:linear-gradient(#bf482e,#8a2117);border-color:#ffe1a1}.start-fight{position:absolute;right:5.5%;top:80.1%;width:24%;height:9.2%;font:700 clamp(16px,3cqw,43px) var(--display);letter-spacing:3px}.title-links{position:absolute;right:5.5%;top:92.3%;width:24%;display:flex;justify-content:space-between;align-items:center;gap:6px}.title-links button{padding:0;border:0;background:none;box-shadow:none;font-size:clamp(6px,.8cqw,11px);color:#d9b779;letter-spacing:1px}.title-links>span{font-size:clamp(5px,.63cqw,9px);letter-spacing:.8px;color:#9e8976}
.center-overlay{position:absolute;inset:0;pointer-events:none}.overlay-card{pointer-events:auto;position:absolute;width:31.5%;left:34.25%;top:40%;text-align:center}.overlay-card>.eyebrow,.overlay-card>h2,.overlay-card>p,.result-stats{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.overlay-card>button{display:block;width:100%;padding:11px;margin:0 0 9px;font-size:clamp(8px,1.05cqw,15px);letter-spacing:1.5px}.overlay-card .switch{margin-top:17px;justify-content:center;font-size:clamp(7px,.85cqw,12px)}.switch{display:flex;align-items:center;gap:7px;font-size:11px;color:#c3ac8c}.switch input{accent-color:#b18a46;width:14px;height:14px;margin:0}.overlay-card.result{left:6.25%;top:72.5%;width:38.3%;display:grid;grid-template-columns:1fr 1fr;gap:12px}.overlay-card.result>button{min-height:46px;margin:0;padding:12px 8px;letter-spacing:1px;font-size:clamp(8px,1.07cqw,15px)}
.machine-toolbar{min-height:40px;display:flex;justify-content:space-between;align-items:center;padding:0 15px;border-top:1px solid #8d6333;background:linear-gradient(#21130e,#120b08)}.arena-label{font-size:9px;letter-spacing:1.6px;color:#bda16e;display:flex;gap:9px;align-items:center}.tools{display:flex;gap:5px;align-items:center}.tools button{border:0;background:none;box-shadow:none;font-size:9px;letter-spacing:.8px;padding:11px 8px;color:#c7b18b}.tools button:hover{color:#ffe2a3}kbd{font:9px var(--sans);padding:1px 4px;border:1px solid #765732;border-bottom-width:2px;margin-left:4px;color:#b59a70}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--gold)}.toast{position:absolute;bottom:55px;left:50%;transform:translateX(-50%);z-index:22;max-width:90%;padding:10px 18px;background:#260e0bef;border:1px solid #b28b4f;color:#f0d5a2;font-size:12px;text-align:center}.practice-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 15px;border-top:1px solid #6e4829;background:#160c0a;font-size:10px}.practice-bar>label:first-child{display:flex;align-items:center;gap:10px;letter-spacing:1px}.practice-bar select{width:auto;font-size:11px;padding:4px 8px}.practice-bar button{font-size:10px;padding:6px 9px}.practice-bar>span{font-size:10px;color:#d5b776}.practice-challenges{max-width:min(100%,calc((100vh - 155px)*1.777778));margin:20px auto}.challenge-title{display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:11px;margin-bottom:12px}.challenge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.challenge-grid>div{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #583a26;background:#170d0b}.trial-mark{font-size:22px;color:#936c3c}.challenge-grid strong{font-size:11px;letter-spacing:1px}.challenge-grid p{font-size:11px;color:#bd9b62;margin:7px 0 0}.challenge-grid .complete{border-color:#c29b58}.complete .trial-mark{color:#e3bf78}footer{max-width:min(100%,calc((100vh - 155px)*1.777778));margin:18px auto;display:flex;justify-content:space-between;gap:15px;font-size:9px;letter-spacing:.7px;color:#92795f}footer b{font-weight:700;color:#cdb183}footer i{font-style:normal;margin:0 7px}.failure{position:fixed;inset:20% 15%;background:#1b0d0a;border:1px solid #af834b;padding:35px;text-align:center;z-index:40}.failure h2{font:700 30px var(--display)}.failure p{font-size:14px;line-height:1.7;color:#cdb79c}
dialog{color:var(--ivory);background:linear-gradient(130deg,#21130f,#0d0807);border:2px solid #98723e;border-top-color:#dbb575;border-radius:0;padding:27px 30px 18px;width:min(860px,93vw);max-height:88vh;box-shadow:0 0 0 4px #160d08,0 25px 100px #000d}dialog::backdrop{background:#000b}.dialog-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.dialog-top h2{font:700 30px var(--display);letter-spacing:1px;margin:9px 0 21px;color:#e8c789;text-shadow:1px 2px #3a110a}.close{font-size:19px;border:0;padding:3px 8px;box-shadow:none;background:none}.tabs{display:flex;gap:6px;border-bottom:1px solid #67442a;margin-bottom:20px}.tabs button{border:0;border-bottom:3px solid transparent;box-shadow:none;background:none;padding:12px 16px;color:var(--muted);font-size:12px;letter-spacing:1px}.tabs .active{border-bottom-color:#c09a58;color:#f1ce8f;background:#68191055}.move-intro{font-family:var(--body);font-size:13px;line-height:1.7;color:#c1ae96;margin:0 0 18px}.move-table{font-family:var(--body);border-collapse:collapse;width:100%;font-size:12px}.move-table th{font-size:11px;letter-spacing:1.5px;color:#d1af72;text-align:left;background:#3b1911;padding:10px 12px}.move-table td{padding:11px 12px;line-height:1.6;border-bottom:1px solid #3c2a1c;vertical-align:top}.move-table td:last-child{color:#bfaa8f}.move-table strong{font-weight:700;color:#f0dbb4}.move-table small{display:block;color:#a58a69;font-size:11px}.command{font:12px var(--sans);color:#e5bf79;white-space:nowrap}.dialog-foot{display:flex;justify-content:space-between;gap:15px;font-size:10px;letter-spacing:.4px;color:#ad9069;border-top:1px solid #604128;padding-top:15px;margin-top:22px;line-height:1.6}.combo-card{padding:16px 18px;border-left:3px solid #8f301d;border-bottom:1px solid #50331e;background:#23100b;margin:12px 0}.combo-card h3{font:700 18px var(--display);color:#e4c68a;margin:0 0 10px}.combo-card p{font-size:12px;line-height:1.6;color:#bca587;margin:8px 0}.binding-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.binding{display:flex;align-items:center;justify-content:space-between;padding:8px;border-bottom:1px solid #51331f;font-size:12px;color:#c8ae88}.binding button{min-width:80px;padding:7px;color:#e0bd7f;font-size:11px}.binding button.listening{background:#7e2216;color:#fff0ca}.control-sub{font-size:12px;letter-spacing:1px;color:#e3c187;margin:23px 0 10px}.reset-bindings{margin-top:15px;font-size:11px}.remap-message{min-height:18px;color:#e4bf7c;font-size:12px;margin:10px 0}#offlineLink{color:#c9a46e;text-decoration:underline;margin-left:12px;font-size:9px}
.machine:fullscreen{max-width:none;width:100vw;height:100vh;border:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000}.machine:fullscreen .viewport{width:min(100vw,calc((100vh - 42px)*1.777778));flex:none}.machine:fullscreen .machine-toolbar{position:absolute;bottom:0;left:0;width:100%}.machine:fullscreen .practice-bar{position:absolute;bottom:40px;left:0;width:100%;z-index:5}
@media(max-width:900px){main{padding:0 12px}header{height:55px;margin-bottom:13px}.edition{display:none}.brand{font-size:23px}.brand span{font-size:10px}.header-right{font-size:9px}.machine{max-width:100%}.match-settings label{gap:4px;letter-spacing:1px}.match-settings select{padding:5px 6px}.mode-picks button{padding:5px 8px;letter-spacing:.7px}.machine-toolbar{padding:0 7px;min-height:36px}.tools{gap:0}.tools button{font-size:8px;padding:10px 5px}.tools kbd{display:none}.arena-label{font-size:7px}.overlay-card>button{padding:7px;margin-bottom:6px}.overlay-card .switch{margin-top:10px}.overlay-card.result{gap:7px}.overlay-card.result>button{min-height:30px;padding:8px 4px}.practice-bar{flex-wrap:wrap;gap:7px}.practice-bar>span{display:none}.practice-challenges{max-width:100%}.challenge-grid>div{padding:10px}.challenge-grid strong,.challenge-grid p{font-size:10px}footer{font-size:8px;max-width:100%}}
@media(max-width:570px){main{padding:0 7px}header{height:48px;margin-bottom:10px}.brand{font-size:20px;gap:9px}.brand span{font-size:8px;letter-spacing:1px;padding-left:9px}.header-right{font-size:7px}.machine-toolbar .arena-label{display:none}.tools{width:100%;justify-content:space-around}.tools button{font-size:7px}.match-settings label{gap:2px;letter-spacing:.5px}.match-settings select{padding:3px 2px;border-width:1px}.mode-picks{gap:2px}.mode-picks button{padding:3px 5px;letter-spacing:.3px}.title-links>span{display:none}.title-links{justify-content:center}.overlay-card>button{padding:4px;margin-bottom:4px;font-size:7px;letter-spacing:.7px}.overlay-card .switch{margin-top:6px;font-size:6px;gap:4px}.switch input{width:9px;height:9px}.overlay-card.result>button{min-height:23px;font-size:7px;letter-spacing:.5px;padding:4px}.challenge-title{display:block}.challenge-title>span:last-child{display:block;margin-top:6px}.challenge-grid{grid-template-columns:1fr}footer{flex-direction:column;gap:7px;margin-top:12px}.practice-bar>label:first-child{font-size:8px}.practice-bar select{font-size:9px}.practice-bar button,.practice-bar .switch{font-size:8px}dialog{padding:20px 14px}.dialog-top h2{font-size:25px}.tabs{gap:0}.tabs button{font-size:10px;padding:9px}.move-table{font-family:var(--body);font-size:11px}.move-table td{padding:9px 6px}.command{font-size:10px}.dialog-foot{display:block;font-size:9px}.dialog-foot span{display:block;margin-bottom:6px}.binding-grid{grid-template-columns:1fr}.toast{font-size:10px;bottom:15px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.arcade-brief{grid-column:span 2;display:flex;flex-direction:column;gap:8px;padding:7px 0;color:#bca37e;font:clamp(8px,1.15cqw,16px) var(--body)}.arcade-brief b{font:700 clamp(11px,1.6cqw,23px) var(--display);color:#e5c484;letter-spacing:1px}.mode-picks button{padding-left:10px;padding-right:10px}.continue-run{position:absolute;right:5.5%;top:75%;width:24%;height:4.1%;padding:0;font-size:clamp(6px,.85cqw,12px);color:#eccb89}.journey-screen{position:absolute;inset:0;pointer-events:none}.journey-actions{position:absolute;left:6.25%;top:86.5%;width:52%;display:flex;gap:12px}.journey-actions button{pointer-events:auto;flex:1;font-size:clamp(8px,1.1cqw,16px);padding:12px 7px;letter-spacing:1px}.title-links{top:93%}@media(max-width:900px){.journey-actions button{padding:7px 4px}.mode-picks button{padding-left:6px;padding-right:6px}}@media(max-width:570px){.journey-actions{gap:5px}.journey-actions button{font-size:6px;padding:5px 2px;letter-spacing:.3px}.mode-picks button{padding-left:3px;padding-right:3px;font-size:6px}.arcade-brief{gap:3px;padding-top:3px}}

/* Wide, shared canvas/DOM selection geometry. */
.fighter-select{left:5%;top:55.555556%;width:90%;height:20.833333%;gap:1.0416667%}.match-settings{left:5%;top:79.5%;width:65%;grid-template-columns:1.1fr 1.4fr .8fr}.mode-picks{left:5%;top:89.5%;gap:10px}.mode-picks button{padding:10px 20px}.start-fight{right:5%;top:85%;width:24%;height:10%}.continue-run{right:5%;top:79%;width:24%;height:4.5%}.title-links{right:5%;top:96%;width:24%}.journey-actions{left:5%;top:94%;width:90%;justify-content:space-between}.journey-actions button{flex:initial;padding:4px 10px;font-size:clamp(7px,.85cqw,12px);background:#100a07b0}.journey-actions button:first-child{min-width:160px}.journey-actions button:last-child{min-width:160px}.journey-actions .primary{box-shadow:none;border-color:#705231}.journey-screen.ending .journey-actions{top:86.5%;left:6.25%;width:52%}.journey-screen.ending .journey-actions button{flex:1;padding:12px 7px}.match-settings.arcade{width:22%;grid-template-columns:1fr}.title-screen select{font-size:clamp(7px,1cqw,14px)}@media(max-width:900px){.mode-picks button{padding:6px 12px}.journey-actions button:first-child,.journey-actions button:last-child{min-width:0}}@media(max-width:570px){.mode-picks button{padding:4px 7px}.journey-actions{top:93%}.title-links{top:95.5%}}

/* Compact portrait rail; selected full-body fighter remains beside it. */
.fighter-select{left:5.859375%;top:49.305556%;height:18.888889%;gap:.625cqw}.match-settings{left:5.86%;top:73.1%;width:58.5%}.match-settings.arcade{width:22%}.mode-picks{left:5.86%;top:87%}.start-fight{right:5.5%;top:80.1%;width:24%;height:9.2%;letter-spacing:1px}.continue-run{right:5.5%;top:75%;width:24%;height:4.1%}.title-links{right:5.5%;top:93%;width:24%}
