@import url('_external/fonts.googleapis.com/fonts.css');
:root{--ink:#30261f;--paper:#faf7ed;--yellow:#f5be3c;--red:#d74a31;--blue:#387caa}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}button,a,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit;color:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,canvas:focus-visible{outline:3px solid #267cbb;outline-offset:4px}header{height:88px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #30261f25}.brand{display:flex;align-items:center;gap:12px;font-family:'Barlow Condensed',Impact,sans-serif;font-size:26px;font-weight:800;text-decoration:none;color:var(--ink)}.brand-mark{background:var(--red);color:var(--paper);padding:6px 9px;border-radius:9px;transform:rotate(-7deg);font-size:23px}.edition{font:600 11px 'DM Sans',sans-serif;letter-spacing:1.5px;max-width:80px;border-left:1px solid #30261f40;padding-left:14px;margin-left:4px}.header-actions{display:flex;gap:24px}.header-actions button{border:0;background:none;font-size:14px;font-weight:600}.header-actions button span{margin-left:6px}main{max-width:1550px;margin:auto;padding:26px 4.5% 0}.arena-top{display:flex;justify-content:space-between;font-size:11px;font-weight:800;letter-spacing:1.7px;margin-bottom:13px}.arena-top i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--red);margin-right:8px}.game-shell{position:relative;border:3px solid var(--ink);border-radius:15px;overflow:hidden;background:#b8dae0;box-shadow:0 6px 0 #30261f;aspect-ratio:16/9;isolation:isolate}canvas{width:100%;height:100%;display:block}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.overlay[hidden], [hidden]{display:none!important}#menu{justify-content:flex-start;background:linear-gradient(90deg,#fff4ddec 0%,#fff4ddd9 36%,transparent 72%)}.menu-card{width:49%;padding:3% 0 3% 6%}.eyebrow{font-size:11px;font-weight:800;letter-spacing:2px}.menu-card h1{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(50px,7.6vw,114px);line-height:.83;letter-spacing:-1px;font-weight:900;margin:20px 0 22px;transform:rotate(-3deg);text-shadow:3px 3px 0 var(--paper)}.menu-card h1 span{color:var(--red)}.menu-card p{font-size:14px;margin-bottom:25px}.mode-buttons{display:flex;flex-direction:column;gap:10px;max-width:300px}.primary,.secondary{padding:15px 20px;border:2px solid var(--ink);font-size:12px;font-weight:800;letter-spacing:.6px;border-radius:6px;display:flex;justify-content:space-between;gap:16px;align-items:center}.primary{background:var(--yellow);box-shadow:0 3px 0 var(--ink)}.primary:hover{background:#ffd365;transform:translateY(-1px)}.secondary{background:var(--paper);justify-content:center}.secondary:hover{background:#f0e6d0}.difficulty{display:flex;align-items:center;gap:12px;margin:19px 0 10px}.difficulty label{font-size:10px;font-weight:800;letter-spacing:1px}.difficulty select{background:transparent;border:0;border-bottom:1px solid #30261f60;padding:3px;font-size:12px}.menu-card small{font-size:11px;opacity:.7}.hud{position:absolute;left:3%;right:3%;top:4%;display:flex;justify-content:space-between;align-items:flex-start;gap:7%}.fighter{width:35%;}.fighter>div:first-child{display:flex;justify-content:space-between;font-size:12px;font-weight:800;margin-bottom:8px;gap:8px}.health{background:#faf7ed;border:2px solid var(--ink);height:18px;border-radius:5px;overflow:hidden;box-shadow:0 2px 0 #30261f30}.health i{display:block;background:var(--red);height:100%;transition:width .15s;width:100%}.blue .health i{background:var(--blue);margin-left:auto}.round{text-align:center;white-space:nowrap;display:flex;flex-direction:column;align-items:center;gap:10px}.round b{font-size:12px;letter-spacing:1px}.round button{background:var(--paper);border:2px solid var(--ink);border-radius:6px;font-weight:800;padding:5px 12px}.shade{background:#30261f66;backdrop-filter:blur(4px)}.panel{padding:35px 45px;background:var(--paper);border:3px solid var(--ink);border-radius:12px;text-align:center;box-shadow:6px 6px 0 #30261f}.panel h2{font-family:'Barlow Condensed',Impact,sans-serif;font-size:48px;margin:15px 0}.panel p{font-size:14px}.panel button{width:100%;margin-top:12px;justify-content:center}#announcement{position:absolute;top:35%;left:0;right:0;text-align:center;font-family:'Barlow Condensed',Impact,sans-serif;font-weight:900;font-size:64px;color:var(--paper);text-shadow:3px 3px 0 var(--ink);pointer-events:none}.below{display:flex;justify-content:space-between;gap:20px;font-size:11px;padding:20px 0 23px;border-bottom:1px solid #30261f30}.below b{font-size:10px;letter-spacing:1px;margin-right:8px}.below>span:last-child{font-size:10px;font-weight:700;letter-spacing:1px}.star{font-size:17px;margin-left:10px;color:var(--red)}.controls{display:grid;grid-template-columns:.85fr 1fr 1fr;gap:30px;padding:28px 0}.control-title h2{font-family:'Barlow Condensed',Impact,sans-serif;font-size:27px;margin:8px 0 0;line-height:1.1}.control-title .eyebrow{font-size:9px;opacity:.6}.control-group{border-left:1px solid #30261f30;padding-left:30px}.control-group h3{font-size:11px;letter-spacing:1px;margin:3px 0 18px}.control-group h3 span{color:#82786d;font-size:10px;margin-left:9px}.player-dot{display:inline-block;width:8px;height:8px;background:var(--red);border-radius:50%;margin-right:7px}.blue-dot{background:var(--blue)}.keys{display:flex;gap:22px}.keys>span{position:relative;white-space:nowrap;padding-bottom:24px}kbd{font-family:inherit;display:inline-flex;align-items:center;justify-content:center;background:#fffdf7;border:1px solid #30261f50;border-bottom:3px solid #30261f50;border-radius:4px;min-width:28px;height:28px;font-size:12px;font-weight:700;margin-right:3px}.keys em{position:absolute;left:0;bottom:0;font-size:11px;font-style:normal;color:#71675e}footer{display:flex;justify-content:space-between;border-top:1px solid #30261f20;padding:17px 0 24px;font-size:9px;letter-spacing:1px;color:#857b71}footer kbd{height:20px;min-width:24px;font-size:9px}.sep{margin:0 10px}.touch{position:absolute;bottom:12px;left:12px;right:12px;justify-content:space-between;pointer-events:none;display:flex}.touch>div{display:flex;gap:8px}.touch button{pointer-events:auto;touch-action:none;user-select:none;border:2px solid var(--ink);background:#faf7edce;border-radius:12px;min-width:47px;height:47px;font-weight:800;font-size:12px}dialog{background:var(--paper);color:var(--ink);border:3px solid var(--ink);border-radius:12px;padding:35px;max-width:530px;width:90%;line-height:1.6}dialog::backdrop{background:#30261f99}dialog h2{font-family:'Barlow Condensed',Impact,sans-serif;font-size:35px;line-height:1.1}dialog p,dialog li{font-size:14px}.close{position:absolute;right:10px;top:8px;background:none;border:0;font-size:28px}dialog ul{padding-left:20px}dialog li{margin:12px 0}@media(pointer:coarse){#touch:not([hidden]){display:flex}}@media(max-width:900px){.edition{display:none}.keys{gap:12px}.control-group{padding-left:18px}.controls{gap:18px;grid-template-columns:.7fr 1fr 1fr}.menu-card h1{margin:12px 0 14px}.menu-card p{margin-bottom:15px;font-size:12px}.primary,.secondary{padding:11px 12px;font-size:10px}.difficulty{margin:12px 0 6px}.below>span:last-child{display:none}.menu-card .eyebrow{font-size:9px}.menu-card small{font-size:10px}}@media(max-width:620px){header{height:66px;padding:0 5%}.brand{font-size:21px}.brand-mark{font-size:20px}.header-actions{gap:10px}.header-actions button{font-size:12px}.header-actions #sound span{display:none}main{padding:20px 3% 0}.arena-top{font-size:9px;letter-spacing:1px}.arena-top>span:last-child{font-size:8px}.game-shell{aspect-ratio:4/5}.menu-card{width:100%;padding:30px 8%}.menu-card h1{font-size:76px}.menu-card p{font-size:13px}.menu-card .eyebrow{font-size:10px}#menu{background:#fff4ddc9;align-items:center}.mode-buttons{max-width:none}.primary,.secondary{font-size:11px;padding:14px}.difficulty{margin:18px 0 10px}.hud{gap:3%;left:4%;right:4%}.fighter{width:39%}.fighter>div:first-child{font-size:9px;flex-wrap:wrap}.round b{font-size:9px}.round{gap:6px}.health{height:14px}.panel{padding:25px 20px;max-width:90%}.panel h2{font-size:37px}.controls{grid-template-columns:1fr 1fr;gap:18px;padding:22px 0}.control-title{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}.control-title h2{font-size:23px;margin:0}.control-title h2 br{display:none}.control-group{padding-left:0;border:0}.control-group h3 span{display:none}.keys{gap:9px}kbd{min-width:23px;height:26px;font-size:10px}.keys em{font-size:10px}.below{font-size:10px;line-height:1.6}.below b{display:block}footer{font-size:8px;gap:20px;line-height:1.6}footer>span:last-child{max-width:160px;text-align:right}#announcement{font-size:48px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto;transition:none!important}}

/* Five actions per player, with room for the new hydrant interaction. */
.keys{gap:14px;flex-wrap:wrap}.touch>div{gap:5px}.touch button{min-width:42px}
@media(max-width:620px){.keys{gap:8px}.touch{left:7px;right:7px}.touch button{min-width:39px;height:44px;font-size:10px}}

/* The arena owns the viewport; the document never scrolls. */
html,body{width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;touch-action:none}
body{position:fixed;inset:0}main{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;margin:0;padding:0;overflow:hidden}
.game-shell{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;border:0;border-radius:0;box-shadow:none;overflow:hidden}
header{position:fixed;z-index:5;top:0;left:0;right:0;height:56px;padding:0 22px;background:#faf7edec;border-bottom:1px solid #30261f25}
.brand{font-size:22px}.brand-mark{font-size:19px;padding:4px 7px}.edition{font-size:10px}.header-actions{gap:18px}
.arena-top{display:none}.hud{top:76px;left:3%;right:3%;gap:7%}.overlay{padding-top:56px}.menu-card{padding-left:7%;padding-top:0;padding-bottom:0;width:49%}.menu-card h1{font-size:clamp(56px,12vh,126px)}
.touch{bottom:max(12px,env(safe-area-inset-bottom));left:12px;right:12px}.touch button{min-width:40px}
dialog{overflow:hidden;max-height:calc(100dvh - 24px);max-width:560px;padding:22px 28px;margin:auto}dialog h2{margin:0 0 14px;font-size:30px}dialog p{margin:12px 0;font-size:13px}.help-tabs{display:flex;gap:8px;margin-bottom:12px}.help-tabs button{border:1px solid #30261f50;border-radius:5px;background:transparent;padding:7px 14px;font-size:14px;font-weight:700}.help-tabs [aria-selected=true]{background:var(--yellow);border-color:var(--ink)}
dialog table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}dialog td,dialog th{padding:7px 5px;border-bottom:1px solid #30261f20}dialog thead{color:#82786d;font-size:12px}dialog ul{margin:0 0 12px;padding-left:19px}dialog li{font-size:14px;line-height:1.4;margin:9px 0}dialog .primary{padding:10px 15px;width:100%;justify-content:center}
@media(max-width:620px){header{height:50px;padding:0 12px}.brand{font-size:18px;gap:8px}.header-actions{gap:7px}.header-actions button{font-size:11px}.overlay{padding-top:50px}.hud{top:66px;gap:3%}.menu-card{width:100%;padding:20px 8%}.menu-card h1{font-size:clamp(55px,12vh,95px)}.touch{left:6px;right:6px}.touch>div{gap:4px}.touch button{min-width:38px;font-size:10px}dialog{padding:18px;width:94%}dialog h2{font-size:27px}dialog td,dialog th{padding:6px 3px}dialog li{font-size:13px;margin:8px 0}.panel{padding:20px}}
@media(max-height:540px){.menu-card{width:60%;padding:8px 5%}.menu-card .eyebrow,.menu-card p,.menu-card small{display:none}.menu-card h1{font-size:48px;margin:4px 0 14px}.menu-card h1 br{display:none}.menu-card h1 span{margin-left:8px}.mode-buttons{gap:7px}.mode-buttons button{padding:9px 12px}.difficulty{margin:10px 0 0}.hud{top:62px}.health{height:13px}.panel{padding:12px 25px}.panel h2{font-size:30px;margin:8px 0}.panel button{padding:9px;margin-top:8px}dialog{padding:12px 22px;max-width:650px}dialog h2{font-size:23px;margin-bottom:7px}.help-tabs{margin-bottom:6px}.help-tabs button{padding:4px 12px}dialog td,dialog th{padding:3px 5px;font-size:12px}dialog p{font-size:12px;margin:7px 0}dialog li{font-size:12px;margin:5px 0;line-height:1.3}dialog .primary{padding:6px 12px}}

.stamina-wrap{display:flex;align-items:center;gap:10px;margin-top:5px}.stamina-wrap>span{font-size:11px;font-weight:800;letter-spacing:.5px;min-width:64px}.stamina-bone{display:block;width:min(190px,65%);height:34px;overflow:visible}.blue .stamina-wrap{flex-direction:row-reverse}.blue .stamina-wrap>span{text-align:right}@media(max-width:620px){.stamina-wrap{gap:4px;flex-wrap:wrap}.stamina-wrap>span{font-size:9px;min-width:55px}.stamina-bone{width:100%;height:25px}.blue .stamina-wrap{justify-content:flex-start}.blue .stamina-wrap>span{width:100%}}

#stamina-fill1{fill:var(--red)}#stamina-fill2{fill:var(--blue)}.settings-close{position:absolute;right:10px;top:8px;background:none;border:0;font-size:28px}.tuning-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.tuning-fields label{font-weight:700;font-size:14px;line-height:1.4}.tuning-fields label span{display:block;font-size:12px;font-weight:400;margin:4px 0}.tuning-fields input{display:block;width:100%;font:700 22px 'DM Sans',sans-serif;border:2px solid var(--ink);border-radius:5px;padding:8px;background:#fffdf5;color:var(--ink)}.config-label{font-size:12px;font-weight:700}#config-values{display:block;resize:none;width:100%;overflow:hidden;border:1px solid #30261f40;border-radius:5px;background:#fffdf5;font:12px/1.35 monospace;padding:8px;margin:5px 0 12px}.tuning-actions{display:flex;gap:8px}.tuning-actions button{padding:9px 12px;font-size:11px;flex:1;white-space:nowrap}#tuning-message{font-size:11px;margin-bottom:0}#tap-feedback{font-size:12px}.header-actions{gap:12px}@media(max-height:540px){#tuning{padding:12px 20px}.tuning-fields input{font-size:18px;padding:4px}.tuning-fields label span{margin:2px 0}.tuning-fields{gap:10px}#config-values{font-size:11px;padding:4px;margin:3px 0 6px;line-height:1.1}#tuning p{margin:5px 0;font-size:11px}.tuning-actions button{padding:6px 8px}}@media(max-width:400px){header{padding:0 7px}.brand{font-size:15px}.brand-mark{font-size:16px}.header-actions{gap:1px}.header-actions button{padding:4px}.tuning-fields{gap:10px}.tuning-actions button{font-size:10px;padding:8px 6px}}

.tuning-fields select{display:block;width:100%;font:700 15px 'DM Sans',sans-serif;border:2px solid var(--ink);border-radius:5px;padding:10px 8px;background:#fffdf5;color:var(--ink)}#gamepad-status{padding:8px;border-left:3px solid var(--blue);background:#e7f3f7;font-weight:600}.tuning-fields{grid-template-columns:1fr 1fr 1fr}@media(max-width:620px){.tuning-fields{grid-template-columns:1fr 1fr}}

.remap-heading{margin:18px 0 2px;font-size:18px}.remap-help,#remap-status{font-size:12px;line-height:1.35}.stick-tools{display:flex;gap:8px;margin:8px 0}.stick-tools button{flex:1;padding:8px;font-size:11px}.axis-readout{margin:4px 0!important;padding:6px;background:#30261f0d;border-radius:4px;font:11px/1.35 monospace;overflow-wrap:anywhere}.remap-player{border-top:1px solid #30261f30;padding:8px 0}.remap-player h3{font-size:13px;margin:0 0 5px}.remap-row{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:6px;align-items:center;font-size:12px;margin:4px 0}.remap-row button{border:1px solid #30261f60;background:#fffdf5;border-radius:4px;padding:6px;font-weight:700;white-space:nowrap}.remap-row button:hover{background:var(--yellow)}#tuning{max-height:calc(100dvh - 16px);overflow:auto;overscroll-behavior:contain;touch-action:pan-y}@media(max-height:650px){.remap-player{display:inline-block;width:49%;vertical-align:top}.remap-row{grid-template-columns:1fr 70px 70px;font-size:10px}.remap-row button{padding:3px}.remap-heading{margin:8px 0 0}.remap-help,#remap-status{font-size:10px;margin:4px 0}}
.controller-focus:focus,button:focus-visible,select:focus-visible,input:focus-visible{outline:4px solid #176594!important;outline-offset:3px;box-shadow:0 0 0 7px #fffdf5!important;position:relative;z-index:1}
#tuning .controller-focus:focus{background:#ffe292;color:#30261f}
.remap-row:focus-within,.tuning-fields label:focus-within{background:#f5be3c30;border-radius:5px}
#tuning button.mapping-active{background:#30261f;color:#fffdf5;border:2px dashed #f5be3c}
#tuning{scroll-padding:20px;scroll-behavior:auto}.remap-row,.tuning-fields label{scroll-margin:20px}
/* Persistent HUD: foreground scenery and round overlays cannot cover the bars. */
#hud{z-index:4;pointer-events:none;display:flex!important}
#hud .fighter{background:transparent;padding:10px 12px;border:0;box-shadow:none}
#hud .round{background:transparent;padding:8px}
#hud .fighter>div:first-child,#hud .stamina-wrap>span,#hud .round>b{text-shadow:0 1px 2px #fffdf5,0 -1px 2px #fffdf5,1px 0 2px #fffdf5,-1px 0 2px #fffdf5}
#hud button{pointer-events:auto}
@media(max-width:620px){#hud .fighter{padding:6px}#hud .round{padding:5px}.menu-card{padding-top:100px}}
@media(max-height:540px){#hud .fighter{padding:4px 8px}#hud .stamina-bone{height:20px}#hud .stamina-wrap{margin-top:2px}#hud .round{padding:4px}#hud .fighter>div:first-child{margin-bottom:3px}#hud .stamina-wrap>span{font-size:9px}}
