@font-face{font-family:Chakra Petch;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/chakra-petch-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/chakra-petch-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/chakra-petch-500-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/chakra-petch-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/chakra-petch-600-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/chakra-petch-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/chakra-petch-700-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/chakra-petch-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/plex-mono-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/plex-mono-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/plex-mono-600-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/plex-mono-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Material Symbols Outlined;font-style:normal;font-weight:400;font-display:block;src:url(../fonts/material-symbols-outlined.woff2) format("woff2")}:root{--ground: #19242A;--surface: #11191D;--tile: #11191D;--tile-hover: #1A262C;--tile-active: #223038;--tile-flip: #19242A;--line: rgba(255, 255, 255, .07);--text: #ffffff;--text-dim: #BDBDBD;--text-faint: rgba(189, 189, 189, .55);--yellow: #FFDB58;--blue: #4A7DB7;--red: #BA191B;--green: #479821;--blue-ink: #7FAEE3;--red-ink: #E4595B;--green-ink: #6CC43C;--power: var(--yellow);--metal: var(--blue-ink);--shadow: 0 12px 32px rgba(0, 0, 0, .5);--plate: rgba(17, 25, 29, .6);--plate-line: rgba(255, 255, 255, .14);--corner-w: 89px;--radius: 10px;--radius-s: 8px;--radius-xs: 6px;--font: "Chakra Petch", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans CJK SC", "Noto Sans CJK KR", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: "IBM Plex Mono", "PingFang SC", "Microsoft YaHei", "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans CJK SC", "Noto Sans CJK KR", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--side-w: 280px;--sa-t: env(safe-area-inset-top, 0px);--sa-r: env(safe-area-inset-right, 0px);--sa-b: env(safe-area-inset-bottom, 0px);--sa-l: env(safe-area-inset-left, 0px);--sa-corner: 12px;--side-lead: var(--sa-l)}html.side-right{--side-lead: var(--sa-r)}html.notch-left{--sa-r: min(env(safe-area-inset-right, 0px), var(--sa-corner))}html.notch-right{--sa-l: min(env(safe-area-inset-left, 0px), var(--sa-corner))}.card,.pane,.setup-foot,.minimap-wrap,.side-res,.bt-strip,.sel-panel,.group-panel,.cmd-card,.chat-panel,.objectives,.cuts-card,.tooltip,.toast,.console,.mp-status,.player-list .card,.dialog-body,.dd-menu{--tile: #19242A;--tile-hover: #243139;--tile-active: #2D3F4B;--tile-flip: #11191D;background:var(--surface);border-radius:var(--radius);box-shadow:inset 0 1px 2px #00000047}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden;overscroll-behavior:none}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--ground);color:var(--text);font-family:var(--font);font-size:14px;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:none;cursor:var(--cursor-select, default)}.hidden{display:none!important}#app{height:100%}button{font-family:inherit;color:inherit;background:none;border:none;cursor:var(--cursor-interact, pointer)}button:disabled{cursor:var(--cursor-select, default)}input,select{font-family:inherit;font-size:inherit}input,textarea{cursor:text}input[type=range],input[type=checkbox],input[type=radio],select{cursor:var(--cursor-interact, pointer)}canvas,.cmd-btn img,.sel-chip img,.queue-chip img,.group-chip img{display:block}.pixel{image-rendering:pixelated}:focus-visible{outline:2px solid var(--blue-ink);outline-offset:2px}.cmd-btn:focus-visible{outline-offset:calc(2px - var(--tile-gap, 0px) / 2)}.ico,.objectives .obj:before,.mission-obj:before{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:1.25em;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:"liga";-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:-.22em;flex-shrink:0;user-select:none}.ico.lg{font-size:1.6em}.c-power{color:var(--power)}.c-metal{color:var(--metal)}.c-blue{color:var(--blue-ink)}.c-bad{color:var(--red-ink)}.c-good{color:var(--green-ink)}.c-warn{color:var(--yellow)}.c-dim{color:var(--text-dim)}.screen{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;overflow:hidden}.screen-bg{position:absolute;inset:0;z-index:0;overflow:hidden}.screen-bg-scene{width:100%;height:100%;display:block;filter:brightness(.66) saturate(.95)}.screen-bg-bare .screen-bg-scene{filter:none}html.cuts-reel:not(.cuts-panel),html.cuts-reel:not(.cuts-panel) *{cursor:none!important}html.cuts-reel:not(.cuts-panel) .cursor-layer{display:none}.screen-bg-veil{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 34%,transparent 42%,rgba(8,11,15,.72) 100%)}.screen-content{position:relative;z-index:1;width:100%;max-width:900px;flex:1;display:flex;flex-direction:column;padding:32px 24px;overflow-y:auto}.screen-title{display:flex;align-items:center;gap:12px;margin-bottom:20px;font-size:24px;font-weight:700;letter-spacing:.04em}.screen-title:before{content:"";flex:none;width:4px;height:22px;border-radius:2px;background:var(--blue)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 20px;background:var(--tile);border-radius:var(--radius-s);color:var(--text);font-size:14px;font-weight:600;letter-spacing:.02em;transition:background .12s,filter .12s,transform .06s}.btn:hover{background:var(--tile-hover)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:var(--cursor-select, default);pointer-events:none}.btn.primary{background:var(--blue);color:#fff}.btn.primary:hover{background:var(--blue);filter:brightness(1.12)}.btn.danger{background:var(--red);color:#fff}.btn.danger:hover{background:var(--red);filter:brightness(1.15)}.btn.big{min-height:48px;padding:0 28px;font-size:16px}.btn .ico{font-size:20px}.menu-buttons .btn,.btn.menu-item,.menu-corner-right .btn{box-shadow:inset 0 1px #ffffff12,0 2px 4px #00000059}.menu-buttons .btn.primary,.btn.menu-item.primary,.btn.menu-item.danger{box-shadow:inset 0 1px #ffffff29,0 2px 4px #00000059}.menu-buttons .btn:active,.btn.menu-item:active,.menu-corner-right .btn:active{box-shadow:inset 0 1px #ffffff08,0 1px 2px #00000059}.btn.menu-item{width:100%;justify-content:space-between;padding:8px 12px 8px 16px;text-align:left}.btn.menu-item .grow{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:1px;line-height:1.2}.btn.menu-item .ico{font-size:22px;color:var(--text-dim)}.btn.menu-item.primary .ico,.btn.menu-item.danger .ico{color:#fff}.menu-item-word{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-item-sub{color:var(--text-faint);font-size:11px;font-weight:400;overflow-wrap:break-word}.btn.menu-item.primary .menu-item-sub,.btn.menu-item.danger .menu-item-sub{color:#ffffffb8}.hud-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:36px;height:36px;padding:0 10px;background:var(--tile);border-radius:var(--radius-s);color:var(--text);font-size:13px;font-weight:600;transition:background .1s,color .1s}.hud-btn:hover{background:var(--tile-hover)}.hud-btn.active{color:var(--blue-ink)}.hud-btn:disabled{opacity:.4}.hud-btn .ico{font-size:22px}.menu-root{--menu-width: min(300px, 82vw);--menu-row: 48px;--menu-gap: 10px;--menu-logo-gap: 28px;--menu-logo-h: min(var(--menu-width) * .6, 24vh);--menu-rows: 6;--menu-box: calc(var(--menu-logo-h) + var(--menu-logo-gap) + var(--menu-rows) * var(--menu-row) + (var(--menu-rows) - 1) * var(--menu-gap));justify-content:flex-start;padding-top:max(32px,(100vh - var(--menu-box)) / 2)}.menu-logo-wrap{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;margin-bottom:var(--menu-logo-gap)}.menu-logo{display:block;width:min(var(--menu-width),40vh);height:auto;mix-blend-mode:screen;-webkit-user-drag:none;user-select:none}.menu-stage{position:relative;z-index:1;display:grid;align-items:start;width:var(--menu-width);grid-template-columns:minmax(0,1fr)}.menu-buttons{grid-area:1 / 1;display:flex;flex-direction:column;gap:var(--menu-gap);width:100%}.menu-buttons .btn{min-height:var(--menu-row);font-size:15px}.menu-buttons.enter-right{animation:menu-enter-right .22s ease-out}.menu-buttons.enter-left{animation:menu-enter-left .22s ease-out}.menu-buttons.leave-left{animation:menu-leave-left .18s ease-in forwards;pointer-events:none}.menu-buttons.leave-right{animation:menu-leave-right .18s ease-in forwards;pointer-events:none}@keyframes menu-enter-right{0%{transform:translate(48px);opacity:0}}@keyframes menu-enter-left{0%{transform:translate(-48px);opacity:0}}@keyframes menu-leave-left{to{transform:translate(-48px);opacity:0}}@keyframes menu-leave-right{to{transform:translate(48px);opacity:0}}@media(prefers-reduced-motion:reduce){.menu-buttons.enter-right,.menu-buttons.enter-left{animation:none}.menu-buttons.leave-left,.menu-buttons.leave-right{animation:none;opacity:0}}.menu-corner{position:absolute;left:calc(14px + var(--sa-l));bottom:12px;z-index:1;display:flex;flex-direction:column;gap:2px;font-size:11.5px;line-height:1.3;color:var(--text-faint);font-variant-numeric:tabular-nums;user-select:text;-webkit-user-select:text}.menu-corner .menu-version{font-size:12px;color:var(--text-dim)}.menu-corner-right{position:absolute;right:calc(14px + var(--sa-r));bottom:12px;z-index:1;display:flex;gap:8px}.menu-corner-right .btn{width:40px;height:40px;padding:0}.menu-corner-right .btn .ico{font-size:22px;color:var(--text-dim)}.menu-corner-right .btn svg{flex:none;width:22px;height:22px;color:var(--text-dim)}.menu-corner-right .btn:hover :is(.ico,svg){color:var(--text)}.about{display:flex;flex-direction:column;gap:14px;line-height:1.6}.about p{margin:0}.about-card{display:flex;align-items:center;gap:14px}.about-icon{flex:none;width:56px;height:56px;border-radius:var(--radius-s)}.about-name{flex:1;min-width:0;line-height:1.3}.about-title{font-size:18px;font-weight:700;letter-spacing:.02em}.about-version{font-size:13px;color:var(--text-dim)}.about-site{flex:none;width:40px;height:40px;padding:0}.about-site .ico{font-size:22px;color:var(--text-dim)}.about-site:hover .ico{color:var(--text)}.about-section-title{margin-bottom:4px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.about a{color:var(--blue-ink);text-decoration:underline;text-underline-offset:3px}.about a:hover{color:var(--text)}.about-libs{display:grid;grid-template-columns:auto 1fr;gap:3px 14px}.about-libs .k{font-weight:600}.about-libs .v{color:var(--text-dim)}.card{padding:18px}.card+.card{margin-top:12px}.card-title{font-size:15px;font-weight:700;margin-bottom:12px;color:var(--text)}.row{display:flex;align-items:center;gap:12px}.row.between{justify-content:space-between}.row.wrap{flex-wrap:wrap}.grow{flex:1}.stack{display:flex;flex-direction:column;gap:12px}.muted{color:var(--text-dim)}.faint{color:var(--text-faint);font-size:12px}.mono{font-family:var(--mono)}.setup-screen{align-items:stretch}.setup{position:relative;z-index:1;flex:1;min-height:0;display:flex;flex-direction:column}.setup-head{flex:none;display:grid;grid-template-columns:1fr minmax(0,auto) 1fr;align-items:center;gap:14px;padding:10px calc(16px + var(--sa-r)) 10px calc(16px + var(--sa-l));padding-top:calc(10px + var(--sa-t))}.setup-name{text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.setup-tail,.setup-meta{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}.setup-meta:empty,.setup-actions:empty{display:none}.setup-screen .setup-head .btn{min-height:40px;padding:0 14px;font-size:13px;white-space:nowrap}.setup-screen .setup-head .btn.glyph{width:40px;padding:0}.setup-head .btn.glyph .ico{font-size:22px}.setup-strip-btn{min-height:36px;padding:0 14px;font-size:13px}.setup-lead{display:flex;align-items:center;justify-self:start;gap:10px;min-width:0}.setup-back{min-height:36px;padding:0 14px 0 6px;gap:2px}.setup-back .ico{font-size:22px}.setup-main{--setup-right-max: 640px;flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,min(50% - 4px,var(--setup-right-max)));gap:8px;padding:0 calc(8px + var(--sa-r)) calc(8px + var(--sa-b)) calc(8px + var(--sa-l))}.setup-col{display:flex;flex-direction:column;gap:8px;min-width:0;min-height:0}.setup-three .setup-main{--setup-left-max: 400px;grid-template-columns:minmax(0,min(22% - 6px,var(--setup-left-max))) minmax(0,1fr) minmax(0,min(35% - 6px,var(--setup-right-max)))}.setup-right{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1.4fr) minmax(0,1fr);gap:8px}.setup-foot:empty{display:none}.setup-tabbed{display:contents}.tabs.setup-tabs{display:none}.scroll-fade{position:relative}.scroll-fade:before,.scroll-fade:after{content:"";position:absolute;left:0;right:0;height:64px;z-index:1;pointer-events:none;opacity:0;transition:opacity .18s ease;--fade-stops: rgba(17, 25, 29, 0) 0%, rgba(17, 25, 29, .043) 12.5%, rgba(17, 25, 29, .156) 25%, rgba(17, 25, 29, .316) 37.5%, rgba(17, 25, 29, .5) 50%, rgba(17, 25, 29, .684) 62.5%, rgba(17, 25, 29, .844) 75%, rgba(17, 25, 29, .957) 87.5%, rgba(17, 25, 29, 1) 100%}.scroll-fade:before{top:0;background:linear-gradient(to top,var(--fade-stops))}.scroll-fade:after{bottom:0;background:linear-gradient(to bottom,var(--fade-stops))}.scroll-fade.scrollable:not(.at-start):before{opacity:1}.scroll-fade.scrollable:not(.at-end):after{opacity:1}.pane{display:flex;flex-direction:column;min-width:0;min-height:0}.pane-grow{flex:1 1 0}.pane-head{flex:none;display:flex;align-items:center;gap:9px;padding:11px 14px 4px;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--text-dim)}.pane-head:before{content:"";flex:none;width:3px;height:12px;border-radius:2px;background:var(--blue)}.pane-tag{margin-left:auto;min-width:0;font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:none;color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pane-body{flex:1;min-height:0;padding:8px 14px 14px;overflow-y:auto;overscroll-behavior:contain;container-type:inline-size}.pane-scroll{flex:1;min-height:0;display:flex;flex-direction:column}.pane-scroll:after{border-radius:0 0 var(--radius) var(--radius)}.pane-body.pane-flex{display:flex;flex-direction:column;overflow:hidden}.pane-flex .mp-chat-list{flex:1;max-height:none}.pane-block+.pane-block,.pane-body>*+.pane-block{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.setup-foot{flex:none;display:flex;flex-direction:column;gap:9px;padding:12px 14px}.setup-actions{flex:none;display:flex;gap:10px}.setup-blocked{flex:1;min-width:0;display:flex}.setup-summary{line-height:1.5}.setup-seat{display:grid;grid-template-columns:minmax(90px,1fr) minmax(110px,130px) minmax(100px,120px) minmax(140px,1.4fr);gap:10px 12px;align-items:center;min-height:48px;padding:8px 0;border-top:1px solid var(--line)}.setup-seat .dd{min-width:0;width:100%}.setup-seat:first-of-type{border-top:none}.setup-seat-off{opacity:.45}.setup-seat-name{display:flex;align-items:center;gap:8px;font-weight:700;min-width:0}.setup-flag{flex:none;font-size:19px}.setup-flag.off{color:var(--text-faint)}.setup-seat-you{color:var(--blue-ink);font-weight:700}.mp-save-value{display:flex;align-items:center;gap:10px;min-width:0}.mp-save-name{min-width:0;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-dim);font-weight:600}.factions-pane .pane-body{display:flex;flex-direction:column}.seat-map{flex:1 1 auto;min-height:180px;display:flex;justify-content:center;align-items:center;padding:4px 0 8px}.seat-map-frame{position:relative;flex:none}.seat-map-frame .map-sheet{display:block;width:100%;height:100%;border-radius:var(--radius-s);background:#0b1016}.seat-map-frame .bone{width:100%;height:100%;border-radius:var(--radius-s)}.seat-card{flex:none}.seat-map-marks,.seat-map-chain{position:absolute;inset:0}.seat-map-chain{width:100%;height:100%;pointer-events:none;overflow:visible}.seat-map-chain polyline{fill:none;stroke:#ffffffd9;stroke-width:2px;stroke-dasharray:5 4;stroke-linejoin:round;filter:drop-shadow(0 0 2px rgba(0,0,0,.9))}.spawn-mark{position:absolute;width:0;height:0;padding:0;border:0;background:none;color:var(--text);cursor:pointer;overflow:visible;-webkit-tap-highlight-color:transparent}.spawn-mark:disabled{cursor:default}.spawn-mark.selected{z-index:2}.spawn-mark:hover,.spawn-mark:focus-visible{z-index:3}.spawn-dot{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;border-radius:50%;background:var(--seat-color, var(--text-faint));border:2px solid #0b1016;box-shadow:0 0 0 1.5px #ffffffbf,0 2px 6px #0009}.spawn-pin{position:absolute;left:50%;bottom:calc(10px + var(--stack, 0) * 26px);transform:translate(-50%);display:flex;align-items:center;gap:4px;max-width:200px;padding:3px 7px 3px 5px;border-radius:6px;white-space:nowrap;font-size:11px;font-weight:700;line-height:1.2;letter-spacing:.02em;background:#0b1016eb;border:1px solid rgba(255,255,255,.22);box-shadow:0 2px 8px #0000008c;transition:transform .12s ease,border-color .12s ease}.spawn-pin:after{content:"";position:absolute;left:50%;top:100%;transform:translate(-50%);border:5px solid transparent;border-top-color:#ffffff38;border-bottom:0}.spawn-mark[data-flip=down] .spawn-pin{bottom:auto;top:calc(10px + var(--stack, 0) * 26px)}.spawn-mark[data-flip=down] .spawn-pin:after{top:auto;bottom:100%;border-top:0;border-bottom:5px solid rgba(255,255,255,.22)}.spawn-mark[data-edge=start] .spawn-pin{transform:translate(-12px)}.spawn-mark[data-edge=start] .spawn-pin:after{left:12px}.spawn-mark[data-edge=end] .spawn-pin{transform:translate(calc(-100% + 12px))}.spawn-mark[data-edge=end] .spawn-pin:after{left:auto;right:7px;transform:none}.spawn-pin-flag{flex:none;font-size:15px;color:var(--seat-color)}@media(max-height:640px),(max-width:560px){.spawn-mark:not(.by-side) .spawn-pin-flag{display:none}.spawn-mark:not(.by-side) .spawn-pin{padding-left:7px}}.spawn-pin-name{overflow:hidden;text-overflow:ellipsis}.spawn-pin-team{color:var(--text-dim);font-weight:600}.spawn-pin-team:not(:empty):before{content:"·";margin-right:4px;color:var(--text-faint)}.spawn-mark.you .spawn-pin-name{color:var(--blue-ink)}.spawn-mark.ready .spawn-pin-name:after{content:" ✓";color:var(--green-ink)}.spawn-mark:hover .spawn-pin,.spawn-mark:focus-visible .spawn-pin{border-color:#ffffff80}.spawn-mark.selected .spawn-pin{border-color:#fff;box-shadow:0 0 0 1px #fff,0 2px 8px #0000008c}.spawn-mark.selected .spawn-pin:after{border-top-color:#fff}.spawn-mark.selected[data-flip=down] .spawn-pin:after{border-bottom-color:#fff}.spawn-mark.selected .spawn-dot{box-shadow:0 0 0 2px #fff,0 2px 6px #0009}.spawn-mark:focus-visible{outline:none}.spawn-empty .spawn-dot{width:22px;height:22px;background:#0b1016b3;border:2px dashed rgba(255,255,255,.8);box-shadow:0 2px 6px #0009;display:flex;align-items:center;justify-content:center;color:#fff;transition:background .12s ease,transform .12s ease}.spawn-empty .spawn-dot .ico{font-size:16px}.spawn-empty:hover:not(:disabled) .spawn-dot,.spawn-empty:focus-visible .spawn-dot{background:#4a7db7d9;border-style:solid;transform:translate(-50%,-50%) scale(1.1)}.spawn-empty.selected .spawn-dot{border-style:solid;box-shadow:0 0 0 2px #fff,0 2px 6px #0009}.spawn-empty:disabled .spawn-dot{border-color:#ffffff59;color:#ffffff59}.chain-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#0b1016e6;border:1.5px solid rgba(255,255,255,.85);color:#fff;font-size:11px;font-weight:700;box-shadow:0 2px 6px #0009}.chain-badge .ico{font-size:14px}.spawn-chain{pointer-events:none}.spawn-mark.by-side .spawn-dot{display:none}.spawn-mark.by-side .spawn-pin{bottom:calc(15px + var(--stack, 0) * 26px)}.spawn-mark.by-side[data-flip=down] .spawn-pin{top:calc(15px + var(--stack, 0) * 26px)}.spawn-mark.by-side.selected .chain-badge{border-color:#fff}.seat-card{border-top:1px solid var(--line)}.seat-card .setup-seat{border-top:none}.seat-add{width:100%;justify-content:center;margin-top:4px}html.touch-ui .spawn-dot{width:14px;height:14px}html.touch-ui .spawn-empty .spawn-dot{width:26px;height:26px}@container (max-width: 520px){.setup-seat{grid-template-columns:repeat(2,minmax(0,1fr))}.mp-input,.dd{min-width:0;width:100%}}@container (max-width: 400px){.rules-pane .pane-body .seg button{padding-left:9px;padding-right:9px}.rules-pane .field>.dd{min-width:150px}}@container (max-width: 300px){.rules-pane .pane-body .seg button{padding-left:6px;padding-right:6px;font-size:13px}}@container (max-width: 260px){.setup-seat{grid-template-columns:1fr}}.map-grid{--map-gap: 10px;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,max(150px,(100% - 3 * var(--map-gap)) / 4)),1fr));gap:var(--map-gap)}.map-picker{position:relative}.map-drop{position:absolute;inset:-4px;z-index:2;display:none;border:2px dashed var(--blue);border-radius:var(--radius);background:#11191dd1;pointer-events:none}.map-drop-note{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px;color:var(--text);font-weight:600;text-align:center}.map-drop-note .ico{font-size:36px;color:var(--blue)}.map-picker.dropping .map-drop{display:block}.map-picker.dropping .map-grid{opacity:.45}.setup-three .map-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,max(150px,(100% - 2 * var(--map-gap)) / 3)),1fr))}.map-option{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--tile);border-radius:var(--radius-s);box-shadow:0 0 0 2px transparent;text-align:left;transition:background .12s,box-shadow .12s,transform .06s}.map-option:hover{background:var(--tile-hover)}.map-option:active{transform:translateY(1px)}.map-option.selected{box-shadow:0 0 0 2px var(--blue)}.map-preview{width:100%;height:auto;aspect-ratio:256 / 160;image-rendering:pixelated;background:var(--tile-flip)}.map-preview.has-cover{image-rendering:auto}.map-preview.pending{background-color:var(--tile-flip);background-image:linear-gradient(90deg,#ffffff0d,#ffffff1c,#ffffff0d 80%);background-size:200% 100%;animation:bone-shimmer 1.4s linear infinite}@media(prefers-reduced-motion:reduce){.map-preview.pending{animation:none}}.map-option-body{display:flex;align-items:baseline;gap:8px;min-width:0;padding:8px 10px 9px}.map-option-label{flex:1;min-width:0;overflow:hidden;color:var(--text-dim);font-size:12px;font-weight:700;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.map-slots{flex:none;font-size:10.5px;font-weight:600;letter-spacing:.02em;color:var(--text-faint)}.map-option.selected .map-option-label{color:#fff}.map-option.selected .map-slots{color:var(--blue-ink)}.map-option:disabled{opacity:.6;cursor:var(--cursor-select, default)}.map-tip{max-width:300px}.map-card{position:relative;display:flex;min-width:0}.map-card>.map-option{flex:1;min-width:0}.map-delete{position:absolute;top:6px;right:6px;width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-s);color:var(--text);background:#0a0d12b8;opacity:0;transition:opacity .12s,background .12s}.map-delete .ico{font-size:18px}.map-card:hover .map-delete,.map-delete:focus-visible{opacity:1}.map-delete:hover{color:#fff;background:var(--red)}@media(hover:none){.map-delete{opacity:1}}.map-source{display:flex;flex-direction:column;gap:6px;min-height:120px;min-width:0}.map-source-btn{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 10px;color:var(--text-dim);border-radius:var(--radius-s);box-shadow:inset 0 0 0 2px var(--line);transition:background .12s,color .12s}.map-source-btn:hover{color:var(--text);background:var(--tile-hover)}.map-source-btn:active{transform:translateY(1px)}.map-source-btn:disabled{opacity:.6;cursor:var(--cursor-select, default)}.map-source-btn .ico{flex:none;font-size:24px}.map-source-btn .map-option-label{flex:none;min-width:0;text-align:center;white-space:normal}.bone{display:block;height:12px;border-radius:4px;background:linear-gradient(90deg,#ffffff0d,#ffffff1c,#ffffff0d 80%);background-size:200% 100%;animation:bone-shimmer 1.4s linear infinite}@keyframes bone-shimmer{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.bone{animation:none}}.bone-text{margin:3px 0}.bone-small{height:9px}.bone-name{height:14px}.bone-btn{width:64px;height:30px;border-radius:var(--radius-s)}.bone-preview{width:100%;height:auto;aspect-ratio:256 / 160;border-radius:0}.map-option.skeleton,.mod-row.skeleton,.mp-lan-row.skeleton{pointer-events:none}.mp-lan-row.skeleton .mp-lan-name{height:17px;margin:0}.mp-lan-row.skeleton .mp-lan-addr{height:16px;margin:0}.mp-lan-row.skeleton .mp-lan-meta .bone,.mp-browse-row .mp-lan-meta .bone{height:12px;margin:0}.map-option.skeleton .map-option-body,.map-option.skeleton .community-meta{align-items:center}.map-option.skeleton .community-desc{display:block}.dialog.community-dialog{width:min(760px,94vw);max-width:760px;height:min(680px,88vh)}.community{display:flex;flex-direction:column;gap:12px;min-height:100%}.community-search{flex:none;display:flex;align-items:center;gap:8px;min-height:42px;padding:0 12px;background:var(--tile);border-radius:var(--radius-s);transition:box-shadow .12s}.community-search:focus-within{box-shadow:0 0 0 2px var(--blue)}.community-search .ico{flex:none;font-size:20px;color:var(--text-faint)}.community-query{flex:1;min-width:0;padding:10px 0;font:inherit;line-height:1.35;color:var(--text);background:none;border:none;outline:none;appearance:none;-webkit-appearance:none}.community-query::placeholder{color:var(--text-faint)}.community-query::-webkit-search-cancel-button{appearance:none;-webkit-appearance:none}.community-status{padding:6px 0}.community-status:empty{display:none}.community-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,max(150px,(100% - 2 * var(--map-gap)) / 3)),1fr))}.community-card{align-items:stretch}.community-card.busy{opacity:.6;pointer-events:none}.community-card .map-option-body{padding-bottom:4px}.community-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px 8px;font-size:11px;color:var(--text-faint)}.community-author{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.community-count{flex:none;display:inline-flex;align-items:center;gap:2px}.community-count .ico{font-size:14px}.community-desc{margin:0 10px 10px;font-size:11.5px;line-height:1.4;color:var(--text-dim);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.community-pager{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:auto;padding-top:4px}.community-pager .btn.icon-only{width:36px;min-height:36px;padding:0}.community-page{font-size:12px;font-weight:600;color:var(--text-dim);font-variant-numeric:tabular-nums}.editor-screen.setup-three .setup-main{--editor-side: 22%;--editor-side-min: 236px;--editor-side-max: 340px;grid-template-columns:minmax(var(--editor-side-min),min(var(--editor-side) - 6px,var(--editor-side-max))) minmax(0,1fr) minmax(var(--editor-side-min),min(var(--editor-side) - 6px,var(--editor-side-max)))}@media(pointer:coarse){.editor-screen.setup-three .setup-main{--editor-side: 26%}}.editor-screen .setup-right{grid-template-rows:minmax(0,1fr)}.editor-screen .setup-meta{display:none}.dialog.editor-tools-dialog{width:min(560px,92vw);max-width:560px;height:min(720px,100%);max-height:none}.editor-tools-body{gap:0}.editor-tools-body .pane{flex:none;background:none;box-shadow:none;border-radius:0}.editor-tools-body .pane+.pane{margin-top:4px;border-top:1px solid var(--line)}.editor-tools-body .pane-head{padding:10px 0 6px}.editor-tools-body .pane-body{padding:0 0 12px;overflow:visible}.editor-tools-body .editor-palette{grid-template-columns:repeat(8,minmax(0,1fr))}.editor-map .pane-body{padding:0}.editor-canvas{flex:1;min-height:0;width:100%;display:block;border-radius:var(--radius);background:#0a0d12;cursor:crosshair;touch-action:none;outline:none}.editor-palette{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.editor-swatch{position:relative;overflow:hidden;aspect-ratio:1;min-width:0;padding:0;border-radius:var(--radius-xs);box-shadow:0 0 0 2px transparent,inset 0 0 0 1px #00000059;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.9);transition:box-shadow .1s,filter .1s}.editor-swatch-art{position:absolute;inset:0;width:100%;height:100%}.editor-swatch-arrow{position:relative;text-shadow:0 0 4px rgba(0,0,0,.95),0 1px 2px rgba(0,0,0,.95)}.editor-swatch:hover{filter:brightness(1.15)}.editor-swatch.selected{box-shadow:0 0 0 2px var(--blue),inset 0 0 0 1px #00000059}.editor-factions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:2px 0 4px}.editor-factions .field-label{margin-right:4px;font-size:13px}.editor-faction{width:30px;height:30px;padding:0;border-radius:50%;background:#0000008c;box-shadow:0 0 0 2px transparent,inset 0 0 0 1px #ffffff1f;font-size:13px;font-weight:700;line-height:1;transition:box-shadow .1s,filter .1s}.editor-faction:hover{filter:brightness(1.3)}.editor-faction.selected{box-shadow:0 0 0 2px var(--blue),inset 0 0 0 1px currentColor}.editor-factions-none{font-size:12px;line-height:1.4;color:var(--text-dim)}.editor-forces-label{display:block;margin-bottom:8px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim)}.editor-brush{display:flex;gap:8px}.editor-brush-sizes{flex:1;min-width:0}.editor-brush-sizes button{flex:1 1 0;min-width:0;padding-left:6px;padding-right:6px}.editor-screen .field{gap:12px}.editor-name .mp-input{flex:1;min-width:0;width:auto}.field.editor-desc{flex-direction:column;align-items:stretch;gap:8px}.editor-desc .mp-input{min-width:0;width:100%;font:inherit;font-size:13.5px;resize:vertical;min-height:74px}.field.editor-translations{flex-direction:column;align-items:stretch;gap:8px}.editor-translations-body{display:flex;flex-direction:column;gap:8px}.editor-translation{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border:1px solid var(--line);border-radius:8px}.editor-translation-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.editor-translation-lang{font-weight:600;color:var(--text-dim)}.editor-translation .mp-input{min-width:0;width:100%}.editor-translation textarea.mp-input{font:inherit;font-size:13.5px;resize:vertical;min-height:54px}.editor-translation-add{display:flex;flex-wrap:wrap;gap:6px}.field.editor-size{flex-direction:column;align-items:stretch;gap:8px}.editor-size .seg{display:flex}.editor-size .seg button{flex:1 1 0;min-width:0;padding-left:6px;padding-right:6px}@container (max-width: 240px){.editor-size .seg{flex-wrap:wrap}.editor-size .seg button{flex:1 1 40%}.editor-brush-sizes button{padding-left:3px;padding-right:3px}}.setup-screen .setup-head .editor-file{padding:0 14px 0 10px;gap:6px}.editor-file .ico{font-size:22px}.editor-publish-intro{margin:0;line-height:1.5;color:var(--text-dim)}.editor-publish-file{display:flex;align-items:center;gap:12px;min-width:0}.editor-publish-file code{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono);font-size:13px}.editor-publish-steps{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:8px;line-height:1.5}.editor-actions{margin-top:8px}.editor-readout{margin-top:12px;display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-dim)}.editor-readout:empty{display:none}.editor-warn{color:var(--yellow)}.mp-mode{flex:none}.mp-mode-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px 14px}.mp-mode-card{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:8px 12px;background:var(--tile);border-radius:var(--radius-s);box-shadow:0 0 0 2px transparent;color:var(--text-dim);font-size:13px;font-weight:700;transition:background .12s,box-shadow .12s,color .12s}.mp-mode-card .ico{font-size:22px}.mp-mode-card:hover:not(:disabled){background:var(--tile-hover)}.mp-mode-card.selected{box-shadow:0 0 0 2px var(--blue);color:#fff}.mp-mode-card.selected .ico{color:var(--blue-ink)}.mp-mode-card:disabled:not(.selected){opacity:.6}.mp-mode-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mp-map-view{display:flex;align-items:center;gap:14px}.mp-map-view .map-preview{width:150px;flex:none;border-radius:var(--radius-s)}.mp-map-view .mp-map-name{font-size:15px;font-weight:700}@container (max-width: 260px){.mp-map-view{flex-direction:column;align-items:stretch}.mp-map-view .map-preview{width:100%;max-width:150px;align-self:center}}.mp-narrow{max-width:680px;justify-content:center}.mp-field{flex-wrap:wrap}.mp-input{min-width:190px;min-height:42px;padding:10px 12px;line-height:1.35;color:var(--text);background:var(--tile);border:none;border-radius:var(--radius-s);outline:none;transition:box-shadow .12s}.mp-input::placeholder{color:var(--text-faint)}.mp-input:user-invalid{box-shadow:none}.mp-input:focus{box-shadow:0 0 0 2px var(--blue)}.dd{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-width:190px;min-height:42px;padding:0 8px 0 12px;color:var(--text);background:var(--tile);border-radius:var(--radius-s);font-size:14px;text-align:left;transition:background .1s,box-shadow .12s}.dd:hover:not(:disabled){background:var(--tile-hover)}.dd.open{box-shadow:0 0 0 2px var(--blue)}.dd:disabled{opacity:.55}.dd.dd-compact{min-width:150px;min-height:38px}.dd-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dd-lead{flex:none;margin-right:8px;font-size:19px;color:var(--text-dim)}.dd-item.selected .dd-lead,.dd-item:hover .dd-lead,.dd-item:focus-visible .dd-lead{color:inherit}.dd-caret{font-size:20px;color:var(--text-dim);transition:transform .12s}.dd.open .dd-caret{transform:rotate(180deg)}.dd-menu{position:fixed;z-index:400;display:flex;flex-direction:column;gap:2px;max-height:60vh;padding:4px;overflow-y:auto;overscroll-behavior:contain;border-radius:var(--radius-s);box-shadow:var(--shadow);animation:dd-in .1s ease-out}@keyframes dd-in{0%{transform:translateY(-4px);opacity:0}}.dd-item{display:flex;align-items:center;min-height:36px;padding:0 12px;border-radius:var(--radius-xs);color:var(--text-dim);font-size:14px;text-align:left;white-space:nowrap}.dd-item:hover,.dd-item:focus-visible{background:var(--tile-hover);color:var(--text);outline:none}.dd-item.selected{background:var(--blue);color:#fff}.dd-actions{min-width:160px}.dd-item.danger:hover,.dd-item.danger:focus-visible{background:var(--red, #d95763);color:#fff}.dd-item.danger:hover .dd-lead,.dd-item.danger:focus-visible .dd-lead{color:inherit}.dialog.mp-name-dialog{width:min(440px,92vw);max-width:440px}.mp-name-dialog .mp-host-intro{margin:0}.mp-name-dialog .field{flex-direction:column;align-items:stretch;gap:6px;padding:0}.mp-name-dialog .mp-input{width:100%;min-width:0}.mp-name-dialog .mp-status{margin-top:0}.mp-connect .side-pages{padding-top:14px}.mp-connect .field{flex-direction:column;align-items:stretch;gap:6px;padding:4px 0}.mp-connect .mp-input{width:100%;min-width:0}.mp-input-box{position:relative;display:flex}.mp-input-box .mp-input{flex:1;min-width:0}.mp-input-box.has-btn .mp-input{padding-right:42px}.mp-input-btn{position:absolute;top:0;right:0;bottom:0;display:inline-flex;align-items:center;justify-content:center;width:42px;padding:0;color:var(--text-dim);transition:color .1s}.mp-input-btn:hover{color:var(--text)}.mp-input-btn.active{color:var(--blue-ink)}.mp-input-btn .ico{font-size:20px}.mp-actions{margin-top:18px}.mp-host-intro{margin:4px 0 0;line-height:1.5}.mp-host-note{margin:0;line-height:1.5;font-size:12.5px}.mp-connect .field.mp-switch{flex-direction:row;align-items:center;justify-content:space-between}.mp-lan-list{display:flex;flex-direction:column;gap:6px}.mp-lan-empty{text-align:center;padding:24px 8px;line-height:1.5}.mp-lan-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;align-items:center;width:100%;padding:8px 12px;text-align:left;background:var(--tile);border-radius:var(--radius-s);transition:background .12s}.mp-lan-row:hover,.mp-lan-row:focus-visible{background:var(--tile-hover);outline:none}.mp-lan-row:disabled{background:var(--tile)}.mp-lan-name{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mp-lan-addr{font-family:var(--mono);font-size:12px;color:var(--text-faint)}.mp-lan-meta{grid-column:2;grid-row:1 / 3;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-dim);white-space:nowrap}.mp-lan-lock{display:inline-flex}.mp-lan-lock .ico{font-size:16px}.mp-lan-row.stale{opacity:.5}.mp-browse .card-title{margin:4px 0 -4px}.mp-browse .mp-host-intro{margin:0}.mp-browse-row .mp-lan-addr{font-family:var(--font)}.mp-browse-ping{font-family:var(--mono);color:var(--text-faint)}.mp-browse-ping.good{color:var(--green-ink)}.mp-browse-ping.warn{color:var(--yellow)}.mp-browse-ping.bad{color:var(--red-ink)}.mp-chat-notice{color:var(--text-dim);font-style:italic}.mp-chat-notice.warn{color:var(--yellow)}.mp-lan-hint{padding-top:10px;border-top:1px solid var(--line)}.mp-lan-hint p{margin:0;line-height:1.5;font-size:12.5px;color:var(--text-dim)}.get-app{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:4px}.store-marks{display:flex;align-items:center;gap:14px;margin-right:auto;padding-left:4px;color:var(--text-dim)}.store-mark{width:20px;height:20px;fill:currentColor}.mp-host-app{margin-top:4px;padding-top:14px;border-top:1px solid var(--line)}.mp-host-app .mp-host-intro{margin:0}.mp-cmd{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 12px;background:var(--tile);border-radius:var(--radius-s);font-family:var(--mono);font-size:12.5px}.mp-cmd code{flex:1;min-width:0;overflow-wrap:anywhere;user-select:text;-webkit-user-select:text}.mp-cmd .hud-btn{flex:none}.mp-center{text-align:center;padding:32px}.mp-status{margin-top:12px;padding:10px 12px;border-radius:var(--radius-s)}.mp-status.bad{color:#fff;background:var(--red)}.pane-players{flex:1 1 0;min-height:150px}.pane-chat{flex:1.3 1 0;min-height:190px}.mp-roster-list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;font-size:13px}.mp-chat-list{display:flex;flex-direction:column;gap:4px;max-height:180px;overflow-y:auto;overscroll-behavior:contain;font-size:13px}.mp-chat-row{display:flex;gap:8px;line-height:1.4}.mp-chat-row .mp-chat-from{flex:none;font-weight:700}.mp-chat-row .mp-chat-text{min-width:0;overflow-wrap:anywhere;user-select:text;-webkit-user-select:text}.mp-chat-form{display:flex;gap:8px;margin-top:10px}.mp-chat-form .mp-input{flex:1;min-width:0}.dialog.mp-server-dialog{width:min(640px,92vw);max-width:640px;height:min(540px,86vh)}.mp-server-page .card-title{margin-bottom:8px}.mp-server-page .mp-host-intro{margin:0 0 8px}.mp-invite-row{display:flex;flex-direction:column;gap:5px}.mp-invite-row .field-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.mp-invite-hint{font-size:12px;line-height:1.4}.mp-mod-list{display:flex;flex-direction:column}.mp-mod-row{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-top:1px solid var(--line);font-size:13px}.mp-mod-row:first-child{border-top:none}.mp-mod-row>.toggle,.mp-mod-row>.ico{flex:none;margin-top:1px}.mp-mod-row>.ico.ok{color:var(--green-ink)}.mp-mod-row>.ico.bad{color:var(--yellow)}.mp-mod-row>.ico.faint{color:var(--text-faint)}.mp-mod-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.mp-mod-name{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mp-mod-note{font-size:12px;line-height:1.4;color:var(--text-dim)}.mp-mod-note.bad{color:var(--yellow)}.mp-server-tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.mp-server-tools .btn{min-height:34px;padding:0 12px;font-size:13px}.mp-mods-value{display:flex;flex-wrap:wrap;gap:4px 8px;font-size:13px}.mp-lan-mods{color:var(--yellow)}.mp-occupant{color:var(--blue-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mp-seat{display:flex;align-items:center;gap:8px;min-width:0}.mp-seat>.dd,.mp-seat>.mp-occupant{flex:1;min-width:0}.mp-member{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-height:34px;padding:5px 0;border-top:1px solid var(--line)}.mp-member:first-child{border-top:none}.mp-member-id{flex:1 0 auto;max-width:100%;display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px}.mp-member-name{min-width:0;max-width:100%;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mp-member-role{flex:none;max-width:100%;padding:1px 5px;border-radius:var(--radius-xs);font-size:10px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--blue-ink);background:var(--tile)}.mp-member-ready{flex:none;color:var(--green-ink)}.mp-member-ping{flex:none;margin-left:auto;font-family:var(--mono);font-size:12px;color:var(--text-faint);white-space:nowrap}.mp-member-ping.good{color:var(--green-ink)}.mp-member-ping.warn{color:var(--yellow)}.mp-member-ping.bad{color:var(--red-ink)}.mp-avatar{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--tile);color:var(--text-dim)}.mp-avatar .ico{font-size:16px}.mp-avatar.off{opacity:.45}.mp-roster-btn{flex:none;margin-left:auto;min-width:30px;height:30px;padding:0}.mp-roster-btn .ico{font-size:20px}.mp-roster-spacer{flex:none;width:30px;height:30px}@media(max-width:700px){.mp-input,.dd{min-width:0;width:100%}}.field{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 0}.field-label{color:var(--text-dim);font-weight:600}.pane-body .field+.field{border-top:1px solid var(--line)}.settings-form{gap:0}.settings-form>.field+.field{border-top:1px solid var(--line)}.settings-form>.card-title{margin-top:18px}.settings-form>.field:not(.bind-row),.rules-pane .field{min-height:52px}.settings-form>.field>:first-child,.rules-pane .field>:first-child{flex:1 1 auto;min-width:0}.settings-form>.field>:last-child,.rules-pane .field>:last-child{flex:none}.rules-pane .field>:is(.seed-box,.mp-save-value){flex:0 1 auto;min-width:0}.rules-pane .field>.dd{width:auto;min-width:190px}.dialog.sided .dialog-body{padding:0;display:flex;overflow:hidden}.side-shell{flex:1;min-width:0;min-height:0;display:grid;grid-template-columns:164px minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.side-nav{min-height:0;padding:14px 12px 14px 14px;border-right:1px solid var(--line);overflow-y:auto;overscroll-behavior:contain}.side-nav .tabs{flex-direction:column;gap:2px}.side-nav .tabs>.hud-btn{flex:none;height:38px;padding:0 12px;gap:10px;justify-content:flex-start;border-radius:var(--radius-s);background:transparent;color:var(--text-dim)}.side-nav .tabs>.hud-btn .ico{font-size:19px;color:var(--text-faint)}.side-nav .tabs>.hud-btn:hover{background:var(--tile-hover);color:var(--text)}.side-nav .tabs>.hud-btn:hover .ico{color:var(--text-dim)}.side-nav .tabs>.hud-btn[aria-selected=true]{background:var(--tile-active);color:var(--text);box-shadow:none}.side-nav .tabs>.hud-btn[aria-selected=true] .ico{color:var(--blue-ink)}.side-pages{min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:10px 18px 18px}.side-page{outline:none}.side-pages>[data-active=false]{display:none}@media(max-width:560px){.side-shell{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.side-nav{border-right:none;border-bottom:1px solid var(--line);padding:10px 10px 8px}.side-nav .tabs{flex-direction:row;overflow-x:auto;overscroll-behavior-x:contain}.side-nav .tabs>.hud-btn{height:34px;padding:0 10px;white-space:nowrap}.side-pages{padding:4px 14px 14px}}.dialog.away-dialog{width:min(440px,92vw);max-width:440px}.away-body,.away-intro{margin:0;line-height:1.5}.away-app{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.dialog.guide-dialog{width:min(560px,92vw);max-width:560px}.timeline{list-style:none;margin:0;padding:0;position:relative}.timeline:before{content:"";position:absolute;left:17px;top:18px;bottom:18px;width:2px;background:var(--line)}.tl-step{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr);gap:0 14px;padding:0 0 18px}.tl-step:last-child{padding-bottom:0}.tl-mark{position:relative;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--tile);box-shadow:0 0 0 3px var(--surface)}.tl-mark img{width:28px;height:28px;image-rendering:pixelated}.tl-num{position:absolute;right:-4px;bottom:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--blue);color:#fff;font:700 10px var(--mono);line-height:16px;text-align:center}.tl-mark-end{background:var(--tile-active);color:var(--blue-ink)}.tl-mark-end .ico{font-size:20px}.tl-text{padding-top:5px;min-width:0}.tl-title{font-weight:700;font-size:14px}.tl-body{margin-top:3px;font-size:13px;line-height:1.5;color:var(--text-dim)}.tl-more .tl-link{display:flex;align-items:center;gap:10px;width:100%;min-height:0;padding:8px 12px;text-align:left;white-space:normal}.tl-more .tl-link .grow{display:flex;flex-direction:column;gap:2px}.tl-more .tl-link .tl-body{margin-top:0;font-size:12px}.tl-more .tl-link .ico{font-size:18px;color:var(--text-dim);flex:none}.bind-group{margin:14px 0 2px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.settings-form>.bind-group+.field{border-top:none}.mods-pending{display:flex;align-items:center;gap:8px;margin:6px 0 2px;padding:8px 10px;background:var(--tile);color:var(--yellow);font-size:13px}.mods-pending .ico{font-size:18px}.card-head{display:flex;align-items:center;justify-content:space-between}.card-head-tools{display:flex;gap:4px}.card-head .btn.icon-only{min-height:28px;padding:0 6px}.card-head .btn.icon-only.active{background:var(--blue);color:#fff}.card-head .btn .ico{font-size:18px}.mods-search{width:100%;box-sizing:border-box;margin:8px 0 2px}.mods-status{padding:8px 0}.mod-list{display:flex;flex-direction:column}.mod-row{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.mod-row>.mod-thumb,.mod-row>.mod-actions{align-self:center}.mod-row:first-child{border-top:none}.mod-main{flex:1;min-width:0}.mod-name{color:var(--text-dim);font-weight:600;overflow-wrap:anywhere}.mod-ver{margin-left:8px;font-family:var(--mono);font-size:12px;font-weight:400;color:var(--text-faint)}.mod-desc{margin-top:2px;font-size:13px;color:var(--text-dim);overflow-wrap:anywhere}.mod-blurb{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.mod-issues{margin-top:6px;font-family:var(--mono);font-size:12px;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere}.mod-issues.bad{color:var(--red-ink)}.mod-issues.warn{color:var(--yellow)}.mod-issues-title{margin-top:6px;font-family:var(--font);font-weight:700}.mod-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.mod-actions .btn{min-height:30px;padding:0 10px;font-size:12px}.mod-actions .btn.icon-only{padding:0 6px}.mod-actions .btn .ico{font-size:18px}.mod-have{font-size:12px}.mods-add{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.mods-add .btn{min-height:34px;padding:0 12px;font-size:13px}.mods-add .btn .ico{font-size:18px}.mods-url{width:100%;box-sizing:border-box}.mod-count{display:inline-flex;align-items:center;gap:2px;vertical-align:middle}.mod-count .ico{font-size:14px}.mod-thumb{flex:none;width:72px;aspect-ratio:1;border-radius:var(--radius-s);background:var(--tile);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}.mod-thumb:empty{display:none}.mod-thumb.bone{display:block;height:auto;border-radius:var(--radius-s);box-shadow:none}.mod-thumb img{display:block;width:100%;height:100%;object-fit:cover}.mod-row-open .mod-main,.mod-row-open .mod-thumb{cursor:var(--cursor-interact, pointer)}.mod-row-open .mod-main:hover .mod-name,.mod-row-open .mod-main:focus-visible .mod-name{color:var(--text)}.mod-row-open .mod-main:focus-visible{outline:2px solid var(--blue);outline-offset:4px;border-radius:2px}@media(max-width:560px){.mod-thumb{width:56px}}.dialog.mod-dialog{width:min(640px,94vw);max-width:640px}.mod-detail{display:flex;flex-direction:column;gap:12px}.mod-shot{--shot-h: min(340px, 42vh);aspect-ratio:4 / 3;width:min(100%,calc(var(--shot-h) * 4 / 3));margin:0 auto;border-radius:var(--radius-s);background:var(--tile);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}.mod-shot img{display:block;width:100%;height:100%;object-fit:cover}.mod-shot-thumbs{display:flex;justify-content:center;gap:8px;overflow-x:auto;padding-bottom:2px}.mod-shot-thumb{flex:none;width:88px;aspect-ratio:4 / 3;padding:0;border-radius:var(--radius-s);background:var(--tile);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden;opacity:.7;transition:opacity .12s,box-shadow .12s}.mod-shot-thumb img{display:block;width:100%;height:100%;object-fit:cover}.mod-shot-thumb:hover{opacity:1}.mod-shot-thumb.active{opacity:1;box-shadow:inset 0 0 0 2px var(--blue)}.mod-detail-facts{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;font-size:13px;color:var(--text-dim)}.mod-detail-facts>*+*:before{content:"·";margin-right:8px;color:var(--text-faint)}.mod-detail-facts .mod-ver{margin-left:0;font-size:13px}.mod-detail-desc{font-size:14px;line-height:1.5;color:var(--text)}.mod-detail-title{margin:6px 0 0}.mod-defs{display:flex;flex-direction:column}.mod-def{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:6px 0;border-top:1px solid var(--line)}.mod-def:first-child{border-top:none}.mod-def-name{font-weight:600;color:var(--text-dim);min-width:0;overflow-wrap:anywhere}.mod-def-meta{flex:none;display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--text-faint);font-variant-numeric:tabular-nums}.mod-def-cost{display:inline-flex;align-items:center;gap:2px}.mod-def-cost .ico{font-size:14px;color:var(--blue)}.mod-detail-links{display:flex;gap:6px}.mod-pictures{display:flex;flex-direction:column;gap:10px}.mod-detail-text{display:flex;flex-direction:column;gap:12px}@media(max-height:640px){.dialog.mod-dialog{width:min(820px,94vw);max-width:820px}.mod-detail{flex-direction:row;align-items:flex-start;gap:16px}.mod-pictures{flex:0 0 46%;position:sticky;top:0}.mod-shot{--shot-h: 46vh}.mod-shot-thumb{width:64px}.mod-detail-text{flex:1;min-width:0}}.bind-row{padding:6px 0}.bind-caps{display:flex;align-items:center;gap:8px;flex:none}.bind-slot{display:inline-flex;align-items:center;gap:2px}.bind-key{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:46px;height:30px;padding:0 10px;border-radius:var(--radius-xs);background:var(--tile);color:var(--text);font:600 12px var(--mono);letter-spacing:.02em;white-space:nowrap;transition:background .1s,color .1s}.bind-key:hover{background:var(--tile-hover)}.bind-key.empty{color:var(--text-faint)}.bind-key.capturing{background:var(--blue);color:#fff}.bind-key .glyph-pad{height:1.7em}.bind-clear{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:var(--text-faint)}.bind-clear:hover{color:var(--text);background:var(--tile-hover)}.bind-clear .ico{font-size:14px}.bind-hint{margin:0 0 6px;font-size:12px;line-height:1.5;color:var(--text-faint)}.bind-reset{display:flex;justify-content:flex-end;padding:10px 0 4px}.seg{display:inline-flex;gap:2px;padding:3px;background:var(--tile);border-radius:var(--radius-s);box-shadow:inset 0 1px 2px #00000059}.seg button{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:6px 12px;border-radius:var(--radius-xs);font-size:13px;font-weight:600;color:var(--text-dim);transition:background .1s,color .1s,box-shadow .1s}.seg button .ico{font-size:17px}.seg button.active{background:var(--blue);color:#fff;box-shadow:inset 0 1px #ffffff29,0 1px 3px #00000059}.seg button:not(.active):hover{color:var(--text);background:var(--tile-hover)}.seg.readonly{opacity:.75}.seg button:disabled{pointer-events:none}.seed-box{display:flex;align-items:center;gap:8px}.seed-box .mp-input{width:132px;min-width:0;flex:0 1 auto;font-family:var(--mono);letter-spacing:.02em}.seed-box .mp-input:read-only{opacity:.75}.seed-roll{flex:none;min-height:42px;padding:0 12px}.slider{--thumb: 16px;display:flex;align-items:center;gap:10px;width:240px}.slider input[type=range]{flex:1;appearance:none;height:4px;border-radius:2px;background:linear-gradient(to right,var(--blue) var(--fill, 0%),var(--tile-active) 0);outline:none}.slider input[type=range]::-webkit-slider-thumb{appearance:none;width:var(--thumb);height:var(--thumb);border-radius:50%;background:var(--blue);cursor:var(--cursor-interact, pointer)}.slider .val{width:40px;text-align:right;color:var(--text-dim);font-size:12px}.slider .steps{position:relative;flex:1;min-width:0;display:flex;align-items:center;height:var(--thumb)}.slider .steps input[type=range]{position:relative;min-width:0}.slider .steps .dots{position:absolute;top:calc(50% - var(--thumb) / 2 - 4px);height:3px;left:calc(var(--thumb) / 2);right:calc(var(--thumb) / 2);pointer-events:none}.slider .steps .dots i{position:absolute;top:0;width:3px;height:3px;margin-left:-1.5px;border-radius:50%;background:var(--text-faint)}.toggle{width:44px;height:24px;border-radius:12px;position:relative;background:var(--tile-active);transition:background .15s;box-shadow:inset 0 1px 2px #00000059}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--text-dim);transition:left .15s,background .15s;box-shadow:inset 0 1px #ffffff40,0 1px 2px #0006}.toggle.on{background:var(--blue)}.toggle.on:after{left:23px;background:#fff}.toggle:disabled{opacity:.75;cursor:var(--cursor-select, default)}.check{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-dim);user-select:none;cursor:var(--cursor-interact, pointer)}.check:hover{color:var(--text)}.check input{appearance:none;margin:0;flex:none;width:18px;height:18px;border-radius:5px;background:var(--tile-active);transition:background .15s;box-shadow:inset 0 1px 2px #00000059;display:grid;place-items:center;cursor:inherit}.check input:after{content:"";width:5px;height:9px;margin-top:-2px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);opacity:0;transition:opacity .1s}.check input:checked{background:var(--blue)}.check input:checked:after{opacity:1}.dialog-backdrop{position:fixed;inset:0;z-index:100;background:#060a0cb3;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px)}.dialog{position:relative;--tile: #11191D;--tile-hover: #1A262C;--tile-active: #223038;--tile-flip: #19242A;background:var(--ground);border:1px solid rgba(255,255,255,.08);border-radius:14px;box-shadow:var(--shadow),inset 0 1px #ffffff0d;min-width:360px;max-width:600px;max-height:84vh;display:flex;flex-direction:column;overflow:hidden;animation:dialog-in .14s ease-out}.dialog:focus{outline:none}.dialog.settings,.dialog.mp-connect-dialog{width:min(700px,92vw);max-width:700px;height:min(640px,86vh)}.dialog.pause.split{width:min(720px,92vw);max-width:720px}.dialog.pause.split .dialog-body{display:flex;overflow:hidden}.pause-shell{flex:1;min-width:0;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:0 18px}.pause-shell>*{min-height:0;overflow-y:auto;overscroll-behavior:contain}.pause-shell>.stack{padding-right:2px}.pause-info{padding-left:18px;border-left:1px solid var(--line)}.pause-info .card{padding:0}.pause-info .pl-row:first-child{padding-top:2px}.pause-info{display:flex;flex-direction:column}.pause-info .tabs{flex:none;margin-bottom:10px}.pause-page{min-height:0}.pause-page[data-active=false]{display:none}.pause-chat{display:flex;flex-direction:column;flex:1}.pause-chat .chat-panel{flex:1;min-height:160px;padding:0;background:none;box-shadow:none}.pause-chat .chat-title{display:none}@keyframes dialog-in{0%{transform:scale(.96);opacity:0}}.dialog-backdrop.closing{pointer-events:none;animation:backdrop-out .13s ease-in forwards}.dialog-backdrop.closing .dialog{animation:dialog-out .13s ease-in forwards}@keyframes backdrop-out{to{opacity:0}}@keyframes dialog-out{to{transform:scale(.97);opacity:0}}.dialog:before,.dialog:after{content:"";position:absolute;top:12px;width:8px;height:8px;border-radius:50%;background:#0c1215;box-shadow:inset 0 1px 1px #000000e6,0 1px #ffffff14}.dialog:before{left:12px}.dialog:after{right:12px}.dialog-title{flex:none;padding:20px 40px 16px;text-align:center;font-size:22px;font-weight:500;letter-spacing:.02em}.dialog-body{flex:1;min-height:0;margin:0 16px 16px;padding:18px;overflow-y:auto;overscroll-behavior:contain;border-radius:var(--radius);box-shadow:inset 0 2px 8px #00000059,inset 0 0 0 1px #00000040}.dialog-body:has(+.dialog-actions){margin-bottom:12px}.dialog-actions{flex:none;padding:0 16px 16px;display:flex;justify-content:flex-end;gap:10px}.dialog-actions>.lead{margin-right:auto}.dialog-actions .btn.icon-only{width:40px;padding:0}.dialog-actions .btn.icon-only .ico{font-size:22px;color:var(--text-dim)}.dialog-actions .btn.icon-only:hover .ico{color:var(--text)}.tabs{display:flex;gap:4px}.tabs>.hud-btn{flex:1;min-width:0;height:40px;padding:0 8px;font-size:13px;border-radius:var(--radius-s) var(--radius-s) 0 0;background:var(--ground)}.tabs>.hud-btn[aria-selected=true]{background:var(--surface);color:var(--blue-ink);box-shadow:inset 0 2px var(--blue)}.list-item{display:flex;align-items:center;gap:14px;padding:12px 14px;background:var(--tile);border-radius:var(--radius);box-shadow:0 0 0 2px transparent;cursor:var(--cursor-interact, pointer);transition:background .12s,box-shadow .12s}.list-item:hover:not(.locked){background:var(--tile-hover);box-shadow:0 0 0 2px var(--blue)}.list-item.locked{opacity:.45;cursor:var(--cursor-select, default)}.save-thumb{position:relative;width:80px;height:50px;flex:none;border-radius:var(--radius-s);background:var(--tile-flip);overflow:hidden}.save-thumb .map-preview{display:block;width:100%;height:100%;border-radius:0}.save-thumb.empty{display:flex;align-items:center;justify-content:center}.save-thumb.empty .ico{font-size:22px;color:var(--text-faint)}.save-badge{display:inline-block;vertical-align:2px;margin-left:8px;padding:1px 6px;border-radius:var(--radius-xs);background:var(--tile-active);color:var(--blue-ink);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:15px}.save-row .li-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-item .li-title{font-weight:700;font-size:15px}.list-item .li-sub{color:var(--text-dim);font-size:12.5px;margin-top:3px;line-height:1.45}.campaign-grid{--campaign-gap: 10px;display:grid;gap:var(--campaign-gap);grid-template-columns:repeat(auto-fill,minmax(min(100%,max(200px,(100% - 2 * var(--campaign-gap)) / 3)),1fr))}.campaign-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;text-align:left;background:var(--tile);border-radius:var(--radius-s);box-shadow:0 0 0 2px transparent;transition:background .12s,box-shadow .12s}.campaign-card:hover:not(:disabled){background:var(--tile-hover)}.campaign-card:active:not(:disabled){transform:translateY(1px)}.campaign-card.selected{background:var(--tile-hover);box-shadow:0 0 0 2px var(--blue)}.campaign-card:disabled{opacity:.45}.campaign-cover{position:relative;display:flex;align-items:center;justify-content:center;flex:none;width:100%;background:var(--tile-flip)}.campaign-cover:before{content:"";flex:none;width:0;padding-top:56.25%}.campaign-cover .map-preview,.campaign-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.campaign-cover .map-preview{image-rendering:pixelated}.campaign-art{opacity:0;transition:opacity .18s ease-out;-webkit-user-drag:none;user-select:none}.campaign-cover.has-art .campaign-art{opacity:1}.campaign-cover .ico{color:var(--text-faint)}.campaign-card-body{display:flex;flex-direction:column;gap:4px;min-width:0;padding:8px 10px 9px}.campaign-card-head{display:flex;align-items:center;gap:8px;min-width:0}.campaign-card-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-dim);font-size:12px;font-weight:700;line-height:1.2}.campaign-card.selected .campaign-card-name{color:#fff}.campaign-card-tag{flex:none;color:var(--text-faint);font-size:10.5px;font-weight:600;letter-spacing:.02em}.campaign-card.selected .campaign-card-tag{color:var(--blue-ink)}.campaign-card-desc{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;min-height:4.35em;color:var(--text-faint);font-size:11.5px;font-weight:400;line-height:1.45}.campaign-card .badge{flex:none;display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:20px;background:var(--green);color:#fff;font-size:10px;font-weight:700}.campaign-card .badge .ico{font-size:13px;color:#fff}.mission-preview{display:flex;justify-content:center}.mission-preview .map-preview{width:100%;max-width:320px;height:auto;border-radius:var(--radius-s)}.mission-name{margin-top:12px;font-size:17px;font-weight:700}.mission-brief{margin-top:6px;color:var(--text-dim);font-size:13px;line-height:1.5}.mission-obj{display:flex;align-items:flex-start;gap:8px;padding:7px 0;font-size:13px;line-height:1.4}.mission-obj+.mission-obj{border-top:1px solid var(--line)}.mission-obj:before{content:"flag";font-size:16px;margin-top:1px;color:var(--blue-ink)}.game-root{position:fixed;inset:0;background:#000}#game-canvas{position:absolute;inset:0;width:100%;height:100%}.quick-select-dial .radial-label{letter-spacing:.06em}.hud-side{position:absolute;left:0;top:0;bottom:0;z-index:20;width:calc(var(--side-w) + var(--side-lead));display:flex;flex-direction:column;gap:8px;padding:8px 8px calc(8px + var(--sa-b)) calc(8px + var(--side-lead));--card-pad: 8px;background:var(--ground);transition:transform .18s ease;font-size:13px}.hud-side.collapsed{transform:translate(-100%)}.side-toggle{position:absolute;z-index:21;top:calc(10px + var(--sa-t));left:calc(var(--side-w) + var(--side-lead));display:flex;align-items:center;justify-content:center;width:22px;height:44px;background:var(--ground);border-radius:0 var(--radius-s) var(--radius-s) 0;color:var(--text-dim);transition:left .18s ease,color .1s}.side-toggle:hover{color:var(--text)}.side-toggle .ico{font-size:18px}.side-toggle.collapsed{left:var(--sa-l)}.side-top{display:flex;gap:8px;align-items:stretch;flex-shrink:0}.side-controls{display:flex;flex-direction:column;gap:8px;width:36px;flex:none}.side-controls>.hud-btn{width:36px;height:36px;padding:0;min-width:0}.side-controls .hud-speed{font-size:14px;font-weight:600}html.side-right .hud-side{left:auto;right:0;padding:8px calc(8px + var(--side-lead)) calc(8px + var(--sa-b)) 8px}html.side-right .hud-side.collapsed{transform:translate(100%)}html.side-right .side-toggle{left:auto;right:calc(var(--side-w) + var(--side-lead));border-radius:var(--radius-s) 0 0 var(--radius-s)}html.side-right .side-toggle.collapsed{right:var(--sa-r)}html.touch-ui .side-toggle.collapsed{width:46px;height:46px;top:calc(6px + var(--sa-t));left:calc(6px + var(--sa-l));border-radius:12px;color:var(--text);background:var(--plate)}html.side-right.touch-ui .side-toggle.collapsed{left:auto;right:calc(6px + var(--sa-r))}html.touch-ui .side-toggle.collapsed .ico{font-size:24px}html.side-right .activity-feed{right:auto;left:calc(14px + var(--sa-l));align-items:flex-start;text-align:left}html.side-right .feed-line{animation-name:feed-in-left}@keyframes feed-in-left{0%{transform:translate(-10px);opacity:0}}html.side-right.touch-ui .touch-layer{right:auto;left:0;align-items:flex-start;padding:10px 10px calc(10px + var(--sa-b)) calc(10px + var(--sa-l))}html.side-right .touch-hint{text-align:left}html.side-right .corner-tags{right:auto;left:calc(8px + var(--sa-l))}.cuts-side{overflow-y:auto}.cuts-head{display:flex;align-items:center;gap:8px;flex-shrink:0}.cuts-head>.hud-btn{width:36px;height:36px;padding:0;min-width:0}.cuts-title{flex:1;font-weight:700;letter-spacing:.04em}.cuts-card{display:flex;flex-direction:column;gap:8px;padding:var(--card-pad);flex-shrink:0}.cuts-card-title,.cuts-sub{font-weight:700;letter-spacing:.1em;text-transform:uppercase}.cuts-card-title{color:var(--text-dim);font-size:11px}.cuts-sub{color:var(--text-faint);font-size:10px}.cut-row{display:flex;align-items:center;gap:7px;padding:5px 7px;border-radius:var(--radius-xs);background:var(--tile);color:var(--text-dim);font-size:12.5px;text-align:left}.cut-row .ico{font-size:16px;color:var(--text-faint)}.cut-row:hover{background:var(--tile-hover);color:var(--text)}.cut-row.active{background:var(--tile-active);color:var(--text)}.cut-row.active .ico{color:var(--blue-ink)}.cuts-transport{display:flex;gap:6px}.cuts-transport>.hud-btn{flex:1;height:34px;min-width:0;padding:0}.cuts-side .seg{flex-wrap:nowrap}.cuts-side .seg button{flex:1 1 0;min-width:0;gap:4px;padding:6px 4px;font-size:11.5px}.cuts-side .seg button .ico{font-size:15px}.cuts-time{display:flex;align-items:center;gap:8px}.cuts-time input[type=range]{flex:1;min-width:0;appearance:none;height:4px;border-radius:2px;background:linear-gradient(to right,var(--blue) var(--fill, 0%),var(--tile-active) 0);outline:none}.cuts-time input[type=range]::-webkit-slider-thumb{appearance:none;width:14px;height:14px;border-radius:50%;background:var(--blue);cursor:var(--cursor-interact, pointer)}.cuts-time-read{flex:none;min-width:7ch;text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:11.5px;color:var(--text-dim)}.cuts-card .field{padding:0}.cuts-actions{display:flex;gap:6px}.cuts-actions .hud-btn{flex:1 1 0;min-width:0;height:32px;padding:0 10px;font-size:12px;justify-content:space-between}.cuts-actions .hud-btn .ico{font-size:16px;color:var(--text-faint)}.cuts-actions .hud-btn.recording .ico{color:var(--red-ink);animation:blink 1.6s ease-in-out infinite}.cuts-session{min-height:1em;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:11px;color:var(--text-faint)}.cuts-session.recording{color:var(--red-ink)}.cuts-perf,.perf-readout{position:absolute;right:calc(8px + var(--sa-r));bottom:calc(8px + var(--sa-b));z-index:25;margin:0;pointer-events:none;text-align:right;white-space:pre;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:12px;line-height:1.5;color:var(--text);text-shadow:0 1px 2px #000,0 0 6px rgba(0,0,0,.9),0 0 1px #000}.replay-canvas{position:absolute;inset:0;width:100%;height:100%}.replay-row{align-items:flex-start}.replay-row .grow{display:flex;flex-direction:column;min-width:0}.replay-list{display:flex;flex-direction:column;gap:4px;max-height:300px;overflow-y:auto;overscroll-behavior:contain}.replay-list .replay-row{padding:0;gap:0;align-items:center}.replay-pick{flex:1 1 auto;display:flex;align-items:center;gap:7px;flex-direction:row;padding:5px 7px;min-width:0;color:inherit;text-align:left;font:inherit;background:none;border-radius:var(--radius-xs)}.replay-list .replay-row>.hud-btn{width:28px;height:28px;min-width:0;padding:0;margin-right:2px;flex:none}.replay-list .replay-row>.hud-btn .ico{font-size:16px}.replay-name{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.replay-name .save-badge{margin-left:6px;vertical-align:1px}.replay-sub{font-size:10.5px;color:var(--text-faint)}.replay-speeds button{padding:6px 2px;font-size:11px}.replay-facts{display:flex;flex-direction:column;gap:4px;font-size:11.5px;color:var(--text-dim)}.replay-fact{overflow-wrap:anywhere}.video-export{display:flex;flex-direction:column;gap:10px;min-width:300px}.video-export-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.video-export-speeds button{padding:6px 10px}.video-export .pb-track{height:6px;background:var(--tile);border-radius:3px;overflow:hidden}.video-export .pb-fill{height:100%;width:0;background:var(--blue);border-radius:3px;transition:width .15s}.video-export-read{display:flex;justify-content:space-between;gap:12px;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:12px;color:var(--text-dim)}.replay-copy{justify-content:space-between;gap:6px;height:32px;font-size:12px;margin-top:4px;padding:0 10px}.replay-copy .ico{font-size:14px;color:var(--text-faint)}.replay-map{padding:6px}.replay-map .minimap-wrap{width:100%}.replay-sel{display:flex;flex-direction:column;gap:8px}.replay-bar{position:absolute;left:50%;bottom:calc(14px + var(--sa-b));transform:translate(-50%);z-index:30;display:flex;align-items:center;gap:10px;padding:6px 10px 6px 6px;background:#11191de0;border:1px solid rgba(255,255,255,.08);border-radius:10px;box-shadow:0 6px 18px #00000059;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.replay-bar.placed{transform:none;bottom:auto}.replay-grip{width:14px;height:30px;flex:none;cursor:grab;touch-action:none;border-radius:4px;background:radial-gradient(circle,var(--text-faint) 1.3px,transparent 1.6px) 2px 5px / 5px 5px no-repeat;background-size:5px 5px;background-repeat:repeat;background-clip:content-box;padding:5px 2px}.replay-grip:hover{background-color:var(--tile-hover)}.replay-grip:active{cursor:grabbing}.replay-bar .cuts-transport{gap:4px}.replay-bar .cuts-transport>.hud-btn{flex:none;width:34px}.replay-bar .replay-speeds{flex:none}.replay-bar .replay-speeds button{min-width:34px}.replay-bar .cuts-time{width:300px}.replay-bar .cuts-time input[type=range]{flex:1}.side-res{display:flex;flex-direction:column;gap:6px;padding:var(--card-pad);flex-shrink:0}.side-res-lines{display:flex;flex-direction:column;gap:6px}.side-res-row{display:flex;align-items:center;gap:12px}.res-owner{display:flex;align-items:center;gap:6px;min-width:0;font-size:12px;color:var(--text-dim)}.res-owner>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.res-hint{font-size:11px;line-height:1.35;color:var(--text-faint)}.res{display:flex;align-items:center;gap:5px;font-family:var(--mono);font-variant-numeric:tabular-nums;font-weight:600;font-size:13px}.res .ico{font-size:18px}.res.metal .val{min-width:4.5ch}.res .inc{min-width:6ch;color:var(--text-faint);font-size:11px;font-weight:400}.side-res .hud-time{margin-left:auto;font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--text-faint);font-size:12px}.resbar{display:flex;align-items:center;gap:7px;width:100%}.resbar .ico{font-size:17px}.resbar .pb-label{flex:none;min-width:7ch;text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:11.5px;font-weight:600;color:var(--text-dim)}.resbar .pb-track{flex:1;height:6px;background:var(--tile);border-radius:3px;overflow:hidden;position:relative}.resbar .pb-fill{position:absolute;inset:0;width:0;border-radius:3px;transition:width .2s}.powerbar .ico{color:var(--power)}.powerbar .pb-fill{background:var(--power)}.powerbar.low .pb-fill{background:var(--red);animation:blink .8s infinite}.powerbar.low .pb-label{color:var(--red-ink)}.popbar .pb-fill{background:var(--text-dim)}.popbar.full .pb-fill{background:var(--red)}.popbar.full .pb-label{color:var(--red-ink)}@keyframes blink{50%{opacity:.45}}.hud-time{color:var(--text-dim)}.bt-strip{display:flex;flex-direction:column;gap:6px;padding:var(--card-pad);flex-shrink:0}.bt-clock-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.bt-label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);font-weight:700}.bt-clock{font-family:var(--mono);font-size:15px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.bt-clock.low{color:var(--red-ink)}.bt-pips{display:flex;gap:6px;align-items:center}.bt-pip{width:14px;height:14px;transform:rotate(45deg);border-radius:2px;background:var(--tile);border:1.5px solid var(--text-faint);box-sizing:border-box}.bt-pip.front{background:var(--yellow);border-color:#fff;box-shadow:0 0 6px #ffdb5899}.bt-pip.fell{background:var(--red);border-color:var(--red-ink)}.objectives{padding:var(--card-pad);font-size:12.5px;flex-shrink:0}.objectives .obj-title{font-weight:700;color:var(--text-dim);font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px}.objectives .obj{display:flex;align-items:flex-start;gap:7px;padding:2px 0;color:var(--text);line-height:1.35}.objectives .obj.done{color:var(--text-faint);text-decoration:line-through}.objectives .obj:before{content:"flag";font-size:15px;margin-top:1px;color:var(--blue-ink)}.objectives .obj.done:before{content:"check_circle";color:var(--green-ink)}.activity-feed{position:absolute;top:calc(10px + var(--sa-t));right:calc(14px + var(--sa-r));z-index:26;display:flex;flex-direction:column;align-items:flex-end;gap:3px;max-width:min(46vw,440px);pointer-events:none;text-align:right}.feed-line{font-size:13.5px;font-weight:600;line-height:1.3;color:var(--text);text-shadow:0 1px 2px #000,0 0 6px rgba(0,0,0,.9),0 0 1px #000;animation:feed-in .18s ease-out;transition:opacity .7s ease}.feed-line.fading{opacity:0}.feed-line.bad{color:var(--red-ink)}.feed-line.warn{color:var(--yellow)}.feed-line.good{color:var(--green-ink)}@keyframes feed-in{0%{transform:translate(10px);opacity:0}}.chat-panel{flex:1 1 140px;min-height:100px;display:flex;flex-direction:column;overflow:hidden;padding:var(--card-pad)}.chat-panel.hidden{display:none}.chat-list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:2px 2px 6px}.chat-entry{display:flex;align-items:baseline;gap:6px;padding:3px 0;color:var(--text);font-size:12px;line-height:1.35;animation:chat-in .16s ease-out}.chat-time{flex:none;color:var(--text-faint);font-size:10.5px}.chat-message{min-width:0;overflow-wrap:anywhere;user-select:text;-webkit-user-select:text}.chat-entry .chat-from{font-weight:700}.chat-entry .chat-from-btn{cursor:pointer;border-radius:3px}.chat-entry .chat-from-btn:hover,.chat-entry .chat-from-btn:focus-visible{text-decoration:underline;outline:none}.chat-entry.chat-notice{color:var(--text-dim);font-style:italic}.chat-entry.chat-notice.warn{color:var(--yellow)}.chat-entry .chat-tag{color:var(--blue-ink);font-size:10px;font-weight:700}.chat-empty{padding:10px 4px;color:var(--text-faint);font-size:11.5px}@keyframes chat-in{0%{transform:translate(-4px);opacity:0}}.chat-form{display:flex;gap:6px;flex-shrink:0;padding-top:6px}.chat-input{flex:1;min-width:0;height:34px;padding:0 10px;color:var(--text);background:var(--tile);border:none;border-radius:var(--radius-xs);font-size:12.5px;outline:none;transition:box-shadow .12s}.chat-input::placeholder{color:var(--text-faint)}.chat-input:focus{box-shadow:0 0 0 2px var(--blue)}.chat-send{height:34px;padding:0 12px;background:var(--blue);color:#fff;border-radius:var(--radius-xs);font-size:12.5px;font-weight:600}.chat-send:hover{background:var(--blue);filter:brightness(1.12)}.console{position:absolute;top:0;left:50%;transform:translate(-50%);z-index:80;width:min(640px,92vw);padding:8px 10px 10px;background:#11191df5;border-radius:0 0 var(--radius) var(--radius);box-shadow:var(--shadow);font-family:var(--mono);font-size:12.5px}.console-out{display:flex;flex-direction:column;gap:2px;margin-bottom:6px;max-height:260px;overflow-y:auto;color:var(--text-dim);white-space:pre-wrap}.console-msg.echo{color:var(--text-faint)}.console-msg.error{color:var(--red-ink)}.console-msg.ok{color:var(--text)}.console-line{display:flex;align-items:center;gap:8px}.console-prompt{color:var(--blue-ink);font-weight:700}.console-input{flex:1;min-width:0;padding:6px 8px;color:var(--text);background:var(--tile);border:none;border-radius:var(--radius-xs);font:inherit;outline:none}.console-input:focus{box-shadow:0 0 0 2px var(--blue)}html.cursor-skin,html.cursor-skin *{cursor:none!important}html.cursor-skin input,html.cursor-skin textarea,html.cursor-skin select{cursor:auto!important}.cursor-layer{position:fixed;inset:0;z-index:1000;pointer-events:none;overflow:hidden}.curtain{position:fixed;inset:0;z-index:900;background:var(--ground);opacity:0}.curtain-kept{position:fixed;inset:0;z-index:899;pointer-events:none;overflow:hidden}.cursor-img{position:absolute;left:0;top:0;width:40px;height:40px;will-change:transform;display:none}.cursor-img.shown{display:block}.minimap-wrap{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;padding:var(--card-pad)}.minimap-frame{position:relative;flex:none;width:100%;max-width:100%;aspect-ratio:var(--mm-ratio, 1)}#minimap{width:100%;height:100%}#minimap,.minimap-canvas{display:block;image-rendering:pixelated;cursor:var(--cursor-zoom, zoom-in);border-radius:4px}.minimap-canvas{width:100%;height:auto}.minimap-key{position:absolute;top:3px;left:5px;font-size:9.5px;font-weight:700;color:var(--blue-ink);text-transform:uppercase;pointer-events:none;text-shadow:0 0 3px rgba(0,0,0,.9),0 0 1px rgba(0,0,0,.9)}.minimap-canvas{cursor:var(--cursor-interact, pointer)}.dialog.map-dialog{width:min(1060px,92vw);max-width:92vw;max-height:92vh;min-width:0}.map-dialog .dialog-body{padding:10px;overflow:hidden}.large-map-shell{display:flex;align-items:stretch;gap:10px;width:100%;height:100%}.large-map-wrap{position:relative;flex:1;min-width:0;min-height:0}.large-map-frame{position:relative;aspect-ratio:var(--map-ratio, 1);max-width:100%;max-height:calc(92vh - 132px);margin:0 auto;overflow:hidden;border-radius:6px}.large-map-frame:before,.large-map-frame:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none}.large-map-frame:before{background:repeating-linear-gradient(to bottom,#d2f0eb0e 0 1px,#000a0c1f 1px 3px),linear-gradient(90deg,rgba(75,220,205,.025),transparent 35%,rgba(75,220,205,.025));mix-blend-mode:screen;animation:lcd-line-drift 1.6s linear infinite,lcd-flicker 4.7s steps(1,end) infinite}.large-map-frame:after{inset:-18% 0 auto;height:18%;background:linear-gradient(to bottom,transparent,rgba(120,245,225,.11) 48%,transparent);mix-blend-mode:screen;animation:lcd-refresh 5.8s ease-in-out infinite}@keyframes lcd-line-drift{to{background-position:0 3px,0 0}}@keyframes lcd-flicker{0%,91%,93%,97%,to{opacity:1}92%{opacity:.72}96%{opacity:.86}}@keyframes lcd-refresh{0%,18%{transform:translateY(0);opacity:0}20%{opacity:.8}64%{transform:translateY(650%);opacity:.38}65%,to{transform:translateY(650%);opacity:0}}@media(prefers-reduced-motion:reduce){.large-map-frame:before,.large-map-frame:after{animation:none}}.large-map-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.large-map-canvas{display:block;width:100%;height:100%;cursor:var(--cursor-zoom, zoom-in)}.map-legend{flex:none;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2px 14px;padding:0 4px;font-size:11.5px;color:var(--text-dim);line-height:1.2}.map-legend-item{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.map-legend-mark{display:block;width:18px;height:18px}.large-map-side{position:relative;flex:0 0 212px}.map-roster-shell{position:absolute;inset:0;display:flex;flex-direction:column;gap:6px}.map-roster-search{flex:none;display:flex;align-items:center;gap:6px;min-height:36px;padding:0 8px;margin:2px 2px 0 0;background:var(--tile);border-radius:var(--radius-xs);transition:box-shadow .12s}.map-roster-search:focus-within{box-shadow:0 0 0 2px var(--blue)}.map-roster-search .ico{flex:none;font-size:17px;color:var(--text-faint)}.map-roster-query{flex:1;min-width:0;padding:6px 0;font:inherit;font-size:12.5px;color:var(--text);background:none;border:none;outline:none;appearance:none;-webkit-appearance:none}.map-roster-query::placeholder{color:var(--text-faint)}.map-roster-query::-webkit-search-cancel-button{appearance:none;-webkit-appearance:none}.map-roster{flex:1;min-height:0;display:flex;flex-direction:column;gap:4px;padding:0 2px 2px 0;overflow-y:auto;overscroll-behavior:contain}.map-roster-row.off,.map-roster-faction.off,.map-roster-none.off{display:none}.map-roster-none{padding:4px}.map-roster-faction{flex:none;display:flex;align-items:center;gap:6px;min-width:0;margin-top:6px;padding:0 4px;font-size:11.5px;font-weight:600;color:var(--text-dim)}.map-roster-faction .pl-mark{font-size:15px}.map-roster-faction>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-roster-row{flex:none;min-height:36px;min-width:0;display:flex;align-items:center;gap:8px;padding:3px 8px 3px 4px;text-align:left;background:var(--tile);border-radius:var(--radius-xs);transition:background .1s,box-shadow .1s}.map-roster-row:hover{background:var(--tile-hover)}.map-roster-row img{flex:none;width:28px;height:28px;image-rendering:pixelated}.map-roster-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px}.map-roster-n{flex:none;font-size:12px;font-weight:600;color:var(--text-dim)}.map-roster-mark{flex:none;font-size:15px;color:var(--text-faint)}.map-roster-row.spotted{background:var(--tile-active);box-shadow:inset 0 0 0 1px var(--green-ink)}.map-roster-row.spotted .map-roster-mark{color:var(--green-ink)}html.touch-ui .map-roster-row{min-height:44px}@media(max-width:700px){.large-map-shell{flex-direction:column}.large-map-side{flex:0 0 52px}.large-map-col{flex:1;min-height:0}.large-map-frame{max-height:calc(92vh - 170px)}.map-roster-shell{flex-direction:row;align-items:center;gap:6px}.map-roster-search{flex:0 0 132px;min-height:44px;margin:0}.map-roster{flex:1;min-width:0;flex-direction:row;align-items:center;gap:6px;padding:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain}.map-roster-name,.map-roster-mark,.map-roster-faction>span{display:none}.map-roster-faction{margin:0 0 0 4px;padding:0}.map-roster-row{min-height:44px;padding:4px 8px 4px 6px;gap:5px}.map-roster-none{white-space:nowrap}html.touch-ui .map-roster-row{min-height:44px}}@media(max-height:640px){.dialog.map-dialog{height:100%;max-height:none}.map-dialog .dialog-title,.map-dialog:before,.map-dialog:after{display:none}.map-dialog .dialog-body{margin-top:12px}.map-legend{display:none}.large-map-frame{position:absolute;inset:0;margin:auto;max-height:100%}}.sel-panel{flex:0 0 auto;min-height:0;padding:var(--card-pad);display:flex;flex-direction:column;gap:8px;overflow:hidden}.sel-panel.empty{display:none}.sel-info{min-width:0;font-size:12.5px;display:flex;flex-direction:column;gap:8px}.sel-name{font-size:17px;font-weight:600;line-height:1.2;display:flex;align-items:center;gap:8px;min-width:0}.sel-name>span:first-child{min-width:0}.rank-badge{flex:none;display:inline-flex;align-items:center;color:var(--yellow)}.rank-badge svg{display:block}.high-badge{flex:none;display:inline-flex;align-items:center;color:var(--blue)}.high-badge svg{display:block}.aggressive-badge{flex:none;display:inline-flex;align-items:center;color:var(--red)}.aggressive-badge .ico{font-size:14px;line-height:1}.sel-owner{display:flex;align-items:center;gap:6px;color:var(--text-dim);font-size:12px;min-width:0}.sel-owner>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hpbar .pb-fill{background:var(--green)}.sel-desc{color:var(--text-dim);line-height:1.4}.sel-stat-row{display:flex;gap:14px;row-gap:6px;flex-wrap:wrap}.sel-stat{display:inline-flex;align-items:center;gap:5px;color:var(--text);font-weight:600;font-size:13px}.sel-stat.sel-stat-hp{display:none}.sel-stat-row:not(:has(.sel-stat:not(.sel-stat-hp))){display:none}.sel-stat .ico{font-size:18px}.sel-multi{display:flex;flex-wrap:wrap;gap:5px;align-content:flex-start;max-height:148px;overflow-y:auto}.sel-chip{position:relative;width:44px;height:44px;background:var(--tile);border-radius:var(--radius-xs);display:flex;align-items:center;justify-content:center;cursor:var(--cursor-interact, pointer);transition:background .1s}.sel-chip:hover{background:var(--tile-hover)}.sel-chip canvas,.sel-chip img{width:34px;height:34px;image-rendering:pixelated}.sel-chip .chip-hp,.hold-chip .chip-hp{position:absolute;bottom:3px;left:4px;right:4px;height:3px;background:var(--tile-flip);border-radius:2px;overflow:hidden}.sel-chip .chip-hp i,.hold-chip .chip-hp i{display:block;height:100%;background:var(--green)}.sel-chip .chip-n{position:absolute;top:1px;right:3px;font-size:10px;font-weight:700;color:var(--text-dim);text-shadow:0 1px 2px #000}.queue-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.queue-chip{position:relative;width:100%;aspect-ratio:1;background:var(--tile);border-radius:var(--radius-xs);display:flex;align-items:center;justify-content:center;cursor:var(--cursor-interact, pointer);transition:background .1s}.queue-chip:hover{background:var(--tile-hover)}.queue-strip.readonly .queue-chip{cursor:inherit}.queue-strip.readonly .queue-chip:hover{background:var(--tile)}.queue-chip canvas,.queue-chip img{width:90%;height:90%;image-rendering:pixelated}.queue-chip .qp{position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--tile-flip)}.queue-chip .qp i{display:block;height:100%;background:var(--blue)}.production-queue,.hold-strip{display:flex;align-items:center;gap:6px;width:100%;height:68px;min-height:68px;padding:5px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;touch-action:pan-x;background:var(--tile-flip);border:1px solid transparent;border-radius:var(--radius-s)}.production-queue .queue-chip,.hold-strip .queue-chip{flex:0 0 52px;width:52px;height:52px;aspect-ratio:auto}.production-queue.queue-empty,.hold-strip.queue-empty{justify-content:center;border-style:dashed;border-color:#dce7f247;background:transparent}.queue-empty-label{color:var(--text-faint);font-size:12px}.queue-chip.reorderable{cursor:grab}.queue-chip.dragging{opacity:.55;cursor:grabbing}.queue-chip.drag-over{box-shadow:inset 3px 0 0 var(--blue-ink);background:var(--tile-hover)}.queue-grip{position:absolute;top:2px;left:2px;z-index:2;width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:var(--text-dim);background:#0a0f12b8;border-radius:4px;cursor:grab;touch-action:none}.queue-grip:hover,.queue-grip:focus-visible{color:var(--text);background:var(--tile-active)}.queue-grip:active{cursor:grabbing}.queue-grip .ico{font-size:14px}.nuke-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.nuke-slot{cursor:var(--cursor-select, default)}.nuke-slot.queued{cursor:var(--cursor-interact, pointer)}.nuke-slot img{width:84%;height:84%}.nuke-slot.empty img{opacity:.25;filter:grayscale(1)}.nuke-slot.queued img{opacity:.55;filter:grayscale(.6) brightness(.8)}.nuke-slot:hover:not(.queued){background:var(--tile)}.nuke-mark{font-size:24px;color:var(--text-dim)}.ammo-slots{grid-template-columns:repeat(8,minmax(0,1fr));gap:3px}.ammo-slot .nuke-mark{font-size:13px}.ammo-slot.ready .nuke-mark{color:var(--blue-ink)}.group-panel{width:100%;flex-shrink:0;padding:var(--card-pad);display:flex;flex-direction:column;gap:6px}.group-panel.hidden{display:none}.group-title{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.group-title .ico{font-size:15px;color:var(--blue-ink)}.group-hint{font-size:11.5px;line-height:1.35;color:var(--text-faint)}.group-list{display:flex;flex-direction:column;gap:5px}.group-line{display:flex;gap:5px;align-items:stretch}.group-row{flex:1;min-width:0;min-height:46px;display:flex;align-items:center;gap:8px;padding:5px 8px 5px 5px;background:var(--tile);border-radius:var(--radius-s);transition:background .1s}.group-row:hover,.group-x:hover,.group-slot:hover{background:var(--tile-hover)}.group-key{flex:0 0 auto;min-width:24px;height:24px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;background:var(--tile-flip);border-radius:6px;font-weight:700;font-size:13px;color:var(--blue-ink)}.group-chips{display:flex;align-items:center;gap:6px;flex:1;min-width:0;overflow:hidden}.group-chip{display:flex;align-items:center;gap:2px}.group-chip img{width:36px;height:36px;image-rendering:pixelated}.group-chip i{font-style:normal;font-size:11px;font-weight:600;color:var(--text-dim)}.group-more{font-size:11px;color:var(--text-faint)}.group-count{font-size:12px;font-weight:600;color:var(--text-dim)}.group-x{flex:0 0 30px;display:flex;align-items:center;justify-content:center;background:var(--tile);border-radius:var(--radius-s);color:var(--text-faint);transition:background .1s,color .1s}.group-x .ico{font-size:17px}.group-x:hover{color:var(--red-ink)}.group-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.group-slot{position:relative;display:flex;align-items:center;justify-content:center;padding:10px 0;background:var(--tile);border-radius:var(--radius-s);transition:background .1s}.group-slot.member{background:var(--blue)}.group-slot.member .group-key{color:#fff;background:#00000040}.group-slot .group-count{position:absolute;top:1px;right:4px;font-size:9px}.group-slot.member .group-count{color:#fff}.cmd-card{width:100%;flex-shrink:0;padding:var(--card-pad);display:grid;gap:8px}.cmd-card:empty{display:none}.build-wrap{flex:1 1 auto;min-height:96px;position:relative;display:flex;flex-direction:column;padding:0;overflow:hidden}.build-wrap.bare{display:none}.build-card{flex:1;min-height:0;padding:var(--card-pad);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:min-content;align-content:start;overflow-y:auto;overscroll-behavior:contain}.action-card{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:auto}.build-card,.action-card{--tile-gap: 8px;gap:0;padding:calc(var(--card-pad) - var(--tile-gap) / 2)}.cmd-btn{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;aspect-ratio:1;padding:7px 7px 6px;border:calc(var(--tile-gap, 0px) / 2) solid transparent;background:var(--tile);background-clip:padding-box;border-radius:calc(var(--radius-s) + var(--tile-gap, 0px) / 2);overflow:hidden;transition:background-color .1s}.build-card .cmd-btn{aspect-ratio:auto}.cmd-btn:hover:not(:disabled){background-color:var(--tile-hover)}.cmd-btn.active{background-color:var(--blue)}.cmd-btn:disabled{opacity:.35;cursor:var(--cursor-select, default)}.cmd-btn canvas,.cmd-btn img{flex:none;width:84%;height:auto;aspect-ratio:1;image-rendering:pixelated}.cmd-btn.unaffordable canvas,.cmd-btn.unaffordable img{filter:grayscale(.6) brightness(.75)}.cmd-btn .ck{position:absolute;top:3px;left:5px;font-size:9.5px;font-weight:700;color:var(--text-faint);text-transform:uppercase}.cmd-btn .cost{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:auto;font-size:12px;font-weight:600;color:var(--text-dim)}.cmd-btn .cost .ico{font-size:14px}.cmd-btn.unaffordable .cost{color:var(--red-ink)}.cmd-btn .glyph{font-size:28px;color:var(--text-dim)}.cmd-btn.action-btn:hover .glyph{color:var(--text)}.cmd-btn.action-btn.active .glyph{color:#fff}.cmd-btn.action-btn .ck,.build-card .cmd-btn .ck{color:var(--blue-ink)}.cmd-btn.action-btn.active .ck{color:#fff}.cmd-btn.action-btn.armed{background-color:var(--red)}.cmd-btn.action-btn.armed .glyph,.cmd-btn.action-btn.armed .ck{color:#fff}.tip{position:fixed;z-index:210;pointer-events:none;max-width:260px;padding:6px 10px;background:var(--surface);border-radius:var(--radius-xs);box-shadow:var(--shadow);color:var(--text);font-size:12px;line-height:1.4;white-space:pre-line;animation:tip-in .1s ease-out}@keyframes tip-in{0%{opacity:0;transform:translateY(2px)}}.tooltip{position:fixed;z-index:200;pointer-events:none;border-radius:var(--radius-s);box-shadow:var(--shadow);padding:10px 12px;max-width:270px;font-size:12px;line-height:1.5}.tooltip.tt-fixed{width:280px;max-width:none}.tooltip .tt-name{font-weight:700;font-size:13px;margin-bottom:2px}.tooltip .tt-key{display:inline-block;margin-left:8px;padding:0 6px;font-size:11px;font-weight:700;line-height:1.6;color:var(--blue-ink);background:var(--tile);border-radius:4px;vertical-align:1px}.tooltip .tt-cost{color:var(--metal);font-weight:600;margin-bottom:4px}.tooltip .tt-desc{color:var(--text-dim);margin-bottom:6px}.tooltip .tt-stats{display:grid;grid-template-columns:auto 1fr;gap:1px 10px;font-size:11.5px}.tooltip .tt-stats .k{color:var(--text-faint)}.tooltip .tt-vs{margin-top:5px;font-size:11px}.tooltip .tt-vs .strong{color:var(--green-ink)}.tooltip .tt-vs .weak{color:var(--red-ink)}.tooltip .tt-req{color:var(--yellow);font-size:11px;margin-top:4px}.tooltip .tt-sec{display:flex;align-items:center;gap:5px;margin:9px 0 4px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}.tooltip .tt-sec:first-of-type{margin-top:6px}.tooltip .tt-sec .ico{font-size:15px}.tooltip .tt-rule{height:1px;margin:5px 0;background:var(--line)}.tooltip .tt-tot{color:var(--text);font-weight:700}.tooltip .tt-stats .good{color:var(--green-ink)}.tooltip .tt-stats .bad{color:var(--red-ink)}.tooltip .tt-stats .good.tt-tot,.tooltip .tt-stats .bad.tt-tot{font-weight:700}.tooltip .tt-note{margin-top:4px;font-size:11px;color:var(--text-faint)}.tooltip .tt-stats>span:nth-child(2n){text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}.paused-tag{position:absolute;top:calc(14px + var(--sa-t));left:50%;transform:translate(-50%);z-index:30;font-size:13px;letter-spacing:.3em;font-weight:700;color:var(--yellow);background:var(--surface);padding:6px 16px 6px 20px;border-radius:20px}.spectate-tag{position:absolute;top:calc(52px + var(--sa-t));left:50%;transform:translate(-50%);z-index:30;font-size:12px;letter-spacing:.3em;font-weight:700;color:var(--blue-ink);background:var(--surface);padding:6px 16px 6px 20px;border-radius:20px;pointer-events:none}.spectate-board{position:absolute;top:calc(52px + var(--sa-t));left:50%;transform:translate(-50%);z-index:30;width:min(560px,calc(100vw - var(--side-w) - 32px));max-width:calc(100vw - 32px);background:#11191dd6;border-radius:var(--radius);box-shadow:var(--shadow);font-size:12px;font-variant-numeric:tabular-nums;overflow:hidden}.sb-head{display:flex;align-items:center;gap:10px;padding:6px 6px 6px 14px;cursor:grab;touch-action:none;user-select:none}.sb-head:active{cursor:grabbing}.sb-title{font-weight:700;color:var(--blue-ink)}.spectate-board.placed{transform:none}.sb-view{color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.sb-gap{flex:1}.sb-btn{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;padding:3px 8px;border-radius:var(--radius-xs);color:var(--text-dim);font-size:12px}.sb-btn:hover{background:var(--tile-hover);color:var(--text)}.sb-fold .ico{transition:transform .15s ease;transform:rotate(180deg)}.spectate-board.folded .sb-fold .ico{transform:none}.spectate-board.folded .sb-body{display:none}.sb-body{padding:0 6px 6px}.sb-row{display:grid;grid-template-columns:minmax(0,1fr) 56px 50px 70px 52px 34px 40px;align-items:center;gap:6px;width:100%;padding:4px 8px;border-radius:var(--radius-xs);text-align:left;color:var(--text)}.sb-list .sb-row:hover{background:var(--tile-hover)}.sb-list .sb-row.watched{background:var(--tile-active);box-shadow:inset 0 0 0 1px var(--plate-line)}.sb-list .sb-row.team-start{margin-top:5px}.sb-list .sb-row.out{opacity:.4}.sb-cols{color:var(--text-faint);font-size:11px;padding-top:0;padding-bottom:2px}.sb-name{display:flex;align-items:center;gap:7px;min-width:0;font-weight:600}.sb-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-flag{flex:none;font-size:15px}.sb-list .sb-row.blind{cursor:default}.sb-list .sb-row.blind:hover{background:none}.sb-c{position:relative;text-align:right;white-space:nowrap}.sb-v.lead{color:var(--yellow);font-weight:700}.sb-army .sb-v{position:relative}.sb-bar{position:absolute;right:0;bottom:-3px;height:2px;border-radius:1px;opacity:.85}.spectating-board .spectate-tag{display:none}.player-list{position:absolute;top:0;left:50%;transform:translate(-50%);z-index:40;width:min(460px,92vw);pointer-events:none}.player-list .card{box-shadow:var(--shadow);border-radius:0 0 var(--radius) var(--radius)}.pl-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:7px 2px;border-top:1px solid var(--line)}.pl-row:first-child{border-top:none}.pl-head{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint)}.pl-team{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);padding-top:9px}.pl-member{border-top:none;padding-top:3px;padding-left:10px}.pl-member+.pl-member{padding-top:5px}.pl-who{display:flex;align-items:center;gap:9px;min-width:0}.pl-who>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pl-mark{flex:none;font-size:18px}.pl-tag{font-size:11px;font-weight:700;padding:1px 8px;border-radius:10px;background:var(--tile)}.pl-tag.bad{background:var(--red);color:#fff}.pl-tag.warn{background:var(--yellow);color:#111}.pl-ping{font-size:13px;flex:none}.pl-ping.good,.pl-tag.good{color:var(--green-ink)}.pl-ping.warn{color:var(--yellow)}.pl-ping.bad{color:var(--red-ink)}.help-grid{display:grid;grid-template-columns:auto 1fr;font-size:13px}.help-cell{display:flex;align-items:center;min-height:32px;padding:5px 0;border-top:1px solid var(--line)}.help-cell:nth-child(-n+2){border-top:none}.help-cell:nth-child(odd){padding-right:20px}.help-grid .key{padding:2px 8px;border-radius:5px;background:var(--tile);color:var(--blue-ink);font-weight:700;white-space:nowrap}.end-banner{font-size:44px;font-weight:700;letter-spacing:.18em;margin-bottom:6px}.end-banner.win{color:var(--green-ink)}.end-banner.lose{color:var(--red-ink)}.end-stats{display:grid;grid-template-columns:auto auto;gap:6px 26px;margin:18px 0;font-size:14px}.end-stats .k{color:var(--text-dim)}.end-stats .v{text-align:right;font-weight:600}.end-sub{margin-bottom:14px;color:var(--text-dim);font-size:13px}.end-ranking{margin:4px 0 2px}.dialog.ranked{width:min(760px,94vw);max-width:760px}.rank-table{display:flex;flex-direction:column;gap:2px}.rank-row{display:grid;grid-template-columns:26px minmax(0,1fr) repeat(6,minmax(44px,62px));align-items:center;gap:0 4px;padding:7px 10px;border-radius:var(--radius-xs);font-size:13px;line-height:1.2}.rank-row.rank-head{padding-top:0;padding-bottom:5px;color:var(--text-faint);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.rank-row:not(.rank-head){background:var(--tile)}.rank-row.won:not(.rank-head){box-shadow:inset 2px 0 0 var(--green)}.rank-row.own:not(.rank-head){background:var(--surface);box-shadow:inset 0 0 0 1px var(--blue)}.rank-row.own.won:not(.rank-head){box-shadow:inset 0 0 0 1px var(--blue),inset 2px 0 0 var(--green)}.rank-pos{color:var(--text-faint);font-variant-numeric:tabular-nums;font-weight:700}.rank-who{display:flex;align-items:center;gap:6px;min-width:0}.rank-mark{flex:none;font-size:15px}.rank-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.rank-tag{flex:none;padding:1px 6px;border-radius:4px;background:var(--ground);color:var(--text-dim);font-size:10px;font-weight:700}.rank-tag.faint{color:var(--text-faint)}.rank-tag.bad{color:var(--red-ink)}.rank-n{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-dim)}.rank-n.strong{color:var(--text);font-weight:700}.rank-awards{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:6px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.rank-award{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:var(--radius-xs);background:var(--tile)}.rank-award.own{background:var(--surface);box-shadow:inset 0 0 0 1px var(--blue)}.rank-award-ico{flex:none;font-size:21px}.rank-award-body{display:flex;flex-direction:column;min-width:0}.rank-award-title{font-size:12.5px;font-weight:700}.rank-award-who{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-dim);font-size:11px}.ach-screen .setup-right{grid-template-rows:none;grid-auto-rows:min-content;align-content:start;overflow-y:auto}.ach-grid{--ach-gap: 10px;display:grid;gap:var(--ach-gap);grid-template-columns:repeat(auto-fill,minmax(min(100%,max(260px,(100% - var(--ach-gap)) / 2)),1fr))}.ach-card{display:flex;gap:12px;align-items:flex-start;min-width:0;padding:10px 12px;background:var(--tile);border-radius:var(--radius-s);opacity:.62;transition:opacity .12s,background .12s}.ach-card.earned{opacity:1;background:var(--tile-hover)}.ach-body{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.ach-head{display:flex;align-items:center;gap:8px;min-width:0}.ach-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-dim);font-size:13px;font-weight:700;line-height:1.2}.ach-card.earned .ach-name{color:#fff}.ach-tier{flex:none;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:1px 6px;border-radius:999px;background:#ffffff0f;color:var(--text-faint)}.ach-card.earned .ach-tier.t-bronze{color:#d9a066}.ach-card.earned .ach-tier.t-steel{color:#c8d2d8}.ach-card.earned .ach-tier.t-silver{color:#eef4f8}.ach-card.earned .ach-tier.t-gold{color:var(--yellow)}.ach-card.earned .ach-tier.t-black{color:var(--red-ink)}.ach-desc{color:var(--text-faint);font-size:11.5px;line-height:1.35}.ach-meta{color:var(--text-faint);font-size:11px;font-variant-numeric:tabular-nums}.ach-meta.good{color:var(--green-ink)}.ach-bar{height:4px;margin-top:3px;background:var(--tile-flip);border-radius:999px;overflow:hidden}.ach-bar>i{display:block;height:100%;background:var(--blue);border-radius:999px}.badge-medal{position:relative;flex:none}.badge-medal>canvas{display:block}.badge-medal .badge-glyph{position:absolute;left:0;right:0;top:63%;transform:translateY(-50%);text-align:center;color:#0000008c;pointer-events:none}.badge-art{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .18s ease-out;-webkit-user-drag:none;user-select:none}.badge-medal.has-art .badge-art{opacity:1}.badge-medal.has-art>canvas,.badge-medal.has-art .badge-glyph{visibility:hidden}.badge-medal.locked{filter:grayscale(.55) brightness(.82)}.stat-rows{display:grid;grid-template-columns:1fr auto;gap:5px 18px;font-size:12.5px}.stat-rows .k{color:var(--text-dim);min-width:0}.stat-rows .v{text-align:right;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}@media(min-width:1200px){.ach-screen .setup-right{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.ach-screen .setup-main{--setup-right-max: 100%}.corner-tags{position:absolute;right:calc(8px + var(--sa-r));bottom:calc(8px + var(--sa-b));z-index:25;display:flex;align-items:center;gap:12px;pointer-events:none}.corner-tag{font-size:12.5px;font-weight:600;letter-spacing:.02em;color:var(--text);text-shadow:0 1px 2px #000,0 0 6px rgba(0,0,0,.9),0 0 1px #000}.rec-tag{display:flex;align-items:center;gap:6px;color:var(--red-ink)}.rec-tag:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--red-ink);box-shadow:0 0 6px var(--red);animation:blink 1.6s ease-in-out infinite}html.touch-ui .corner-tags{bottom:3px;z-index:31}html.touch-ui .corner-tag{font-size:11.5px}.game-root .perf-readout{bottom:calc(32px + var(--sa-b))}.replay-root .perf-readout{top:calc(8px + var(--sa-t));bottom:auto}html.side-right .game-root .perf-readout{right:auto;left:calc(8px + var(--sa-l));text-align:left}.game-root.hud-off>:not(canvas,.quick-select-dial,.player-list,.console,.perf-readout){display:none!important}.shot-flash{position:fixed;inset:0;z-index:400;pointer-events:none;background:#fff;opacity:0;animation:shot-flash .35s ease-out}@keyframes shot-flash{0%{opacity:.45}to{opacity:0}}.place-hint{position:absolute;bottom:24px;left:50%;transform:translate(-50%);z-index:25;background:var(--surface);border-radius:20px;padding:8px 18px;font-size:13px;pointer-events:none}*{scrollbar-width:none}::-webkit-scrollbar{display:none;width:0;height:0}.scroll-thumb{position:absolute;left:0;top:0;z-index:999;border-radius:3px;background:#3a4c58;opacity:0;transition:opacity .18s ease;pointer-events:none;user-select:none;-webkit-user-select:none;touch-action:none}.scroll-thumb.v{width:6px}.scroll-thumb.h{height:6px}.scroll-thumb.shown{opacity:1;pointer-events:auto}.scroll-thumb.shown:hover,.scroll-thumb.drag{background:#55697a}html.touch-ui .scroll-thumb{display:none}.gallery{padding:20px;overflow:auto;height:100%;background:var(--ground)}.gallery h2{margin:18px 0 8px;font-size:14px;color:var(--text-dim)}.gallery-grid{display:flex;flex-wrap:wrap;gap:10px}.gallery-cell{background:var(--surface);border-radius:var(--radius-xs);padding:6px;text-align:center}.gallery-cell .lbl{font-size:10px;color:var(--text-faint);font-family:var(--mono);margin-top:4px}.gallery-cell canvas{image-rendering:pixelated}.touch-layer,html.touch-ui .spectating .touch-layer{display:none}html.touch-ui .touch-layer{position:absolute;right:0;bottom:0;z-index:30;display:flex;flex-direction:column;align-items:flex-end;gap:8px;padding:10px calc(10px + var(--sa-r)) calc(10px + var(--sa-b)) 10px;pointer-events:none}.touch-row{display:flex;gap:3px;padding:3px;pointer-events:auto;background:var(--plate);border-radius:12px}.touch-btn{position:relative;width:52px;height:52px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--text);border-radius:10px;transition:color .1s,background .1s}.touch-btn .ico{font-size:26px}.touch-btn:active{background:#ffffff1f}.touch-btn.active{color:#fff;background:var(--blue)}.touch-btn.drop{color:var(--text-dim)}.touch-btn.ok{color:#fff;background:var(--green)}.touch-btn.no{color:#fff;background:var(--red)}.touch-place.bare{display:none}.touch-actions{display:flex;gap:3px}.touch-actions:empty{display:none}.touch-actions .action-card{display:flex;gap:3px;padding:0;margin:0;background:none;border-radius:0;box-shadow:none}.touch-actions .action-card:empty{display:none}.touch-actions .cmd-btn{width:52px;height:52px;aspect-ratio:auto;flex:none;padding:0;border:0;color:var(--text);background:none;background-clip:border-box;border-radius:10px;box-shadow:none;overflow:visible;transition:color .1s,background-color .1s}.touch-actions .cmd-btn .glyph{font-size:26px;color:inherit}.touch-actions .cmd-btn:hover:not(:disabled):not(.active):not(.armed){background-color:transparent}.touch-actions .cmd-btn:active:not(:disabled){background-color:#ffffff1f}.touch-actions .cmd-btn.active{color:#fff;background-color:var(--blue)}.touch-actions .cmd-btn.armed{color:#fff;background-color:var(--red)}.touch-hint{position:static;transform:none;max-width:62vw;text-align:right;background:var(--plate);pointer-events:none}.rotate-hint{position:fixed;inset:0;z-index:90;display:none;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;text-align:center;background:var(--ground)}@media(orientation:portrait){html.touch-ui .rotate-hint{display:flex}}html.portrait-play .rotate-hint{display:none}.rotate-glyph{color:var(--blue-ink);animation:rotate-nudge 1.8s ease-in-out infinite}.rotate-glyph .ico{font-size:56px}.rotate-title{font-size:18px;font-weight:700;letter-spacing:.08em}.rotate-keep{margin-top:14px}@keyframes rotate-nudge{50%{transform:rotate(90deg)}}.toast{position:fixed;z-index:300;left:50%;transform:translate(-50%);bottom:calc(18px + var(--sa-b));display:flex;align-items:center;gap:12px;max-width:min(92vw,460px);padding:10px 10px 10px 16px;box-shadow:var(--shadow);font-size:13px;animation:toast-in .18s ease-out}@keyframes toast-in{0%{transform:translate(-50%,14px);opacity:0}}.toast .btn{min-height:34px;padding:0 14px;font-size:13px}.toast.bad{color:#fff;background:var(--red)}.toast.bad .hud-btn{color:#fff}html.touch-ui .hud-btn{min-width:40px;height:40px}html.touch-ui .side-toggle{width:30px;height:64px}html.touch-ui .btn{min-height:46px;padding:0 24px}html.touch-ui .mp-input{min-height:48px;padding:13px 14px}html.touch-ui .dd{min-height:48px}html.touch-ui .dd-item{min-height:44px}html.touch-ui .seg button{padding:10px 16px;font-size:14px}html.touch-ui .sel-chip{width:48px;height:48px}html.touch-ui .group-slot{padding:12px 0}html.touch-ui .group-row,html.touch-ui .group-x{min-height:50px}html.touch-ui .about{font-size:13px}html.touch-ui .list-item{padding:16px}html.touch-ui .map-grid{--map-gap: 12px}html.touch-ui .setup-seat{min-height:52px}html.touch-ui .map-option-body{padding:11px 12px}html.touch-ui .map-option-label{font-size:13px}html.touch-ui .campaign-grid{--campaign-gap: 12px}html.touch-ui .campaign-card-body{padding:11px 12px}html.touch-ui .campaign-card-name{font-size:13px}html.touch-ui .menu-root{--menu-row: 46px}html.touch-ui .menu-corner{font-size:12.5px}html.touch-ui .menu-corner-right .btn{width:44px;height:44px}html.touch-ui .about-site{width:44px;height:44px;min-height:44px;padding:0}html.touch-ui .menu-corner .menu-version{font-size:13px;padding:12px 12px 6px;margin:-12px -12px -6px;user-select:none;-webkit-user-select:none}html.touch-ui .toggle{width:54px;height:30px;border-radius:15px}html.touch-ui .toggle:after{width:24px;height:24px}html.touch-ui .toggle.on:after{left:27px}html.touch-ui .check input{width:22px;height:22px}html.touch-ui .slider input[type=range]{height:6px}html.touch-ui .slider{--thumb: 22px}html.touch-ui .chat-input,html.touch-ui .chat-send{height:40px}html.touch-ui .minimap-frame{width:min(100%,calc(40vh * var(--mm-ratio, 1)))}html.touch-ui .hud-side{overflow-y:auto;overscroll-behavior:contain}html.touch-ui .build-wrap{flex:0 0 auto;overflow:visible}html.touch-ui .build-card{flex:none;overflow:visible}.touch-row>:where(.touch-btn:not(.hidden)~.touch-btn:not(.hidden)):before,.touch-place.orders>:where(.touch-btn:not(.hidden)):before,.touch-actions :where(.cmd-btn+.cmd-btn):before,.hud-corner>:where(.hud-btn:not(.hidden)~.hud-btn:not(.hidden)):before{content:"";position:absolute;left:-2px;top:22%;bottom:22%;width:1px;background:var(--plate-line);pointer-events:none}.touch-btn.active:before,.touch-btn.ok:before,.touch-btn.no:before,.touch-btn.active+.touch-btn:before,.touch-actions .cmd-btn.active:before,.touch-actions .cmd-btn.armed:before,.touch-actions .cmd-btn.active+.cmd-btn:before,.touch-actions .cmd-btn.armed+.cmd-btn:before{display:none}.hud-corner,.hud-eco{display:none}.hud-corner{position:absolute;z-index:26;top:calc(6px + var(--sa-t));right:calc(6px + var(--sa-r));gap:3px;padding:3px;background:var(--plate);border-radius:12px}.hud-corner:empty{display:none}.hud-corner>.hud-btn,html.touch-ui .hud-corner>.hud-btn{position:relative;width:40px;height:40px;min-width:0;padding:0;background:none}.hud-corner>.hud-btn:hover{background:#ffffff14}html.touch-ui .hud-corner>.hud-btn:hover{background:none}.hud-corner>.hud-btn:active{background:#ffffff1f}.hud-corner .hud-speed{font-size:14px;font-weight:600}html.side-right .hud-corner{right:auto;left:calc(6px + var(--sa-l))}.hud-eco{position:absolute;z-index:26;top:calc(8px + var(--sa-t));left:calc(var(--side-w) + var(--side-lead) + 12px);right:calc(var(--corner-w) + 18px + var(--sa-r));justify-content:center;pointer-events:none}.hud-eco:empty{display:none}.spectating .hud-eco{display:none}html.side-right .hud-eco{left:calc(var(--corner-w) + 18px + var(--sa-l));right:calc(var(--side-w) + var(--side-lead) + 12px)}.hud-eco .side-res{pointer-events:auto;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;gap:2px 14px;max-width:100%;padding:2px 8px;background:none;border-radius:0;box-shadow:none;text-shadow:0 1px 2px #000,0 0 6px rgba(0,0,0,.9),0 0 1px #000}.hud-eco .side-res-lines,.hud-eco .side-res-row{display:contents}.hud-eco .hud-time,.hud-eco .pb-track{display:none}.hud-eco .res{font-size:14px}.hud-eco .res .inc{min-width:0;font-size:13px;font-weight:600;color:var(--text-dim)}.hud-eco .resbar{width:auto;gap:5px}.hud-eco .resbar .pb-label{min-width:0;text-align:left;font-size:14px;color:var(--text)}.hud-eco .powerbar{order:1}.hud-eco .popbar{order:2}.hud-eco .powerbar.low .pb-label,.hud-eco .popbar.full .pb-label{color:var(--red-ink)}.hud-eco .powerbar.low .ico{animation:blink .8s infinite}.hud-eco .res-owner,.hud-eco .res-hint{flex-basis:100%;justify-content:center;text-align:center}@media(max-height:840px){.hud-side{overflow-y:auto;overscroll-behavior:contain}.build-wrap{flex:0 0 auto;overflow:visible}.build-card{flex:none;overflow:visible}.minimap-frame{width:calc(36vh * var(--mm-ratio, 1))}}@media(max-height:640px){:root{--side-w: 268px}.hud-side{--card-pad: 6px}.hud-side{gap:6px;padding:6px 6px calc(6px + var(--sa-b)) calc(6px + var(--side-lead));font-size:12px}html.side-right .hud-side{padding:6px calc(6px + var(--side-lead)) calc(6px + var(--sa-b)) 6px}.hud-side{background:transparent;bottom:auto;max-height:100%}.side-toggle{display:none}.hud-side.collapsed,html.side-right .hud-side.collapsed{transform:none}.hud-side .minimap-wrap,.hud-side .bt-strip,.hud-side .sel-panel,.hud-side .group-panel,.hud-side .cmd-card,.hud-side .chat-panel,.hud-side .objectives{background:var(--plate);box-shadow:none}.hud-side .scroll-fade:before,.hud-side .scroll-fade:after{display:none}.hud-side .group-panel.nudge{display:none}html.side-right .activity-feed{left:calc(6px + var(--sa-l))}.side-res{gap:5px}.hud-side .chat-panel{display:none}.activity-feed{max-width:40vw}.feed-line{font-size:12px}.objectives{max-height:20vh;overflow-y:auto}.sel-panel{gap:6px}.group-panel{gap:4px}.group-list{max-height:22vh;overflow-y:auto}.build-card,.action-card{--tile-gap: 6px}.build-card{grid-template-columns:repeat(3,minmax(0,1fr))}.build-card .cmd-btn{padding:2px 2px 3px;gap:1px}.build-card .cmd-btn canvas,.build-card .cmd-btn img{width:100%}.build-card .cmd-btn .cost{padding:0 2px;font-size:11px}.build-card .cmd-btn .cost .ico{font-size:12px}.action-card{margin-top:0}.sel-info .hpbar{display:none}.sel-stat.sel-stat-hp{display:inline-flex}.sel-stat-row:not(:has(.sel-stat:not(.sel-stat-hp))){display:flex}.production-queue,.hold-strip{touch-action:pan-x pan-y}html.touch-ui .hud-side.holding .side-top,.side-controls{display:none}.hud-corner{display:flex}.activity-feed{top:calc(58px + var(--sa-t))}.hud-eco{display:flex}.paused-tag{top:calc(40px + var(--sa-t))}.spectate-tag,.spectate-board{top:calc(78px + var(--sa-t))}.console-out{max-height:30vh}.screen-content{padding:16px 16px calc(16px + var(--sa-b))}.menu-root,html.touch-ui .menu-root{--menu-row: 42px;--menu-gap: 8px;--menu-logo-gap: 14px;padding-top:32px;overflow:hidden}.menu-logo{width:min(var(--menu-width),calc(20vh / .6))}.menu-stage{padding-bottom:20px}.menu-buttons .btn{font-size:14px}.dialog{max-height:88vh;max-width:min(560px,92vw)}.dialog.settings,.dialog.community-dialog,.dialog.mp-connect-dialog,.dialog.mp-server-dialog,.dialog.pause{height:100%;max-height:none}.pause-shell>.stack{gap:8px}.dialog-title{padding:12px 34px 8px;font-size:17px}.dialog-body{padding:6px 14px 14px;margin:0 12px 12px}.dialog-body:has(+.dialog-actions){margin-bottom:8px}.dialog-actions{padding:0 12px 10px;gap:8px}.dialog-actions .btn,html.touch-ui .dialog-actions .btn{min-height:40px;padding:0 18px}.dialog-actions .btn.icon-only,html.touch-ui .dialog-actions .btn.icon-only{width:40px;padding:0}.touch-btn{width:46px;height:46px}.touch-btn .ico{font-size:24px}.touch-actions .cmd-btn{width:46px;height:46px}.touch-actions .cmd-btn .glyph{font-size:24px}.setup-head{padding-top:calc(6px + var(--sa-t));padding-bottom:6px}.setup-name{font-size:15px}.setup-main{gap:6px;padding:0 calc(6px + var(--sa-r)) calc(6px + var(--sa-b)) calc(6px + var(--sa-l))}.setup-col,.setup-right{gap:6px}.pane-head{padding:8px 12px 3px}.pane-body{padding:6px 12px 12px}.setup-foot{gap:7px;padding:9px 12px}.pane-players{min-height:120px}.pane-chat{min-height:140px}}@media(max-height:460px){:root{--side-w: 248px}.minimap-frame{width:calc(32vh * var(--mm-ratio, 1))}.menu-root{--menu-row: 38px;--menu-gap: 6px;--menu-logo-gap: 10px}html.touch-ui .menu-root{--menu-row: 42px;--menu-gap: 6px;--menu-logo-gap: 10px}html.touch-ui .menu-buttons .btn{min-height:var(--menu-row)}.menu-stage{padding-bottom:12px}}@media(max-width:560px){.end-banner{font-size:30px}.rank-row{grid-template-columns:20px minmax(0,1fr) repeat(3,minmax(40px,54px));padding:6px 8px;font-size:12px}.rank-row>:nth-child(5),.rank-row>:nth-child(6),.rank-row>:nth-child(8){display:none}.rank-awards{grid-template-columns:1fr}.setup-head{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.setup-name{grid-column:1 / -1;grid-row:1}.setup-lead,.setup-tail{grid-row:2}.setup-back{min-width:0;max-width:100%}.setup-screen .setup-head .editor-file{width:40px;padding:0}.editor-file>span{display:none}.tabs.setup-tabs>.hud-btn{padding:0 4px;font-size:12px;line-height:1.15}}html.upright .hud-side,html.upright.side-right .hud-side{inset:auto auto 0 0;width:fit-content;max-width:100%;max-height:45vh;display:flex;flex-direction:row;flex-wrap:wrap;align-items:stretch;align-content:flex-start;gap:6px;padding:6px calc(6px + var(--sa-r)) calc(6px + var(--sa-b)) calc(6px + var(--sa-l));--card-pad: 6px;font-size:12px;background:transparent;overflow-y:auto;overscroll-behavior:contain}html.upright .hud-side.holding{width:100%}html.upright .hud-side.collapsed,html.upright.side-right .hud-side.collapsed{transform:none}html.upright .side-toggle{display:none}html.upright .hud-side .minimap-wrap,html.upright .hud-side .bt-strip,html.upright .hud-side .sel-panel,html.upright .hud-side .group-panel,html.upright .hud-side .cmd-card,html.upright .hud-side .chat-panel,html.upright .hud-side .objectives{background:var(--plate);box-shadow:none}html.upright .hud-side .scroll-fade:before,html.upright .hud-side .scroll-fade:after{display:none}html.upright .hud-side .group-panel.nudge,html.upright .side-controls{display:none}html.upright .side-top{order:0;flex:none;align-self:flex-start}html.upright .minimap-frame{width:min(42vw,calc(17vh * var(--mm-ratio, 1)))}html.upright .hud-side.holding .side-top{display:none}html.upright .sel-panel{order:1;flex:0 0 100%}html.upright .build-wrap,html.upright .action-card{order:2;flex:0 0 100%}html.upright .build-card{grid-template-columns:repeat(4,minmax(0,1fr))}html.upright .build-card,html.upright .action-card{--tile-gap: 6px}html.upright .bt-strip,html.upright .objectives,html.upright .group-panel{order:3;flex:1 1 45%;min-width:45%}html.upright .hud-side.holding .bt-strip,html.upright .hud-side.holding .objectives,html.upright .hud-side.holding .group-panel{flex-basis:100%}html.upright .hud-side .chat-panel{display:none}html.upright .objectives{max-height:20vh;overflow-y:auto}html.upright .group-list{max-height:22vh;overflow-y:auto}html.upright .production-queue,html.upright .hold-strip{touch-action:pan-x pan-y}html.upright .hud-corner{display:flex}html.upright .hud-eco,html.upright.side-right .hud-eco{display:flex;left:calc(12px + var(--sa-l));right:calc(var(--corner-w) + 18px + var(--sa-r))}html.upright.side-right .hud-eco{left:calc(var(--corner-w) + 18px + var(--sa-l));right:calc(12px + var(--sa-r))}html.upright .hud-eco .side-res{gap:2px 9px;padding:2px 4px}html.upright .hud-eco .res,html.upright .hud-eco .resbar .pb-label{font-size:13px}html.upright .hud-eco .res .inc{font-size:12px}html.upright .activity-feed{top:calc(58px + var(--sa-t));max-width:56vw}html.upright .paused-tag{top:calc(40px + var(--sa-t))}html.upright .spectate-tag,html.upright .spectate-board{top:calc(78px + var(--sa-t))}html.upright .corner-tags,html.upright.side-right .corner-tags{right:auto;bottom:auto;left:calc(8px + var(--sa-l));top:calc(58px + var(--sa-t));z-index:25}html.upright.side-right .corner-tags{left:auto;right:calc(8px + var(--sa-r))}html.upright .console-out{max-height:30vh}html.upright .touch-layer,html.upright.side-right .touch-layer{left:0;right:0;bottom:var(--side-h, 0px);flex-direction:row;flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:6px;padding:6px calc(6px + var(--sa-r)) 6px calc(6px + var(--sa-l))}html.upright .touch-hint,html.upright.side-right .touch-hint{flex:none;max-width:100%;text-align:right}html.upright .settings-form .dd{width:auto;max-width:60%}html.upright .dialog.pause.split .dialog-body,html.upright .pause-shell{display:block}html.upright .pause-shell>*{overflow:visible}html.upright .pause-info{margin-top:14px;padding:14px 0 0;border-left:none;border-top:1px solid var(--line)}@media(max-width:900px),(max-height:640px),(pointer:coarse){.setup-foot{display:none}.setup-right.setup-right-tabbed{display:flex;flex-direction:column}.setup-tabbed{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.tabs.setup-tabs{flex:none;display:flex}.setup-tabbed>.pane{border-radius:0 0 var(--radius) var(--radius);box-shadow:none}.setup-tabbed>.pane[data-active=false]{display:none}.setup-tabbed .pane-head:before,.setup-tabbed .pane-name{display:none}.setup-tabbed .pane-head:not(:has(.pane-tag)){display:none}.setup-tabbed .pane-tag{margin-left:0}.setup-three .setup-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.setup-three .setup-left{display:none}.setup-three .mp-mode-card{min-height:40px}.setup-screen .setup-head{gap:8px;padding-top:calc(6px + var(--sa-t));padding-bottom:6px}.setup-screen .setup-lead,.setup-screen .setup-tail,.setup-screen .setup-meta{gap:6px}.setup-screen .setup-meta:not(:has(.btn)){display:none}.setup-screen .pane-body .map-grid{--map-gap: 8px;grid-template-columns:repeat(2,minmax(0,1fr))}.setup-screen .map-grid .map-option-body{flex-direction:column;align-items:stretch;gap:3px;padding:6px 8px}.setup-screen :is(.pane-chat,.pane-players){min-height:112px}.setup-screen :is(.pane-chat,.pane-players) .pane-head{padding:6px 8px 2px}.setup-screen :is(.pane-chat,.pane-players) .pane-body{padding:4px 8px 6px}.setup-screen .mp-chat-list{gap:2px;font-size:12px}.setup-screen .mp-chat-form{gap:6px;margin-top:4px}.setup-screen .mp-chat-form .mp-input{min-height:36px;padding:8px 10px;font-size:12px}.setup-screen .mp-chat-form .btn{min-height:36px;padding:0 10px;font-size:12px}.setup-screen .mp-member{min-height:28px;padding:3px 0;font-size:12px}.setup-screen .mp-roster-btn{min-width:26px;height:26px}}@media(max-width:900px),(max-height:640px),(pointer:coarse){.editor-screen .setup-main>.setup-left{display:flex}}@media(max-width:900px),(max-height:640px){.editor-screen.setup-three .setup-main{grid-template-columns:minmax(0,1fr) minmax(var(--editor-side-min),min(var(--editor-side) - 6px,var(--editor-side-max)))}.editor-screen .setup-main>.setup-left{display:none}.editor-screen .setup-meta{display:flex}.setup-screen .setup-head .editor-file:not(.primary){width:40px;padding:0}.editor-file:not(.primary)>span{display:none}}@media(max-width:560px){.editor-screen .setup-main{display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain}.editor-screen .setup-main>.setup-col,.editor-screen .setup-right{display:contents}.editor-screen .pane{flex:none}.editor-screen .pane-body{overflow:visible}.editor-screen .editor-map{order:-1}.editor-screen .editor-map{height:clamp(220px,60vh,640px)}.editor-screen .editor-map .pane-body{overflow:hidden}}@media(max-width:900px){.ach-screen .setup-main{display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain}.ach-screen .setup-col,.ach-screen .setup-right{display:contents}.ach-screen .pane{flex:none}.ach-screen .pane-body,.ach-screen .setup-right{overflow:visible}}@media(min-width:2400px){:root{--side-w: 400px}.hud-side{font-size:14.5px;gap:10px}.side-controls{width:44px}.side-controls>.hud-btn{width:44px;height:44px}.build-card{grid-template-columns:repeat(4,minmax(0,1fr))}.cmd-btn .cost{font-size:13px}.chat-panel{flex-basis:240px}.feed-line{font-size:15px}}.glyph-pad{display:inline-block;height:1.45em;width:auto;vertical-align:-.38em;flex-shrink:0}.glyph-pad .glyph-fill{fill:#ffffff1a;stroke:currentColor;stroke-width:1.5}.glyph-pad .glyph-nub{fill:#ffffff47;stroke:none}.glyph-pad .glyph-dim{opacity:.55}.glyph-pad text{fill:currentColor;font-family:var(--font)}.help-glyphs{display:inline-flex;align-items:center;gap:4px}.help-glyphs .glyph-pad{height:1.6em}.help-section{margin-top:10px;padding-top:8px;font-weight:700;color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.pause-speed{margin:2px 0 6px}.pad-reticle{position:absolute;left:0;top:0;z-index:25;width:48px;height:48px;margin:-24px 0 0 -24px;display:none;pointer-events:none;color:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.85))}html.pad-ui .pad-reticle.show{display:block}.pad-reticle svg{display:block;width:100%;height:100%}.pad-reticle .ret-ring{fill:none;stroke:currentColor;stroke-width:1.6}.pad-reticle .ret-ticks{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.pad-reticle .ret-dot{fill:currentColor}.pad-reticle[data-shape=interact]{color:var(--blue-ink)}.pad-reticle[data-shape=move]{color:var(--green-ink)}.pad-reticle[data-shape=target]{color:var(--red-ink)}.pad-reticle[data-shape=place] .ret-ring{display:none}.pad-reticle.boxing .ret-ring{stroke-dasharray:4 3}.pad-hints{position:fixed;left:50%;bottom:calc(10px + var(--sa-b));transform:translate(-50%);z-index:150;display:none;align-items:center;gap:18px;padding:6px 14px;border-radius:var(--radius-xs);background:#11191deb;box-shadow:var(--shadow);color:var(--text-dim);font:600 12px var(--font);letter-spacing:.04em;white-space:nowrap;pointer-events:none}html.pad-ui .pad-hints.show{display:flex}.pad-hint{display:inline-flex;align-items:center;gap:6px}.pad-hint .glyph-pad{height:1.75em;color:var(--text)}html.pad-ui,html.pad-ui *{cursor:none!important}html.pad-ui .cursor-layer,html.touch-ui.pad-ui .touch-layer{display:none}html.pad-ui :focus{outline:2px solid var(--blue-ink);outline-offset:2px}html.pad-ui .hud-btn:focus,html.pad-ui .seg button:focus{outline-offset:-2px}html.pad-ui .cmd-btn:focus{outline-offset:calc(-2px - var(--tile-gap, 0px) / 2)}html.pad-ui .sel-chip:focus,html.pad-ui .queue-chip:focus,html.pad-ui .group-row:focus{outline-offset:0}.radial-menu{position:fixed;z-index:60;width:340px;height:340px;transform:translate(-50%,-50%) scale(.94);opacity:0;visibility:hidden;pointer-events:none;filter:drop-shadow(0 10px 18px rgba(0,0,0,.55));transition:opacity 70ms ease,transform 70ms ease,visibility 0s linear 70ms}.radial-menu.open{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1);transition-delay:0s}.radial-menu svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.radial-slice path{fill:#11191df0}.radial-slice.active path{fill:var(--blue)}.radial-slice.disabled path{fill:#11191db8}.radial-items{position:absolute;inset:0}.radial-item{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:3px;width:66px;text-align:center;color:var(--text-dim);font:600 10px var(--font);line-height:1.15}.radial-item img{width:32px;height:32px;image-rendering:pixelated}.radial-item .radial-ico{font-size:26px}.radial-item.active{color:#fff}.radial-item.disabled{opacity:.4}.radial-item.faint img,.radial-item.faint .radial-ico{opacity:.55}.radial-more{font-size:22px;font-weight:700;line-height:32px}.radial-hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:108px;display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}.radial-name{font:700 12px var(--font);color:var(--text);line-height:1.15}.radial-sub{display:inline-flex;align-items:center;gap:3px;font:600 12px var(--mono);color:var(--metal)}.radial-sub .ico{font-size:13px}.radial-hint{font:600 9.5px var(--font);color:var(--text-faint);line-height:1.25}.radial-req{font:600 9.5px var(--font);color:var(--yellow);line-height:1.2}.radial-page{font:600 9px var(--mono);color:var(--text-faint)}.briefing-plate{position:fixed;inset:0;z-index:120;background:#000;color:#fff;display:flex;flex-direction:column;padding:calc(28px + var(--sa-t)) calc(32px + var(--sa-r)) calc(24px + var(--sa-b)) calc(32px + var(--sa-l));animation:briefing-in .35s ease-out;font-family:var(--font)}.briefing-plate.closing{pointer-events:none;animation:briefing-out .25s ease-in forwards}@keyframes briefing-in{0%{opacity:0}}@keyframes briefing-out{to{opacity:0}}.briefing-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;width:min(720px,100%);margin:0 auto;display:flex;flex-direction:column;gap:18px}.briefing-date{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:#ffffffb8}.briefing-name{font-size:26px;font-weight:700;letter-spacing:.02em;margin-top:-6px}.briefing-card p,.briefing-orders p{margin:0;font-size:16px;line-height:1.7;color:#fff;transition:opacity .45s ease,transform .45s ease}.briefing-card{display:flex;flex-direction:column;gap:14px}.briefing-card p.pending,.briefing-orders.pending{opacity:0;transform:translateY(6px)}.briefing-orders{border-top:1px solid rgba(255,255,255,.28);padding-top:18px;margin-top:4px;display:flex;flex-direction:column;gap:10px;transition:opacity .45s ease,transform .45s ease}.briefing-label{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:#ffffffb8}.briefing-begin{align-self:flex-end;margin-top:16px}@media(max-width:560px){.briefing-plate{padding-left:calc(18px + var(--sa-l));padding-right:calc(18px + var(--sa-r))}.briefing-name{font-size:21px}.briefing-card p,.briefing-orders p{font-size:15px}}@media(prefers-reduced-motion:reduce){.briefing-plate,.briefing-plate.closing{animation:none}}.mission-date{margin-top:12px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim)}.mission-name{margin-top:4px}.mission-label{margin-top:12px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);font-weight:700}.mission-brief p{margin:0 0 8px}.mission-brief p:last-child{margin-bottom:0}
