:root{color:#c7cbb1;font-synthesis:none;--gold:#b7a266;--line:#5d604f;--panel:#252c2b;--green:#8db184;background:#0c1014;font-family:Consolas,SFMono-Regular,Courier New,monospace;font-size:12px}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button{color:#d8cf9d;cursor:pointer;letter-spacing:.01em;background:linear-gradient(#3b4541,#202b2a);border:1px solid #89917a;border-color:#89917a #626957 #111b1c #7e8571;min-height:29px;box-shadow:inset 0 0 0 1px #162224}button:hover:not(:disabled){color:#fbebae;background:linear-gradient(#4b574c,#2b3c34);border-color:#b5a575}button:active:not(:disabled){background:#15251e;border-color:#313f32}button:disabled{opacity:.38;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:2px solid #cfb66c}input,select{color:#d5d2b6;background:#10191b;border:1px solid #596958;padding:10px}input::placeholder{color:#788476}a{color:inherit;text-decoration:none}button kbd{color:#d2b55a;font-size:10px}button b{font-weight:400}[hidden]{display:none!important}.topbar{background:linear-gradient(#373e39,#1c2828);border-bottom:2px solid #62604c;align-items:center;gap:24px;height:38px;padding:0 12px;display:flex;box-shadow:inset 0 -4px #131f1e}.brand{color:#d4d5b5;font-size:15px;font-weight:700}.brand small{color:#8d9a8a;letter-spacing:1.2px;margin-left:13px;font-size:9px}.edition{letter-spacing:1px;color:#7f948e;font-size:9px}.top-actions{gap:5px;margin-left:auto;display:flex}.top-actions button{min-height:24px;padding:0 9px;font-size:10px}.battle-station{grid-template-rows:minmax(220px,1fr) 180px;max-width:1920px;height:calc(100dvh - 66px);margin:auto;display:grid}.battlefield{background:#171b2a;border-left:6px solid #29352f;border-right:6px solid #29352f;position:relative;overflow:hidden}#track{cursor:default;touch-action:none;width:100%;height:100%;image-rendering:pixelated;outline:0;display:block}#track.targeting{cursor:crosshair}.battle-top{pointer-events:none;justify-content:space-between;align-items:flex-start;display:flex;position:absolute;top:12px;left:14px;right:14px}.session-badge{text-shadow:1px 2px #000;flex-direction:column;gap:5px;display:flex}.session-badge span:first-child{letter-spacing:1.3px;color:#b1af8b;font-size:9px}.session-badge strong{color:#d4be84;font-size:18px}.session-badge span:last-child{color:#8caa90;font-size:10px}.scoreboard{pointer-events:auto;background:#11191ddc;border:1px solid #72725d;width:234px;box-shadow:0 2px 8px #0008}.score-title{color:#d1bf7e;border-bottom:1px solid #555f51;padding:7px 8px;font-size:11px}.score-title b{float:right;font-size:12px;font-weight:400}.score-row{min-height:27px;color:var(--player);grid-template-columns:15px 1fr auto 33px;align-items:center;gap:5px;padding:3px 6px;display:grid}.score-row i{text-align:center;border:1px solid;font-size:10px;font-style:normal}.score-row .player-name{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.score-row b{font-size:11px;font-weight:400}.score-row button{min-height:19px;padding:0 2px;font-size:9px}.event-feed{pointer-events:none;text-shadow:1px 1px 2px #000;position:absolute;bottom:12px;left:20px;right:20px}.event-feed p{color:#c4d5a8;background:#10171dbb;max-width:80%;margin:0 0 8px;padding:5px 9px;line-height:1.6;display:table}.event-feed>span{color:#a6b7a4;background:#0b1717aa;padding:3px 7px;font-size:10px}.panel{background:linear-gradient(115deg,#303b36f5,#1b2929f7);border:2px solid #77735a;padding:25px;box-shadow:inset 0 0 0 3px #152121,inset 0 0 0 5px #3a4940,0 12px 40px #000b}.lobby{width:460px;max-width:calc(100% - 36px);max-height:calc(100% - 25px);position:absolute;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.lobby-title{text-align:center;border-bottom:1px solid #68715b;margin-bottom:16px;padding-bottom:14px}.lobby-title small{letter-spacing:2px;color:#7b978e;font-size:9px}.lobby-title h1{color:#dbd0a0;text-shadow:2px 2px #0e181a;letter-spacing:-2px;margin:12px 0 3px;font-size:32px}.lobby-title>span{letter-spacing:3px;color:#909b8a;font-size:10px;display:block}.lobby-title b{color:#bbad7a;margin-top:14px;font-size:11px;font-weight:400;display:block}#entry>label{color:#9aaf96;margin-bottom:6px;font-size:10px;display:block}#entry>input{width:100%}.lobby-buttons{gap:8px;margin-top:10px;display:flex}.lobby-buttons button{flex:1;min-height:36px}.join-row{gap:8px;margin-top:8px;display:flex}.join-row input{flex:1;min-width:0}.join-row button{width:70px}.intro{color:#b1b49c;margin:17px 0 7px;font-size:11px;line-height:1.75}.controls-note{color:#8ba58e;font-size:10px;line-height:1.8}.controls-note strong{color:#d0c187}.lobby-foot{text-align:center;color:#71877b;border-top:1px solid #46554b;margin-bottom:0;padding-top:13px;font-size:9px}.settings{flex-wrap:wrap;align-items:center;gap:8px;margin:20px 0;display:flex}.settings select{flex:1}.settings>span{text-align:right;color:#8fa38b;width:100%;font-size:10px}.room-links{gap:8px;margin-top:10px;display:flex}.room-links button{flex:1;font-size:10px}#room-message{color:#b6c09e;line-height:1.7}.result{color:#bdbf9d;width:430px;max-width:90%;max-height:calc(100% - 20px);position:absolute;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.result>small{letter-spacing:3px;color:#8ea690;font-size:10px}.result h2{color:#dcc684;font-size:29px}.result p{border-bottom:1px solid #516052;padding:8px 0;font-size:12px}.command-deck{background:linear-gradient(125deg,#555849 0,#2a3734 6%,#23312e 42%,#354039 70%,#222d2b 100%);border-top:5px ridge #74705a;grid-template-columns:224px 112px minmax(200px,1fr) 240px;gap:10px;padding:7px 11px 8px;display:grid;box-shadow:inset 0 3px #182722}.minimap-frame{background:#070f12;border:2px inset #676c56;flex-direction:column;max-width:224px;min-height:0;padding:3px;display:flex}.minimap-frame canvas{object-fit:fill;cursor:crosshair;width:100%;height:calc(100% - 25px);min-height:0;image-rendering:pixelated}.minimap-tools{gap:3px;margin-top:3px;display:flex}.minimap-tools button{min-height:21px;font-size:9px}.minimap-tools button:first-child{flex:1}.portrait-frame{background:#111a18;border:3px inset #656e54;flex-direction:column;align-self:stretch;margin:0 0 2px;padding:3px;display:flex;position:relative}.portrait-frame img{object-fit:cover;width:100%;height:128px;image-rendering:pixelated;border:1px solid #718268}.portrait-frame span{letter-spacing:1px;white-space:nowrap;color:#6a9a7c;text-align:center;padding-top:5px;font-size:8px}.selection-info{background:#17231db0;border:1px inset #60705c;min-width:0;padding:6px 12px;box-shadow:inset 0 0 12px #081812}.unit-heading{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.unit-heading strong{color:#d2d6b6;font-size:18px}.unit-heading>span{color:#c4b87d;white-space:nowrap;font-size:10px}#unit-nickname{color:#9cb38c;margin:7px 0;font-size:11px}.vitals{color:#839e86;gap:16px;font-size:10px;display:flex}.health-track{background:#0a1813;width:180px;height:4px;margin-top:6px}.health-track i{background:#87b762;width:100%;height:100%;display:block}#unit-description{color:#a5b09a;max-width:660px;margin:8px 0 4px;font-size:11px;line-height:1.55}#unit-status{color:#b5a56f;white-space:nowrap;text-overflow:ellipsis;font-size:10px;display:block;overflow:hidden}.orders{min-width:0;position:relative}.command-grid{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:4px;height:100%;display:grid}.command-grid button{color:#c9d0b0;background:linear-gradient(#3c4740,#1e3029);border-width:2px;flex-direction:column;justify-content:center;align-items:center;min-height:0;padding:2px;font-size:9px;line-height:1.35;display:flex;position:relative;overflow:hidden}.command-grid button>b{color:#b6ad78;text-shadow:1px 1px #0a1713;margin-bottom:2px;font-size:19px;line-height:1}.command-grid kbd{font-size:9px;position:absolute;top:2px;right:3px}.command-grid span{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.build-menu{background:#14251ef0;border:2px solid #8c8a60;flex-direction:column;gap:10px;padding:12px;display:flex;position:absolute;inset:0}.build-menu button{flex:1;font-size:11px;line-height:1.5}.status{color:#a5b89b;background:#17231e;border-top:1px solid #5b6a53;justify-content:space-between;align-items:center;gap:10px;height:28px;padding:0 10px;font-size:10px;display:flex}.status>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.status>div{flex-shrink:0;align-items:center;gap:7px;display:flex}.status button{min-height:20px;padding:0 6px;font-size:9px}.status #elapsed{color:#d6be7a;font-size:12px}dialog{color:#b9c4a5;background:#202e29;border:3px ridge #8b8564;width:min(960px,94vw);max-height:86dvh;padding:24px;box-shadow:0 20px 80px #000b}dialog::backdrop{background:#07100bcc}.dialog-heading{border-bottom:1px solid #6a7158;justify-content:space-between;align-items:center;gap:12px;padding-bottom:13px;display:flex}.dialog-heading h2{color:#d1c38d;margin:0;font-size:22px}.dialog-heading small{letter-spacing:2px;color:#7c9c85;font-size:9px}.dialog-heading button{padding:0 10px;font-size:11px}.help-grid{grid-template-columns:1fr 1fr;gap:12px 28px;display:grid}.help-grid h3{color:#c9bb7a;font-size:15px}.help-grid p{color:#acb9a2;font-family:system-ui,sans-serif;font-size:13px;line-height:1.8}.help-grid strong{color:#e3d19a}.technical-note{color:#718d78;border-top:1px solid #485d4d;padding-top:16px;font-size:10px;line-height:1.7}.codex-filters{gap:8px;margin:16px 0;display:flex}.codex-filters button{padding:0 15px}.catalog{grid-template-columns:1fr 1fr;gap:12px;display:grid}.catalog article{background:#14241c;border:1px solid #455f4b;gap:12px;padding:10px;display:flex}.catalog img{width:72px;height:72px;image-rendering:pixelated;flex-shrink:0}.catalog h3{color:#d0d1a6;margin:3px 0 5px;font-size:14px}.catalog h3 small{color:#b6a575;margin-left:7px;font-size:9px;font-weight:400}.catalog b{color:#8fa87f;font-size:10px;font-weight:400}.catalog p{color:#a5b59d;margin:6px 0;font-family:system-ui,sans-serif;font-size:11px;line-height:1.6}.catalog article span{color:#718f76;font-size:9px}#menu-dialog{width:350px}#menu-dialog>button{width:100%;margin:5px 0}#menu-dialog p{line-height:1.8}@media (min-width:1500px){.command-deck{grid-template-columns:242px 130px minmax(200px,1fr) 270px}.battle-station{grid-template-rows:minmax(220px,1fr) 194px}.portrait-frame img{height:140px}.unit-heading strong{font-size:21px}.command-grid button{font-size:11px}.command-grid button>b{font-size:22px}}@media (max-width:1050px){.edition{display:none}.brand small{margin-left:6px;font-size:8px}.command-deck{grid-template-columns:173px 92px minmax(160px,1fr) 211px;gap:6px;padding:6px}.unit-heading{display:block}.unit-heading>span{margin-top:4px;display:block}.selection-info{padding:5px 8px}.portrait-frame img{height:118px}.vitals{gap:7px;font-size:9px}.unit-heading strong{font-size:16px}#unit-description{font-size:10px}.command-grid button{font-size:8px}.scoreboard{width:208px}.lobby{width:430px}.brand{font-size:13px}.topbar{gap:10px}}@media (max-width:720px){.topbar{height:35px;padding:0 6px}.brand{font-size:12px}.brand small{display:none}.top-actions{gap:3px}.top-actions button{padding:0 6px;font-size:9px}.battle-station{grid-template-rows:minmax(210px,1fr) 243px;height:calc(100dvh - 61px)}.command-deck{grid-template-rows:104px 117px;grid-template-columns:112px minmax(100px,1fr) 161px;gap:5px;padding:6px 5px}.minimap-frame{grid-area:1/1;margin:0}.minimap-tools button:first-child{font-size:0}.minimap-tools button:first-child:after{content:"1 / Space";font-size:8px}.minimap-tools button{min-height:18px;font-size:8px}.portrait-frame{grid-area:2/1;max-height:117px;padding:2px}.portrait-frame img{object-fit:contain;height:92px}.portrait-frame span{padding-top:3px;font-size:7px}.selection-info{grid-area:1/2/auto/4;padding:6px 9px}.orders{grid-area:2/2/auto/4}.command-grid{grid-template-columns:repeat(3,1fr)}.command-grid button{flex-direction:row;gap:5px;font-size:9px}.command-grid button>b{margin:0;font-size:16px}.command-grid button kbd{font-size:8px}.unit-heading{align-items:center;display:flex}.unit-heading strong{font-size:16px}.unit-heading>span{margin:0;font-size:8px}#unit-nickname{margin:4px 0;font-size:9px}#unit-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:4px 0;font-size:9px;line-height:1.4;display:-webkit-box;overflow:hidden}.vitals{font-size:8px}.health-track{display:none}#unit-status{font-size:8px}.battle-top{top:8px;left:8px;right:8px}.session-badge strong{font-size:12px}.session-badge span:first-child{font-size:7px}.session-badge span:last-child{font-size:8px}.scoreboard{width:177px}.score-title{padding:4px 5px;font-size:8px}.score-title b{font-size:9px}.score-row{grid-template-columns:12px 1fr auto 24px;gap:3px;min-height:20px;padding:2px 4px}.score-row .player-name,.score-row b{font-size:8px}.score-row button{min-height:15px;font-size:7px}.score-row i{font-size:8px}.event-feed{bottom:8px;left:10px;right:10px}.event-feed p{max-width:100%;margin-bottom:4px;padding:3px 5px;font-size:9px}.event-feed>span{font-size:7px}.lobby{width:360px;max-height:calc(100% - 14px);padding:18px}.lobby-title{margin-bottom:10px;padding-bottom:9px}.lobby-title h1{margin-top:7px;font-size:26px}.lobby-title b{margin-top:9px;font-size:9px}.lobby-title small{font-size:7px}.lobby-title>span{font-size:8px}.intro{display:none}.controls-note{margin:8px 0;font-size:9px;line-height:1.5}.lobby-foot{padding-top:8px;font-size:8px}.lobby-buttons{gap:6px;margin-top:7px}.lobby-buttons button{min-height:31px;font-size:11px}input,select{padding:7px;font-size:11px}.join-row{margin-top:6px}#entry>label{font-size:9px}.settings{gap:5px;margin:8px 0}.settings label{font-size:10px}.settings>span{font-size:9px}#room-message{font-size:11px}.room-links{margin-top:7px}.room-links button{min-height:24px;font-size:9px}.status{height:26px;padding:0 5px;font-size:8px}.status #elapsed{font-size:10px}.status button{font-size:8px}.result{width:330px;padding:18px}.result h2{font-size:23px}.result p{font-size:10px}.help-grid,.catalog{grid-template-columns:1fr}dialog{padding:15px}.dialog-heading h2{font-size:18px}.help-grid{gap:0}.help-grid p{font-size:12px}.catalog article{gap:8px;padding:8px}.catalog img{width:56px;height:56px}.catalog h3{font-size:12px}.catalog h3 small{font-size:8px}.catalog p{font-size:10px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}#combat-text{color:#829d83;margin:2px 0;font-size:9px;line-height:1.4;display:block}@media (max-width:720px){#combat-text{font-size:7px}#unit-description{-webkit-line-clamp:1}}.name-feedback{color:#a5ad91;min-height:14px;margin:6px 0;font-size:10px}.color-choice{border-bottom:1px solid #61674d55;align-items:center;gap:10px;margin-bottom:8px;padding:8px 0;font-size:11px;display:flex}#color-picker{flex-wrap:wrap;gap:4px;display:flex}#color-picker button{background:var(--swatch);color:#111;text-shadow:0 1px #fff5;border:2px solid #20291f;width:26px;height:26px;min-height:26px;padding:0;font-weight:700}#color-picker button[aria-pressed=true]{outline-offset:1px;outline:2px solid #e7e6be}#color-picker button:disabled{opacity:.24;filter:saturate(.4)}#color-picker button[aria-pressed=true]:disabled{opacity:1;filter:none}.personal-stats{color:#a7b299;justify-content:space-between;align-items:center;gap:6px;margin-top:3px;font-size:10px;display:flex}.personal-stats button{min-height:23px;padding:3px 8px;font-size:10px}.score-progress{background:#101c16;height:3px;margin:4px 0 3px}.score-progress i{background:#b5c575;height:100%;transition:width .3s linear;display:block}#room-record{color:#a9b195;font-size:9px;display:block}.chat-panel{z-index:15;color:#c6d0b1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#071510ed;border:1px solid #858f74;width:310px;max-width:calc(100% - 24px);padding:8px;position:absolute;bottom:12px;left:12px;box-shadow:inset 0 0 0 3px #314537,0 4px 18px #0008}.chat-heading{border-bottom:1px solid #80986f55;justify-content:space-between;align-items:center;padding:0 0 5px;font-size:11px;display:flex}.chat-heading button{min-height:22px;padding:0 8px}.chat-log{overscroll-behavior:contain;scrollbar-width:thin;height:155px;padding:4px 0;font-size:11px;line-height:1.5;overflow:auto}.chat-log p{overflow-wrap:anywhere;margin:3px 0}.chat-log p.filtered{color:#999e8b}.chat-log b{font-weight:600}#chat-form{gap:4px;display:flex}#chat-input{flex:1;width:0;min-width:0;padding:7px;font-size:12px}#chat-send{min-height:30px;padding:5px 8px}.chat-panel>small{color:#a0ac8e;margin-top:5px;font-size:9px;display:block}@media (max-width:700px){.topbar .edition{display:none}.top-actions{gap:3px}.top-actions button{padding:4px 5px;font-size:9px}.color-choice{display:block}#color-picker{margin-top:5px}.personal-stats{font-size:9px}#room-record{font-size:8px}.chat-panel{width:290px;bottom:6px;left:6px}.chat-log{height:130px}.selection-info{scrollbar-width:thin;overflow:auto}}.command-deck{min-height:0;overflow:hidden}.selection-info{scrollbar-width:thin;min-height:0;overflow:auto}@media (min-width:701px){.battle-station{grid-template-rows:minmax(220px,1fr) 210px}#unit-nickname{margin:4px 0}#unit-description{margin:5px 0 3px}.portrait-frame{overflow:hidden}}.mobile-only{display:none}button{touch-action:manipulation}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}.mobile-ui #app{inset:var(--view-top,0px) 0 auto;height:var(--view-height,100dvh);padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left);flex-direction:column;display:flex;position:fixed;overflow:hidden}.mobile-ui .mobile-only{display:block}.mobile-ui button{min-width:44px;min-height:44px;font-size:13px}.mobile-ui input,.mobile-ui select,.mobile-ui #chat-input{max-width:100%;min-height:44px;padding:10px;font-size:16px}.mobile-ui .topbar{flex:none;gap:6px;height:48px;min-height:48px;padding:0 8px}.mobile-ui .brand{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:13px;overflow:hidden}.mobile-ui .brand small,.mobile-ui .edition{display:none}.mobile-ui .top-actions{gap:0;margin-left:0}.mobile-ui .top-actions>button:not(#chat-toggle){display:none}.mobile-ui #mobile-menu{margin-left:auto;padding:0 10px}.mobile-ui #chat-toggle{padding:0 10px;font-size:13px}.mobile-ui .battle-station{flex:1;width:100%;max-width:none;height:auto;min-height:0;margin:0;display:block;position:relative}.mobile-ui .battlefield{border:0;height:100%;min-height:0;overflow:hidden}.mobile-ui .battle-top{position:static}.mobile-ui .session-badge{display:none}.mobile-ui #scoreboard{z-index:31;background:#101e18f5;width:auto;max-width:440px;max-height:calc(100% - 16px);margin-left:auto;display:none;position:absolute;top:8px;left:8px;right:8px;overflow:auto}.mobile-ui[data-scores=true] #scoreboard{display:block}.mobile-ui #mobile-score-close{margin:4px 4px 0 auto;padding:0 12px}.mobile-ui .score-title{padding:8px 12px;font-size:13px}.mobile-ui .score-title b{font-size:14px}.mobile-ui .score-row{grid-template-columns:22px minmax(0,1fr) auto 50px;gap:8px;min-height:48px;padding:4px 10px}.mobile-ui .score-row .player-name,.mobile-ui .score-row b{font-size:13px}.mobile-ui .score-row i,.mobile-ui .score-row button{font-size:12px}.mobile-ui .mobile-hud{z-index:3;pointer-events:none;gap:6px;display:flex;position:absolute;top:8px;left:8px;right:8px}.mobile-ui .mobile-hud>button{pointer-events:auto;text-align:left;background:#0d211bdc;border:1px solid #64765b;border-radius:6px;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;min-height:48px;padding:5px 10px;display:flex;box-shadow:0 2px 8px #0005}.mobile-ui #mobile-unit{flex:1;max-width:210px}.mobile-ui #mobile-score{align-items:flex-end;margin-left:auto}.mobile-ui .mobile-hud strong{font-size:14px;line-height:1.3}.mobile-ui .mobile-hud span{color:#b0c3a5;font-size:11px;line-height:1.4}.mobile-ui .event-feed{display:none}.mobile-ui #mobile-aim{z-index:7;background:#152e23ec;border:1px solid #b4a364;border-radius:6px;align-items:center;gap:8px;padding:4px 4px 4px 10px;font-size:13px;display:flex;position:absolute;top:64px;left:8px;right:8px}.mobile-ui #mobile-aim span{flex:1}.mobile-ui #mobile-aim button{padding:0 10px}.mobile-ui .mobile-camera{z-index:5;gap:6px;display:flex;position:absolute;bottom:8px;right:8px}.mobile-ui .mobile-camera button{background:#162b23e8;border-radius:6px;padding:0 8px;font-size:12px}.mobile-ui #mobile-follow[aria-pressed=true]{color:#c9e5a2;border-color:#a9c383}.mobile-ui #mobile-map-panel{z-index:9;width:164px;height:120px;position:absolute;bottom:8px;left:8px;box-shadow:0 3px 18px #0009}.mobile-ui #mobile-map-panel .minimap-frame{max-width:none;height:100%;padding:3px}.mobile-ui .minimap-frame canvas{width:100%;height:100%}.mobile-ui .minimap-tools{display:none}.mobile-ui #mobile-dock{padding:7px 6px calc(7px + env(safe-area-inset-bottom));z-index:12;background:linear-gradient(#304437,#13281e);border-top:2px solid #718267;flex:none;gap:4px;display:flex}.mobile-ui #mobile-dock button{border-radius:5px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;min-width:0;min-height:54px;padding:4px 2px;font-size:11px;display:flex}.mobile-ui #mobile-dock button b{font-size:18px;line-height:1}.mobile-ui #mobile-go{color:#e4edc2;background:linear-gradient(#566b3d,#263f29);font-weight:700;flex:1.35!important}.mobile-ui #mobile-skill span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.mobile-ui .command-deck{z-index:20;background:#14271ff5;border:1px solid #879775;border-radius:8px;grid-template-rows:44px minmax(0,1fr);grid-template-columns:1fr;gap:7px;max-width:560px;max-height:calc(100% - 20px);margin-left:auto;padding:7px;display:none;position:absolute;bottom:8px;left:8px;right:8px;overflow:auto;box-shadow:0 4px 24px #000b}.mobile-ui[data-sheet=orders] .command-deck,.mobile-ui[data-sheet=unit] .command-deck{display:grid}.mobile-ui #mobile-sheet-header{border-bottom:1px solid #82977855;justify-content:space-between;align-items:center;gap:10px;font-size:14px;display:flex}.mobile-ui #mobile-sheet-header button{min-height:44px;padding:0 12px}.mobile-ui .command-deck>.minimap-frame,.mobile-ui .portrait-frame{display:none}.mobile-ui .selection-info{border:0;grid-area:2/1;min-height:0;padding:8px;display:none;overflow:auto}.mobile-ui[data-sheet=unit] .selection-info{display:block}.mobile-ui .unit-heading{flex-wrap:wrap;align-items:center;display:flex}.mobile-ui .unit-heading strong{font-size:19px}.mobile-ui .unit-heading>span{font-size:12px}.mobile-ui #unit-nickname{margin:8px 0;font-size:13px}.mobile-ui .vitals{flex-wrap:wrap;gap:12px;font-size:12px}.mobile-ui .health-track{max-width:100%;height:5px;display:block}.mobile-ui #unit-description{margin:10px 0;font-size:14px;line-height:1.6;display:block;overflow:visible}.mobile-ui #unit-status{white-space:normal;font-size:13px}.mobile-ui #combat-text{font-size:12px}.mobile-ui .personal-stats{flex-wrap:wrap;gap:8px;font-size:12px}.mobile-ui #room-record{margin-top:8px;font-size:12px;line-height:1.6}.mobile-ui .orders{grid-area:2/1;min-height:0;display:none;overflow:auto}.mobile-ui[data-sheet=orders] .orders{display:block}.mobile-ui .command-grid{grid-template-rows:repeat(3,minmax(56px,1fr));grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;height:auto}.mobile-ui .command-grid button{flex-direction:column;gap:2px;min-height:56px;padding:5px;font-size:12px}.mobile-ui .command-grid button>b{font-size:18px}.mobile-ui .command-grid kbd{display:none}.mobile-ui .build-menu{gap:6px;min-height:180px;padding:7px}.mobile-ui .build-menu button{font-size:13px}.mobile-ui .status{z-index:25;bottom:calc(78px + env(safe-area-inset-bottom));pointer-events:none;opacity:0;background:#0e211de8;border:1px solid #65775d;border-radius:5px;height:auto;min-height:24px;max-height:60px;padding:6px 8px;font-size:12px;transition:opacity .15s;position:absolute;left:8px;right:8px}.mobile-ui[data-notice=true] .status{opacity:1}.mobile-ui .status>span{white-space:normal;line-height:1.5;overflow:hidden}.mobile-ui .status>div{display:none}.mobile-ui .lobby{z-index:10;overscroll-behavior:contain;scrollbar-width:thin;width:440px;max-width:calc(100% - 16px);max-height:calc(100% - 16px);padding:18px}.mobile-ui .lobby-title{margin-bottom:12px;padding-bottom:12px}.mobile-ui .lobby-title h1{font-size:29px}.mobile-ui .lobby-title>span{font-size:10px}.mobile-ui .lobby-title b{font-size:11px;line-height:1.5}.mobile-ui .lobby-title small{font-size:9px}.mobile-ui #entry>label{font-size:13px}.mobile-ui #name,.mobile-ui #code{width:100%}.mobile-ui .name-feedback{font-size:11px;line-height:1.5}.mobile-ui .intro{font-size:12px;display:block}.mobile-ui .controls-note{font-size:12px;line-height:1.6}.mobile-ui .lobby-buttons{margin-top:9px}.mobile-ui .lobby-buttons button{min-height:46px;font-size:14px}.mobile-ui .join-row{gap:7px;display:flex}.mobile-ui .join-row input{flex:1;min-width:0}.mobile-ui #room-players{width:100%;margin-bottom:7px}.mobile-ui .lobby-foot{font-size:10px;line-height:1.5}.mobile-ui #room-message{font-size:12px;line-height:1.6}.mobile-ui .color-choice{font-size:12px;display:block}.mobile-ui #color-picker{gap:4px;margin-top:8px}.mobile-ui #color-picker button{width:calc(25% - 3px);min-width:44px;max-width:70px;height:44px}.mobile-ui .settings{flex-wrap:wrap;gap:7px;font-size:12px;display:flex}.mobile-ui .settings label,.mobile-ui .settings>span{font-size:12px}.mobile-ui .room-links button{min-height:44px;font-size:13px}.mobile-ui .result{z-index:17;width:440px;max-width:calc(100% - 16px);max-height:calc(100% - 16px);padding:20px}.mobile-ui .result h2{font-size:24px}.mobile-ui .result p{font-size:13px;line-height:1.6}.mobile-ui .chat-panel{z-index:35;border-radius:8px;flex-direction:column;width:auto;max-width:none;height:min(420px,75%);max-height:calc(100% - 16px);padding:10px;display:flex;position:absolute;inset:auto 8px 8px}.mobile-ui .chat-heading{min-height:44px;font-size:14px}.mobile-ui .chat-log{flex:1;height:auto;min-height:24px;font-size:14px;line-height:1.6}.mobile-ui #chat-form{flex:none;gap:6px}.mobile-ui #chat-send{min-height:44px;font-size:14px}.mobile-ui .chat-panel>small{font-size:10px;line-height:1.5}.mobile-ui dialog{max-width:calc(100vw - 16px);max-height:calc(var(--view-height,100dvh) - 24px);overscroll-behavior:contain;padding:16px}.mobile-ui dialog h2{font-size:20px}.mobile-ui .dialog-heading button{padding:0 12px;font-size:13px}.mobile-ui .mobile-menu-grid{grid-template-columns:1fr 1fr;gap:6px;margin:10px 0;display:grid}.mobile-ui .help-grid,.mobile-ui .catalog{grid-template-columns:1fr}.mobile-ui .help-grid p,.mobile-ui .catalog p{font-size:14px}.mobile-ui .catalog h3 small{font-size:11px}.mobile-ui .codex-filters{flex-wrap:wrap}.mobile-ui:not([data-phase=racing]):not([data-phase=countdown]) #mobile-dock,.mobile-ui:not([data-phase=racing]):not([data-phase=countdown]) .mobile-hud,.mobile-ui:not([data-phase=racing]):not([data-phase=countdown]) .mobile-camera,.mobile-ui.keyboard-open #mobile-dock,.mobile-ui.keyboard-open .mobile-hud,.mobile-ui.keyboard-open .mobile-camera{display:none}.mobile-ui.keyboard-open .chat-panel{height:auto;max-height:none;top:6px;bottom:6px}.mobile-ui.keyboard-open .lobby-title{display:none}.mobile-ui.keyboard-open .lobby{max-height:calc(100% - 16px);top:8px;transform:translate(-50%)}@media (max-height:500px){.mobile-ui .topbar{height:44px;min-height:44px}.mobile-ui #mobile-dock{padding-top:4px;padding-bottom:calc(4px + env(safe-area-inset-bottom))}.mobile-ui #mobile-dock button{flex-direction:row;min-height:44px;font-size:12px}.mobile-ui #mobile-dock button b{font-size:16px}.mobile-ui .mobile-hud{top:5px;left:6px;right:6px}.mobile-ui .mobile-hud>button{min-height:44px}.mobile-ui .mobile-hud strong{font-size:12px}.mobile-ui .mobile-hud span{font-size:10px}.mobile-ui .mobile-camera{bottom:6px;right:6px}.mobile-ui .lobby{width:620px}.mobile-ui .lobby-title,.mobile-ui .controls-note,.mobile-ui .intro,.mobile-ui .lobby-foot{display:none}.mobile-ui #color-picker button{width:44px;min-width:44px;max-width:none}.mobile-ui .color-choice{padding:4px 0}.mobile-ui #room-controls .settings,.mobile-ui #room-message{margin:4px 0}.mobile-ui .command-deck{max-width:520px}.mobile-ui .command-grid{grid-template-rows:repeat(3,44px)}.mobile-ui .command-grid button{flex-direction:row;min-height:44px}}.mobile-ui #mobile-room-code{letter-spacing:1px;color:#d9c88f;text-align:center;-webkit-user-select:text;user-select:text;margin:8px 0;font-size:18px}button,label{overflow-wrap:anywhere}#language-toggle{flex:0 0 44px;min-height:44px;font-size:19px}#language-dialog{width:min(440px,100vw - 24px)}#language-select{width:100%;min-height:44px;margin:12px 0;font-size:16px}#language-dialog p{color:var(--muted,#b8b8ad);line-height:1.6}.mobile-ui .brand{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mobile-ui #mobile-dock button{min-width:0;font-size:11px;line-height:1.2}.mobile-ui .lobby-title h1{overflow-wrap:anywhere;font-size:clamp(22px,7vw,34px)}.mobile-ui .lobby-foot{white-space:normal}.mobile-ui .selection-info,.mobile-ui .orders,.mobile-ui .session-badge{min-width:0}.mobile-ui .command-grid button{height:auto;min-height:64px}.mobile-ui .mobile-menu-grid button{height:auto;min-height:44px}.mobile-ui .topbar button,.mobile-ui #mobile-dock button{letter-spacing:0;overflow-wrap:normal;word-break:normal;font-family:system-ui,sans-serif}.mobile-ui .topbar button{white-space:nowrap;flex-shrink:0;padding:0 6px}.mobile-ui #mobile-menu,.mobile-ui .topbar #chat-toggle{width:auto;min-width:48px;max-width:76px}.mobile-ui button{letter-spacing:0;overflow-wrap:normal;word-break:normal;font-family:system-ui,sans-serif;line-height:1.25}
