/* By Bu狼牙 — paper, ink, vermilion. PB-0.4.0 / 20261017.01 */
:root{font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;color:#232627;background:#f4f1e8;font-synthesis:none;--ink:#232627;--paper:#f4f1e8;--line:#c7c4ba;--accent:#c44932}*{box-sizing:border-box}body{margin:0;background:var(--paper)}button,select{font:inherit}button{cursor:pointer;touch-action:manipulation}button:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button:active{transform:translateY(1px)}button{transition:background .13s}header{height:72px;max-width:1440px;margin:auto;padding:0 40px;display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--ink)}.brand{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:900;color:var(--ink);text-decoration:none;letter-spacing:1px}.brandmark{display:grid;place-items:center;background:var(--accent);color:var(--paper);width:34px;height:34px}.brand small{font:9px monospace;letter-spacing:2px;margin-left:10px}.topright{display:flex;gap:10px;align-items:center}.edition{font:10px monospace;color:#62635f;margin-right:16px}.iconbutton{border:1px solid var(--ink);background:transparent;color:var(--ink);padding:8px 12px;font-size:12px}.menu{max-width:1280px;padding:36px 30px 0;margin:auto;display:grid;grid-template-columns:1fr 1fr;column-gap:40px}.eyebrow{font:700 10px monospace;letter-spacing:2px;color:#6a6d67}.intro h1{font-size:clamp(36px,4vw,58px);line-height:1.18;letter-spacing:-2px;margin:20px 0}.intro h1 em{font-style:normal;color:var(--accent)}.intro p{font-size:12px;line-height:1.9;color:#5b605c;margin:0}.features{display:flex;gap:15px;margin-top:20px}.features span{font-size:10px;font-weight:700;border-top:2px solid var(--ink);padding-top:8px;min-width:70px}.hero{height:300px;position:relative;border-left:1px solid var(--line)}#portrait{width:100%;height:275px;object-fit:contain}.hero-caption{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:15px}.hero-caption span{font-size:18px;font-weight:800;letter-spacing:3px}.hero-caption b{color:var(--accent);margin:0 12px}.hero-caption small{font-size:10px;color:#72766f}.orbital{position:absolute;right:0;top:0;writing-mode:vertical-rl;font:9px monospace;letter-spacing:2px;color:#72766f}.setup{grid-column:1/-1;margin-top:30px;border-top:2px solid var(--ink);padding-top:20px}label{display:block;font-size:11px;font-weight:800;letter-spacing:1px;margin-bottom:10px}label small{font-size:10px;color:#72766f;font-weight:400;margin-left:12px}.choices{display:flex;gap:60px;margin-bottom:22px}.choices>div{min-width:250px}.segmented{display:flex}.segmented button{border:1px solid var(--ink);border-right:0;color:var(--ink);background:transparent;padding:10px 24px;font-size:12px}.segmented button:last-child{border-right:1px solid var(--ink)}.segmented button.selected{background:var(--ink);color:var(--paper)}.armory{position:relative;background:#e9e6dd;padding:18px 22px 10px;border-top:1px solid var(--line)}.weapon-preview{display:flex;align-items:center;gap:25px;min-height:138px}.weapon-art{width:60%;height:145px;border-right:1px solid #b9b8ae;display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(0deg,transparent,transparent 23px,#d4d2c833 24px),repeating-linear-gradient(90deg,transparent,transparent 23px,#d4d2c833 24px)}.weapon-art svg{height:145px;width:95%}.weapon-preview h2{font-size:32px;margin:4px 0;letter-spacing:-1px}.weapon-preview p{font-size:11px;margin:0 0 8px;color:#5d625e}.specs{font:11px/1.7 monospace;color:#565c58}.weapon-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #bbbdb2;margin-top:15px}.weapon-card{position:relative;border:0;border-right:1px solid #bbbdb2;border-bottom:3px solid transparent;background:transparent;padding:12px 15px;text-align:left;color:var(--ink);min-width:0}.weapon-card:last-child{border-right:0}.weapon-card.selected{background:#f8f5ed;border-bottom-color:var(--accent)}.weapon-card.selected:after{content:'●';position:absolute;top:10px;right:10px;color:var(--accent);font-size:9px}.weapon-card svg{height:48px;width:100%;display:block}.weapon-card b{font-size:13px;display:block}.weapon-card small{font-size:10px;color:#666d65;display:block;margin-top:4px}.sidearms{display:flex;align-items:center;gap:16px;border-top:1px solid #bbbdb2;padding-top:9px;font-size:10px;color:#636962}.sidearms button{background:none;border:0;border-bottom:1px solid #92968d;color:var(--ink);font-size:10px;padding:3px 8px}.launch{display:flex;align-items:center;gap:20px;margin-top:18px}.enemy-select{display:flex;align-items:center;gap:10px}.enemy-select label{margin:0;font-size:10px}.enemy-select select{border:1px solid #999e93;background:transparent;padding:8px;font-size:11px}.textbutton{background:transparent;border:0;color:#555f57;padding:12px;font-size:12px}.primary{border:0;background:var(--accent);color:#fff9ef;padding:15px 24px;min-width:250px;font-weight:800;font-size:14px;margin-left:auto}.primary:hover{background:#aa3928}.primary span{float:right;margin-left:30px}.menu footer{grid-column:1/-1;display:flex;justify-content:space-between;padding:22px 0 18px;color:#6b7069;font:10px monospace}.menu footer span:first-child{font-weight:900;color:var(--ink);border-bottom:2px solid var(--accent);padding-bottom:3px}.hidden{display:none!important}
#arena{max-width:1440px;padding:8px 24px;margin:auto}.battle-top{height:88px;display:flex;align-items:center;justify-content:space-between;gap:10px}.fighter{width:38%;display:flex;align-items:center;gap:15px}.fighter.right{flex-direction:row-reverse;text-align:right}.avatar{width:44px;height:50px;background:var(--ink);color:var(--paper);display:grid;place-items:center;font-size:24px}.name{font-size:13px;font-weight:800}.name small{font:10px monospace;color:#6d746c}.lives{color:var(--accent);font-size:16px;letter-spacing:3px;white-space:nowrap;margin-top:4px}.lives b{font:bold 14px monospace;color:var(--ink);letter-spacing:0;margin-right:5px}.lives .lost{color:#bbbdb3}.percent{font:bold 36px monospace;color:var(--ink);min-width:80px}.percent.high{color:var(--accent)}.percent small{font-size:15px}.shieldtext{font-size:10px;color:#535e55;min-height:15px;margin-top:3px;white-space:nowrap}.match-label{text-align:center;min-width:120px}.match-label span{font-size:10px;letter-spacing:3px}.match-label b{display:block;font:bold 24px monospace;margin:3px}.match-label small{font-size:9px;color:#6a7369}.stage{position:relative;width:100%;height:min(calc(100dvh - 242px),calc((100vw - 48px)*.5625));min-height:160px;background:#d7d8c9;border:2px solid var(--ink);overflow:hidden}.stage canvas{display:block;width:100%;height:100%;object-fit:contain}.banner{position:absolute;left:0;right:0;top:15%;text-align:center;pointer-events:none;font-weight:900;font-size:34px;letter-spacing:4px;color:#fff9ef;text-shadow:2px 2px 0 #232627,0 0 12px #232627}.battle-bottom{min-height:72px;display:flex;align-items:center;gap:15px}#loadout{display:flex;gap:4px}.slot{border:1px solid #b6bbae;background:transparent;color:var(--ink);padding:5px 10px;min-width:100px;display:grid;grid-template-columns:46px 1fr;text-align:left;column-gap:6px}.slot svg{width:46px;height:32px;grid-row:1/3}.slot b{font-size:11px;white-space:nowrap}.slot small{font:10px monospace;margin-top:4px}.slot.active{border:2px solid var(--accent);background:#e8e3d7;padding:4px 9px}.desktop-hint{font-size:10px;color:#606b62;line-height:1.9}.battle-bottom>.iconbutton{margin-left:auto;white-space:nowrap}.modal{position:fixed;inset:0;background:#161c1cd9;z-index:20;display:flex;align-items:center;justify-content:center;padding:20px}.modal-card{width:100%;max-width:650px;max-height:calc(100dvh - 40px);overflow:auto;background:var(--paper);padding:28px;border-top:6px solid var(--accent)}.modal h2{font-size:27px;margin:10px 0}.modal p{font-size:12px;line-height:1.7;color:#5b665e}.modal table{width:100%;border-collapse:collapse;font-size:11px}.modal td,.modal th{border-bottom:1px solid #d2d3c7;text-align:left;padding:5px 8px}.modal th{font-size:10px;color:#687264}kbd{font:11px monospace}.bind-key{font:12px monospace;background:#fffaf0;border:1px solid #9ba393;min-width:85px;padding:5px}.bind-key.capturing{background:var(--accent);color:white}#bindingNotice{min-height:21px;color:var(--accent)}#modalButtons{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}#modalButtons .primary{flex-basis:100%;margin:0}#modalButtons .textbutton{border:1px solid #adb6a4;flex:1;font-size:11px;min-width:100px}.touch-controls{display:none;position:absolute;inset:0;pointer-events:none}.touch-move,.touch-actions{position:absolute;bottom:10px;display:flex;align-items:end;gap:8px}.touch-move{left:10px}.touch-actions{right:10px}.touch-controls button{width:52px;height:52px;background:#f4f1e8eb;border:2px solid #343a36;color:var(--ink);font-size:12px;font-weight:800;pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;border-radius:10px}.touch-controls .fire{width:66px;height:66px;background:var(--accent);border-color:#8b3024;color:#fff9ef}.touch-controls .small{width:46px;height:46px;font-size:10px}.touch-controls button.pressed{background:#e8b55c;transform:scale(.95)}body.playing{overflow:hidden}.touch-device .touch-controls{display:block}.touch-device .desktop-hint{display:none}
@media(pointer:coarse){.touch-controls{display:block}.desktop-hint{display:none}}
@media(max-width:1000px){header{padding:0 22px}.brand small,.edition{display:none}.menu{padding:28px 24px 0;column-gap:20px}.intro h1{font-size:40px}.hero{height:280px}#portrait{height:250px}.hero-caption small{display:none}.choices{gap:30px}.launch{gap:10px}.desktop-hint{font-size:9px}.slot{min-width:85px;padding:4px 7px;grid-template-columns:34px 1fr}.slot svg{width:34px}.slot.active{padding:3px 6px}.battle-bottom{gap:8px}}
@media(max-width:600px){header{height:52px;padding:0 14px}.brand{font-size:17px;gap:8px}.brandmark{width:25px;height:27px}.topright{gap:5px}.iconbutton{padding:7px 8px;font-size:10px}.menu{display:flex;flex-direction:column;padding:24px 18px 0}.intro h1{font-size:38px;margin:12px 0}.intro p{font-size:11px}.features{margin-top:14px}.hero{height:220px;border:0;margin-top:10px}#portrait{height:210px}.hero-caption{bottom:-5px}.hero-caption span{font-size:15px}.setup{margin-top:25px;padding-top:18px}.choices{gap:16px;flex-direction:column;margin-bottom:20px}.segmented button{flex:1}.armory{padding:14px 10px 8px}.weapon-preview{gap:10px;min-height:120px}.weapon-art{width:57%;height:120px}.weapon-art svg{height:110px}.weapon-preview h2{font-size:25px}.weapon-preview .eyebrow{font-size:8px;letter-spacing:0}.specs{font-size:9px}.weapon-grid{grid-template-columns:repeat(3,1fr);margin-top:10px}.weapon-card{padding:8px;min-height:94px}.weapon-card svg{height:42px}.weapon-card small{font-size:8px}.weapon-card b{font-size:11px}.weapon-card:nth-child(3){border-right:0}.sidearms{margin-top:4px}.launch{flex-wrap:wrap}.launch>.primary{width:100%;margin:2px 0 0}.enemy-select{flex:1}.launch .textbutton{padding:10px 5px;font-size:10px}.menu footer{font-size:8px;gap:10px}.fighter{gap:6px;width:43%;align-items:start}.avatar{display:none}.name{font-size:11px}.name small{font-size:8px}.lives{font-size:13px;letter-spacing:1px}.lives b{font-size:12px}.percent{font-size:25px;min-width:42px}.percent small{font-size:10px}.shieldtext{font-size:8px;white-space:normal;max-width:105px;line-height:1.4}.match-label{min-width:48px}.match-label span,.match-label small{display:none}.match-label b{font-size:14px}#arena{padding:0 6px}.battle-top{height:86px;gap:3px}.stage{height:calc(100dvh - 214px);min-height:250px;overflow:hidden;background:#deded1}.stage canvas{position:absolute;left:0;top:0;height:calc(100% - 150px);width:100%;object-fit:contain}.touch-controls{display:block;top:auto;height:150px;background:#e9e6dc;border-top:1px solid #adb5a3}.touch-move,.touch-actions{bottom:18px;gap:6px}.touch-move{left:8px}.touch-actions{right:8px}.touch-controls button{width:45px;height:49px}.touch-controls [data-control=drop]{position:absolute;left:24px;bottom:60px;width:49px;height:45px}.touch-controls .fire{width:58px;height:58px}.touch-controls .small{width:41px;height:43px}.touch-controls .jump{position:absolute;right:5px;bottom:66px;width:54px;height:50px}.battle-bottom{height:76px;min-height:76px;gap:4px}.slot{grid-template-columns:1fr;min-width:64px;padding:4px 6px}.slot svg{display:none}.slot.active{padding:3px 5px}.slot b{font-size:10px}.slot small{font-size:9px}.desktop-hint{display:none}.banner{font-size:20px;letter-spacing:1px;top:16%}.modal{padding:10px}.modal-card{padding:20px 14px;max-height:calc(100dvh - 20px)}.modal h2{font-size:23px}.modal td,.modal th{padding:5px 4px}.bind-key{min-width:74px;font-size:11px}#modalButtons{margin-top:14px}}
@media(max-height:550px) and (min-width:601px){body.playing header{display:none}#arena{padding:0 8px}.battle-top{height:63px}.avatar{display:none}.fighter{width:38%;gap:10px}.percent{font-size:27px}.name{font-size:11px}.lives{font-size:12px;margin-top:2px}.lives b{font-size:12px}.shieldtext{font-size:9px;margin-top:1px}.match-label span{display:none}.match-label b{font-size:20px}.match-label small{font-size:8px}.stage{height:calc(100dvh - 116px);min-height:0}.battle-bottom{height:53px;min-height:53px}.desktop-hint{display:none}.touch-controls button{width:44px;height:44px}.touch-controls .small{width:40px;height:40px}.touch-controls .fire{width:53px;height:53px}.touch-move,.touch-actions{gap:5px;bottom:7px}.touch-controls{background:none}.banner{font-size:25px}.modal-card{padding:16px;max-width:740px}.modal h2{font-size:20px}.modal td,.modal th{padding:2px 6px}.modal p{margin:5px 0}.modal .bindings{font-size:10px}#modalButtons{margin-top:8px}#modalButtons .primary{flex-basis:auto}.bind-key{padding:2px 4px}.modal .eyebrow{font-size:9px}}

/* PB-0.4.0: a playable lobby, with equipment and the launch action in one viewport. */
header{height:60px;padding:0 28px}.menu{max-width:1320px;padding:20px 28px 0;grid-template-columns:minmax(300px,.85fr) minmax(560px,1.15fr);gap:18px 32px}.intro{grid-column:1/-1;display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line);padding-bottom:12px}.intro .eyebrow{font:10px sans-serif;letter-spacing:1px}.intro h1{font-size:30px;letter-spacing:0;line-height:1.2;margin:6px 0 0}.intro h1 span{font-size:12px;font-weight:500;letter-spacing:2px;border-left:1px solid var(--line);padding-left:14px;margin-left:14px;color:#666961}.intro p{font-size:11px;text-align:right;line-height:1.7}.hero{height:390px;border:0;align-self:center;background:radial-gradient(ellipse at 50% 62%,#e5e2d6 0%,transparent 65%)}#portrait{height:355px;position:relative}.hero-caption{bottom:10px;gap:6px}.hero-caption span{font-size:17px}.hero-caption small{display:block;font-size:10px}.setup{grid-column:auto;margin:0;border:0;padding:6px 0 0}.choices{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.choices>div{min-width:0}.segmented button{padding:10px 8px;flex:1;font-size:12px}label{margin-bottom:8px;letter-spacing:0}.armory{padding:14px 12px 10px;border:1px solid var(--line);background:#e9e6de;display:grid;grid-template-columns:1fr}.armory>label{margin-bottom:0}.weapon-preview{grid-row:3;min-height:0;gap:0;margin:10px 0 8px}.weapon-art{display:none}.weapon-preview>div:last-child{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.weapon-preview .eyebrow{display:none}.weapon-preview h2{font-size:17px;margin:0;letter-spacing:0}.weapon-preview p{margin:0;font-size:10px}.weapon-preview .specs{font:10px sans-serif;line-height:1.6;border-left:1px solid #bbb9ae;padding-left:10px}.specs br{display:none}.weapon-grid{margin-top:10px;grid-row:2}.weapon-card{padding:12px 8px 9px}.weapon-card svg{height:51px}.weapon-card small{font-size:9px;line-height:1.5}.sidearms{gap:12px}.launch{display:grid;grid-template-columns:1fr auto auto;gap:8px;margin-top:12px}.launch .primary{grid-column:1/-1;width:100%;margin:0;padding:15px 20px;font-size:16px;text-align:left}.launch .textbutton{padding:10px 6px;font-size:11px}.enemy-select select{padding:6px 9px}.menu footer{padding:4px 0 14px;border-top:1px solid var(--line);padding-top:12px}.brand small{font-size:8px}.stage canvas{object-fit:fill}
@media(max-width:1000px) and (min-width:601px){.menu{grid-template-columns:minmax(220px,.7fr) minmax(430px,1.3fr);padding:16px 20px 0;gap:16px}.hero{height:330px}#portrait{height:300px}.hero-caption small{display:none}.weapon-card{padding:10px 5px}.weapon-card small{font-size:8px}.choices{gap:10px}.segmented button{font-size:11px;padding:10px 4px}.intro h1{font-size:27px}}
@media(max-width:600px){header{height:52px;padding:0 14px}.menu{display:flex;padding:14px 14px 80px;gap:12px}.intro{align-items:center;padding-bottom:10px}.intro .eyebrow{font-size:9px}.intro h1{font-size:25px;margin-top:4px}.intro h1 span{display:none}.intro p{font-size:9px;max-width:145px}.hero{height:168px;width:100%;margin:0;align-self:auto}#portrait{height:158px}.hero-caption{bottom:-4px}.hero-caption span{font-size:12px;letter-spacing:2px}.hero-caption b{margin:0 6px}.hero-caption small{font-size:9px}.setup{padding:0;margin:0}.choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.choices>div{min-width:0}label{font-size:10px}label small{display:none}.segmented button{font-size:10px;padding:10px 3px;white-space:nowrap}.armory{padding:10px 8px 8px}.weapon-grid{grid-template-columns:repeat(5,1fr);margin-top:7px}.weapon-card{min-height:85px;padding:8px 4px}.weapon-card svg{height:39px}.weapon-card b{font-size:10px}.weapon-card small{font-size:8px;line-height:1.3}.weapon-card:nth-child(3){border-right:1px solid #bbbdb2}.weapon-card.selected:after{top:4px;right:4px;font-size:7px}.weapon-preview{margin:8px 0}.weapon-preview h2{font-size:14px}.weapon-preview>div:last-child{gap:6px}.weapon-preview .specs{font-size:9px}.weapon-preview p{display:none}.sidearms{padding-top:5px}.launch{display:grid;gap:4px;grid-template-columns:1fr auto auto;margin-top:8px}.launch .primary{position:fixed;z-index:4;left:14px;right:14px;bottom:max(10px,env(safe-area-inset-bottom));width:calc(100% - 28px);box-shadow:0 0 0 10px var(--paper);padding:14px 18px;font-size:15px}.launch .textbutton{padding:8px 4px;font-size:10px}.enemy-select{gap:6px}.menu footer{padding:8px 0 0;font-size:8px}.stage canvas{object-fit:fill}}
/* Landscape battlefield uses every horizontal pixel; HUD and loadout remain compact. */
@media(max-height:550px) and (min-width:601px){body.playing header{display:none}#arena{max-width:none;padding:0}.battle-top{height:52px;padding:3px 10px;background:var(--paper)}.fighter{align-items:center;gap:9px;width:42%}.name{font-size:10px}.lives{font-size:11px;letter-spacing:2px;margin-top:1px}.shieldtext{font-size:8px;max-width:none}.percent{font-size:25px;min-width:50px}.match-label{min-width:65px}.match-label b{font-size:16px}.match-label small{display:none}.stage{height:calc(100dvh - 90px);border-width:1px 0;width:100%;min-height:0}.stage canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}.battle-bottom{height:38px;min-height:38px;padding:0 10px}.slot{grid-template-columns:30px 1fr;min-width:100px;padding:2px 6px}.slot svg{width:30px;height:25px}.slot b{font-size:9px}.slot small{font-size:8px;margin-top:1px}.slot.active{padding:1px 5px}.battle-bottom>.iconbutton{padding:5px 8px;font-size:10px}.touch-controls{inset:0;height:auto;border:0;background:none}.touch-move,.touch-actions{bottom:8px;gap:7px}.touch-move{left:max(12px,env(safe-area-inset-left))}.touch-actions{right:max(12px,env(safe-area-inset-right))}.touch-controls button{width:46px;height:46px;border-width:1px;background:#f4f1e8e8}.touch-controls .small{width:42px;height:42px}.touch-controls .fire{width:58px;height:58px}.touch-controls .jump{width:52px;height:52px}.banner{top:10%;font-size:22px}}
/* PB-0.5.0: narrow windows and real browser zoom keep all choices scrollable. */
.menu,.setup,.armory,.choices>div{min-width:0}
@media(min-width:601px) and (max-width:760px){
 .menu{display:flex;flex-direction:column;padding:16px 20px 90px;gap:14px}.intro{width:100%}.intro h1 span{display:none}.intro p{font-size:11px}
 .hero{height:180px;width:100%;margin:0}#portrait{height:165px}.hero-caption{bottom:0}.hero-caption span{font-size:14px}
 .setup{width:100%;padding:0}.choices{grid-template-columns:repeat(2,minmax(0,1fr))}.segmented button{font-size:12px}
 .weapon-card small{font-size:10px}.weapon-preview .specs{font-size:11px}.menu footer{width:100%}
}
@media(max-height:650px),(max-width:760px){
 .menu{padding-bottom:94px}.launch .primary{position:fixed;left:16px;right:16px;bottom:max(12px,env(safe-area-inset-bottom));width:calc(100% - 32px);z-index:4;margin:0;box-shadow:0 0 0 12px var(--paper);font-size:16px;padding:15px 20px}
}
.help-tabs{display:flex;gap:6px;margin:12px 0}.help-tabs button{border:1px solid var(--ink);background:transparent;padding:9px 16px;font-size:12px}.help-tabs button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.touch-guide p{padding:7px 0;border-bottom:1px solid var(--line);margin:0}.touch-guide b{color:var(--ink)}
.coach{position:absolute;top:9px;left:50%;transform:translateX(-50%);font-size:11px;font-weight:700;white-space:nowrap;color:#263c36;background:#f4f1e8e8;padding:5px 10px;pointer-events:none;border-left:3px solid var(--accent)}.coach:empty{display:none}.fighter.hit .percent{color:#a33425;background:#fff6d7}.match-feedback{border-top:1px solid var(--ink);padding-top:12px;color:var(--ink)!important;font-weight:700}
@media(max-width:600px){.coach{font-size:10px;top:5px}.touch-guide p{font-size:12px}}
@media(max-height:550px) and (min-width:601px){.coach{top:auto;bottom:12px}}
/* PB-0.6: portrait touch controls occupy their own area at every portrait width. */
@media(orientation:portrait){
 .touch-device.playing header{height:52px;padding:0 14px}
 .touch-device #arena{height:calc(100dvh - 52px);padding:0 6px 4px;display:flex;flex-direction:column;max-width:none}
 .touch-device .battle-top{height:86px;flex:0 0 86px;gap:6px}
 .touch-device .fighter{gap:8px;width:43%}.touch-device .avatar{display:none}.touch-device .percent{font-size:28px;min-width:45px}.touch-device .name{font-size:12px}.touch-device .lives{font-size:14px}.touch-device .shieldtext{font-size:10px;white-space:normal}
 .touch-device .match-label{min-width:50px}.touch-device .match-label span,.touch-device .match-label small{display:none}.touch-device .match-label b{font-size:16px}
 .touch-device .stage{flex:1;min-height:0;height:auto;display:grid;grid-template-rows:minmax(0,1fr) 150px}
 .touch-device .stage canvas{position:relative;inset:auto;width:100%;height:100%;min-height:0;grid-row:1}
 .touch-device .touch-controls{position:relative;inset:auto;grid-row:2;width:100%;height:150px;background:#e9e6dc;border-top:1px solid #adb5a3}
 .touch-device .touch-move,.touch-device .touch-actions{bottom:18px;gap:8px}.touch-device .touch-move{left:12px}.touch-device .touch-actions{right:12px}
 .touch-device .touch-controls [data-control=drop]{position:absolute;left:24px;bottom:60px;width:49px;height:45px}
 .touch-device .touch-controls .jump{position:absolute;right:5px;bottom:66px;width:54px;height:50px}
 .touch-device .battle-bottom{height:76px;flex:0 0 76px;min-height:76px}.touch-device .coach{top:5px;bottom:auto}
}
/* Header and actions are fixed inside the modal; only its content scrolls. */
.modal-card{position:relative;display:flex;flex-direction:column;overflow:hidden;min-height:0;max-height:calc(100dvh - 24px)}
.modal-card>.eyebrow,.modal-card>h2{flex-shrink:0;padding-right:30px}
#modalBody{overflow:auto;min-height:0;overscroll-behavior:contain;scrollbar-gutter:stable}
#modalButtons{flex-shrink:0;padding-top:10px;border-top:1px solid var(--line);background:var(--paper)}
.modal-close{position:absolute;right:10px;top:7px;width:32px;height:32px;border:1px solid var(--ink);background:var(--paper);font-size:24px;line-height:1;z-index:1}
.match-advice{font-weight:700;color:var(--ink)!important}
@media(max-height:550px){.modal{padding:8px}.modal-card{max-height:calc(100dvh - 16px);padding:12px 16px}.modal-card>h2{margin:5px 0 8px;font-size:20px}#modalButtons{margin-top:8px;padding-top:8px}.modal p,.modal .touch-guide p{font-size:12px}.modal .help-tabs{margin:5px 0 10px}}
.weapon-illustration{object-fit:contain;image-rendering:auto}.weapon-card .weapon-illustration{width:100%;height:51px;display:block}.weapon-art .weapon-illustration{height:145px;width:95%}.slot .weapon-illustration{width:46px;height:32px;grid-row:1/3;display:block}
@media(max-width:1000px){.slot .weapon-illustration{width:34px}}
@media(max-width:600px){.weapon-card .weapon-illustration{height:39px}.slot{grid-template-columns:28px 1fr;min-width:80px;padding:4px;column-gap:3px}.slot.active{padding:3px}.slot .weapon-illustration{display:block;width:28px;height:24px}.slot b{font-size:9px}.slot small{font-size:9px}}
@media(max-height:550px) and (min-width:601px){.slot .weapon-illustration{width:30px;height:25px}}
@media(orientation:landscape){.touch-device .coach{top:auto;bottom:12px}}

/* PB-0.8: battlefield choices and readable supply/weapon states. */
.map-select{margin:0 0 12px}.map-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.map-options button{background:transparent;border:1px solid #aeb2a5;color:var(--ink);padding:5px 3px;min-width:0}.map-options button.selected{background:var(--ink);color:var(--paper);border-color:var(--ink)}.map-options svg{display:block;width:100%;height:35px;fill:currentColor;opacity:.7}.map-options b{display:block;font-size:10px;white-space:nowrap}.map-random{display:block;height:35px;font:bold 28px monospace}#mapDescription{font-size:10px;line-height:1.5;margin:5px 0;color:#576156;min-height:15px}.effect-state{font-size:10px;min-height:12px;color:#8b532a;font-weight:700}.shieldtext{white-space:normal;line-height:1.35;max-width:280px}.supply-status{position:absolute;right:8px;top:8px;background:#f4f1e8e8;border-bottom:2px solid #8b6c38;color:#364039;font-size:10px;padding:4px 7px;pointer-events:none}.supply-status:empty{display:none}.slot-art{grid-column:1;grid-row:1/3;display:flex;align-items:center}.slot-art svg,.slot-art .weapon-illustration{grid-row:auto}.slot b,.slot small{grid-column:2}.slot small{white-space:nowrap;font-size:9px}.slot{min-width:95px}.slot.active{border-color:#a34b30}.equipment-guide{border-top:1px solid var(--line);margin-top:14px}.equipment-guide p{margin:8px 0}.equipment-guide b{color:var(--ink)}.touch-controls button:disabled{opacity:.38}.touch-controls [data-control=interact].available{border-color:#a34b30;background:#f5dba8}.touch-actions{display:grid;grid-template-columns:46px 46px 58px;grid-template-rows:48px 58px;gap:6px;align-items:end}.touch-actions [data-control=aim]{grid-column:1;grid-row:1}.touch-actions [data-control=interact]{grid-column:2;grid-row:1}.touch-actions .jump{position:static!important;grid-column:3;grid-row:1;width:58px!important;height:48px!important}.touch-actions [data-control=cycle]{grid-column:1;grid-row:2}.touch-actions [data-control=reload]{grid-column:2;grid-row:2}.touch-actions .fire{grid-column:3;grid-row:2;width:58px;height:58px}.touch-actions .small{width:46px;height:46px}
@media(max-width:600px){.map-options b{font-size:9px}.map-options svg,.map-random{height:29px}.map-random{font-size:23px}.choices{margin-bottom:9px}.map-select{margin-bottom:10px}.effect-state{font-size:8px;min-height:10px}.shieldtext{font-size:8px!important;max-width:132px!important}.touch-actions{right:8px!important;gap:5px!important;bottom:12px!important}.touch-move{left:8px!important;bottom:16px!important}.touch-move button{width:43px}.touch-device .touch-controls [data-control=drop]{left:22px;bottom:62px}.touch-device .battle-top{height:92px;flex-basis:92px}.touch-device .fighter{gap:5px}.touch-device .name{font-size:10px}.touch-device .percent{font-size:24px;min-width:39px}.touch-device .lives{font-size:12px}.supply-status{top:32px;right:5px;font-size:9px}.coach{max-width:calc(100% - 12px);white-space:normal;text-align:center}.battle-bottom{position:relative;padding-right:0;gap:3px}#loadout{flex:1;min-width:0;gap:3px}.slot{min-width:0;flex:1;grid-template-columns:1fr;padding:3px 2px;text-align:center;max-width:115px}.slot.active{padding:2px 1px}.slot-art{display:none}.slot b,.slot small{grid-column:1}.slot b{font-size:9px}.slot small{font-size:8px;white-space:normal;line-height:1.25;margin-top:2px}.battle-bottom>.iconbutton{font-size:9px;padding:8px 5px}.touch-device .battle-bottom{height:64px;min-height:64px;flex-basis:64px}}
@media(orientation:portrait){.touch-device .touch-actions{grid-template-columns:46px 46px 58px;grid-template-rows:48px 58px;gap:6px;bottom:12px}.touch-device .touch-controls .jump{position:static;width:58px;height:48px}.touch-device .effect-state{font-size:9px}.touch-device .supply-status{top:32px}}
@media(max-height:550px) and (min-width:601px){.touch-actions{grid-template-columns:42px 42px 52px;grid-template-rows:42px 52px;gap:5px;bottom:8px}.touch-actions .small{width:42px;height:42px}.touch-actions .jump{width:52px!important;height:42px!important}.touch-actions .fire{width:52px;height:52px}.effect-state{font-size:8px;min-height:9px}.fighter{gap:6px}.shieldtext{font-size:8px;max-width:255px}.battle-top{height:63px}.stage{height:calc(100dvh - 101px)}.slot{min-width:84px;grid-template-columns:24px 1fr}.slot-art .weapon-illustration,.slot-art svg{width:24px;height:24px}.slot small{font-size:8px}.supply-status{top:5px;font-size:9px}.coach{bottom:8px;max-width:calc(100% - 400px);white-space:normal;text-align:center}}

.ammo-readout{font-size:11px;line-height:1.3;margin-top:2px;color:var(--ink);white-space:nowrap}.ammo-readout span{font-size:10px;margin-right:5px}.ammo-readout b{font:bold 17px monospace}.ammo-readout small{font:11px monospace;color:#5a6258}.shieldtext{font-size:10px;margin-top:1px;min-height:12px}.battle-top{height:101px}.stage{height:min(calc(100dvh - 255px),calc((100vw - 48px)*.5625))}@media(max-width:600px){.ammo-readout span{font-size:9px;margin-right:3px}.ammo-readout b{font-size:15px}.ammo-readout small{font-size:10px}.ammo-readout{font-size:10px}.effect-state{font-size:8px}}@media(orientation:portrait){.touch-device .battle-top{height:100px;flex-basis:100px}.touch-device .stage{height:auto}}@media(max-height:550px) and (min-width:601px){.battle-top{height:73px}.stage{height:calc(100dvh - 111px)}.ammo-readout{margin-top:0;line-height:1}.ammo-readout b{font-size:13px}.ammo-readout span,.ammo-readout small{font-size:9px}.effect-state:empty{display:none}}

/* Three permanent slots; each player chooses a sidearm before the match. */
.sidearms{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}.side-choice{display:flex;align-items:center;gap:6px}.side-choice label{margin:0;font-size:10px;letter-spacing:0}.side-choice select{font-size:11px;padding:5px 6px;border:1px solid #9fa494;background:var(--paper);color:var(--ink)}#sideDescription{flex-basis:100%;font-size:10px;line-height:1.5;margin:0;color:#586053}.sidearms button{white-space:nowrap}@media(max-width:600px){.sidearms{gap:7px 8px}.side-choice{flex:1;min-width:140px;gap:4px}.side-choice label{font-size:9px}.side-choice select{font-size:10px;padding:5px 3px;flex:1}.sidearms button{padding:3px 4px;font-size:9px}#sideDescription{font-size:9px}.slot{max-width:none}}

/* PB-0.8.1: a character-led yellow/blue arcade lobby. Match UI remains separate. */
body:not(.playing){background:#f8f3e4}body:not(.playing) header{height:48px;max-width:none;padding:0 26px;border-bottom:0;background:#24323b;color:#fff6dd}body:not(.playing) .brand{color:#fff6dd;font-size:13px;letter-spacing:1px}body:not(.playing) .brandmark{background:#f4c846;color:#24323b;width:23px;height:23px;font-size:15px}body:not(.playing) header .iconbutton{border-color:#b6c6cc;color:#fff6dd;font-size:10px;padding:6px 10px}body:not(.playing) .edition{color:#d7ded7;font-size:9px}body:not(.playing) .brand small{display:none}
.menu{--hero-color:#f5c948;max-width:1440px;margin:auto;min-height:calc(100dvh - 48px);padding:15px 30px 0;display:grid;grid-template-columns:minmax(340px,.9fr) minmax(550px,1.1fr);grid-template-rows:auto 1fr auto;gap:10px 28px;background:linear-gradient(120deg,#fff7d9 0%,#fff7d9 45%,#ecf4f2 45%,#ecf4f2 100%)}.menu[data-hero-character=nuonuo],.menu[data-hero-character=funuonuo]{--hero-color:#6cc7ef}.menu .intro{display:flex;grid-column:1/-1;align-items:center;border-bottom:2px solid #24323b;padding:0 0 11px;gap:15px}.menu .intro .eyebrow{font:700 10px sans-serif;letter-spacing:2px;color:#5e6663}.menu .intro h1{display:flex;align-items:center;gap:2px;white-space:nowrap;font:1000 clamp(37px,4.7vw,67px)/1.15 "Microsoft YaHei",sans-serif;letter-spacing:-3px;margin:4px 0 0;filter:drop-shadow(3px 4px 0 #24323b)}.menu .intro h1 span{font:inherit;letter-spacing:inherit;margin:0;padding:0;border:0;-webkit-text-stroke:1.5px #24323b;paint-order:stroke fill}.menu .title-feibi{display:inline-block;color:#f9cf4b;transform:rotate(-5deg)}.menu .title-nuonuo{display:inline-block;color:#68c5f1;transform:rotate(3deg)}.menu .title-battle{display:inline-block;color:#fff9e7;transform:rotate(-2deg)}.menu .intro h1 i{font-style:normal;color:#ed7651;transform:rotate(8deg);-webkit-text-stroke:1.5px #24323b}.menu .intro p{font-size:11px;line-height:1.7;white-space:nowrap}.menu .intro p b{font-size:13px;color:#26373d}
.menu .hero{height:100%;min-height:390px;display:flex;flex-direction:column;width:100%;margin:0;border:0;align-self:stretch;background:none}.portrait-frame{position:relative;flex:1;min-height:320px;overflow:hidden;border:0}.menu #portrait{width:100%;height:100%;min-height:320px;position:absolute;inset:0;object-fit:contain;cursor:pointer;outline-offset:-4px}.hero-stamp{position:absolute;left:6px;top:20px;font:900 14px/.95 monospace;letter-spacing:-1px;transform:rotate(-9deg);border:2px solid #26373d;padding:7px;z-index:1;color:#26373d}.menu .hero-caption{position:absolute;left:15px;bottom:5px;right:15px;display:flex;justify-content:space-between;align-items:end;gap:8px;pointer-events:none}.menu .hero-caption span{font:1000 37px/1.1 "Microsoft YaHei",sans-serif;color:#26373d;letter-spacing:3px;text-shadow:2px 2px 0 var(--hero-color)}.menu .hero-caption small{display:block;font-size:10px;color:#596563}.character-picks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:8px 0}.character-picks button{min-width:0;padding:9px 3px 7px;background:#fff9e9;border:2px solid #26373d;color:#26373d;border-radius:2px;box-shadow:0 3px 0 #26373d;transform:rotate(-1deg)}.character-picks button:nth-child(even){transform:rotate(1deg)}.character-picks button span{display:block;font-size:17px;font-weight:900}.character-picks button small{display:block;font-size:9px;margin-top:3px}.character-picks button.selected{background:var(--character-color);box-shadow:0 3px 0 #26373d,inset 0 0 0 2px #fff5}.character-picks button:disabled{background:#e5e6de;border-color:#a7ada5;box-shadow:0 3px 0 #a7ada5;color:#7e8981;cursor:not-allowed}.character-picks button:disabled small{font-size:8px}.character-picks button:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 #26373d}
.menu .setup{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:4px 0 0;margin:0;border:0}.menu label{font-size:11px;font-weight:900;letter-spacing:.5px;margin-bottom:6px;color:#26373d}.mode-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}.mode-row>label{margin:0;white-space:nowrap}.mode-row .segmented{flex:1}.mode-row .segmented button{font-size:11px;padding:8px 10px;border-width:2px;font-weight:800}.mode-row .segmented button.selected{background:#26373d;color:#fff8e7}.mode-note{font-size:9px;color:#69716a}.menu .map-select{margin:0 0 9px}.menu .map-options{gap:5px}.menu .map-options button{border:1px solid #91a19c;background:#fff8e9;padding:3px 2px}.menu .map-options button.selected{border:2px solid #26373d;padding:2px 1px;background:#82c9e2;color:#24323b}.menu .map-options svg{height:32px}.menu .map-options b{font-size:10px}.menu .map-random{height:32px;font-size:26px}.menu #mapDescription{font-size:9px;line-height:1.4;margin:4px 0 0;min-height:13px;color:#50625c}
.menu .armory{border:0;border-top:2px solid #26373d;border-bottom:2px solid #26373d;background:#fff9e6;padding:9px 9px 8px;position:relative;display:grid}.menu .armory>label{margin-bottom:0}.menu .weapon-grid{margin-top:6px;border-top:0}.menu .weapon-card{padding:4px 5px 6px;min-height:75px}.menu .weapon-card b{font-size:11px}.menu .weapon-card small{font-size:8px;line-height:1.4;margin-top:2px}.menu .weapon-card .weapon-illustration,.menu .weapon-card svg{height:40px}.menu .weapon-card.selected{background:#ffe6a0;border-bottom-color:#e16c45}.menu .weapon-preview{margin:6px 0;min-height:0}.menu .weapon-preview h2{font-size:15px}.menu .weapon-preview p{font-size:9px}.menu .weapon-preview .specs{font-size:9px}.menu .weapon-preview>div:last-child{gap:6px}.menu .sidearms{padding-top:7px;gap:5px 8px}.menu .side-choice{gap:4px;min-width:0;flex:1}.menu .side-choice label{font-size:9px;margin:0;white-space:nowrap;letter-spacing:0}.menu .side-choice select{font-size:10px;padding:5px 3px;min-width:0;flex:1;border:1px solid #9ca89d;background:#f7f0dd}.menu .sidearms button{font-size:9px;padding:3px}.menu #sideDescription{font-size:9px;line-height:1.4}.menu .launch{display:grid;grid-template-columns:1fr auto auto;gap:7px;margin-top:8px}.menu .enemy-select{gap:6px}.menu .enemy-select select{font-size:10px;padding:4px 8px;background:#fff8e9}.menu .enemy-select label{font-size:9px;margin:0}.menu .launch .textbutton{padding:5px 8px;font-size:10px;border-bottom:1px solid #84958c}.menu .launch .primary{position:static;grid-column:1/-1;width:100%;min-width:0;margin:0;background:#f5ca43;color:#24323b;border:3px solid #24323b;border-radius:3px;padding:13px 17px;font-size:20px;box-shadow:4px 4px 0 #24323b;text-align:left}.menu .launch .primary:hover{background:#ffdc65}.menu footer{grid-column:1/-1;padding:8px 0 11px;border:0;font-size:9px}.menu footer span:first-child{border-bottom:0}
@media(min-width:761px) and (max-height:740px){.menu{padding-top:10px;gap:8px 22px}.menu .intro h1{font-size:48px}.menu .intro{padding-bottom:8px}.menu .hero{min-height:340px}.portrait-frame,.menu #portrait{min-height:285px}.menu .setup{padding:0}.mode-row{margin-bottom:8px}.menu .map-select{margin-bottom:7px}.menu .map-options svg{height:25px}.menu .map-random{height:25px;font-size:22px}.menu .weapon-card{min-height:68px}.menu .weapon-card .weapon-illustration,.menu .weapon-card svg{height:35px}.menu .launch .primary{padding:10px 15px;font-size:18px}.menu .intro p{font-size:10px}.menu .hero-caption span{font-size:30px}.character-picks button{padding:7px 3px}.character-picks button span{font-size:15px}.menu footer{padding-top:4px}}
@media(max-width:1000px) and (min-width:761px){.menu{grid-template-columns:minmax(260px,.75fr) minmax(420px,1.25fr);padding-left:18px;padding-right:18px;gap:10px 18px}.menu .intro h1{font-size:46px}.menu .intro p{font-size:9px}.mode-note{display:none}.mode-row{gap:6px}.menu .sidearms{gap:4px}.menu .side-choice label{font-size:8px}.menu .side-choice select{font-size:9px}.menu .weapon-card small{font-size:7px}.character-picks button span{font-size:14px}.hero-stamp{font-size:11px}.menu .hero-caption span{font-size:29px}.menu .hero-caption small{font-size:9px}}
@media(max-width:760px){body:not(.playing) header{height:38px;padding:0 12px}.menu{min-height:calc(100dvh - 38px);padding:9px 12px 86px;display:flex;flex-direction:column;gap:8px;background:linear-gradient(155deg,#fff4ce 0%,#fff4ce 37%,#eaf5f6 37%,#eaf5f6 100%)}.menu .intro{display:block;padding-bottom:6px;width:100%;border-bottom:0}.menu .intro .eyebrow{font-size:8px;letter-spacing:1px}.menu .intro h1{font-size:clamp(31px,8.4vw,52px);letter-spacing:-2px;justify-content:center;margin:5px 0 0;filter:drop-shadow(2px 3px 0 #24323b)}.menu .intro h1 span{display:inline-block;-webkit-text-stroke:1px #24323b}.menu .intro p{display:none}.menu .hero{height:198px;min-height:198px;display:grid;grid-template-columns:minmax(0,1fr) 122px;gap:6px;align-self:auto}.portrait-frame{min-height:198px;height:198px}.menu #portrait{min-height:198px;height:198px}.hero-stamp{font-size:9px;left:1px;top:9px;padding:4px;border-width:1px}.menu .hero-caption{bottom:0;left:3px;right:3px;align-items:center}.menu .hero-caption span{font-size:23px;letter-spacing:1px}.menu .hero-caption small{font-size:8px;max-width:82px;text-align:right}.character-picks{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:8px 0;align-content:center}.character-picks button{padding:9px 1px 7px;box-shadow:0 2px 0 #26373d}.character-picks button span{font-size:15px}.character-picks button small{font-size:7px}.character-picks button:disabled small{font-size:7px}.menu .setup{width:100%;padding:0;display:block}.mode-row{gap:7px;margin-bottom:8px}.mode-row>label{font-size:10px}.mode-row .segmented button{padding:6px;font-size:10px}.mode-note{display:none}.menu label{font-size:10px;margin-bottom:4px}.menu label small{display:none}.menu .map-options{gap:4px}.menu .map-options svg{height:22px}.menu .map-options b{font-size:8px}.menu .map-random{height:22px;font-size:19px}.menu #mapDescription{font-size:8px;min-height:0}.menu .map-select{margin-bottom:6px}.menu .armory{padding:7px 5px 6px;border-width:1px}.menu .weapon-grid{margin-top:3px;grid-template-columns:repeat(5,minmax(0,1fr))}.menu .weapon-card{padding:3px 2px 4px;min-height:62px}.menu .weapon-card .weapon-illustration,.menu .weapon-card svg{height:29px}.menu .weapon-card b{font-size:9px}.menu .weapon-card small{font-size:7px}.menu .weapon-preview{margin:5px 0}.menu .weapon-preview h2{font-size:12px}.menu .weapon-preview .specs{font-size:8px}.menu .weapon-preview p{display:none}.menu .sidearms{gap:4px 5px;padding-top:5px}.menu .side-choice{min-width:130px;gap:3px}.menu .side-choice label{font-size:8px}.menu .side-choice select{font-size:9px;padding:4px 2px}.menu .sidearms button{font-size:8px}.menu #sideDescription{font-size:8px;line-height:1.3}.menu .launch{gap:4px;margin-top:6px}.menu .launch .textbutton{font-size:9px;padding:4px 6px}.menu .enemy-select label{font-size:8px}.menu .enemy-select select{font-size:9px;padding:3px 6px}.menu .launch .primary{position:fixed;z-index:5;left:12px;right:15px;bottom:max(11px,env(safe-area-inset-bottom));width:calc(100% - 27px);padding:12px 15px;font-size:18px;box-shadow:3px 3px 0 #24323b,0 0 0 8px #eaf5f6}.menu footer{display:none}}
@media(max-width:400px) and (max-height:760px){.menu{gap:5px;padding-top:6px}.menu .hero{height:164px;min-height:164px;grid-template-columns:minmax(0,1fr) 112px}.portrait-frame,.menu #portrait{height:164px;min-height:164px}.menu .intro h1{font-size:31px}.menu .hero-caption small{display:none}.character-picks button span{font-size:13px}.character-picks button{padding:7px 1px}.menu .sidearms #sideDescription{display:none}}
@media(orientation:landscape) and (max-height:500px){body:not(.playing) header{height:32px}.menu{display:grid;grid-template-columns:minmax(200px,.65fr) minmax(400px,1.35fr);grid-template-rows:auto 1fr;min-height:calc(100dvh - 32px);padding:7px 14px 76px;gap:4px 15px}.menu .intro{grid-column:1/-1;padding:0}.menu .intro .eyebrow{display:none}.menu .intro h1{font-size:34px;justify-content:flex-start;margin:0}.menu .intro p{display:none}.menu .hero{display:flex;height:240px;min-height:240px}.portrait-frame,.menu #portrait{height:auto;min-height:180px}.character-picks{grid-template-columns:repeat(4,minmax(0,1fr));padding:2px 0;gap:4px}.character-picks button{padding:4px 1px}.character-picks button span{font-size:11px}.character-picks button small{font-size:6px}.menu .hero-caption span{font-size:23px}.menu .hero-caption small,.hero-stamp{display:none}.menu .setup{padding:0}.mode-row{margin-bottom:5px}.mode-row .segmented button{padding:4px 8px;font-size:10px}.menu .map-select{margin-bottom:4px}.menu .map-options svg{height:18px}.menu .map-options b{font-size:8px}.menu .map-random{height:18px;font-size:16px}.menu #mapDescription{display:none}.menu .armory{padding:5px}.menu .weapon-card{min-height:48px}.menu .weapon-card .weapon-illustration,.menu .weapon-card svg{height:24px}.menu .weapon-card small{display:none}.menu .weapon-preview{margin:4px 0}.menu .sidearms{padding-top:4px}.menu #sideDescription{display:none}.menu .launch{margin-top:5px}.menu .launch .primary{position:fixed;left:auto;right:17px;bottom:9px;width:calc(60% - 18px);padding:9px 15px;font-size:17px;box-shadow:3px 3px 0 #24323b,0 0 0 6px #eaf5f6}.menu footer{display:none}}

@media(orientation:portrait) and (max-width:760px){.menu .hero{height:clamp(164px,calc(100dvh - 590px),270px);min-height:clamp(164px,calc(100dvh - 590px),270px)}.portrait-frame,.menu #portrait{height:100%;min-height:0}.menu .weapon-card b{font-size:10px}.menu .weapon-card small{font-size:8px}.menu .map-options b{font-size:9px}.menu .weapon-preview .specs{font-size:9px}.menu .side-choice select{font-size:10px}.menu .side-choice label{font-size:9px}.menu #sideDescription{font-size:9px}.menu .intro h1{font-size:clamp(33px,8.7vw,52px)}}
@media(orientation:landscape) and (max-height:500px){.menu .launch .enemy-select{position:fixed;z-index:6;left:14px;bottom:18px;gap:4px}.menu .launch .enemy-select label{font-size:8px}.menu .launch .enemy-select select{padding:3px;font-size:9px}.menu #settings{position:fixed;z-index:6;left:149px;bottom:17px;font-size:9px;padding:4px}.menu #help{position:fixed;z-index:6;left:198px;bottom:17px;font-size:9px;padding:4px}.menu .launch .primary{left:auto;right:17px;width:calc(60% - 18px)}}

@media(orientation:portrait) and (max-width:760px) and (min-height:800px){.menu .hero{display:flex;flex-direction:column;height:300px;min-height:300px;gap:0}.portrait-frame{flex:1;height:auto;min-height:0}.menu #portrait{height:100%;min-height:0}.character-picks{grid-template-columns:repeat(4,minmax(0,1fr));padding:5px 0;gap:6px}.character-picks button{padding:5px 2px}.character-picks button span{font-size:14px}.character-picks button small{font-size:7px}.menu .hero-caption{bottom:1px;left:4px;right:4px}.menu .hero-caption span{font-size:24px}}

/* PB-0.8.2: sidearms are visible choices, not hidden dropdowns. */
.menu .sidearm-choice{display:grid;grid-template-columns:1fr 1fr;gap:5px 10px;align-items:start}.side-group{min-width:0}.menu .side-group>label{font-size:10px;margin:0 0 4px}.menu .side-group>label small{font-size:8px;margin-left:6px}.side-options{display:grid;grid-template-columns:1fr 1fr;gap:5px}.menu .side-options button{display:flex;align-items:center;gap:7px;border:1px solid #91a19c;background:#fffaf0;color:#24323b;padding:5px 6px;text-align:left;min-width:0;min-height:43px}.menu .side-options button.selected{border:2px solid #24323b;background:#ffe49a;padding:4px 5px}.side-options svg,.side-options .weapon-illustration{display:block;width:48px;height:28px;object-fit:contain}.side-options b{font-size:12px;display:block}.side-options small{font-size:9px;display:block;margin-top:2px;white-space:nowrap}.menu .sidearm-choice #sideDescription{grid-column:1/-1;margin:0;font-size:9px}.menu .sidearm-choice .knife-preview{position:absolute;right:10px;top:5px;font-size:9px}.control-mode{padding:12px 0;border-bottom:2px solid var(--ink)}.control-mode>b{font-size:12px}.control-mode>div{display:flex;gap:6px;margin-top:7px}.control-mode button{flex:1;padding:9px 7px;border:1px solid var(--ink);background:transparent;font-size:12px}.control-mode button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.control-mode p{margin-bottom:0}.touch-actions [data-control=interact]{grid-column:1;grid-row:1}.touch-actions .jump{grid-column:2!important;grid-row:1!important}.touch-actions .fire{grid-column:3;grid-row:1/3;height:112px;align-self:stretch;font-size:11px}.touch-actions [data-control=cycle]{grid-column:1;grid-row:2}.touch-actions [data-control=reload]{grid-column:2;grid-row:2}#game{touch-action:none}
@media(max-width:760px){.menu .sidearm-choice{gap:5px 6px}.menu .side-group>label{font-size:9px}.menu .side-options{gap:3px}.menu .side-options button{gap:3px;padding:4px 3px;min-height:42px}.menu .side-options button.selected{padding:3px 2px}.side-options svg,.side-options .weapon-illustration{width:30px;height:25px}.side-options b{font-size:10px}.side-options small{font-size:8px}.menu .sidearm-choice #sideDescription{font-size:8px}.menu .sidearm-choice .knife-preview{font-size:8px;top:4px;right:6px}}
@media(orientation:portrait) and (max-width:760px) and (min-height:800px){.menu .hero{height:270px;min-height:270px}}
@media(orientation:landscape) and (max-height:500px){.menu .sidearm-choice{gap:3px 7px}.menu .side-group>label{font-size:8px;margin-bottom:3px}.menu .side-options button{min-height:32px;padding:2px 4px}.menu .side-options button.selected{padding:1px 3px}.side-options svg,.side-options .weapon-illustration{height:22px;width:33px}.side-options b{font-size:10px}.side-options small{font-size:7px;margin-top:0}.touch-actions .fire{height:99px}.menu .weapon-preview{margin:3px 0}.menu .armory{padding-bottom:4px}.menu #settings{left:134px}.menu #help{left:211px}}

.touch-actions .jump{width:46px!important}
@media(max-height:550px) and (min-width:601px){.touch-actions .jump{width:42px!important}}

/* Automatic supply pickup leaves a larger jump target. */
.touch-actions .jump{grid-column:1/3!important;width:100%!important}.slot:disabled{opacity:.55;cursor:not-allowed}.slot.active:disabled{opacity:1}.effect-state{overflow-wrap:anywhere}
