/* Shared military game frame. Phones keep the same landscape composition. */
:root{--game-ink:#0b141a;--game-paper:#e9e4d4;--game-muted:#91a6a8;--game-gold:#d6b67a;--game-line:#b4c6bd26;--game-pad:max(32px,env(safe-area-inset-left),env(safe-area-inset-right));--game-head:88px;--game-foot:44px;--game-font:'Microsoft YaHei UI','Microsoft YaHei',sans-serif}
html.game-landscape{color-scheme:dark}
html.game-landscape,html.game-landscape body{overflow:hidden;overscroll-behavior:none}html.game-landscape button{touch-action:manipulation}.game-kicker{display:block;font:10px/1.5 var(--game-font);letter-spacing:.22em;color:var(--game-gold)}
#landscapeGate{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:24px;border:0;color:var(--game-paper);background:radial-gradient(ellipse at 50% 40%,#203a40,#0b161e 65%);box-sizing:border-box;text-align:center;align-content:center;overflow:hidden}
#landscapeGate:not([open]){display:none}#landscapeGate::backdrop{background:#0b161e}#landscapeGate h1{font:32px var(--brush,serif);letter-spacing:.14em;margin:22px 0 14px}#landscapeGate>small{font:10px var(--game-font);letter-spacing:.4em;color:var(--game-gold)}#landscapeGate p{font:14px var(--game-font);color:#a9c0c0;margin:0 0 40px}#landscapeGate>span{font:9px var(--game-font);letter-spacing:.35em;color:#708c90}.rotate-device{position:relative;width:106px;height:110px;margin:0 auto 36px}.rotate-device i{position:absolute;inset:10px 24px;border:2px solid #cfb681;transform:rotate(90deg);border-radius:9px;box-shadow:0 0 45px #a8c6b715}.rotate-device i:after{content:'';position:absolute;width:18px;height:2px;background:#cfb681;bottom:7px;left:17px}.rotate-device b{position:absolute;right:-12px;top:-14px;font:56px sans-serif;color:#8dbfb3;font-weight:400}html.landscape-required #touchui,#touchui #tRot{display:none!important}
/* Account screens: fixed header / officer rail / contextual content / command footer. */
#account{z-index:75}#account[hidden],#account [hidden]{display:none!important}
#account.scr{position:fixed;inset:0;padding:0;align-items:stretch;justify-content:stretch;background:linear-gradient(100deg,#0b151bf5,#0d1c24e8);color:var(--game-paper);font:13px/1.5 var(--game-font);overflow:hidden}
#account .a-box{position:absolute;inset:0;width:100%!important;max-width:none!important;height:100%;max-height:none;padding:0 var(--game-pad);box-sizing:border-box;display:grid;grid-template-rows:var(--game-head) minmax(0,1fr) var(--game-foot);border:0;border-radius:0;box-shadow:none;background:radial-gradient(ellipse at 30% 50%,#2f49442b,transparent 55%)}
#account .a-box>header{display:flex;align-items:center;justify-content:space-between;padding:0;border-bottom:1px solid var(--game-line);margin:0;min-height:0;gap:18px}#account .a-heading{display:flex;align-items:center;gap:14px}#account .a-seal{width:34px;height:42px;display:grid;place-items:center;background:#7c4038;color:#f0dcbb;border:1px solid #c8a67a55;transform:rotate(-3deg);font:18px var(--brush,serif)}#account #accountTitle{font:28px/1.1 var(--brush,serif);margin:0;color:#ebdfbf;letter-spacing:.1em}#account #accountTitle small{display:block;font:9px var(--game-font);letter-spacing:.23em;margin:7px 0 0;color:var(--game-muted)}
#account button{font:12px var(--game-font);color:var(--game-paper);border:1px solid #a7b7ae38;background:#9db8b408;border-radius:0;cursor:pointer;padding:9px 14px;min-height:34px;box-sizing:border-box;box-shadow:none;letter-spacing:.04em}#account button:hover:not(:disabled){border-color:#cfb47b99;background:#d7b57b10}#account button:disabled{opacity:.4;cursor:default}#account .a-primary{background:linear-gradient(105deg,#c8a567,#e1ca96);border-color:#e8d5ab;color:#142026;font-weight:600}#account button.a-back{display:flex;align-items:center;gap:14px;background:none;border:0;border-left:1px solid var(--game-line);padding-left:24px;color:#b7c5bf}#account .a-back small{font-size:9px;opacity:.5}
#account .a-body{min-height:0;display:grid;grid-template-columns:170px minmax(0,1fr);padding:22px 0;gap:28px;overflow:hidden}#account .a-body>nav{display:flex;flex-direction:column;padding:0 20px 0 0;border:0;border-right:1px solid var(--game-line);background:none;min-height:0;gap:14px}#account .a-body>nav[hidden]{display:none}#account .a-body:has(>nav[hidden]){grid-template-columns:minmax(0,1fr)}#account .a-pages{display:flex;flex-direction:column;gap:7px;overflow:auto}#account .a-pages button{text-align:left;min-height:52px;border:0;border-left:2px solid transparent;background:none;padding:9px 14px;font-size:15px}#account .a-pages button small{display:block;font-size:8px;margin-top:3px;color:#839c9f;letter-spacing:.13em}#account .a-pages button.on{background:linear-gradient(90deg,#d4b06a29,transparent);border-left-color:#d4b06a;color:#e9c98f}#account .a-tools{margin-top:auto;display:flex;flex-direction:column;gap:8px}#account .a-tools button{font-size:11px;background:none;color:#98adae;min-height:30px}#account .a-tools small{display:none}
#account .a-content{min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:0;background:none}#account .a-content>main{position:static;min-height:0;flex:1;overflow:hidden;padding:0;display:flex;flex-direction:column;gap:18px}#account .a-status{margin:0 0 8px;color:#e0bc83;font-size:12px;flex:none}#account .a-status:empty{display:none}#account .a-foot{display:flex;align-items:center;justify-content:space-between;padding:0;border-top:1px solid var(--game-line);background:none;margin:0;font-size:10px;letter-spacing:.08em;color:#829b9d}#account .a-foot small{font-size:9px;letter-spacing:.2em}
#account .a-profile{display:flex;align-items:center;gap:36px;margin:0;padding:14px 20px;border:0;border-left:2px solid #d2b47b;background:linear-gradient(90deg,#38544b2b,transparent);flex:none;box-shadow:none}#account .a-identity{margin-right:auto}#account .a-identity b{display:block;font:25px var(--brush,serif);color:#e0d2ae}#account .a-identity small{font-size:10px;color:var(--game-muted)}#account .a-stat{display:grid;gap:0;min-width:80px}#account .a-stat small{font-size:10px;color:var(--game-muted)}#account .a-stat strong{font:24px Georgia;color:var(--game-paper)}#account .a-stat em{font:10px var(--game-font);margin-left:6px;font-style:normal}
#account .a-record-columns,#account .a-security-columns{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;min-height:0;flex:1}#account .a-security-columns{grid-template-columns:1.3fr 1fr}#account .a-pane{display:flex;flex-direction:column;min-height:0;min-width:0;border:1px solid var(--game-line);background:linear-gradient(135deg,#17282d90,#0f1d24a6);padding:20px}#account .a-pane>header{display:flex;align-items:center;flex-wrap:wrap;gap:7px 14px;padding:0 0 15px;margin:0;border-bottom:1px solid var(--game-line);flex:none}#account .a-pane>header .game-kicker{width:100%;font-size:8px}#account .a-pane h3{font:23px var(--brush,serif);margin:0;color:#e9d3a6}#account .a-pane>header>small{font-size:10px;margin-left:auto;color:var(--game-muted)}#account .a-list{min-height:0;overflow:auto;flex:1;margin:0;display:flex;flex-direction:column;gap:0;padding-top:8px;scrollbar-width:thin}#account .a-row{display:flex;align-items:center;gap:14px;background:none;border:0;border-bottom:1px solid var(--game-line);padding:14px 5px;margin:0;flex:none;font-size:12px;width:100%;text-align:left}#account .a-row>div{flex:1;min-width:0}#account .a-row b{display:block;font-size:13px;font-weight:500;overflow-wrap:anywhere}#account .a-row small{display:block;font-size:10px;color:var(--game-muted);margin-top:4px;letter-spacing:0}#account .a-rank{font:29px Georgia;color:#d5ba7d;border:1px solid #bca37244;display:grid;place-items:center;height:43px;width:38px;flex:none;background:#bba2710c}#account [data-rank=S]{color:#ffe0a1}#account .a-record>span{text-align:right;font:19px Georgia}#account .a-record>span small{font:9px var(--game-font)}#account .a-battle>i,#account .a-device>i{display:grid;place-items:center;height:38px;width:32px;border:1px solid #8da99d33;color:#98c0ae;font:17px var(--brush,serif);font-style:normal;flex:none}#account .a-battle>span{font-size:10px;color:#cbb27d;flex:none}#account .a-row .a-reward-line{color:#b3cba9}#account .a-device button{min-height:30px;padding:6px 9px;font-size:10px;flex:none}#account .a-empty{margin:auto;text-align:center;color:var(--game-muted);padding:20px}#account .a-empty b{font:25px var(--brush,serif);color:#ccbd9e}#account .a-empty p{font-size:11px;line-height:1.8}
#account label{display:flex;flex-direction:column;gap:8px;font:11px/1.4 var(--game-font);letter-spacing:.1em;color:#adbbb3}#account input{height:46px;padding:0 13px;border:1px solid #a4bdb437;background:#07131b80;color:#e8e5d7;font:16px var(--game-font);outline:none;border-radius:0;box-sizing:border-box;width:100%;min-width:0;margin:0}#account input:focus{border-color:#d4b47a;background:#162c3499;box-shadow:inset 2px 0 #d4b47a}#account input::placeholder{color:#678287;font-size:12px}#account .a-password{display:flex;flex-direction:column;gap:18px;padding-top:22px;min-height:0;overflow:auto}#account .a-password p{margin:0;font-size:10px;color:var(--game-muted)}#account .a-actions{display:flex;flex-wrap:wrap;gap:9px;margin:0;flex:none}#account .a-actions button{flex:none;min-width:110px}
#account[data-view=login] .a-body{padding:0}#account[data-view=login] .a-content>main{display:block;overflow:auto}#account .a-auth-scene{display:grid;grid-template-columns:1fr minmax(300px,.72fr);height:100%;width:min(1100px,94%);margin:auto;gap:10%;align-items:center}#account .a-auth-intro{position:relative;align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:20px 0;overflow:hidden}#account .a-auth-intro h3{font:64px var(--brush,serif);letter-spacing:.12em;color:#ead7aa;margin:12px 0 16px}#account .a-auth-intro p{font:14px/2 var(--game-font);letter-spacing:.15em;color:#a2b4b0;margin:0}#account .a-auth-intro>small{font:10px var(--game-font);letter-spacing:.17em;color:#849f9c;margin-top:30px}#account .a-auth-standard{position:absolute;right:8px;top:12%;bottom:4%;width:160px;background:linear-gradient(90deg,#82433355,#3e353044);border-top:3px solid #caab6e44;clip-path:polygon(0 0,100% 0,100% 100%,50% 90%,0 100%);opacity:.3;transform:rotate(8deg);pointer-events:none}#account .a-auth-standard i,#account .a-auth-standard b{display:block;text-align:center;font:80px var(--brush,serif);color:#b3a786;font-style:normal;margin-top:24px}#account .a-auth{display:flex;flex-direction:column;gap:20px;padding:30px 0 30px 34px;border-left:1px solid var(--game-line);background:none;min-width:0;margin:0}#account .a-auth h3{font:31px var(--brush,serif);color:#eadabb;margin:0 0 4px}#account .a-auth .a-actions{display:flex;flex-direction:column;gap:11px;margin-top:2px}#account .a-auth .a-actions button{height:43px;width:100%}#account .a-auth .a-actions [data-a=toggle-auth]{border:0;background:none;color:#b2c0b4;height:auto;min-height:25px;padding:3px;font-size:11px}#account .a-auth-note{font-size:9px;color:#789297;text-align:center;letter-spacing:.1em}
#account .a-result-layout{display:grid;grid-template-columns:minmax(230px,.7fr) 1fr;gap:40px;min-height:0;flex:1}#account .a-result-score{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0}#account .a-result-score h3{font:40px var(--brush,serif);margin:10px 0;color:#ead4a3}#account .a-result-rank{font:150px/.95 Georgia;color:#d5ba7c;text-shadow:0 0 45px #d9b47720;font-weight:400}#account .a-result-score>div{display:flex;gap:40px;margin-top:20px}#account .a-result-score>div span{font-size:10px;color:var(--game-muted);text-align:center}#account .a-result-score>div b{display:block;font:27px Georgia;color:#e1ddce;margin-bottom:3px}#account .a-reward-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;border-bottom:1px solid var(--game-line);padding:20px 0}#account .a-reward-stats>span{font-size:11px;color:var(--game-muted)}#account .a-reward-stats b{display:block;font:26px Georgia;color:#e4d2a7;margin-top:7px}#account .a-reward-stats small{display:block;font-size:9px;margin-top:3px}#account .a-result-drops{min-height:0;flex:1;overflow:auto;scrollbar-width:thin;padding:12px 0}#account .a-result-drops p{padding:9px 0;border-bottom:1px solid var(--game-line);margin:0;font-size:12px;color:#b9cdbb;line-height:1.5}#account .a-result-loot>footer{flex:none;border-top:1px solid var(--game-line);padding-top:13px}#account .a-result-loot>footer>small{display:block;font-size:10px;color:var(--game-muted);margin-bottom:10px}
/* War room: officer rail, battlefield tiles, intelligence, fixed confirmation strip. */
#room.scr{padding:0;background:#081219e8;font:13px/1.5 var(--game-font);color:var(--game-paper)}#room .r-box{position:absolute;inset:0;box-sizing:border-box;width:100%;height:100%;max-height:none;padding:0 var(--game-pad);overflow:hidden;background:radial-gradient(ellipse at 28% 50%,#304b4726,transparent 65%);border:0;border-radius:0;display:grid;grid-template-columns:210px minmax(0,1fr);grid-template-rows:var(--game-head) minmax(0,1fr) var(--game-foot);gap:0 28px}
#room .r-box>.r-head{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--game-line);margin:0;padding:0;min-height:0}#room .r-box>.r-head>h2{display:flex;align-items:center;gap:20px;margin:0;padding:0;font:30px var(--brush,serif);letter-spacing:.1em;color:#e4d1aa}#room .r-box>.r-head>h2 small{font:9px var(--game-font);letter-spacing:.25em;color:var(--game-muted)}#room .r-close{display:flex;align-items:center;gap:12px;flex:none;margin:0;padding:0 0 0 24px;min-height:32px;border:0;border-left:1px solid var(--game-line);border-radius:0;background:none;color:#b7c5bf;font:12px var(--game-font);cursor:pointer;letter-spacing:.04em}#room .r-close small{font-size:9px;opacity:.5}#room .r-close:hover{color:#e8d5ab}#room .r-box>section{grid-column:2;grid-row:2;min-width:0;min-height:0;overflow:auto;padding:22px 0;scrollbar-width:thin}#room .r-box>section[data-view=list]{display:flex;flex-direction:column;overflow:hidden}#room .r-box>.r-choice{grid-column:1;grid-row:2;padding:22px 18px 20px 0;margin:0;border-right:1px solid var(--game-line);display:flex;flex-direction:column;gap:16px;overflow:auto}#room .r-officer-art{display:flex;flex-direction:column;align-items:center;gap:12px;padding:35px 0 20px;background:radial-gradient(ellipse at 50% 70%,#9bc29e18,transparent 65%)}#room .r-officer-art canvas{image-rendering:pixelated;width:105px;height:105px;filter:drop-shadow(0 10px 16px #0007)}#room .r-officer-art b{font:21px var(--brush,serif);color:#b9b999}#room [data-ui=officer-summary]{font-size:11px;line-height:2;color:#9bb3ae}#room .r-choice>span{font-size:11px;color:#b4c0b2;letter-spacing:.1em}#room .r-box>section .r-choice{margin:0;display:block}#room .r-help{font:12px/1.7 var(--game-font);color:#92a9a9;opacity:1;margin:0 0 14px}#room .r-btn,#room .r-in{font:12px var(--game-font);border:1px solid #9db6a63b;background:#9bbbae09;color:#dce1cf;box-shadow:none;border-radius:0;padding:10px 15px;letter-spacing:.05em;min-height:36px}#room .r-btn{flex:none;text-align:center}#room .r-btn.r-go{background:linear-gradient(100deg,#c6a26a,#dcc58f);color:#102028;border-color:#e2c58a;min-width:150px}#room .r-in{font-size:16px;width:100%;margin:0;height:38px}#room .r-row{gap:9px;flex-wrap:nowrap;margin:0 0 12px;flex:none}#room .r-row [data-a=show-create]{margin-left:auto}#room .r-room-list{max-height:none;min-height:0;flex:1;overflow:auto;margin:0;gap:8px;align-content:start;scrollbar-width:thin}#room .r-room-item{display:grid;grid-template-columns:120px 1fr;gap:5px 20px;align-items:center;padding:17px 20px;min-height:74px;border:1px solid var(--game-line);border-left:2px solid #b5a16f55;background:linear-gradient(90deg,#1d353574,#102027ad);border-radius:0;font:14px var(--game-font)}#room .r-room-item strong{font:22px Georgia;grid-row:span 2;color:#dfc68c}#room .r-room-item small{font:11px var(--game-font);color:#99b3ae;opacity:1}#room .r-empty{margin:auto;font:15px var(--game-font);color:#a0b4ae;border:1px dashed #afc5b42c;padding:40px;text-align:center}
#room .r-box>.r-foot{grid-column:1/-1;grid-row:3;display:flex;align-items:center;gap:12px;border-top:1px solid var(--game-line);min-height:0;padding:0}#room .r-foot>.r-status{flex:1;min-width:0;background:none;border:0;font:11px var(--game-font);padding:12px 0;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#c9b581}#room .r-foot>.r-actions{margin:0;flex:none;align-items:center;gap:10px}#room .r-foot>.r-actions:empty{display:none}#room .r-foot>.r-actions button{min-height:28px;font-size:11px}
#room section[data-view=create]{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(210px,.8fr);grid-template-rows:minmax(0,1fr) auto;gap:15px 24px;overflow:hidden}#room .r-setup{min-width:0;min-height:0;overflow:auto;padding-right:4px;scrollbar-width:thin}#room .r-intel{min-height:0;overflow:auto;border-left:1px solid var(--game-line);padding-left:22px;scrollbar-width:thin}#room .r-intel h3{font:25px var(--brush,serif);color:#ddc598;margin:8px 0 15px}#room .r-room-confirm{grid-column:1/-1;border-top:1px solid var(--game-line);padding-top:12px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:flex-end}#room .r-room-confirm .r-row{margin:0}#room .r-room-confirm [data-ui=password-row]{flex:1;min-width:110px}#room .r-room-confirm .r-password-toggle{margin-right:auto}#room .r-room-confirm .r-password-toggle span{font-size:11px}#room .r-choice input[type=checkbox]{height:15px;width:15px;margin-right:5px}#room .r-setup :is([data-ui=mode],[data-ui=map],[data-ui=diff]){display:none}#room .r-setup .r-choice{margin-bottom:16px}#room .r-segments{display:flex;gap:6px;margin:8px 0}#room .r-segments button{min-height:36px;flex:1;padding:7px;border:1px solid var(--game-line);border-radius:0;background:#a5c6bc08;color:#94ada8;font:12px var(--game-font);cursor:pointer}#room [data-choice][aria-pressed=true]{border-color:#d4b47b;background:#bc9c6030;color:#ebd1a2}#room .r-map-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}#room .r-map-tile{position:relative;min-height:86px;text-align:left;background:#172b31;border:1px solid var(--game-line);padding:0;overflow:hidden;cursor:pointer;color:#c9d2bf;isolation:isolate}#room .r-map-tile i{position:absolute;inset:0;z-index:-1;opacity:.6;background:linear-gradient(130deg,#65775e90,#1c3b3d00),repeating-linear-gradient(30deg,transparent 0 11px,#a7b9a00c 12px 13px);clip-path:polygon(0 0,100% 0,100% 90%,72% 70%,52% 85%,40% 52%,0 80%)}#room .r-map-tile i[data-field=chibi]{background:linear-gradient(30deg,#42575e,#3a736f,#2a3432)}#room .r-map-tile i[data-field=hulao]{background:linear-gradient(30deg,#705745,#7d7651,#273436)}#room .r-map-tile i[data-field=dingjun]{background:linear-gradient(30deg,#263d3d,#5f7459,#223438)}#room .r-map-tile b{position:absolute;left:10px;bottom:10px;font:18px var(--brush,serif);letter-spacing:.06em}#room .r-difficulties button b{font-size:11px;font-weight:500}#room .r-intel [data-ui=rewards]{white-space:pre-line;font-size:11px;line-height:1.9;color:#b4c7b9}
#room [data-view=lobby]{display:flex;flex-direction:column;overflow:hidden!important}#room .r-picks{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:10px 0 20px;flex:1;min-height:0}#room .r-picks>.r-choice{border:1px solid var(--game-line);background:linear-gradient(160deg,#263d3c57,#112129d9);padding:14px;min-height:0;display:flex;flex-direction:column;gap:10px}#room .r-seat-art{min-height:55px;flex:1;display:grid;place-items:center;position:relative}#room .r-seat-art canvas{image-rendering:pixelated;width:min(100%,95px);height:auto;filter:drop-shadow(0 7px 12px #0007)}#room .r-seat-art>b{display:none}#room .r-picks .is-empty .r-seat-art canvas{display:none}#room .r-picks .is-empty .r-seat-art>b{display:block;font:32px sans-serif;color:#708c8599;font-weight:200}#room .r-picks .r-select{font-size:13px;padding:6px;min-height:30px;height:32px}#room .r-picks [data-state]{font-size:10px;color:#91bc9e;min-height:16px}#room .r-picks>.r-choice>span{font:12px Georgia;color:#ddc486}
/* City and communications leave the live world in view. */
.city-screen{font-family:var(--game-font);--city-edge:#9fb2a43d;--city-paper:#10212ae8;color:#e1e0cf}.city-screen button{border-radius:0;background:#102129cf;border-color:#9aafa044;font:12px var(--game-font);min-height:36px}.city-screen .city-identity{border:0;border-left:2px solid #b8a06a;background:linear-gradient(90deg,#172b32e8,#172b3266);padding:8px 14px}.city-head{padding:18px var(--game-pad)}.city-map{width:146px;right:var(--game-pad);top:18px}.city-map canvas{width:146px;height:146px;background:#15242b;border:1px solid #b9a56b44;box-shadow:none}.city-place{background:#10212ad4;padding:4px 7px}.city-place b{font-size:15px;color:#d8bd85}.city-place small{font-size:9px}.city-dock{right:var(--game-pad);top:194px;bottom:auto;width:146px;display:grid;grid-template-columns:1fr 1fr;gap:5px;background:none;border:0;padding:0}.city-dock button{min-width:0;font-size:11px;min-height:33px;padding:6px}.city-dock .city-primary{background:#af8d552d;border-color:#ceb37799;color:#e5c988;grid-column:1/-1}.city-help{top:98px;left:var(--game-pad);padding:12px 15px;border-left-color:#bea471;background:linear-gradient(90deg,#10212ae8,#10212a44);max-width:280px}.city-help b{font-size:20px;color:#d9c599}.city-help p{font-size:11px;line-height:1.7;color:#9eb2b2}.city-help button{font-size:10px;min-height:28px;padding:5px 9px}.city-stamina{bottom:26px;background:none;font-size:10px}.city-stamina i{width:140px;height:5px;border:0;background:#7e97852b}.city-stamina i b{background:#8dc0a9}.city-dialog{width:min(820px,calc(100vw - 64px));max-height:calc(100dvh - 70px);padding:24px;background:linear-gradient(130deg,#1b3037f5,#0e2029f5);border:1px solid #9bb4a653;box-shadow:0 22px 100px #0008}.city-dialog header{border-color:var(--game-line);padding-bottom:16px}.city-dialog h2{color:#e2cf9e;font-size:29px}.city-content{font:13px/1.8 var(--game-font);padding:12px 0;scrollbar-width:thin}.city-content button{font-size:13px;min-height:44px;padding:12px 18px;background:linear-gradient(90deg,#86a49a18,transparent);border:0;border-bottom:1px solid var(--game-line);border-left:2px solid #b8a16b44}.city-content button:hover{background:#99b7a627}.city-dialog footer{margin-top:12px;border-top:1px solid var(--game-line);padding-top:14px}.city-dialog footer button{padding:8px 18px;min-width:100px}.city-dialog footer [data-a=continue]{background:#c4a666;color:#162326}.city-status,.city-toast{background:#10232dec;border-color:#9eafa243;border-radius:0;font-family:var(--game-font)}.city-toast{font-size:15px}.city-guide{background:#13292fea;border-color:#c8af73}.city-screen .city-interact{background:#10252de8;color:#ead0a0;border-color:#c4ab73;font-family:var(--game-font)}
#chat{font-family:var(--game-font);color:#d8e0d3}#chat .chat-toggle{background:#10242cd9;border-color:#9caf9e44;color:#d5bd8c;font-size:11px;min-height:32px;left:var(--game-pad);bottom:22px;padding:7px 13px}#chat .chat-summary{background:linear-gradient(90deg,#11242bc9,transparent);left:var(--game-pad);bottom:65px;font-size:11px;color:#bdc7b5}#chat .chat-panel{left:var(--game-pad);bottom:66px;width:420px;max-width:calc(100vw - 2*var(--game-pad));height:min(620px,calc(100dvh - 130px));max-height:none;display:flex;flex-direction:column;overflow:hidden;padding:16px;background:linear-gradient(135deg,#1b3036f5,#0e2029f5);border-color:#a3b9a55c;box-shadow:0 15px 60px #0006}#chat header{flex:none;border-bottom:1px solid var(--game-line);padding-bottom:10px}#chat header b{font-size:23px;color:#e2cb9d}#chat button,#chat input,#chat textarea,#chat select{border-radius:0;background:#0919226e;border-color:#a2b8a13b;font:11px var(--game-font);min-height:30px;padding:5px 8px;color:#c5d5c8}#chat input,#chat textarea{font-size:16px}#chat textarea{height:40px;min-height:40px}#chat .chat-log{flex:1;min-height:50px;height:auto;scrollbar-width:thin}#chat .chat-log article{border-color:var(--game-line);padding:7px 0}#chat .chat-log .chat-text{font-size:12px;color:#c7d7cc}#chat .chat-activity,#chat nav{flex:none}#chat .chat-activity{font-size:11px;border-color:var(--game-line);padding:4px 0}#chat .chat-activity summary{min-height:20px}#chat .chat-activity>div{max-height:70px}#chat .chat-send{flex:none;margin-top:8px}#chat .chat-send button{background:#b6a06a;color:#12232c;min-width:50px}#chat .chat-status{font-size:10px;margin:3px 0;flex:none}#chat .chat-status:empty{display:none}#chat .chat-private,#chat .chat-blocks,#chat .chat-report{flex:none;max-height:90px;overflow:auto}#chat .chat-panel>button{align-self:flex-end;min-height:24px;font-size:9px;background:none;border:0}
/* Campaign / difficulty / settings remain game panels, never long pages. */
#title.city-mode-modal{background:radial-gradient(ellipse at 70% 40%,#27434466,transparent 60%),#0c1b23f5;overflow:hidden;font-family:var(--game-font)}#title.city-mode-modal .t-city-nav{position:absolute;inset:0 var(--game-pad) auto;height:var(--game-head);box-sizing:border-box;padding:0;border-bottom:1px solid var(--game-line);background:none;color:#d7c092;font-size:16px}#title.city-mode-modal .t-city-nav button{border:0;border-radius:0;background:none;color:#9cb3b2;min-height:32px;font-size:12px;padding:8px 12px}#title.city-mode-modal .t-band{position:absolute;inset:calc(var(--game-head) + 22px) var(--game-pad) calc(var(--game-foot) + 22px);width:auto;margin:0;max-width:none;display:flex}#title.city-mode-modal :is(.t-cpanel,.t-dpanel){height:100%;min-height:0;flex:1;gap:32px;margin:0;align-items:stretch}#title.city-mode-modal .t-menu{width:32%;min-width:200px;max-width:380px;overflow:auto;scrollbar-width:thin;flex:none;padding-right:15px;border-right:1px solid var(--game-line)}#title.city-mode-modal :is(.t-ccard,.t-dcard){width:auto;flex:1;max-width:none;min-width:0;max-height:100%;overflow:auto;padding:26px 32px;background:linear-gradient(120deg,#20373a76,#13232b76);border-color:#bba17155;margin:0;box-shadow:none;scrollbar-width:thin}#title.city-mode-modal .t-menu b{font:23px var(--brush,serif);color:#c4cfbf}#title.city-mode-modal .t-menu button{padding:12px 14px 16px 32px;min-height:66px;border-bottom:1px solid var(--game-line);margin:0}#title.city-mode-modal .t-menu button.on{background:linear-gradient(90deg,#b89b6129,transparent)}#title.city-mode-modal .t-menu button.on b{color:#ead2a1}#title.city-mode-modal .t-menu button::before{top:24px}#title.city-mode-modal .t-menu .swash{display:none}#title.city-mode-modal .t-menu small{font:9px var(--game-font);color:#7f9b9d}#title.city-mode-modal :is(.t-ccard,.t-dcard) h3{font-size:19px}#title.city-mode-modal .t-cname b{font-size:42px}#title.city-mode-modal .t-cera{font-size:19px}#title.city-mode-modal :is(.t-cline,.t-dline) b{font:14px/1.8 var(--game-font);color:#b5c8bd}#title.city-mode-modal :is(.t-cline,.t-dline) small{font-size:10px;color:#789296}#title.city-mode-modal .t-cfoot{border-color:var(--game-line);font-size:12px}#title.city-mode-modal .ui-foot{position:absolute;left:var(--game-pad);right:var(--game-pad);bottom:0;height:var(--game-foot);border-top:1px solid var(--game-line);box-sizing:border-box;align-items:center;background:none;margin:0;padding:0;font:11px var(--game-font)}#title.city-mode-modal .ui-foot small{font-size:9px}#title .stage-rewards summary{cursor:pointer;color:#d6c08f;line-height:1.7}#title .stage-rewards[open] summary{border-bottom:1px solid var(--game-line);padding-bottom:8px}#title .stage-rewards p{color:#9eb8ae;line-height:1.9}
#title.city-settings-modal .t-settings,#title.settings .t-settings{position:absolute;inset:24px var(--game-pad);transform:none;max-height:none;width:auto;max-width:none;box-sizing:border-box;background:linear-gradient(120deg,#152a32f5,#0d1e27f5);border:1px solid var(--game-line);padding:24px 30px;display:flex;flex-direction:column;overflow:hidden}#title .t-settings-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 20px;padding:0 0 18px;border-bottom:1px solid var(--game-line);flex:none}#title .t-settings-head h2{font-size:29px;margin:0;color:#e1cfaa}#title .t-settings-close{display:flex;align-items:center;gap:12px;flex:none;margin:0;padding:0 0 0 24px;min-height:32px;border:0;border-left:1px solid var(--game-line);border-radius:0;background:none;color:#b7c5bf;font:12px var(--game-font);letter-spacing:.04em;cursor:pointer}#title .t-settings-close small{font-size:9px;opacity:.5}#title .t-settings-close:hover{color:#e8d5ab}#title .t-settings-grid{min-height:0;flex:1;display:grid;align-items:stretch;grid-template-columns:1.1fr 1fr;gap:32px;overflow:hidden}#title .t-settings-options,#title .t-settings-help{min-height:0;overflow:auto;scrollbar-width:thin;padding-right:12px}#title .t-settings-help{border:0;border-left:1px solid var(--game-line);padding:0 12px 0 18px}#title .t-settings-grid h3{font-size:22px}#title .t-bindings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}#title .t-bindings button{min-height:39px;padding:7px 10px;border:1px solid var(--game-line);background:#96b4a80a}#title .t-bindings button b{font:12px var(--game-font);letter-spacing:0;color:#a6bdb5}#title .t-bindings button small{font:11px var(--game-font);color:#dfc58c}#title .t-bindings .swash{display:none}#title :is(.t-bind-reset,.t-touch-layout,.t-test-toggle){font:11px var(--game-font);letter-spacing:0;padding:9px 12px;min-height:34px;margin:8px 6px 0 0;border-color:var(--game-line);color:#c4d2c3;background:#9fbeb107}#title .t-quality-row{font:12px var(--game-font);margin:14px 0;color:#afc0b7}#title .t-quality-select{font:16px var(--game-font);background:#0a1d25;border-color:var(--game-line);color:#c5d5ca}#title .t-settings-help table{font:11px var(--game-font)}#title .t-settings-help th{font:12px var(--game-font);color:#c7b080}#title .t-settings-help th small{font:8px var(--game-font)}#title .t-test-state{font:10px/1.6 var(--game-font);color:#849f9e}
#select .s-head{left:var(--game-pad);right:var(--game-pad);top:22px;gap:20px}#select .s-roster{left:var(--game-pad);top:105px;bottom:80px;width:19%;max-width:280px;overflow:auto;scrollbar-width:thin}#select .s-info{left:23%;top:160px;width:32%;max-height:calc(100% - 245px);box-sizing:border-box;overflow:auto;scrollbar-width:thin;padding-right:14px}#select .s-rec{left:23%;top:92px;width:32%;max-width:none}#select .s-name h1{font-size:65px}#select .s-account-gear{background:linear-gradient(90deg,#153138b9,transparent);border-color:#bba36e;padding:12px;margin-top:16px}#select .s-account-gear p{font:11px/1.8 var(--game-font);color:#a3b8ad}#select .s-act{right:var(--game-pad);bottom:60px;gap:15px;z-index:5;pointer-events:auto}#select .s-act .s-account-message{position:absolute;right:0;bottom:calc(100% + 10px);width:max-content;max-width:min(420px,45vw);box-sizing:border-box;margin:0;padding:8px 12px;border-right:3px solid #d56b51;background:linear-gradient(90deg,transparent,#251513e8);color:#ffb49a;font:12px/1.55 var(--game-font);text-align:right;pointer-events:none}#select .s-act .s-account-message:empty{display:none}#select .s-go b,#select .s-back b{font:23px var(--brush,serif)}#select .s-act small{font:9px var(--game-font)}#select .s-go[aria-busy]{filter:saturate(.45);cursor:progress}#select .ui-foot{left:var(--game-pad);bottom:16px;font:11px var(--game-font);gap:20px}#select .ui-foot small{font-size:9px}
#menu{background:#08151ed9}#menu>button{border-radius:0;background:#1b3036c9;border:1px solid #9bb4a348;font-family:var(--game-font)}#netError>section{background:linear-gradient(120deg,#1a3037,#0e2029);border:1px solid #b8a47666;border-radius:0;font-family:var(--game-font)}#netError button{border-radius:0;background:#c4a66d;color:#10212a}
/* Compact landscape keeps columns and fixed commands; it never turns into a phone webpage. */
@media(max-height:600px){
 :root{--game-pad:max(16px,env(safe-area-inset-left),env(safe-area-inset-right));--game-head:54px;--game-foot:30px}
 #account #accountTitle{font-size:21px}#account #accountTitle small{font-size:7px;margin-top:3px}#account .a-heading{gap:9px}#account .a-seal{width:27px;height:31px;font-size:14px}#account .a-back small{display:none}#account button.a-back{font-size:10px;padding-left:14px;min-height:26px}
 #account .a-body{grid-template-columns:122px minmax(0,1fr);padding:12px 0;gap:16px}#account .a-body>nav{padding-right:10px;gap:7px}#account .a-pages{gap:3px}#account .a-pages button{min-height:34px;padding:5px 9px;font-size:11px}#account .a-pages button small{font-size:6px;margin-top:2px}#account .a-tools{gap:3px}#account .a-tools button{min-height:24px;font-size:9px;padding:5px}#account .a-content>main{gap:10px}#account .a-profile{padding:8px 12px;gap:20px}#account .a-identity b{font-size:20px}#account .a-identity small{font-size:8px}#account .a-stat{min-width:55px}#account .a-stat small{font-size:8px}#account .a-stat strong{font-size:20px}#account .a-pane{padding:12px}#account .a-pane>header{padding-bottom:8px;gap:3px 6px}#account .a-pane h3{font-size:19px}#account .a-pane>header .game-kicker{font-size:6px}#account .a-pane>header>small{font-size:8px}#account .a-record-columns,#account .a-security-columns{gap:12px}#account .a-row{padding:8px 3px;gap:8px;min-height:47px}#account .a-row b{font-size:10px}#account .a-row small{font-size:8px;margin-top:3px}#account .a-rank{font-size:22px;height:31px;width:26px}#account .a-record>span{font-size:14px}#account .a-record>span small{font-size:7px}#account .a-battle>i,#account .a-device>i{height:29px;width:24px;font-size:13px}#account .a-battle>span{font-size:8px}#account .a-row button{min-height:24px;font-size:8px;padding:5px}#account .a-foot{font-size:8px}#account .a-foot small{font-size:7px}#account .a-empty{padding:12px}#account .a-empty b{font-size:20px}#account .a-empty p{font-size:9px}#account .a-status{font-size:10px;margin-bottom:4px}#account label{font-size:10px;gap:5px}#account input{height:32px;padding:0 10px}#account .a-password{padding-top:12px;gap:10px}#account .a-password p{font-size:8px}#account .a-actions{gap:6px}#account .a-actions button{font-size:10px;min-height:29px;padding:6px 10px;min-width:80px}
 #account .a-auth-scene{grid-template-columns:1fr minmax(250px,.85fr);gap:8%;height:100%}#account .a-auth-intro h3{font-size:39px;margin:8px 0 10px}#account .a-auth-intro p{font-size:11px}#account .a-auth-intro>small{font-size:8px;margin-top:20px}#account .a-auth-intro .game-kicker{font-size:8px}#account .a-auth-standard{width:100px;right:0}#account .a-auth-standard i,#account .a-auth-standard b{font-size:55px}#account .a-auth{padding:12px 0 12px 22px;gap:10px}#account .a-auth h3{font-size:23px;margin-bottom:0}#account .a-auth .game-kicker{font-size:8px}#account .a-auth .a-actions{gap:5px}#account .a-auth .a-actions button{height:32px;min-height:30px}#account .a-auth .a-actions [data-a=toggle-auth]{font-size:9px;min-height:22px;height:22px}#account .a-auth-note{font-size:8px}
 #account .a-result-layout{gap:20px;grid-template-columns:.7fr 1fr}#account .a-result-score h3{font-size:27px;margin:7px 0}#account .a-result-rank{font-size:85px}#account .a-result-score>div{gap:24px;margin-top:10px}#account .a-result-score>div b{font-size:20px}#account .a-result-score>div span{font-size:8px}#account .a-reward-stats{padding:10px 0;gap:8px}#account .a-reward-stats>span{font-size:9px}#account .a-reward-stats b{font-size:20px;margin-top:4px}#account .a-reward-stats small{font-size:7px}#account .a-result-drops{padding:6px 0}#account .a-result-drops p{font-size:10px;padding:6px 0}#account .a-result-loot>footer{padding-top:8px}#account .a-result-loot>footer>small{font-size:8px;margin-bottom:7px}
 #room .r-box{grid-template-columns:148px minmax(0,1fr);gap:0 18px}#room .r-box>.r-head>h2{font-size:23px}#room .r-box>.r-head>h2 small{font-size:7px}#room .r-close{font-size:10px;padding-left:14px;min-height:26px;gap:8px}#room .r-close small{display:none}#room .r-box>.r-choice{padding:12px 12px 12px 0;gap:9px}#room .r-officer-art{padding:12px 0;gap:7px}#room .r-officer-art canvas{width:64px;height:64px}#room .r-officer-art b{font-size:17px}#room .r-choice>span{font-size:9px}#room [data-ui=officer-summary]{font-size:9px;line-height:1.8}#room .r-in{height:32px;padding:5px 6px;min-height:30px}#room .r-box>section{padding:12px 0}#room .r-help{font-size:10px;line-height:1.6;margin-bottom:8px}#room .r-btn{font-size:10px;min-height:30px;padding:7px 10px}#room .r-btn.r-go{min-width:110px}#room .r-room-item{min-height:53px;padding:10px 13px;grid-template-columns:90px 1fr;gap:4px 12px}#room .r-room-item strong{font-size:18px}#room .r-room-item small{font-size:9px}#room .r-empty{font-size:12px;padding:22px}#room .r-foot>.r-status{padding:8px 0;font-size:9px}#room .r-foot>.r-actions button{font-size:9px;min-height:24px}#room section[data-view=create]{grid-template-columns:minmax(0,1.15fr) minmax(180px,.85fr);gap:8px 14px}#room .r-intel{padding-left:12px}#room .r-intel h3{font-size:20px;margin:5px 0 9px}#room .r-intel .game-kicker{font-size:7px}#room .r-intel [data-ui=rewards]{font-size:9px;line-height:1.8}#room .r-setup .r-choice{margin-bottom:9px}#room .r-segments{margin:5px 0;gap:4px}#room .r-segments button{min-height:28px;font-size:10px;padding:5px}#room .r-map-tiles{margin-top:5px;gap:5px}#room .r-map-tile{min-height:49px}#room .r-map-tile b{font-size:14px;left:6px;bottom:6px}#room .r-difficulties button b{font-size:9px}#room .r-room-confirm{padding-top:8px;gap:8px}#room .r-room-confirm .r-password-toggle span{font-size:9px}#room .r-picks{gap:6px;margin:6px 0 10px}#room .r-picks>.r-choice{padding:8px;gap:6px}#room .r-picks .r-select{font-size:10px;padding:4px;min-height:27px;height:27px}#room .r-seat-art{min-height:35px}#room .r-seat-art canvas{max-width:62px}#room .r-picks [data-state]{font-size:8px}#room .r-picks>.r-choice>span{font-size:10px}
 .city-head{padding:10px var(--game-pad)}.city-screen .city-identity{padding:6px 10px;gap:8px;min-width:145px}.city-identity i{width:28px;height:28px;font-size:15px}.city-identity b{font-size:12px}.city-identity small{font-size:9px}.city-map{width:108px;top:10px}.city-map canvas{width:108px;height:108px}.city-place{padding:3px 4px}.city-place b{font-size:13px}.city-place small{font-size:8px}.city-dock{width:108px;top:148px;gap:4px}.city-dock button{font-size:9px;min-height:27px;padding:5px}.city-help{top:74px;max-width:210px;padding:9px 12px}.city-help b{font-size:16px}.city-help p{font-size:9px;margin:6px 0}.city-help button{min-height:24px;font-size:9px}.city-dialog{width:min(680px,calc(100vw - 48px));max-height:calc(100dvh - 38px);padding:16px}.city-dialog h2{font-size:23px}.city-dialog header{padding-bottom:10px}.city-dialog header button{min-height:25px;font-size:21px;padding:0 5px}.city-content{font-size:11px;padding:8px 0}.city-content button{min-height:32px;font-size:11px;padding:8px 12px;margin:4px 0}.city-dialog footer{padding-top:10px;margin-top:8px}.city-dialog footer button{min-height:29px;font-size:10px}.city-stamina{bottom:13px;font-size:8px;padding:2px 5px}.city-stamina i{width:110px;height:4px}.city-screen .city-interact{min-height:30px;font-size:12px;padding:7px 14px}.city-tag{font-size:9px!important;min-height:20px!important;padding:1px 5px!important}.city-guide{top:74px;font-size:10px;min-width:0;max-width:260px}.city-toast{font-size:12px;padding:8px 14px}.city-status{font-size:10px;bottom:55px;padding:4px 10px}
 #chat .chat-toggle{bottom:12px;font-size:10px;min-height:28px;padding:5px 9px}#chat .chat-summary{bottom:45px;font-size:9px;width:230px}#chat .chat-panel{bottom:48px;width:380px;height:calc(100dvh - 66px);padding:12px}#chat header{padding-bottom:6px;margin-bottom:6px}#chat header b{font-size:19px}#chat .chat-panel nav{margin-bottom:5px}#chat .chat-activity{font-size:9px;margin-bottom:5px}#chat button,#chat select{min-height:26px;font-size:10px}#chat .chat-log .chat-text{font-size:11px}#chat .chat-log article{padding:5px 0}#chat small{font-size:8px}#chat textarea{height:32px;min-height:32px}#chat .chat-send{margin-top:5px}#chat .chat-summary p:not(:last-child){display:none}
 #title.city-mode-modal .t-band{inset:calc(var(--game-head) + 12px) var(--game-pad) calc(var(--game-foot) + 12px)}#title.city-mode-modal :is(.t-cpanel,.t-dpanel){gap:20px}#title.city-mode-modal .t-menu{min-width:145px;width:30%;padding-right:10px}#title.city-mode-modal .t-menu button{min-height:45px;padding:8px 9px 10px 24px}#title.city-mode-modal .t-menu button::before{top:16px;left:3px}#title.city-mode-modal .t-menu b{font-size:19px}#title.city-mode-modal .t-menu small{font-size:7px}#title.city-mode-modal :is(.t-ccard,.t-dcard){padding:16px 20px}#title.city-mode-modal :is(.t-ccard,.t-dcard) h3{font-size:15px;margin-bottom:10px}#title.city-mode-modal .t-cname b{font-size:30px}#title.city-mode-modal .t-cera{font-size:15px;margin-top:8px}#title.city-mode-modal .t-cera small{font-size:9px}#title.city-mode-modal :is(.t-cline,.t-dline) b{font-size:11px}#title.city-mode-modal :is(.t-cline,.t-dline) small{font-size:8px}#title.city-mode-modal .t-cfoot{font-size:10px;margin-top:12px;padding-top:10px}#title.city-mode-modal .ui-foot{font-size:9px}#title.city-mode-modal .ui-foot small{font-size:7px}#title.city-mode-modal .t-city-nav{font-size:13px}#title.city-mode-modal .t-city-nav button{font-size:10px}#title .stage-rewards{font-size:10px!important}
 #title.city-settings-modal .t-settings,#title.settings .t-settings{inset:12px var(--game-pad);padding:15px 20px}#title .t-settings-head{margin-bottom:12px;padding-bottom:10px}#title .t-settings-head h2{font-size:23px}#title .t-settings-close{font-size:10px;padding-left:14px;min-height:26px;gap:8px}#title .t-settings-close small{display:none}#title .t-settings-grid{gap:18px}#title .t-settings-grid h3{font-size:17px}#title .t-settings-grid h3 small{font-size:8px}#title .t-bindings button{min-height:29px;padding:5px 7px}#title .t-bindings button b{font-size:10px}#title .t-bindings button small{font-size:9px}#title :is(.t-bind-reset,.t-touch-layout,.t-test-toggle){font-size:9px;min-height:28px;padding:6px 9px}#title .t-quality-row{font-size:10px;margin:10px 0}#title .t-settings-help table{font-size:9px}#title .t-settings-help th{font-size:10px}#title .t-settings-help th small{font-size:7px}
 #select .s-head{top:12px}#select .s-roster{top:66px;bottom:55px}#select .s-card{min-height:42px;padding:5px 8px 5px 40px;margin-bottom:5px}#select .s-card canvas{height:30px;width:30px;left:5px;top:5px}#select .s-card>b{font-size:14px}#select .s-card>small{font-size:7px}#select .s-info{top:105px;max-height:calc(100% - 165px);width:33%}#select .s-rec{top:62px;padding:5px 9px;width:33%;font-size:10px}#select .s-rec b{font-size:14px}#select .s-rec span{font-size:9px}#select .s-rec small{font-size:8px}#select .s-name h1{font-size:36px}#select .s-en{font-size:8px}#select .s-wpn,#select .s-bio{font-size:10px}#select .s-epi{font-size:12px}#select .s-stats li>b{font-size:11px}#select .s-stats small{font-size:7px}#select .s-musou{font-size:10px;padding:10px}#select .s-musou>b{font-size:16px}#select .s-musou>small{font-size:8px}#select .s-account-gear{padding:9px;margin-top:10px}#select .s-account-gear>b{font-size:12px}#select .s-account-gear p{font-size:9px}#select .s-act{bottom:40px;gap:12px;flex-direction:row}#select .s-go,#select .s-back{padding:8px 18px}#select .s-go b,#select .s-back b{font-size:19px}#select .s-act small,#select .s-line{display:none}#select .ui-foot{font-size:8px;bottom:10px;gap:13px}#select .ui-foot small{display:none}#select .s-head h2{font-size:22px}#select .s-head small{font-size:8px}
 #account .a-auth{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#account .a-auth>.game-kicker,#account .a-auth>h3{display:none}#account .a-auth>label{order:1}#account .a-auth:has([name=nickname]) label:has([name=password]){grid-column:1/-1;order:2}#account .a-auth>.a-actions{grid-column:1/-1;order:3}#account .a-auth>.a-auth-note{grid-column:1/-1;order:4}
}

/* Only the world remains behind an open full-screen menu. */
body:has(#account:not([hidden]),#room:not([hidden]),#title.city-mode-modal,#title.city-settings-modal) :is(#city,#chat){visibility:hidden}
body:has(#account:not([hidden]),#room:not([hidden])) #title :is(.t-band,.t-tag){visibility:hidden}
#account button.a-primary{background:linear-gradient(105deg,#c8a567,#e1ca96);border-color:#e8d5ab;color:#142026}
#account button.a-primary:hover:not(:disabled){background:linear-gradient(105deg,#d6b577,#ead6a7)}

/* Keep editable controls above Safari’s automatic zoom threshold. */
#room input:not([type=checkbox]),#room select,#chat input,#chat textarea,#chat select{font-size:16px}

#account .a-password{flex:1;overflow:hidden}#account .a-password-fields{display:flex;flex-direction:column;gap:18px;min-height:0;overflow:auto;flex:1;scrollbar-width:thin}#account .a-password>.a-actions{padding-top:10px;border-top:1px solid var(--game-line)}
#select .s-roster{overflow-x:hidden}#select .s-card{width:100%;box-sizing:border-box}#select .s-info{overflow-x:hidden}
@media(max-height:600px){#account .a-password-fields{gap:9px}#account .a-password>.a-actions{padding-top:7px}}

#select .s-card{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:10px;padding:9px;min-height:60px;border:1px solid var(--game-line);background:#13242ac9;transform:none}#select .s-card canvas{position:static;width:40px;height:40px;grid-row:1/3;grid-column:1;left:auto;top:auto}#select .s-card>b,#select .s-card>small{grid-column:2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#select .s-card>b{font-size:18px}#select .s-card>small{font:9px var(--game-font);letter-spacing:0;padding-top:4px}#select .s-card.on{transform:none;background:linear-gradient(90deg,#c4a56835,#13242a);border-left:2px solid #d6b87b}#select .s-card.on::before,#select .s-card>i{display:none}#select .s-card:hover:not(.on){transform:none}#select .s-go{border:1px solid #d4bc85;background:linear-gradient(100deg,#c8a66d,#e5cfa0);color:#142329}#select .s-back{border:1px solid var(--game-line);background:#13262ed9;color:#c2cbbd}#select .s-bio{font-family:var(--game-font)}
@media(max-height:600px){#select .s-card{grid-template-columns:30px minmax(0,1fr);padding:5px;min-height:42px;column-gap:7px}#select .s-card canvas{width:30px;height:30px}#select .s-card>b{font-size:14px}#select .s-card>small{font-size:7px;padding-top:2px}#select .s-bio{font-size:10px}}

/* Dungeon setup keeps size selection and confirmation visible; only the dungeon tiles scroll. */
#room [hidden]{display:none!important}
#room .r-setup :is([data-ui=dungeon],[data-ui=party]){display:none}
#room[data-mode=dungeon] .r-setup{display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden}
#room[data-mode=dungeon] .r-setup>p,#room[data-mode=dungeon] .r-setup [data-ui=diff-row]{display:none}
#room[data-mode=dungeon] [data-ui=mode-row]{grid-row:1}
#room[data-mode=dungeon] [data-ui=party-row]{grid-row:2}
#room[data-mode=dungeon] .r-setup [data-ui=dungeon-row]{grid-row:3;min-height:0;display:flex;flex-direction:column;overflow:hidden}
#room[data-mode=dungeon] [data-ui=dungeon-choices]{flex:1 1 0;min-height:0;overflow:auto;scrollbar-width:thin;grid-auto-rows:minmax(49px,1fr)}

#room [data-choice-kind=dungeon]>small{position:absolute;left:10px;top:7px;font:10px var(--game-font);color:#9db1aa}#room [data-choice-kind=dungeon].is-locked{opacity:.5}#room [data-choice-kind=dungeon].is-locked>small{color:#e2a879}
@media(max-height:600px){#room [data-choice-kind=dungeon]>small{left:6px;top:4px;font-size:8px}}
