:root{--bw-charcoal: #242722;--bw-parchment: #ded0ac;--bw-oxide: #a44e37;--bw-forest: #4d6049;--bw-brass: #a98955;--ui-bg: #0f1e1c;--ui-panel: #112824ed;--ui-panel-strong: rgba(20, 37, 33, .97);--ui-panel-solid: #17342d;--ui-surface: #1d3d33;--ui-surface-hover: #2f5446;--ui-surface-active: #315344;--ui-border: #5d7a6c;--ui-border-soft: rgba(100, 126, 112, .3);--ui-text: #e8eee5;--ui-text-muted: #aec3b5;--ui-value: #f0e6c7;--ui-ink: #132b25;--ui-accent: #e8cf87;--ui-accent-hover: #f2dda3;--ui-danger: #ee816c;--ui-danger-soft: rgba(238, 129, 108, .12);--ui-alert: #ff5b45;--ui-warning: #e8b85a;--ui-success: #8fd17a;--ui-healthy: #a5d49d;--ui-disabled-opacity: .45;--google-button-bg: #131314;--google-button-border: #8e918f;--google-button-text: #e3e3e3;--google-button-hover: #242426;--discord-blurple: #5865f2;--discord-blurple-hover: #4752c4;--res-provisions: #e3b341;--res-timber: #b7834f;--res-ore: #c4ccd1;--res-renown: #efd37a;--achievement-bronze: #e0aa70;--achievement-silver: #d3d9d5;--achievement-gold: #ecd49a;--achievement-glint: #fff7df;--hud-wood: #3a2c22;--hud-wood-deep: #211912;--hud-wood-raised: #4e3a2e;--hud-wood-light: #6e5342;--hud-wood-edge: #9a7a55;--hud-parchment: #eadbb0;--hud-parchment-light: #f4ead0;--hud-parchment-shade: #d8c597;--hud-parchment-edge: #a88f60;--hud-iron: #a9b1ad;--hud-iron-light: #d3d9d5;--hud-iron-dark: #56615e;--hud-iron-deep: #262c2a;--hud-brass: #d4b06a;--hud-brass-light: #ecd49a;--hud-brass-dark: #9c7c43;--hud-ink: #2b2118;--hud-ink-muted: #5c4a37;--hud-ink-accent: #7a5520;--hud-ink-success: #3b6e2f;--hud-ink-healthy: #4f8a3f;--hud-ink-warning: #86570f;--hud-ink-danger: #a3321f;--hud-text: #efe5cc;--hud-text-muted: #c9b793;--hud-value: #f8eed3;--hud-seal-info: #3d7480;--hud-seal-success: #4f7443;--hud-seal-warning: #b07a26;--hud-seal-alert: #a3261e;--hud-seal-error: #a44e37;--hud-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='256' height='96'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.006 0.32' numOctaves='3' seed='11' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.07 0 0 0 0 0.04 0 0 0 0 0.02 1.7 0 0 0 -0.72'/%3E%3C/filter%3E%3Crect width='256' height='96' filter='url(%23g)'/%3E%3C/svg%3E");--hud-fibers: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='320'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='2' seed='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.42 0 0 0 0 0.31 0 0 0 0 0.15 0 0 0 0.55 -0.2'/%3E%3C/filter%3E%3Cfilter id='m'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.018' numOctaves='2' seed='8' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.55 0 0 0 0 0.4 0 0 0 0 0.18 0 0 0 0.5 -0.22'/%3E%3C/filter%3E%3Crect width='320' height='320' filter='url(%23m)'/%3E%3Crect width='320' height='320' filter='url(%23f)'/%3E%3C/svg%3E");--hud-timber: var(--hud-grain) 0 0 / 256px 96px, linear-gradient(180deg, rgb(236 212 154 / 7%), transparent 30%, rgb(0 0 0 / 18%)), var(--hud-wood);--hud-parchment-surface: var(--hud-fibers) 0 0 / 320px 320px, radial-gradient(120% 140% at 50% 45%, transparent 58%, rgb(120 86 40 / 26%)), var(--hud-parchment);--hud-iron-surface: linear-gradient(180deg, rgb(211 217 213 / 10%), transparent 40%, rgb(0 0 0 / 30%)), var(--hud-iron-deep);--site-bg: #0b1916;--site-bg-raised: #10231f;--site-line: rgb(212 176 106 / 30%);--site-line-strong: rgb(212 176 106 / 62%);--site-shade: rgb(11 25 22 / 92%);--site-header-h: 76px;--site-gutter: clamp(16px, 6vw, 104px);--fx-flame: #e0692f;--fx-flame-core: #f3c14a;--player-0: #4ea4e8;--player-1: #f0943c;--font-display: Georgia, "Times New Roman", serif;--font-ui: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: ui-monospace, monospace;--text-2xs: 10px;--text-xs: 11px;--text-sm: 12px;--text-md: 13px;--text-lg: 14px;--text-xl: 16px;--text-title: 30px;--text-title-sm: 26px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--radius-sm: 3px;--radius: 4px;--radius-lg: 6px;--ease-ui: .14s ease-out;--shadow-card: 0 25px 80px #06171499;font-family:var(--font-ui);color:var(--ui-text);background:var(--ui-bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:var(--ui-disabled-opacity)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}small{font-size:var(--text-xs);color:var(--ui-text-muted)}h1,h2,h3,p{margin-top:0}.eyebrow,.panel-label{font-size:var(--text-2xs);letter-spacing:.2em;font-weight:800;color:#b8d6c1}.brand-symbol{display:inline-grid;place-items:center;width:40px;height:40px}.brand-symbol svg{width:100%;height:100%}.menu-shell{min-height:calc(100vh - var(--view-as-space, 0px));position:relative;overflow:hidden;background:#0c201d;display:flex}.menu-content{position:relative;z-index:2;width:min(680px,calc(100vw - 48px));margin:65px 0 65px clamp(24px,8vw,150px)}.menu-card{background:var(--ui-panel);border:1px solid var(--ui-border);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:42px;border-radius:var(--radius-lg)}.menu-button-group{display:grid;gap:10px}.menu-note{margin:-4px 0 0}.primary-button,.secondary-button{min-height:48px;border-radius:3px;padding:12px 18px;font-weight:800;text-align:left;display:flex;justify-content:space-between;align-items:center;letter-spacing:.02em}.primary-button{background:var(--ui-accent);border:1px solid var(--ui-accent);color:var(--ui-ink)}.primary-button:hover:not(:disabled){background:var(--ui-accent-hover)}.primary-button:disabled{opacity:1;background:var(--ui-surface);border:1px dashed var(--ui-border);color:var(--ui-text-muted)}.secondary-button{background:var(--ui-surface);border:1px solid var(--ui-border);color:var(--ui-text)}.secondary-button:hover:not(:disabled){background:var(--ui-surface-hover)}.danger-button{min-height:44px;padding:8px 16px;font-size:var(--text-lg);background:transparent;border:1px solid var(--ui-danger);border-radius:3px;color:var(--ui-danger);font-weight:800;letter-spacing:.02em}.danger-button:hover:not(:disabled){background:var(--ui-danger-soft)}.back-button{display:flex;align-items:center;gap:8px;width:fit-content;min-height:38px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:3px;color:var(--ui-accent);padding:8px 16px 8px 12px;margin-bottom:26px;font-size:14px;font-weight:800;letter-spacing:.02em}.back-arrow{font-size:20px;line-height:1;margin-top:-2px}.back-button:hover{background:var(--ui-surface-hover);border-color:var(--ui-accent)}.menu-card :is(h1,h2){font-family:var(--font-display);font-size:45px;margin:12px 0 24px}.settings-card label{display:block;color:var(--ui-text);font-size:13px;font-weight:700}.menu-card select,.menu-card input:not([type=range]):not([type=checkbox]){display:block;width:100%;background:var(--ui-surface);color:var(--ui-text);border:1px solid var(--ui-border);border-radius:3px;margin:9px 0;padding:13px;min-height:46px}.menu-card label small{display:block;font-weight:400;line-height:1.45}.map-preview{display:flex;flex-direction:row-reverse;align-items:center;gap:12px;margin:0}.map-preview canvas{width:128px;height:128px;border:1px solid var(--ui-border);border-radius:4px;image-rendering:pixelated}.map-preview figcaption{display:flex;flex-direction:column;align-items:flex-end;max-width:130px;text-align:right;font-size:var(--text-sm)}.map-preview figcaption small{color:var(--ui-text-muted)}.map-preview-you{color:var(--player-0)}.button-row{display:flex;gap:10px;flex-wrap:wrap}.button-row>*{flex:1}.settings-card label{margin:25px 0}.settings-card label strong{float:right;color:var(--ui-accent)}.settings-card input[type=range]{display:block;width:100%;margin:13px 0;accent-color:var(--ui-accent)}.settings-card .checkbox-label{display:flex;align-items:center;gap:10px}.checkbox-label input{accent-color:var(--ui-accent)}.menu-card select:disabled{cursor:not-allowed;opacity:.75;border-style:dashed}.field-lock{display:flex;align-items:flex-start;gap:5px;color:var(--ui-text-muted);font-size:var(--text-xs);font-weight:400;line-height:1.35}.field-lock svg{flex:none;width:13px;height:13px;margin-top:1px;color:var(--ui-accent)}.team-select-locked{display:inline-flex;align-items:center;gap:4px}.team-select-locked svg{width:13px;height:13px;color:var(--ui-accent)}.menu-card input[aria-invalid=true]{border-color:var(--ui-danger)}.team-chip{--team-cloth: var(--ui-accent);--team-number: var(--ui-ink);display:inline-grid;flex:none;place-items:center;width:20px;height:20px;color:var(--team-cloth);vertical-align:middle}.team-chip>*{grid-area:1 / 1}.team-chip svg{width:100%;height:100%}.team-chip-number{margin-top:1px;color:var(--team-number);font-family:var(--font-ui);font-size:11px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1;letter-spacing:0}.color-picker{position:relative;display:inline-flex}.color-picker button{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent}.color-picker button:hover{background:var(--ui-surface-hover)}.color-picker button.active,.color-picker .color-picker-toggle{border-color:var(--ui-border)}.color-picker .color-picker-toggle[aria-expanded=true],.color-picker button.active{border-color:var(--ui-accent)}.color-picker .player-swatch{width:14px;height:14px;margin:0}.color-picker-palette{position:absolute;z-index:5;top:calc(100% + 4px);left:0;display:grid;grid-template-columns:repeat(4,26px);gap:2px;padding:4px;background:var(--ui-panel-solid);border:1px solid var(--ui-border);border-radius:var(--radius);box-shadow:0 8px 24px #06171499}.form-error{margin:var(--space-3) 0 0;padding:8px 10px;border-left:3px solid var(--ui-danger);background:var(--ui-danger-soft);color:var(--ui-danger);font-size:var(--text-sm);line-height:1.4}.game-shell{height:100dvh;min-height:540px;overflow:hidden;background:var(--ui-bg);position:relative}.world-viewport{position:absolute;top:54px;right:0;bottom:0;left:0;overflow:hidden;touch-action:none;cursor:crosshair}.world-viewport canvas{display:block}.selection-box{position:absolute;border:1px solid var(--ui-accent);background:#ead99f24;pointer-events:none;z-index:5}.touch-bar{position:fixed;right:calc(var(--touch-bar-right, 8px) + env(safe-area-inset-right,0px));bottom:calc(var(--touch-bar-bottom, 8px) + env(safe-area-inset-bottom,0px));z-index:14;display:flex;flex-direction:column;align-items:flex-end;gap:4px;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.touch-bar-groups,.touch-bar-row{display:flex;gap:4px}.touch-bar .touch-bar-button{width:46px;height:46px;padding:3px 2px;gap:2px}.touch-bar .touch-bar-button svg{width:22px;height:22px}.touch-bar-label{max-width:100%;overflow:hidden;font-size:var(--text-2xs);line-height:1;white-space:nowrap}.touch-bar .touch-bar-button.warn{border-color:var(--hud-brass);color:var(--hud-value)}.touch-bar .touch-bar-group{flex-direction:row;gap:4px;width:42px;height:30px;padding:0 4px}.touch-bar .touch-bar-group.empty{color:var(--hud-text-muted)}.touch-bar .touch-bar-groups-toggle{display:none}.touch-bar-group-key{font-size:var(--text-sm);font-weight:800}.touch-bar-group-count{color:var(--hud-value);font-size:var(--text-2xs);font-variant-numeric:tabular-nums}.touch-hold{position:absolute;z-index:5;width:56px;height:56px;margin:-28px 0 0 -28px;border:2px solid var(--ui-accent);border-radius:50%;background:#ead99f24;pointer-events:none;animation:touch-hold-in .16s ease-out}.touch-hold span{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);padding:2px 7px;border-radius:var(--radius-sm);background:var(--ui-panel-strong);color:var(--ui-text);font-size:var(--text-xs);white-space:nowrap}@keyframes touch-hold-in{0%{opacity:0;transform:scale(.4)}}@media(prefers-reduced-motion:reduce){.touch-hold{animation:none}}.game-top{position:absolute;left:0;right:0;top:0;height:54px;z-index:10;align-items:center;padding:0 18px}.brand-mini{font-size:12px;font-weight:850;letter-spacing:.18em;display:flex;align-items:center;gap:0;margin-right:auto}.brand-mini .brand-symbol{width:38px;height:38px;margin:-6px 4px -6px 0}.brand-mini-text{display:grid;gap:3px;margin-top:4px;line-height:1}.stage-chip{font-size:14px;font-weight:750}.stage-chip small{display:block;text-align:center;letter-spacing:.12em;text-transform:uppercase;font-size:var(--text-2xs)}.time-chip{font-variant-numeric:tabular-nums;font-size:14px}.spectator-eye{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;cursor:help}.spectator-eye svg{width:19px;height:19px}.spectate-banner{position:fixed;top:64px;left:50%;transform:translate(-50%);z-index:29;display:flex;gap:12px;align-items:center;max-width:calc(100vw - 32px);padding:8px 12px;background:var(--ui-panel-solid);border:1px solid var(--ui-border);border-radius:6px;color:var(--ui-value);font-size:13px}.game-shell.spectating .net-banner,.game-shell.spectating .notice-stack{top:116px}.spectate-banner select{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:3px;padding:4px 6px}.spectate-banner .primary-button{padding:6px 12px}.replay-bar{flex-direction:column;align-items:stretch;gap:6px;width:min(940px,calc(100vw - 32px))}.replay-row{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center}.replay-title{display:grid;line-height:1.15;margin-right:auto}.replay-title small,.replay-status{color:var(--ui-text-muted);font-size:12px}.replay-bar button{padding:4px 10px}.replay-speeds{display:inline-flex;gap:2px}.replay-speeds button.on{background:var(--ui-accent);color:var(--hud-parchment-light);border-color:var(--ui-accent)}.replay-timeline input[type=range]{flex:1 1 260px;min-width:160px;accent-color:var(--ui-accent)}.replay-time{font-variant-numeric:tabular-nums;min-width:96px}.replay-status{min-width:150px;text-align:right}.replay-status .ok{color:var(--ui-success)}.replay-status .bad{color:var(--ui-danger);font-weight:600}.game-shell.replaying .net-banner,.game-shell.replaying .notice-stack{top:160px}.replay-seat{grid-column:2;display:flex;flex-wrap:wrap;gap:2px 8px;font-variant-numeric:tabular-nums}.replay-stock{display:inline-flex;align-items:center;gap:3px}.replay-stock .resource-icon svg{width:13px;height:13px}.replay-card .form-note{margin:8px 0}.spectate-players{list-style:none;margin:0;padding:0;display:grid;gap:8px}.spectate-players li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:2px 8px;align-items:center;font-size:12px}.spectate-players .team-chip{grid-area:1 / 3}.spectate-players small{grid-column:2 / -1;color:var(--ui-text-muted)}.spectate-players .replay-seat{grid-column:2 / -1}.spectate-players .defeated{opacity:var(--ui-disabled-opacity)}.top-actions{display:flex;gap:8px}.top-actions button{border:1px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-text);border-radius:3px;padding:7px 12px;font-size:12px}.resource-panel,.action-panel,.selection-panel,.minimap-panel{position:absolute;z-index:8}.resource-panel{top:68px;left:14px;width:203px;padding:16px;display:flex;flex-direction:column;max-height:calc(100vh - 308px);overflow-y:auto}.resource-panel>.panel-label{align-self:flex-start}.resource-panel .panel-label{margin-bottom:13px}.resource{display:grid;grid-template-columns:25px 1fr auto;align-items:center;gap:6px;border-bottom:1px solid var(--ui-border-soft);text-transform:capitalize;font-size:13px}.resource strong{font-variant-numeric:tabular-nums}.resource-icon{display:inline-flex;align-items:center;color:var(--ui-accent)}.resource-icon svg{width:18px;height:18px}.player-list{display:flex;flex:0 1 auto;flex-direction:column;min-height:0}.player-list .player-list-toggle{align-self:flex-start;margin:0 0 4px;font-family:inherit;cursor:pointer}.player-list-fold{display:inline-block;width:0;height:0;margin-left:5px;border-top:5px solid currentColor;border-inline:4px solid transparent;vertical-align:1px}.player-list-toggle[aria-expanded=false] .player-list-fold{transform:rotate(-90deg)}.player-list-body{min-height:48px;overflow-y:auto;overscroll-behavior:contain}.player-list h4{display:flex;align-items:center;gap:9px;min-height:20px;margin:4px 0 0;padding-left:9px;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.player-list h4>:first-child:not(.team-chip){margin-left:29px}.player-list h4:after{content:"";flex:1}.player-list section+section{margin-top:6px}.player-list ul{display:grid;gap:3px;margin:3px 0 0;padding:0;list-style:none}.player-list li{display:flex;align-items:center;gap:4px;min-width:0;font-size:var(--text-sm)}.player-list li .player-swatch,.player-list li .faction-crest{flex:none}.player-list .player-name{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-list .player-stage{display:inline-flex;flex:none;align-items:center;gap:3px;margin-left:auto;white-space:nowrap;color:var(--ui-text-muted)}.player-list .player-stage .stage-icon{width:14px;height:14px}.player-list .player-stage-name{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.player-list li.defeated{opacity:var(--ui-disabled-opacity)}.player-list li.defeated .player-name{text-decoration:line-through}.player-list li.own .player-name{color:var(--ui-accent)}.game-shell{--minimap-size: clamp(150px, min(17vw, 27vh), 260px);--hud-right-width: max(245px, calc(var(--minimap-size) + 43px))}.game-shell.minimap-large{--minimap-size: clamp(150px, min(24vw, 36vh), 340px)}@supports (width: round(down,1.5px,1px)){.game-shell{--minimap-size: round(down, clamp(150px, min(17vw, 27vh), 260px), 1px)}.game-shell.minimap-large{--minimap-size: round(down, clamp(150px, min(24vw, 36vh), 340px), 1px)}}.action-panel{top:68px;right:14px;bottom:calc(var(--minimap-size) + 52px);width:var(--hud-right-width);padding:16px;overflow-y:auto;scrollbar-width:thin}:is(.action-panel,.hud-commands) h3{font-size:10px;text-transform:uppercase;letter-spacing:.16em;margin:18px 0 8px}.action-grid{display:grid;gap:7px}.action{width:100%;padding:7px 8px;text-align:left;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:3px;color:var(--ui-text);display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:750}.action:hover:not(:disabled){background:var(--ui-surface-hover);border-color:var(--ui-accent)}.action small{font-size:var(--text-xs);color:var(--ui-text-muted)}.action-icon{display:block;width:18px;height:18px;color:var(--ui-accent)}.action-icon svg{width:100%;height:100%}.action-unavailable small{color:var(--ui-danger)}.action-icon:has(.building-icon){width:22px;height:22px;margin:-3px 0 -1px -2px}button:disabled .building-icon{filter:grayscale(1)}.action:has(>.action-icon .building-icon){display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;column-gap:7px;row-gap:2px;align-content:center;align-items:center}.action:has(>.action-icon .building-icon)>.action-icon{grid-row:1 / span 2;width:34px;height:34px;margin:0}.action:has(>.action-icon .building-icon)>small{margin-top:0}.action:has(>.action-icon .building-icon)>span:not(.action-icon){white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.1;padding-right:6px}@media(max-width:1440px){.action:has(>.action-icon .building-icon){grid-template-columns:26px minmax(0,1fr);column-gap:4px;padding-left:5px;padding-right:3px}.action:has(>.action-icon .building-icon)>.action-icon{width:26px;height:26px}.action:has(>.action-icon .building-icon)>span:not(.action-icon){padding-right:0}}.action>small .cost-list{flex-wrap:nowrap;gap:0 6px}.action>small .cost{gap:2px;font-weight:700;color:inherit}.action>small .cost svg{width:12px;height:12px}.action.action-unavailable>small .cost:not(.short){color:var(--ui-text-muted)}.cost.short,.action>small .cost.short,.cost.resource-tone.short{color:var(--ui-danger)}.action.action-short:disabled{opacity:.8}.action-requires{display:inline-flex;align-items:center;gap:3px;max-width:100%}.action-requires svg{flex:none;width:12px;height:12px}.info-card-shortage{display:grid;gap:3px}.info-card-shortage>span{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.info-card-shortage .cost{color:var(--ui-danger)}.info-card-shortage small{font-weight:400;color:var(--ui-text-muted)}.graphics-alert{position:absolute;top:72px;left:50%;z-index:35;display:grid;justify-items:start;gap:6px;width:min(420px,calc(100% - 32px));padding:14px 16px;transform:translate(-50%)}.graphics-alert strong{font-size:var(--text-lg)}.graphics-alert p{margin:0;line-height:1.45}.crash-card p{margin:0;line-height:1.5}.crash-message{display:block;padding:6px 8px;border-left:3px solid var(--ui-danger);background:#00000038;font-size:var(--text-xs);overflow-wrap:anywhere}.resource-panel[hidden]{display:none}.action{position:relative}.action .action-key{position:absolute;top:3px;right:4px;min-width:0;max-width:60%;padding:0 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-2xs);line-height:1.3;color:var(--ui-text-muted)}.action.action-done,.action.action-done:disabled{opacity:1}.action.action-done small{color:var(--ui-success);font-weight:700}.action.action-done .action-icon{color:var(--ui-success)}.settings-note{margin:4px 0 0;font-size:var(--text-sm);color:var(--ui-text-muted)}.achievement-badge{display:block;flex:none;overflow:visible}.achievements-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,200px);align-items:center;gap:var(--space-3);margin:0 0 var(--space-3)}.settings-card .form-section .achievements-count,.achievements-count{margin:0;color:var(--ui-text-muted);font-size:var(--text-sm)}.achievements-count strong{color:var(--ui-value)}.skin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-3);margin:var(--space-3) 0;padding:0;list-style:none}.skin-tile{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-4) var(--space-3) var(--space-3) var(--space-4);border:1px solid var(--ui-border-soft);border-radius:var(--radius-sm);background:#0b191673}.skin-tile.worn{border-color:var(--ui-accent);background:color-mix(in srgb,var(--ui-accent) 10%,transparent)}.skin-tile-picture{width:52px;height:52px;background:var(--ui-surface);color:var(--ui-value);font-family:var(--font-display);font-size:22px}.skin-tile.locked .skin-tile-picture{filter:grayscale(.85) brightness(.75)}.skin-tile-text{display:grid;gap:2px;min-width:0}.skin-tile-text strong{color:var(--ui-value)}.skin-tile-text small{color:var(--ui-text-muted);font-size:var(--text-xs);line-height:1.35}.skin-tile>button,.skin-tile-how{grid-column:1 / -1;justify-self:start}.skin-tile-how{color:var(--ui-text-muted);font-size:var(--text-xs);font-style:italic}.livery-tile{grid-template-columns:minmax(0,1fr)}.livery-preview{display:block;width:150px;height:80px;border:1px solid var(--ui-border-soft);border-radius:var(--radius-sm);background:var(--ui-surface)}.livery-tile.locked .livery-preview{filter:grayscale(.85) brightness(.75)}.skin-group h4{margin:var(--space-4) 0 0;color:var(--ui-text);font-size:var(--text-sm)}.skin-redeem{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-2) var(--space-3)}.skin-redeem .field{display:grid;gap:var(--space-1);max-width:220px;margin:0}.skin-redeem>button{min-height:46px;margin:0}.skin-redeem input,.menu-card .skin-redeem input:not([type=range]){margin:0;text-transform:uppercase;letter-spacing:.08em}.skin-note{margin:var(--space-2) 0 0;font-size:var(--text-sm)}.skin-note.success{color:var(--ui-success)}.skin-note.problem{color:var(--ui-danger)}.challenge-card{max-width:1080px}.challenge-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,360px);gap:var(--space-5);align-items:start}.challenge-match{display:grid;gap:var(--space-3);justify-items:start}.challenge-match h3{margin:0;color:var(--ui-value);font-family:var(--font-display);font-size:30px}.challenge-match h3 small{color:var(--ui-text-muted);font-family:inherit;font-size:var(--text-sm)}.challenge-sides{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);margin:0}.challenge-sides>span{display:inline-flex;align-items:center;gap:var(--space-2)}.challenge-sides .faction-crest{width:28px;height:28px}.challenge-vs{color:var(--ui-accent);font-family:var(--font-display);font-style:italic}.challenge-play{min-width:240px}.challenge-signin{display:grid;gap:var(--space-2);padding:var(--space-3);border:1px solid color-mix(in srgb,var(--ui-accent) 45%,transparent);border-radius:var(--radius-sm)}.challenge-signin p{margin:0;color:var(--ui-text-muted);font-size:var(--text-sm)}.challenge-board{margin-top:var(--space-5)}.challenge-board h3 small{color:var(--ui-text-muted);font-size:var(--text-xs)}.challenge-you{color:var(--ui-value);font-weight:700}.challenge-rows{display:grid;gap:4px;margin:0;padding:0;list-style:none}.challenge-row{display:grid;grid-template-columns:32px auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:6px var(--space-3);border:1px solid var(--ui-border-soft);border-radius:var(--radius-sm);background:#0b191673}.challenge-row.you{border-color:var(--ui-accent)}.challenge-rank{color:var(--ui-accent);font-family:var(--font-display);font-size:18px;text-align:center}.challenge-row:first-child .challenge-rank{font-size:22px}.challenge-avatar{width:30px;height:30px;margin:0 4px;background:var(--ui-surface);color:var(--ui-value);font-size:14px}.challenge-name{overflow:hidden;color:var(--ui-value);text-overflow:ellipsis;white-space:nowrap}.challenge-time{color:var(--ui-value);font-variant-numeric:tabular-nums}.end-challenge{margin:var(--space-2) 0;font-size:var(--text-sm)}@media(max-width:760px){.challenge-head{grid-template-columns:minmax(0,1fr)}}.achievement-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:var(--space-1);margin:0;padding:0;list-style:none}.achievement-tile{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;min-height:108px;padding:6px 4px 8px;border:1px solid transparent;border-radius:var(--radius);background:none;color:var(--ui-text);text-align:center;transition:background var(--ease-ui),border-color var(--ease-ui),transform var(--ease-ui)}.achievement-tile:hover{background:color-mix(in srgb,var(--ui-surface) 60%,transparent)}.achievement-tile:hover .achievement-badge{transform:translateY(-2px)}.achievement-tile .achievement-badge{transition:transform var(--ease-ui)}.achievement-tile[aria-pressed=true]{border-color:color-mix(in srgb,var(--ui-accent) 70%,transparent);background:color-mix(in srgb,var(--ui-accent) 10%,transparent)}.achievement-tile-name{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:var(--text-xs);font-weight:700;line-height:1.25}.achievement-tile[data-state=locked] .achievement-tile-name,.achievement-tile[data-state=secret] .achievement-tile-name{color:var(--ui-text-muted);font-weight:600}.achievement-tile[data-state=secret] .achievement-tile-name{letter-spacing:.2em}.achievements-loading .achievement-tile{min-height:96px;background:color-mix(in srgb,var(--ui-surface) 45%,transparent);animation:stat-wait 1.6s ease-in-out infinite}.achievement-detail{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:start;gap:var(--space-4);margin-top:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--site-line);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--site-bg) 55%,transparent)}.achievement-detail-text{display:grid;gap:4px;min-width:0}.settings-card .form-section .achievement-detail-text p,.achievement-detail-text p{margin:0}.achievement-detail-kicker{color:var(--ui-text-muted);font-size:var(--text-2xs);font-weight:800;letter-spacing:.16em;text-transform:uppercase}.achievement-tier[data-tier=bronze],.achievement-toast-tier[data-tier=bronze]{color:var(--achievement-bronze)}.achievement-tier[data-tier=silver],.achievement-toast-tier[data-tier=silver]{color:var(--achievement-silver)}.achievement-tier[data-tier=gold],.achievement-toast-tier[data-tier=gold]{color:var(--achievement-gold)}.achievement-detail h4{margin:0;color:var(--ui-value);font-family:var(--font-display);font-size:var(--text-xl);font-weight:700}.achievement-detail[data-state=secret] h4{letter-spacing:.2em}.achievement-detail-what{color:var(--ui-text);font-size:var(--text-md);line-height:1.45}.achievement-detail-terms{color:var(--ui-text-muted);font-size:var(--text-xs);font-style:italic}.achievement-detail-status{display:flex;flex-wrap:wrap;align-items:center;gap:4px var(--space-2);margin-top:2px;color:var(--ui-text-muted);font-size:var(--text-sm)}.achievement-detail-status strong{color:var(--ui-success)}.xp-chip.xp-chip-locked{border-color:var(--ui-border);background:none;color:var(--ui-text-muted)}.achievement-progress{display:grid;grid-template-columns:minmax(80px,180px) auto;align-items:center;gap:6px var(--space-2);margin-top:4px}.achievement-progress-count{color:var(--ui-value);font-size:var(--text-xs);font-weight:700}.achievement-marks{display:flex;flex-wrap:wrap;grid-column:1 / -1;gap:4px;margin:0;padding:0;list-style:none}.achievement-marks li{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:1px dashed var(--ui-border-soft);border-radius:999px;color:var(--ui-text-muted);font-size:var(--text-2xs);opacity:.75}.achievement-marks li[data-done]{border-style:solid;border-color:color-mix(in srgb,var(--ui-accent) 60%,transparent);color:var(--ui-value);opacity:1}.achievement-marks .faction-crest{width:14px;height:14px}.achievement-marks li:not([data-done]) .faction-crest{filter:grayscale(1);opacity:.6}@media(max-width:560px){.achievement-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr))}.achievement-tile .achievement-badge{width:52px;height:52px}.achievement-detail{grid-template-columns:64px minmax(0,1fr);gap:var(--space-3);padding:var(--space-3)}.achievement-detail .achievement-badge{width:64px;height:64px}.achievements-head{grid-template-columns:1fr;gap:6px}}.end-achievements{margin:0 0 var(--space-3);text-align:left}.end-achievements-title{margin:0 0 4px;color:var(--ui-accent);font-size:var(--text-xs);font-weight:800;letter-spacing:.12em;text-transform:uppercase}.end-achievements ul{display:grid;gap:4px;margin:0;padding:0;list-style:none}.end-achievements li{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:4px 8px 4px 4px;border:1px solid color-mix(in srgb,var(--ui-accent) 28%,transparent);border-radius:var(--radius-sm);background:linear-gradient(100deg,color-mix(in srgb,var(--ui-accent) 12%,transparent),transparent 75%)}.end-achievement-name{display:grid;min-width:0;font-size:var(--text-sm)}.end-achievement-name strong{color:var(--ui-value)}.end-achievement-name small{overflow:hidden;color:var(--ui-text-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.achievement-toast{position:fixed;top:max(16px,env(safe-area-inset-top));left:50%;z-index:60;display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:var(--space-4);width:min(520px,calc(100vw - 32px));padding:var(--space-3) var(--space-5) var(--space-3) var(--space-3);border:1px solid color-mix(in srgb,var(--achievement-gold) 70%,transparent);border-radius:var(--radius-lg);background:radial-gradient(circle at 64px 50%,color-mix(in srgb,var(--achievement-gold) 26%,transparent),transparent 140px),var(--ui-panel-strong);box-shadow:0 0 0 1px #0006,0 18px 50px #000a,0 0 40px color-mix(in srgb,var(--achievement-gold) 22%,transparent);color:var(--ui-text);transform:translate(-50%);animation:achievement-in .52s cubic-bezier(.2,1.3,.4,1) both}.achievement-toast[data-tier=silver]{border-color:color-mix(in srgb,var(--achievement-silver) 60%,transparent)}.achievement-toast[data-tier=bronze]{border-color:color-mix(in srgb,var(--achievement-bronze) 60%,transparent)}.achievement-toast-still{position:relative;top:auto;left:auto;transform:none;animation:none}.achievement-toast-badge{position:relative;display:grid;place-items:center;width:112px;height:112px}.achievement-toast-badge .achievement-badge{position:relative;z-index:1;animation:achievement-land .76s cubic-bezier(.18,1.5,.4,1) .12s both}.achievement-toast-burst{position:absolute;top:-18px;right:-18px;bottom:-18px;left:-18px;border-radius:50%;background:repeating-conic-gradient(from 0deg,color-mix(in srgb,var(--achievement-gold) 55%,transparent) 0deg 7deg,transparent 7deg 22deg);mask:radial-gradient(circle,#000 30%,transparent 70%);opacity:0;animation:achievement-burst .9s ease-out .2s forwards,achievement-spin 14s linear infinite}.achievement-toast-shine{position:absolute;top:4px;right:4px;bottom:4px;left:4px;z-index:2;border-radius:50%;background:linear-gradient(115deg,transparent 35%,color-mix(in srgb,var(--achievement-glint) 80%,transparent) 50%,transparent 65%);background-size:260% 100%;background-position:120% 0;mix-blend-mode:screen;pointer-events:none;animation:achievement-shine 1.1s ease-in-out .7s both}.achievement-toast-spark{position:absolute;top:50%;left:50%;z-index:2;width:6px;height:6px;margin:-3px;border-radius:50%;background:var(--achievement-glint);box-shadow:0 0 6px var(--achievement-gold);opacity:0;animation:achievement-spark .9s ease-out .36s both}.achievement-toast-spark-0{--spark: translate(-58px, -34px)}.achievement-toast-spark-1{--spark: translate(54px, -40px)}.achievement-toast-spark-2{--spark: translate(62px, 12px)}.achievement-toast-spark-3{--spark: translate(-60px, 20px)}.achievement-toast-spark-4{--spark: translate(-14px, -62px)}.achievement-toast-spark-5{--spark: translate(20px, 60px)}.achievement-toast-text{display:grid;gap:2px;min-width:0}.achievement-toast-text p{margin:0}.achievement-toast-kicker{color:var(--achievement-gold);font-size:var(--text-2xs);font-weight:800;letter-spacing:.2em;text-transform:uppercase}.achievement-toast-count{color:var(--ui-text-muted);letter-spacing:.08em}.achievement-toast h2{margin:0;color:var(--ui-value);font-family:var(--font-display);font-size:24px;line-height:1.15}.achievement-toast-what{color:var(--ui-text-muted);font-size:var(--text-sm);line-height:1.4}.achievement-toast-foot{display:flex;align-items:center;gap:var(--space-2);margin-top:6px!important}.achievement-toast-tier{font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.achievement-toast-next{position:absolute;right:8px;bottom:8px;padding:2px 8px;border:0;background:none;color:var(--ui-text-muted);font-size:var(--text-xs);font-weight:700}.achievement-toast-next:hover{color:var(--ui-accent)}@keyframes achievement-in{0%{opacity:0;transform:translate(-50%,-24px) scale(.96)}}@keyframes achievement-land{0%{opacity:0;transform:scale(.2) rotate(-28deg)}60%{opacity:1;transform:scale(1.14) rotate(6deg)}to{transform:scale(1) rotate(0)}}@keyframes achievement-burst{0%{opacity:0;transform:scale(.4)}40%{opacity:1}to{opacity:.55;transform:scale(1)}}@keyframes achievement-spin{to{rotate:360deg}}@keyframes achievement-shine{0%{background-position:120% 0}to{background-position:-40% 0}}@keyframes achievement-spark{0%{opacity:0;transform:translate(0) scale(.4)}30%{opacity:1}to{opacity:0;transform:var(--spark) scale(1)}}.achievement-popup{position:fixed;right:calc(var(--hud-right-width, 245px) + 14px + 12px);bottom:14px;z-index:61;display:grid;grid-template-columns:60px minmax(0,1fr) auto;align-items:center;gap:var(--space-3);width:min(400px,calc(100vw - 28px));padding:var(--space-2) var(--space-3) var(--space-2) var(--space-2);border:1px solid color-mix(in srgb,var(--achievement-gold) 65%,transparent);border-radius:var(--radius-lg);background:radial-gradient(circle at 34px 50%,color-mix(in srgb,var(--achievement-gold) 24%,transparent),transparent 90px),var(--ui-panel-strong);box-shadow:0 0 0 1px #0006,0 12px 30px #000a,0 0 24px color-mix(in srgb,var(--achievement-gold) 18%,transparent);color:var(--ui-text);pointer-events:none;animation:achievement-popup 6s ease both}.achievement-popup[data-tier=silver]{border-color:color-mix(in srgb,var(--achievement-silver) 60%,transparent)}.achievement-popup[data-tier=bronze]{border-color:color-mix(in srgb,var(--achievement-bronze) 60%,transparent)}.achievement-popup.still{position:relative;right:auto;bottom:auto;animation:none}.achievement-popup-badge{position:relative;display:grid;place-items:center;width:60px;height:60px}.achievement-popup-badge .achievement-badge{animation:achievement-land .7s cubic-bezier(.18,1.5,.4,1) .2s both}.achievement-popup-shine{position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:50%;background:linear-gradient(115deg,transparent 35%,color-mix(in srgb,var(--achievement-glint) 80%,transparent) 50%,transparent 65%);background-size:260% 100%;background-position:120% 0;mix-blend-mode:screen;pointer-events:none;animation:achievement-shine 1s ease-in-out .8s both}.achievement-popup-text{display:grid;gap:1px;min-width:0}.achievement-popup-kicker{color:var(--achievement-gold);font-size:var(--text-2xs);font-weight:800;letter-spacing:.12em;text-transform:uppercase}.achievement-popup-text strong{overflow:hidden;color:var(--ui-value);font-family:var(--font-display);font-size:17px;text-overflow:ellipsis;white-space:nowrap}.achievement-popup-what{color:var(--ui-text-muted);font-size:var(--text-xs);line-height:1.3}.achievement-popup-count{position:absolute;right:-3px;bottom:1px;z-index:1;min-width:20px;height:20px;padding:0 5px;border:1px solid #0009;border-radius:10px;background:var(--achievement-gold);color:var(--ui-ink);font-size:var(--text-2xs);font-weight:800;line-height:18px;text-align:center}.achievement-popup-also,.achievement-toast-also{display:grid;gap:2px;min-width:0;margin:3px 0 0!important;padding:0;list-style:none}.achievement-popup-also li,.achievement-toast-also li{display:flex;align-items:center;gap:6px;min-width:0;color:var(--ui-text);font-size:var(--text-xs);font-weight:600}.achievement-popup-also li>span,.achievement-toast-also li>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.achievement-popup-also .achievement-badge,.achievement-toast-also .achievement-badge{flex:none}.achievement-popup-also li.more,.achievement-toast-also li.more{padding-left:28px;color:var(--ui-text-muted);font-weight:500}.achievement-popup.teaser .achievement-popup-count{background:var(--ui-text-muted)}.achievement-popup.teaser{border-color:var(--ui-border);background:var(--ui-panel-strong)}.achievement-popup.teaser .achievement-badge{filter:grayscale(.85) brightness(.8)}.achievement-popup.teaser .achievement-popup-kicker{color:var(--ui-text-muted)}.achievement-popup.teaser .xp-chip{opacity:.6}@keyframes achievement-popup{0%{opacity:0;transform:translateY(calc(100% + 24px))}7%{opacity:1;transform:translateY(-6px)}10%{transform:translateY(0)}90%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(0)}}@keyframes achievement-popup-fade{0%,to{opacity:0}5%,92%{opacity:1}}@media(max-width:700px){.achievement-popup:not(.still){top:calc(56px + env(safe-area-inset-top,0px));right:8px;bottom:auto;width:calc(100vw - 16px)}}@media(max-width:560px){.achievement-toast{grid-template-columns:76px minmax(0,1fr);gap:var(--space-3);padding:var(--space-2) var(--space-3) var(--space-5) var(--space-2)}.achievement-toast-badge{width:76px;height:76px}.achievement-toast-badge .achievement-badge{width:72px;height:72px}.achievement-toast h2{font-size:19px}}@media(prefers-reduced-motion:reduce){.achievement-toast,.achievement-toast-badge .achievement-badge,.achievement-toast-shine,.achievement-toast-spark,.achievement-popup-badge .achievement-badge,.achievement-popup-shine{animation:none}.achievement-popup:not(.still){animation-name:achievement-popup-fade}.achievement-toast-burst{animation:none;opacity:.45}.achievement-tile,.achievement-tile .achievement-badge{transition:none}}.account-panel{display:grid;gap:var(--space-2)}.account-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.provider-buttons{display:grid;justify-items:start;gap:var(--space-3);margin:var(--space-3) 0}.provider-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;box-sizing:border-box;width:min(100%,300px);height:40px;padding:0 12px;border:1px solid;border-radius:4px;font-family:Roboto,Arial,sans-serif;font-size:14px;font-weight:500;letter-spacing:.25px;line-height:20px;text-decoration:none;text-transform:none;white-space:nowrap;cursor:pointer}.provider-logo{flex:none;width:20px;height:20px}.provider-google{background:var(--google-button-bg);border-color:var(--google-button-border);color:var(--google-button-text)}.provider-google:hover{background:var(--google-button-hover)}.provider-discord{background:var(--discord-blurple);border-color:var(--discord-blurple);color:#fff}.provider-discord:hover{background:var(--discord-blurple-hover);border-color:var(--discord-blurple-hover)}.provider-button:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}.account-fine-print{font-size:var(--text-xs)}.bug-form{display:grid;gap:18px;margin:var(--space-2) 0}.bug-form fieldset{min-width:0;margin:0;padding:0;border:0}.bug-form label,.bug-legend{display:block;margin:0;padding:0;color:var(--ui-text);font-size:var(--text-md);font-weight:700}.bug-legend{margin-bottom:var(--space-2)}.bug-legend small{font-weight:400}.bug-field-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);margin-bottom:6px}.bug-count{color:var(--ui-text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;white-space:nowrap}.bug-count.near{color:var(--ui-warning);font-weight:700}.bug-field-hint{margin:-2px 0 var(--space-2);color:var(--ui-text-muted);font-size:var(--text-sm);line-height:1.45}.bug-form .bug-field>:is(input,textarea):not([type=checkbox]){margin:0}.bug-form textarea{display:block;box-sizing:border-box;width:100%;min-height:128px;padding:12px 13px;resize:vertical;background:var(--ui-surface);color:var(--ui-text);border:1px solid var(--ui-border);border-radius:var(--radius-sm);font:inherit;font-weight:400;line-height:1.5}.bug-form :is(input,textarea)::placeholder{color:var(--ui-text-muted);opacity:.75}.bug-form .bug-field.invalid>:is(input,textarea),.site-page .menu-card .bug-form .bug-field.invalid>:is(input,textarea)[aria-invalid]{border-color:var(--ui-danger);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ui-danger) 55%,transparent)}.bug-field-problem{display:flex;align-items:baseline;gap:6px;margin:6px 0 0;color:var(--ui-danger);font-size:var(--text-sm);font-weight:650;line-height:1.4}.bug-field-problem:before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:currentColor;transform:translateY(-1px)}.bug-category-options{display:flex;flex-wrap:wrap;gap:var(--space-2)}.bug-form .bug-category-option{position:relative;display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:5px 13px 5px 9px;border:1px solid var(--ui-border);border-radius:var(--radius);background:var(--ui-surface);color:var(--ui-text);font-weight:600;line-height:1.2;cursor:pointer;transition:background-color var(--ease-ui),border-color var(--ease-ui)}.bug-form .bug-category-option:hover{border-color:var(--ui-accent-hover);background:var(--ui-surface-hover)}.bug-form .bug-category-option.selected{border-color:var(--ui-accent);background:var(--ui-surface-active);box-shadow:inset 0 0 0 1px var(--ui-accent);color:var(--ui-value)}.bug-form .bug-category-option:has(input:focus-visible){outline:2px solid var(--ui-accent);outline-offset:2px}.bug-form .bug-category-option input[type=radio]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;min-height:0;margin:0;padding:0;border:0;opacity:0;cursor:pointer}.bug-category-check{flex:none;box-sizing:border-box;width:16px;height:16px;padding:2px;border:1.5px solid var(--ui-border);border-radius:50%;color:transparent;stroke-width:3}.bug-category-option.selected .bug-category-check{border-color:var(--ui-accent);background:var(--ui-accent);color:var(--ui-ink)}.bug-kind-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.bug-form .bug-kind-option{display:flex;min-height:48px;padding:8px 13px 8px 10px}.bug-kind-words{display:grid;gap:1px;min-width:0}.bug-kind-words small{color:var(--ui-text-muted);font-size:var(--text-xs);font-weight:400}.bug-picture-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);margin:0;padding:0;list-style:none}.bug-picture{position:relative;min-width:0;aspect-ratio:16 / 10;overflow:hidden;border:1px solid var(--ui-border);border-radius:var(--radius);background:var(--ui-surface)}.bug-picture img{display:block;width:100%;height:100%;object-fit:cover}.bug-picture-name{position:absolute;inset:auto 0 0;padding:14px 8px 5px;overflow:hidden;background:linear-gradient(transparent,color-mix(in srgb,var(--ui-bg) 88%,transparent));color:var(--ui-value);font-size:var(--text-xs);font-weight:700;text-overflow:ellipsis;white-space:nowrap}.bug-picture-remove{position:absolute;top:5px;right:5px;display:grid;place-items:center;width:26px;height:26px;padding:0;border:0;border-radius:50%;background:color-mix(in srgb,var(--ui-bg) 78%,transparent);color:var(--ui-value);cursor:pointer}.bug-picture-remove svg{width:22px;height:22px}.bug-picture-remove:hover,.bug-picture-remove:focus-visible{color:var(--ui-danger)}.bug-picture-wait{display:grid;place-items:center;border-style:dashed;color:var(--ui-text-muted);font-size:var(--text-xs)}.bug-picture-slot{overflow:visible;border:0;background:none}.bug-picture-slot:only-child{grid-column:1 / -1;aspect-ratio:auto;height:64px}.bug-picture-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;box-sizing:border-box;width:100%;height:100%;padding:6px;border:1px dashed var(--ui-border);border-radius:var(--radius);background:color-mix(in srgb,var(--ui-surface) 45%,transparent);color:var(--ui-text);font-size:var(--text-md);text-align:center;cursor:pointer;transition:background-color var(--ease-ui),border-color var(--ease-ui)}.bug-picture-slot:only-child .bug-picture-add{flex-direction:row;gap:var(--space-2)}.bug-picture-add small{font-weight:400}.bug-picture-add:hover:not(:disabled){border-color:var(--ui-accent);background:var(--ui-surface)}.bug-form.dragging .bug-picture-add{border-color:var(--ui-accent);background:color-mix(in srgb,var(--ui-accent) 14%,transparent);color:var(--ui-value)}.bug-pictures .bug-field-hint{margin:6px 0 0}.bug-form input[type=file][hidden]{display:none}.bug-form label.bug-record{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:10px;margin:var(--space-3) 0 0;padding:10px 12px;border:1px solid var(--ui-border-soft);border-radius:var(--radius);background:color-mix(in srgb,var(--ui-surface) 45%,transparent);font-weight:400;cursor:pointer}.bug-form label.bug-record.on{border-color:color-mix(in srgb,var(--ui-accent) 55%,transparent)}.bug-record input{width:16px;height:16px;margin:0;accent-color:var(--ui-accent)}.bug-record-icon{width:22px;height:22px;color:var(--ui-accent)}.bug-record-text{display:grid;gap:1px}.bug-form .bug-record-text strong{float:none;color:var(--ui-value)}.bug-record-text small{line-height:1.35}.bug-fine-print{margin:0;color:var(--ui-text-muted);font-size:var(--text-xs);line-height:1.5}.bug-fine-print a{color:var(--ui-accent)}.bug-form .bug-send-problem{margin:0}.bug-form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.bug-form-status{flex:1 1 160px;margin:0;color:var(--ui-text-muted);font-size:var(--text-sm)}.bug-form-status:empty{display:none}.bug-form[aria-busy=true] :is(.bug-field,.bug-fine-print){opacity:.6;transition:opacity var(--ease-ui)}.bug-send.sending{position:relative;overflow:hidden;cursor:progress}.bug-send.sending:after{content:"";position:absolute;bottom:0;left:0;width:40%;height:3px;background:currentColor;opacity:.45;animation:bug-sending 1.1s ease-in-out infinite}@keyframes bug-sending{0%{transform:translate(-100%)}to{transform:translate(250%)}}@media(max-width:480px){.bug-picture-add small{display:none}.bug-picture-slot:only-child .bug-picture-add small{display:inline}}.bug-thanks{--seal: var(--hud-seal-success);display:grid;gap:var(--space-4);margin:var(--space-2) 0}.bug-thanks-card{display:grid;gap:var(--space-3);padding:18px 20px 20px;border:1px solid color-mix(in srgb,var(--ui-success) 40%,transparent);border-top:3px solid var(--ui-success);border-radius:var(--radius);background:color-mix(in srgb,var(--ui-success) 6%,transparent)}.bug-thanks-head{display:flex;align-items:flex-start;gap:14px}.bug-thanks .banner-seal{width:46px;height:46px;margin:2px 0 0;animation:seal-stamp .34s .11s cubic-bezier(.3,.7,.3,1) both}.bug-thanks .banner-seal svg{width:24px;height:24px}.bug-thanks-words{min-width:0}.bug-thanks-eyebrow{display:block;color:var(--ui-success);font-size:var(--text-2xs);font-weight:800;letter-spacing:.2em}.bug-thanks .bug-thanks-title{margin:3px 0 4px;color:var(--ui-value);font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:0;line-height:1.2;text-transform:none}.bug-thanks-title:focus{outline:none}.bug-thanks-lead{margin:0;color:var(--ui-text-muted);font-size:var(--text-md);line-height:1.45}.bug-thanks-slip{display:grid;gap:2px;padding:9px 13px;border:1px solid var(--ui-border-soft);border-left:3px solid var(--ui-border);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--ui-surface) 60%,transparent)}.bug-thanks-slip strong{color:var(--ui-value);overflow-wrap:anywhere}.bug-thanks-slip small{font-size:var(--text-sm)}.bug-thanks-next{margin:var(--space-1) 0 0;color:var(--ui-text-muted);font-size:var(--text-2xs);font-weight:800;letter-spacing:.2em;text-transform:uppercase}.bug-thanks-steps{display:grid;gap:10px;margin:0;padding:0;list-style:none}.bug-thanks-steps li{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:start;gap:10px}.bug-thanks-step-icon{box-sizing:border-box;width:30px;height:30px;padding:5px;border:1px solid var(--ui-border);border-radius:50%;color:var(--ui-accent)}.bug-thanks-steps p{margin:0;color:var(--ui-text-muted);font-size:var(--text-md);line-height:1.45}.bug-thanks-steps strong{color:var(--ui-value)}@media(max-width:480px){.bug-thanks-card{padding:14px 14px 16px}.bug-thanks-head{gap:var(--space-3)}.bug-thanks .banner-seal{width:38px;height:38px}.bug-thanks .banner-seal svg{width:20px;height:20px}.bug-thanks .bug-thanks-title{font-size:19px}}@media(prefers-reduced-motion:reduce){.bug-thanks .banner-seal,.bug-send.sending:after{animation:none}.bug-send.sending:after{width:100%;opacity:.25}.bug-form .bug-category-option,.bug-picture-add{transition:none}}.bug-report-pictures{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.bug-report-pictures img{display:block;object-fit:cover;border:1px solid var(--ui-border);border-radius:var(--radius-sm);background:var(--ui-surface)}.bug-report-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-1) 0 var(--space-2)}.bug-report-kind{color:var(--ui-value);font-size:var(--text-xs);font-weight:750;letter-spacing:.08em;text-transform:uppercase}.bug-report-list{display:grid;gap:var(--space-2);margin:var(--space-2) 0 0;padding:0;list-style:none}.bug-report{padding:10px 14px;border:1px solid var(--ui-border-soft);border-left:3px solid var(--ui-border);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--ui-surface) 60%,transparent)}.bug-report.status-confirmed,.bug-report.status-in_progress{border-left-color:var(--ui-accent)}.bug-report.status-fixed{border-left-color:var(--ui-success)}.bug-report-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px var(--space-2)}.bug-report-head strong{color:var(--ui-value);overflow-wrap:anywhere}.bug-status{padding:1px 9px;border:1px solid var(--ui-border);border-radius:999px;color:var(--ui-text-muted);font-size:var(--text-xs);font-weight:700;white-space:nowrap}.bug-status.status-confirmed{border-color:var(--ui-accent);color:var(--ui-accent)}.bug-status.status-in_progress{border-color:var(--ui-accent);background:color-mix(in srgb,var(--ui-accent) 18%,transparent);color:var(--ui-value)}.bug-status.status-fixed{border-color:var(--ui-success);color:var(--ui-success)}.bug-report-meta{margin:4px 0 0;color:var(--ui-text-muted);font-size:var(--text-sm)}.bug-reward{color:var(--ui-accent);font-weight:700}.bug-severity{padding:0 7px;border:1px solid var(--ui-border);border-radius:999px;color:var(--ui-text-muted);font-size:var(--text-xs);font-weight:700;white-space:nowrap}.bug-severity.severity-medium{border-color:var(--ui-accent);color:var(--ui-accent)}.bug-severity.severity-major{border-color:var(--ui-warning);color:var(--ui-warning)}.bug-severity.severity-critical{border-color:var(--ui-danger);background:var(--ui-danger-soft);color:var(--ui-danger)}.bug-thread{margin:8px 0 0}.bug-thread-title{margin:0 0 4px;color:var(--ui-text-muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.bug-thread ol{margin:0;padding:0 0 0 4px;list-style:none}.bug-message{position:relative;padding:0 0 10px 16px;border-left:2px solid var(--ui-border-soft)}.bug-message:last-child{padding-bottom:0;border-left-color:transparent}.bug-message:before{content:"";position:absolute;top:6px;left:-5px;width:8px;height:8px;border-radius:50%;background:var(--ui-border)}.bug-message.status-confirmed:before{background:var(--ui-accent)}.bug-message.status-in_progress:before{background:var(--ui-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--ui-accent) 35%,transparent)}.bug-message.status-fixed:before{background:var(--ui-success)}.bug-message-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px var(--space-2);margin:0;color:var(--ui-text-muted);font-size:var(--text-xs)}.bug-message-head .bug-reward{font-size:var(--text-sm)}.bug-message-text{margin:2px 0 0;color:var(--ui-text);font-size:var(--text-sm);white-space:pre-wrap;overflow-wrap:anywhere}.bug-report-pictures{margin-top:8px}.bug-report-pictures img{width:96px;height:60px}.bug-sent{margin:8px 0 0}.bug-sent summary{width:fit-content;padding:2px 0;color:var(--ui-accent);font-size:var(--text-sm);font-weight:700;cursor:pointer}.bug-sent summary small{color:var(--ui-text-muted);font-size:var(--text-xs);font-weight:400}.bug-sent-body{display:grid;gap:8px;margin:4px 0 0 4px;padding:2px 0 2px 14px;border-left:2px solid var(--ui-border-soft)}.bug-sent-text{margin:0;color:var(--ui-text);font-size:var(--text-sm);white-space:pre-wrap;overflow-wrap:anywhere}.bug-sent .bug-report-pictures{margin:0}.bug-sent .bug-report-pictures li{display:grid;gap:2px}.bug-picture-caption{color:var(--ui-text-muted);font-size:var(--text-xs)}.bug-sent-record{display:flex;align-items:center;gap:8px;margin:0;color:var(--ui-text);font-size:var(--text-sm)}.bug-sent-record .bug-record-icon{flex:none;width:18px;height:18px}.bug-sent-facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:2px 12px;margin:0;color:var(--ui-text-muted);font-size:var(--text-xs)}.bug-sent-facts dt{font-weight:700}.bug-sent-facts dd{margin:0;overflow-wrap:anywhere}.account-callout{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);margin:0 0 var(--space-2);padding:10px 14px;border:1px solid color-mix(in srgb,var(--ui-accent) 40%,transparent);border-left-width:3px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--ui-accent) 7%,transparent);color:var(--ui-text);font-size:var(--text-md);line-height:1.45}.account-callout p{flex:1 1 260px;margin:0}.account-callout.tone-success{border-color:color-mix(in srgb,var(--ui-success) 55%,transparent);background:color-mix(in srgb,var(--ui-success) 9%,transparent)}.account-callout.tone-problem{border-color:color-mix(in srgb,var(--ui-danger) 60%,transparent);background:var(--ui-danger-soft)}.account-callout-icon{flex:none;width:18px;height:18px;color:var(--ui-success)}.account-lead{margin:0;color:var(--ui-text);font-size:var(--text-lg);line-height:1.5}.signin-pitch{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:var(--space-5);align-items:start}.signin-pitch-copy{display:grid;gap:var(--space-4)}.signin-perks{display:grid;gap:var(--space-3);margin:0;padding:0;list-style:none}.signin-perks li{display:grid;grid-template-columns:26px minmax(0,1fr);gap:12px;align-items:start;color:var(--ui-text-muted);font-size:var(--text-sm);line-height:1.45}.signin-perks svg{width:26px;height:26px;color:var(--ui-accent)}.signin-perks strong{display:block;color:var(--ui-value);font-size:var(--text-md)}.signin-preview{display:grid;align-content:start;gap:var(--space-3)}.signin-preview .player-card{margin:0}.signin-preview-record{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;border:1px solid var(--site-line);border-radius:var(--radius-sm)}.signin-preview-record>div{padding:10px 14px;border-left:1px solid var(--site-line)}.signin-preview-record>div:first-child{border-left:0}.signin-preview-record dt{color:var(--ui-text-muted);font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase}.signin-preview-record dd{margin:2px 0 0;color:var(--ui-value);font-family:var(--font-display);font-size:22px}.signin-preview-record>.signin-preview-faction{display:flex;grid-column:1 / -1;align-items:center;justify-content:space-between;gap:var(--space-3);border-top:1px solid var(--site-line);border-left:0}.signin-preview-faction dd{display:flex;align-items:center;gap:8px;margin:0;font-family:inherit;font-size:var(--text-sm);font-weight:700}.signin-preview-note{margin:0;font-size:var(--text-xs)}@media(max-width:720px){.signin-pitch{grid-template-columns:minmax(0,1fr)}}.level-badge{position:relative;display:inline-grid;place-items:center;flex:none;width:28px;height:28px;color:var(--ui-accent)}.level-badge svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.level-badge b{position:relative;margin-top:-2px;color:var(--ui-value);font-family:var(--font-display);font-size:13px;line-height:1}.level-badge[data-ink=light] b{color:var(--ui-value);text-shadow:0 1px 1px rgb(0 0 0 / 55%)}.level-badge[data-ink=dark] b{color:var(--hud-ink)}.level-badge-mini{width:20px;height:20px;vertical-align:middle}.level-badge-mini b{margin-top:-1px;font-size:9.5px}.level-badge-slot{flex:none;width:20px;height:20px}.player-list li .level-badge-mini{flex:none}.seat-who .level-badge-mini{margin-right:5px}.level-badge-large{width:54px;height:54px}.level-badge-large b{font-size:22px}.xp-bar{display:block;height:7px;border-radius:4px;background:var(--ui-border-soft);overflow:hidden}.xp-bar>span{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--ui-accent),var(--ui-accent-hover))}.xp-bar-moving>span{transition:width 1.4s cubic-bezier(.2,.7,.2,1)}@media(prefers-reduced-motion:reduce){.xp-bar-moving>span{transition:none}}.xp-chip{display:inline-block;padding:3px 10px;border:1px solid var(--ui-accent);border-radius:999px;background:color-mix(in srgb,var(--ui-accent) 16%,transparent);color:var(--ui-value);font-size:var(--text-sm);font-weight:800;letter-spacing:.04em;white-space:nowrap}.player-plate{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"avatar who" "invite invite";align-items:center;gap:var(--space-3) var(--space-4);margin:0 0 var(--space-5);padding:var(--space-4);border:1px solid var(--ui-border-soft);border-radius:var(--radius-sm);background:linear-gradient(100deg,color-mix(in srgb,var(--player-color, var(--ui-accent)) 16%,transparent),transparent 55%),#0b191673}.player-plate.signed-in{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"avatar who level"}.player-plate-avatar{grid-area:avatar;width:56px;height:56px;background:var(--ui-surface);box-shadow:0 0 0 2px var(--ui-panel-solid),0 0 0 4px var(--player-color, var(--ui-accent));color:var(--ui-value);font-family:var(--font-display);font-size:26px}.player-plate-who{grid-area:who;display:grid;gap:4px;min-width:0}.player-plate-who>.field{max-width:380px;margin:0}.player-plate-label{color:var(--ui-text-muted);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase}.player-plate-name{overflow-wrap:anywhere;color:var(--ui-value);font-family:var(--font-display);font-size:28px;line-height:1.1}.player-plate-who.with-picker{grid-template-columns:minmax(0,380px) auto;justify-content:start;column-gap:var(--space-2)}.player-plate-who.with-picker>.field{display:grid;grid-column:1 / -1;grid-row:1 / span 3;grid-template-columns:subgrid;grid-template-rows:subgrid;max-width:none}.player-plate-who.with-picker>.field>input{grid-row:2;grid-column:1}.player-plate-who.with-picker>.field>:not(input){grid-row:3;grid-column:1 / -1}.player-plate-who.with-picker>.color-picker{grid-column:2;grid-row:2;align-self:center}.player-plate-who.with-picker>.player-plate-meta{grid-column:1 / -1}.player-plate-name-row{display:flex;align-items:center;gap:var(--space-3);min-width:0}.player-plate-name-row .player-plate-name{min-width:0}.player-plate .color-picker-toggle{width:36px;height:36px}.player-plate .color-picker-toggle .player-swatch{width:18px;height:18px}.player-plate .color-picker-palette{right:0;left:auto}.player-plate-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2);color:var(--ui-text-muted);font-size:var(--text-xs)}.player-plate-claim,.player-plate-handle{color:var(--ui-accent);font-weight:700}.verified-username{display:inline-flex;align-items:center;gap:.25em;max-width:100%;color:var(--ui-accent);font-weight:700;white-space:nowrap;vertical-align:bottom}.verified-username-mark{flex:none;width:1.05em;height:1.05em;padding:.12em;border-radius:50%;background:var(--ui-accent);color:var(--ui-ink);stroke-width:3.2}.player-card-claimed-name .verified-username{color:inherit;white-space:normal;overflow-wrap:anywhere}.player-plate-level{grid-area:level;display:flex;align-items:center;gap:var(--space-2);padding:6px 12px 6px 8px;border:1px solid var(--ui-border-soft);border-radius:var(--radius-sm);color:var(--ui-text);text-decoration:none}.player-plate-level:hover{border-color:var(--ui-accent)}.player-plate-level>span{display:grid;gap:1px}.player-plate-level strong{color:var(--ui-value);font-size:var(--text-sm)}.player-plate-level small{color:var(--ui-text-muted);font-size:var(--text-xs)}.player-plate-invite{grid-area:invite;position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-3) var(--space-5) 0 0;border-top:1px solid var(--ui-border-soft)}.player-plate-invite-mark{width:28px;height:28px;color:var(--ui-accent)}.player-plate-invite p{margin:0;color:var(--ui-text-muted);font-size:var(--text-sm);line-height:1.4}.player-plate-invite strong{color:var(--ui-value)}.player-plate-invite .signin-prompt-close{top:var(--space-2);right:0}@media(max-width:900px){.player-plate.signed-in{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"avatar who" "level level"}.player-plate-level{justify-self:start}.player-plate-invite{grid-template-columns:auto minmax(0,1fr)}.player-plate-invite .signin-prompt-buttons{grid-column:1 / -1}}@media(max-width:600px){.player-plate{padding:var(--space-3)}.player-plate-avatar{width:44px;height:44px;font-size:20px}.player-plate-name{font-size:24px}}.signin-prompt{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3) var(--space-4);margin:0 0 var(--space-4);padding:var(--space-3) var(--space-5) var(--space-3) var(--space-4);border:1px solid color-mix(in srgb,var(--ui-accent) 45%,transparent);border-radius:var(--radius-sm);background:linear-gradient(100deg,color-mix(in srgb,var(--ui-accent) 12%,transparent),transparent 70%);text-align:left}.signin-prompt-mark svg{display:block;width:34px;height:34px;color:var(--ui-accent)}.signin-prompt-text{display:grid;gap:2px;color:var(--ui-text-muted);font-size:var(--text-sm);line-height:1.4}.signin-prompt-text strong{color:var(--ui-value);font-size:var(--text-md)}.signin-prompt-missed{color:var(--achievement-gold);font-weight:600}.signin-prompt-buttons{display:flex;flex-wrap:wrap;gap:var(--space-2)}.signin-prompt-close{position:absolute;top:4px;right:6px;padding:2px 6px;border:0;background:none;color:var(--ui-text-muted);font-size:18px;line-height:1;cursor:pointer}.signin-prompt-close:hover{color:var(--ui-text)}.signin-prompt-end{grid-template-columns:auto minmax(0,1fr);margin:var(--space-3) 0}.signin-prompt-end .signin-prompt-buttons{grid-column:1 / -1}@media(max-width:900px){.signin-prompt{grid-template-columns:auto minmax(0,1fr)}.signin-prompt-buttons{grid-column:1 / -1}}.provider-button.provider-button-compact{width:auto;padding:0 14px}.end-xp{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);margin:var(--space-2) 0 var(--space-3)}.end-xp a{color:var(--ui-accent)}.end-xp-rewarded>a{order:1}.end-xp-rewarded>.end-xp-up,.end-xp-rewarded>.end-xp-note{order:2}.end-xp-pending,.end-xp-none{color:var(--ui-text-muted);font-size:var(--text-sm)}.xp-chip.xp-chip-pending{border-style:dashed;background:none;color:var(--ui-text-muted);animation:xp-pending 1.6s ease-in-out infinite}@keyframes xp-pending{50%{opacity:.45}}@media(prefers-reduced-motion:reduce){.xp-chip.xp-chip-pending{animation:none}}.end-xp-level{display:inline-flex;align-items:center;gap:var(--space-2)}.end-xp-level .xp-bar{width:120px}.end-xp-up{flex-basis:100%;color:var(--ui-accent);font-size:var(--text-sm);letter-spacing:.02em}.end-xp-note{flex-basis:100%;color:var(--ui-text-muted);font-size:var(--text-xs)}.primary-button.earns-xp{position:relative}.earns-xp-tag{position:absolute;top:0;right:var(--space-3);display:inline-flex;align-items:center;gap:4px;padding:3px 10px 3px 6px;transform:translateY(-60%);background:var(--ui-panel-solid);border:1px solid var(--ui-accent);border-radius:999px;box-shadow:0 2px 8px #06171499;color:var(--ui-accent);font-size:11px;font-weight:800;letter-spacing:.12em;line-height:1.3;text-transform:uppercase;white-space:nowrap;pointer-events:none;animation:earns-xp-in .42s cubic-bezier(.2,1.4,.4,1) both}.earns-xp-tag svg{width:16px;height:16px}.primary-button:disabled .earns-xp-tag{opacity:.7}@keyframes earns-xp-in{0%{opacity:0;transform:translateY(-20%) scale(.6)}}@media(prefers-reduced-motion:reduce){.earns-xp-tag{animation:none}}.account-off{display:grid;justify-items:start;gap:var(--space-3)}.role-badges{display:inline-flex;flex:none;align-items:center;gap:2px;margin-left:6px;vertical-align:middle;line-height:0}.role-badge svg{display:block;width:16px;height:16px}.player-list .role-badges{margin-left:2px}.player-list .role-badge svg{width:13px;height:13px}.role-badges-labels{gap:5px}.role-label{display:inline-flex;align-items:center;gap:4px;padding:2px 7px 2px 4px;border:1px solid color-mix(in srgb,var(--role-color) 75%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--role-color) 22%,transparent);color:color-mix(in srgb,var(--role-color) 35%,var(--ui-value));font-family:var(--font-ui);font-size:10px;font-weight:700;letter-spacing:.08em;line-height:1.2;text-transform:uppercase;white-space:nowrap}.role-label svg{width:14px;height:14px;flex:none}.player-card-name .role-badges{margin-left:10px;gap:6px}.player-card-name .role-badge svg{width:22px;height:22px}.player-card-name .role-label{padding:3px 8px 3px 5px;font-size:11px}.player-card-name .role-label svg{width:16px;height:16px}.player-card{margin-bottom:var(--space-2);border:1px solid var(--site-line);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--site-bg) 55%,transparent)}.lab-account-cards{display:grid;gap:var(--space-3);max-width:780px;pointer-events:none}.player-card-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-4);padding:var(--space-4)}.player-card-head .account-sign-out{grid-column:3;grid-row:1}.player-card-identity{grid-column:1 / -1;grid-row:2;min-width:0}.player-card-username{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-3);padding:var(--space-4);border:1px solid color-mix(in srgb,var(--hud-brass) 55%,transparent);border-radius:var(--radius-sm);background:linear-gradient(115deg,color-mix(in srgb,var(--hud-brass) 15%,var(--site-bg)),var(--site-bg))}.player-card-username-copy{min-width:0}.player-card-username-kicker{color:var(--hud-brass-light);font-size:var(--text-xs);font-weight:700;letter-spacing:.12em}.player-card-username h2{margin:var(--space-2) 0;color:var(--ui-value);font-family:var(--font-display);font-size:clamp(20px,3vw,28px);overflow-wrap:anywhere}.player-card-username-context{margin:0;line-height:1.5}.player-card-username:not(:has(.account-username-form)){border-color:color-mix(in srgb,var(--ui-success) 40%,transparent);background:linear-gradient(115deg,color-mix(in srgb,var(--ui-success) 10%,var(--site-bg)),var(--site-bg))}.player-card-username:not(:has(.account-username-form)) .player-card-username-kicker{color:var(--ui-success)}.player-card-username.is-claimed{padding:var(--space-2) var(--space-3)}.player-card-username.is-claimed .player-card-username-copy{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px var(--space-3)}.player-card-claimed-name{min-width:0;color:var(--ui-value);font-family:var(--font-display);font-size:var(--text-lg);overflow-wrap:anywhere}.player-card-claimed-note{color:var(--ui-text-muted);font-size:var(--text-xs)}.player-card-id{display:grid;gap:6px;min-width:0}.player-card-name{margin:0;color:var(--ui-value);font-family:var(--font-display);font-size:26px;line-height:1.1;overflow-wrap:anywhere}.player-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;color:var(--ui-text-muted);font-size:var(--text-xs)}.player-card-level{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:1px solid var(--site-line)}.player-card-level-text{display:grid;gap:6px;min-width:0}.player-card-level-text p{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);margin:0}.player-card-level-text strong,.player-card-rank{color:var(--ui-value);font-size:var(--text-md);letter-spacing:.02em}.player-card-next{color:var(--ui-text-muted);font-size:var(--text-xs)}.player-card-xp{color:var(--ui-text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;white-space:nowrap}.account-initial.account-initial-large{width:52px;height:52px;font-family:var(--font-display);font-size:24px;font-weight:700}.account-connected{display:flex;flex-wrap:wrap;gap:4px 12px;margin:0;padding:0;list-style:none}.account-connected li{display:inline-flex;align-items:center;gap:5px;color:var(--ui-text);font-size:var(--text-xs)}.account-connected .provider-mark{width:14px;height:14px}.account-connected .connected-discord .provider-mark{color:var(--discord-blurple)}.account-data-row .settings-note{margin:0;line-height:1.5}.account-username-form{min-width:0;max-width:600px}.account-username-controls{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:0}.account-username-prefix{padding:0 var(--space-2);color:var(--hud-brass-light);font-family:var(--font-display);font-size:var(--text-lg)}.account-username-controls input{min-width:0;width:100%;margin:0}.account-username-controls input[aria-invalid=true]{border-color:var(--ui-danger);box-shadow:0 0 0 2px var(--ui-danger-soft)}.account-username-controls button{margin-left:var(--space-2);white-space:nowrap}.account-username-form .account-fine-print{margin:var(--space-2) 0 0}.account-username-review{margin:var(--space-3) 0 0;padding:var(--space-2) var(--space-3);border-left:3px solid var(--hud-brass);background:color-mix(in srgb,var(--hud-brass) 12%,transparent);color:var(--ui-value);line-height:1.5}.account-username-review p{margin:0}.account-username-review-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.account-username-message{margin:var(--space-2) 0 0}.account-username-taken{font-size:var(--text-md)}.account-display-name-form{display:grid;justify-items:start;gap:var(--space-2);max-width:360px}.account-display-name-form .field,.account-display-name-form input{width:100%}.account-display-name-form .field,.account-display-name-form p{margin:0}.account-data-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3) var(--space-4)}.account-data-row .settings-note{flex:1 1 280px}.account-link .provider-buttons{margin-bottom:var(--space-2)}.stat-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2);margin:0}.stat-tile{display:flex;flex-direction:column;gap:6px;min-height:104px;box-sizing:border-box;padding:12px 14px;border:1px solid var(--site-line);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--site-bg) 55%,transparent)}.stat-tile dt{color:var(--ui-text-muted);font-size:var(--text-2xs);font-weight:800;letter-spacing:.16em;text-transform:uppercase}.stat-tile dd{display:flex;flex:1;flex-direction:column;gap:6px;margin:0}.stat-value{color:var(--ui-value);font-family:var(--font-display);font-size:28px;font-weight:700;line-height:1.05}.stat-value small{color:var(--ui-text-muted);font-family:var(--font-ui);font-size:var(--text-md);font-weight:700}.stat-detail{margin-top:auto;color:var(--ui-text-muted);font-size:var(--text-xs);line-height:1.35}@media(prefers-reduced-motion:no-preference){.stat-tiles-loading .stat-tile{animation:stat-wait 1.4s ease-in-out infinite alternate}}@keyframes stat-wait{to{opacity:.45}}.stat-meter{display:block;height:4px;overflow:hidden;border-radius:2px;background:var(--ui-border-soft)}.stat-meter>span{display:block;height:100%;background:var(--ui-accent)}.account-breakdowns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5);margin-top:var(--space-5)}.account-breakdowns>:only-child{grid-column:1 / -1}.account-breakdown h4{margin:0 0 var(--space-2);color:var(--ui-text);font-size:var(--text-xs);font-weight:800;letter-spacing:.12em;text-transform:uppercase}.account-breakdowns+.account-breakdown,.stat-tiles+.account-breakdown{margin-top:var(--space-5)}.account-breakdown>ul{display:grid;gap:var(--space-3);margin:0;padding:0;list-style:none}.account-breakdown>ul>li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 10px}.account-breakdown>ul>li.with-lead{grid-template-columns:auto minmax(0,1fr) auto}.account-breakdown>ul>li>.faction-crest{grid-row:span 2;width:30px;height:30px}.breakdown-name{display:grid;gap:1px;min-width:0;color:var(--ui-text);font-size:var(--text-md);font-weight:700}.breakdown-name small,.breakdown-rate small{color:var(--ui-text-muted);font-size:var(--text-xs);font-weight:400}.breakdown-rate{color:var(--ui-value);font-size:var(--text-xl);font-weight:800;text-align:right;font-variant-numeric:tabular-nums}.breakdown-rate small{margin-left:4px}.account-breakdown>ul>li>.stat-meter{grid-column:-3 / -1}.recent-matches{margin:0;padding:0;list-style:none;border-top:1px solid var(--ui-border-soft)}.recent-match{display:grid;grid-template-columns:76px minmax(0,1fr) auto;grid-template-areas:"result who when" "result details details";align-items:center;gap:3px var(--space-3);padding:10px 0;border-bottom:1px solid var(--ui-border-soft)}.result-pill{grid-area:result;justify-self:start;padding:3px 9px;border:1px solid var(--ui-border-soft);border-radius:999px;color:var(--ui-text-muted);font-size:var(--text-2xs);font-weight:800;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.result-pill.result-won{border-color:color-mix(in srgb,var(--ui-success) 55%,transparent);background:color-mix(in srgb,var(--ui-success) 12%,transparent);color:var(--ui-success)}.result-pill.result-lost{border-color:color-mix(in srgb,var(--ui-danger) 55%,transparent);background:var(--ui-danger-soft);color:var(--ui-danger)}.recent-who{grid-area:who;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0;color:var(--ui-text);font-size:var(--text-md);font-weight:700}.recent-vs{color:var(--ui-text-muted);font-size:var(--text-2xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase}.recent-crests{display:inline-flex;gap:3px}.recent-unknown{color:var(--ui-text-muted);font-weight:400}.recent-when{grid-area:when;color:var(--ui-text-muted);font-size:var(--text-xs);text-align:right;white-space:nowrap}.recent-details{grid-area:details;color:var(--ui-text-muted);font-size:var(--text-xs)}.recent-seed{display:block;margin-top:1px}.seed-number{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ui-text);-webkit-user-select:all;user-select:all}.account-more{margin-top:var(--space-2);padding:4px 0;border:0;background:none;color:var(--ui-accent);font-size:var(--text-sm);font-weight:700;cursor:pointer}.account-more:hover{text-decoration:underline}.account-more:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}.settings-card .form-section .account-stats>.account-fine-print,.settings-card .form-section .account-xp>.account-fine-print{margin:var(--space-4) 0 0}.settings-card .form-section .xp-today{margin:0 0 var(--space-2);color:var(--ui-text-muted);font-size:var(--text-sm)}.xp-today strong{color:var(--ui-value)}.xp-awards{margin:0;padding:0;list-style:none;border-top:1px solid var(--ui-border-soft)}.xp-award{display:grid;grid-template-columns:76px minmax(0,1fr) auto;align-items:baseline;gap:3px var(--space-3);padding:8px 0;border-bottom:1px solid var(--ui-border-soft);font-size:var(--text-sm)}.xp-award-amount{color:var(--ui-accent);font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.xp-award-amount.xp-award-taken{color:var(--ui-danger)}.xp-award-what{min-width:0;color:var(--ui-text);overflow-wrap:anywhere}.xp-award[data-reason=adjustment] .xp-award-what{color:var(--ui-text-muted);font-style:italic}.xp-award-when{color:var(--ui-text-muted);font-size:var(--text-xs);text-align:right;white-space:nowrap}.xp-missed{margin-top:var(--space-2)}.xp-missed-title{margin:0 0 4px;color:var(--ui-text-muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.xp-miss .xp-award-amount,.xp-miss .xp-award-what small{color:var(--ui-text-muted)}.admin-tag{display:inline-block;margin-right:4px;padding:1px 6px;border:1px solid var(--ui-warning);border-radius:var(--radius-sm);color:var(--ui-warning);font-size:var(--text-2xs);font-weight:800;letter-spacing:.14em;text-transform:uppercase;vertical-align:1px}.admin-search{display:block;margin:var(--space-3) 0 var(--space-2)}.admin-search input{box-sizing:border-box;width:100%;min-height:40px;padding:8px 12px;border:1px solid var(--ui-border-soft);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--site-bg) 60%,transparent);color:var(--ui-text);font-size:var(--text-md)}.admin-search input:focus-visible{outline:2px solid var(--ui-accent);outline-offset:1px}.admin-players{display:grid;margin:0;padding:0;list-style:none}.admin-player{padding:10px 0;border-top:1px solid var(--ui-border-soft)}.admin-player:first-child{border-top:0}.admin-player-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3)}.admin-player-row .account-initial{width:32px;height:32px}.admin-player-id{min-width:0}.admin-player-name{display:flex;align-items:center;margin:0;color:var(--ui-value);font-size:var(--text-lg);font-weight:700}.admin-player-name bdi{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-you{margin-left:8px;color:var(--ui-text-muted);font-size:var(--text-xs);font-weight:600}.admin-player-meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 12px;margin:3px 0 0;color:var(--ui-text-muted);font-size:var(--text-xs)}.admin-marks{display:inline-flex;gap:5px}.admin-marks .provider-mark{width:13px;height:13px;color:var(--ui-text)}.admin-marks .connected-discord{color:var(--discord-blurple)}.admin-view-as{min-height:34px;padding:4px 14px}.admin-confirm{margin:10px 0 0;border-color:color-mix(in srgb,var(--ui-warning) 55%,transparent);background:color-mix(in srgb,var(--ui-warning) 8%,transparent)}.admin-confirm strong{color:var(--ui-value)}.admin-reauth .provider-buttons{display:flex;flex-wrap:wrap;margin:0}.admin-log{margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--site-line)}.admin-log summary{padding:4px 0;color:var(--ui-accent);font-size:var(--text-sm);font-weight:700;cursor:pointer}.admin-log-list{margin:var(--space-2) 0 0;padding:0;list-style:none;font-size:var(--text-sm)}.admin-log-list li{display:grid;grid-template-columns:10.5em minmax(0,1fr);gap:var(--space-3);padding:5px 0;border-top:1px solid var(--ui-border-soft);overflow-wrap:anywhere}.admin-log-list time{color:var(--ui-text-muted);font-variant-numeric:tabular-nums}.admin-log-reason,.admin-log-ip{color:var(--ui-text-muted)}@media(max-width:520px){.admin-player-row{grid-template-columns:auto minmax(0,1fr)}.admin-player-row>.admin-view-as{grid-column:2;justify-self:start}.admin-log-list li{grid-template-columns:1fr;gap:0}}.account-panel a:is(.primary-button,.secondary-button){width:fit-content;text-decoration:none}.account-empty{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3) var(--space-4);padding:var(--space-4);border:1px dashed var(--site-line-strong);border-radius:var(--radius-sm)}.account-empty-icon{width:34px;height:34px;color:var(--ui-accent)}.account-empty-title{margin:0;color:var(--ui-value);font-family:var(--font-display);font-size:20px}.settings-card .account-empty .settings-note{margin:4px 0 0;line-height:1.45}.account-danger{margin-top:var(--space-3);padding:var(--space-4);border:1px solid color-mix(in srgb,var(--ui-danger) 50%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--ui-danger) 5%,transparent)}.account-danger .form-section-title{margin:0 0 var(--space-3);color:var(--ui-danger)}.account-danger-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3) var(--space-4)}.account-danger-row>.settings-note{flex:1 1 280px;margin:0;line-height:1.5}.account-danger-ask{flex:1 1 220px;margin:0;color:var(--ui-text);font-size:var(--text-md)}.site-page .danger-button.account-delete-confirm{background:var(--ui-danger);color:var(--ui-ink)}.site-page .danger-button.account-delete-confirm:hover:not(:disabled){background:color-mix(in srgb,var(--ui-danger) 85%,white)}@media(max-width:640px){.stat-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.account-breakdowns{grid-template-columns:minmax(0,1fr);gap:var(--space-4)}.player-card-head{grid-template-columns:auto minmax(0,1fr);gap:var(--space-3)}.player-card-head .account-sign-out{grid-column:1 / -1;grid-row:3;justify-content:center}.account-username-controls{grid-template-columns:auto minmax(0,1fr)}.account-username-controls button{grid-column:1 / -1;margin:var(--space-2) 0 0;justify-content:center}.account-empty{grid-template-columns:auto minmax(0,1fr)}.account-panel .account-empty>a.primary-button{grid-column:1 / -1;width:auto;justify-content:center}.recent-match{grid-template-columns:64px minmax(0,1fr) auto}.xp-award{grid-template-columns:64px minmax(0,1fr)}.xp-award-when{grid-column:2;text-align:left}.account-danger-row>button,.account-danger-row .account-actions>button{flex:1 1 auto;justify-content:center}.account-data-row>button{flex:1 1 auto;justify-content:center}}.panel-help{line-height:1.55;font-size:12px;color:var(--ui-text-muted);margin-top:15px}.subtle-button{margin-top:18px;padding:9px;background:transparent;border:1px solid var(--ui-border);color:var(--ui-text);font-size:11px}.subtle-button+.subtle-button{margin-top:8px}.subtle-button svg{width:15px;height:15px;vertical-align:-3px;margin-right:5px}kbd{display:inline-block;min-width:1.4em;padding:0 4px;border:1px solid var(--ui-border);border-radius:3px;font:inherit;font-size:.9em;text-align:center}.selection-panel{bottom:14px;left:14px;width:fit-content;max-width:calc(100% - var(--hud-right-width) - 45px);max-height:151px;padding:10px 12px}.selection-panel .selection-empty{margin-top:6px;padding:0}.selection-cards{display:flex;gap:6px;overflow-x:auto;margin-top:10px}.entity-card{min-height:88px;text-align:left;padding:8px;border-radius:3px;display:flex;flex-direction:column;gap:4px}.entity-card-head{display:flex;align-items:center;gap:6px}.entity-icon{display:block;width:30px;height:30px;flex:none;color:var(--ui-text)}.entity-icon svg{width:100%;height:100%}.entity-card:has(.unit-portrait){border-left:3px solid #8baa92}.selection-empty{font-size:13px;margin-top:30px}.minimap-panel{width:var(--hud-right-width);height:calc(var(--minimap-size) + 16px);bottom:14px;right:14px;padding:7px;display:flex;align-items:center;justify-content:center;gap:7px}.minimap-frame{flex:none;width:var(--minimap-size);height:var(--minimap-size);display:flex;align-items:center;justify-content:center}.minimap{display:block;max-width:100%;max-height:100%;border:1px solid var(--ui-border);cursor:crosshair;image-rendering:pixelated}.minimap.minimap-wide{width:100%}.minimap.minimap-tall{height:100%}.minimap-side{flex:none;align-self:stretch;width:20px;display:flex;flex-direction:column;align-items:center;gap:8px}.minimap-size{width:20px;height:20px;padding:0;border:1px solid var(--ui-border);border-radius:3px;background:var(--ui-surface);font-size:14px;line-height:1}.minimap-size:hover{background:var(--ui-surface-hover);border-color:var(--ui-accent);color:var(--ui-text)}.minimap-panel span{writing-mode:vertical-rl;white-space:nowrap;color:var(--ui-text-muted);font-size:var(--text-2xs);letter-spacing:.14em}.debug-overlay{position:absolute;z-index:20;left:14px;top:350px;background:#081612e8;color:#cff1d2;padding:10px;font:11px/1.6 ui-monospace,monospace;border:1px solid var(--ui-border)}.debug-overlay button{background:var(--ui-surface);color:var(--ui-text);border:0;margin-top:5px;padding:5px}.end-shade{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center}.end-card{background:var(--ui-panel-solid);border:1px solid var(--ui-accent);padding:50px;width:min(460px,90vw);box-shadow:0 30px 100px #020c09}.end-card h1{font-family:var(--font-display);font-size:70px;margin:13px 0}@media(max-width:1000px){.resource-panel{width:165px;padding:10px}.resource{font-size:11px}.game-shell,.game-shell.minimap-large{--minimap-size: 148px;--hud-right-width: 205px}.brand-mini{font-size:10px}.action-grid{grid-template-columns:1fr 1fr}.action{font-size:10px}}@media(max-width:720px){.menu-content{margin:25px auto;width:calc(100vw - 30px)}.menu-card{padding:25px}.game-top{gap:8px;padding:0 7px}.brand-mini{font-size:0;margin-right:auto}.stage-chip,.time-chip{font-size:11px}.top-actions button{padding:6px}.resource-panel{top:60px;left:5px;width:140px;padding:8px}.resource{font-size:10px}.resource-icon{font-size:12px}.action-panel{top:auto;right:5px;bottom:5px;width:185px;height:220px;padding:9px}.selection-panel{left:5px;bottom:5px;right:auto;max-width:calc(100% - 200px);max-height:105px;padding:8px}.selection-cards{margin-top:4px}.entity-card{min-width:90px;width:90px;min-height:58px}.minimap-panel{right:5px;top:60px;bottom:auto;width:115px;height:116px;padding:4px}.game-shell,.game-shell.minimap-large{--minimap-size: 105px}.minimap-side{display:none}}.net-chip{display:flex;gap:10px;align-items:center;padding:6px 10px;border:1px solid var(--ui-border);border-radius:4px;font-size:12px;white-space:nowrap}.net-chip.ok{color:var(--ui-healthy)}.net-chip.bad{color:var(--ui-danger);border-color:var(--ui-danger)}.net-chip .peer{color:var(--ui-text);opacity:.8}.net-chip .peer.bad{color:var(--ui-danger);opacity:1}.net-banner{position:fixed;top:64px;left:50%;transform:translate(-50%);z-index:30;display:flex;gap:14px;align-items:center;max-width:min(640px,calc(100vw - 32px));padding:12px 16px;background:var(--ui-panel-solid);border:1px solid var(--ui-accent);border-radius:6px;color:var(--ui-value);font-size:13px}.net-banner .primary-button{padding:8px 14px}.survival-panel{display:flex;flex-direction:column;gap:6px;padding:12px 14px 13px;border-radius:3px;font-size:var(--text-sm)}.survival-panel-head{display:flex;align-items:center;gap:7px;letter-spacing:.12em;text-transform:uppercase;font-size:var(--text-xs)}.survival-panel-head svg{width:20px;height:20px}.survival-panel-main{font-size:var(--text-md);font-variant-numeric:tabular-nums}.survival-panel-main b{font-family:var(--font-display);font-size:22px;font-weight:400}.survival-panel[data-phase=wave] .survival-panel-main b{color:var(--ui-danger)}.survival-meter{height:6px;overflow:hidden;border:1px solid rgb(0 0 0 / 40%);border-radius:3px;background:#00000047}.survival-meter>span{display:block;height:100%;background:var(--ui-accent);transition:width .2s linear}.survival-panel[data-phase=wave] .survival-meter>span{background:var(--ui-danger)}.survival-panel-next{display:flex;flex-direction:column;gap:2px;margin:0;line-height:1.35}.survival-panel-from{opacity:.8}.survival-panel-find{align-self:flex-start;padding:4px 10px;font-size:var(--text-xs)}.survival-tools{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:2px;padding-top:6px;border-top:1px dashed rgb(0 0 0 / 35%)}.survival-tools-toggle{padding:3px 9px;font-size:var(--text-xs)}.survival-tools-body{display:flex;flex-direction:column;gap:5px}.survival-tools-pick{display:flex;gap:6px}.survival-call{display:flex;flex-wrap:wrap;align-items:center;gap:5px 8px;margin-top:2px}.survival-panel .survival-call-button{min-height:0;padding:5px 14px;justify-content:center;font-size:var(--text-sm)}.survival-panel .survival-call-button:disabled{border:1px dashed var(--ui-border);background:var(--ui-surface);box-shadow:none;color:var(--ui-text-muted);text-shadow:none}.survival-call-bonus{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs);font-weight:700;color:var(--ui-success)}.survival-call-bonus .cost-list{gap:2px 7px}.survival-call-blocked{flex-basis:100%;line-height:1.3}.survival-panel .survival-panel-choice{min-height:0;align-self:flex-start;padding:5px 12px;font-size:var(--text-sm)}.survival-choice{position:fixed;top:33%;left:50%;transform:translate(-50%);z-index:28;display:flex;flex-direction:column;gap:12px;width:min(780px,calc(100vw - 32px));padding:16px 18px 14px;border-radius:3px;animation:survival-banner-in .26s ease-out}.survival-choice-head{display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center}.survival-choice-head strong{color:var(--ui-value);font-family:var(--font-display);font-size:24px;font-weight:400;letter-spacing:.04em}.survival-choice-head span{color:var(--ui-text-muted);font-size:var(--text-sm)}.survival-choice-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.survival-boon.info-card{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-2);width:auto;font:inherit;font-size:var(--text-sm);text-align:left;transition:transform .12s ease-out,border-color .12s ease-out}.survival-boon.info-card:hover,.survival-boon.info-card:focus-visible{transform:translateY(-2px);border-color:var(--hud-brass-dark)}.survival-boon .info-card-art{width:40px;height:40px}.survival-boon .info-card-art svg{width:32px;height:32px}.survival-boon .info-card-art .unit-portrait{width:40px;height:40px}.survival-boon-text{color:var(--ui-text-muted);line-height:1.45}.survival-choice .survival-choice-later{align-self:center;min-height:0;padding:5px 16px;font-size:var(--text-sm)}.game-shell.touch .survival-choice{top:50%;transform:translate(-50%,-50%);max-height:calc(100% - 24px);overflow-y:auto;animation:none}@media(max-width:760px){.survival-choice-cards{grid-template-columns:1fr}.survival-choice-head strong{font-size:19px}}.game-shell.touch .survival-panel{padding:9px 11px 10px}.game-shell.touch .survival-panel-next>span:first-child{display:none}.hud-column{position:absolute;z-index:8;top:68px;left:14px;display:flex;flex-direction:column;gap:8px;width:236px;max-height:calc(100vh - 308px);pointer-events:none}.hud-column>*{pointer-events:auto}.hud-column>.survival-panel{flex:none}.game-shell .hud-column>.resource-panel,.game-shell.touch .hud-column>.resource-panel{position:static;flex:0 1 auto;width:auto;min-height:0;max-height:none}.game-shell.touch .hud-column{top:calc(var(--touch-top) + 14px);left:calc(14px + var(--safe-left));width:196px;max-height:calc(100% - var(--touch-top) - 220px)}.survival-banner{position:fixed;top:22%;left:50%;transform:translate(-50%);z-index:29;display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 28px;background:var(--ui-panel-solid);border:1px solid var(--ui-accent);border-radius:var(--radius-lg);color:var(--ui-text-muted);font-size:var(--text-md);text-align:center;pointer-events:none;animation:survival-banner-in .26s ease-out}.survival-banner strong{color:var(--ui-value);font-family:var(--font-display);font-size:30px;letter-spacing:.08em}.survival-banner.coming strong{color:var(--ui-danger)}.survival-banner.cleared strong{color:var(--ui-success)}.survival-banner-boss{color:var(--ui-accent);font-family:var(--font-display);font-size:var(--text-lg);font-style:normal;letter-spacing:.06em}@keyframes survival-banner-in{0%{opacity:0;transform:translate(-50%,-8px)}}@media(prefers-reduced-motion:reduce){.survival-banner,.survival-choice{animation:none}.survival-boon.info-card{transition:none}.survival-meter>span{transition:none}}@media(max-width:760px){.survival-banner strong{font-size:22px}}.boss-bars{display:flex;flex-direction:column;gap:6px}.boss-bar{display:flex;align-items:center;gap:8px}.boss-bar-face{flex:none;width:30px;height:30px;overflow:hidden;border:1px solid var(--ui-accent);border-radius:3px}.boss-bar-face svg{display:block;width:100%;height:100%}.boss-bar-body{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}.boss-bar-name{display:flex;align-items:baseline;justify-content:space-between;gap:6px}.boss-bar-name strong{overflow:hidden;color:var(--ui-value);font-family:var(--font-display);font-size:var(--text-md);font-weight:400;letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap}.boss-bar-name small{color:var(--ui-text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.boss-bar-track{height:8px;overflow:hidden;border:1px solid rgb(0 0 0 / 45%);border-radius:3px;background:#0000004d}.boss-bar-track>span{display:block;height:100%;background:var(--ui-danger);transition:width .2s linear}@media(prefers-reduced-motion:reduce){.boss-bar-track>span{transition:none}}.end-card.wide{width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow-y:auto}.summary-panel{margin:12px 0;text-align:left;font-size:12px}.summary-head,.summary-foot{margin:8px 0;color:var(--ui-text-muted)}.summary-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px var(--space-4)}.summary-scroll{overflow-x:auto}.summary-panel table{width:100%;border-collapse:collapse}.summary-panel th,.summary-panel td{padding:4px 6px;border-bottom:1px solid #2f4540;text-align:left;vertical-align:top}.summary-panel td:first-child{color:var(--ui-text-muted);white-space:nowrap}.summary-panel .summary-teams th{color:var(--ui-accent);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;border-left:1px solid var(--ui-border-soft)}.summary-panel .summary-team{display:inline-flex;align-items:center;gap:5px}.summary-wait{opacity:.7}.controls-overlay{position:fixed;top:64px;right:calc(var(--hud-right-width, 245px) + 45px);z-index:25;width:min(460px,calc(100vw - 32px));max-height:calc(100vh - 240px);overflow-y:auto;padding:14px 16px;background:var(--ui-panel-strong);border:1px solid var(--ui-border);border-radius:6px;font-size:12px}.controls-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.controls-overlay td{padding:3px 6px;vertical-align:top}.controls-overlay td:first-child{white-space:nowrap;color:var(--ui-accent)}.controls-overlay p{margin:10px 0 0;opacity:.8}.loading-screen{display:grid;place-items:center;height:100vh;color:var(--ui-accent);letter-spacing:.08em}.controls-table{width:100%;margin-top:14px;border-collapse:collapse;font-size:13px}.controls-table td{padding:4px 8px;border-bottom:1px solid var(--ui-border-soft)}.controls-table td:first-child{color:var(--ui-accent)}.hud-left{position:absolute;left:14px;bottom:calc(var(--selection-height, 150px) + 50px);z-index:5;display:flex;flex-direction:column;gap:6px;max-width:340px;pointer-events:none}.hud-left>*{pointer-events:auto}.idle-bar{display:flex;gap:6px}.idle-bar button{display:flex;align-items:center;gap:5px;padding:4px 8px;font-size:11px;background:var(--ui-panel);border:1px solid var(--ui-border);color:var(--ui-text)}.idle-bar button svg{width:16px;height:16px}.game-shell{user-select:none;-webkit-user-select:none}.notice-stack{position:absolute;left:50%;top:66px;transform:translate(-50%);z-index:20;display:flex;flex-direction:column;align-items:center;width:min(520px,calc(100vw - 560px));min-width:280px;pointer-events:none}.notice{pointer-events:auto;display:flex;align-items:center;width:100%;font-size:13px;text-align:left;cursor:default}.notice.located{cursor:pointer}.notice-glyph{display:inline-grid;place-items:center;flex:none}.notice-count{margin-left:auto;font-size:11px}.notice span.building-name{white-space:normal}.resource strong{display:flex;flex-direction:column;align-items:flex-end;line-height:1.1}.resource .income{text-transform:none;font-size:var(--text-xs);font-weight:500;opacity:.85}.production-queue{display:flex;flex-direction:column;gap:4px;max-height:260px;overflow-y:auto}.production-row{display:flex;align-items:flex-end;gap:4px;width:fit-content;max-width:340px;flex-wrap:wrap;padding:4px 6px;background:var(--ui-panel);border:1px solid var(--ui-border);border-radius:4px;color:var(--ui-value);font-size:11px;cursor:pointer}.production-row:hover{border-color:var(--ui-accent)}.production-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:2px;border:1px solid transparent;border-radius:3px}.production-item.waiting{opacity:.6}.production-item.waiting:hover{opacity:1;border-color:var(--ui-danger)}.production-icon{display:inline-grid;place-items:center;width:28px;height:28px}.production-item.waiting .production-icon{width:22px;height:22px}.production-icon svg,.production-icon img{width:100%;height:100%}.production-icon img{display:block}.production-bar{width:30px;height:4px;border-radius:2px;overflow:hidden}.production-bar span{display:block;height:100%;background:var(--ui-accent)}.production-time{font-size:var(--text-xs);opacity:.8}.production-item.construction{border-color:var(--ui-success);background:#8fd17a14}.production-item.construction .production-bar span{background:var(--ui-success)}.production-time.stalled{color:var(--ui-warning);opacity:1}.details{display:flex;flex-direction:column;gap:3px;margin:4px 0 12px;font-size:11px}.detail-row{display:flex;justify-content:space-between;gap:10px;padding:2px 0;border-bottom:1px solid var(--ui-border-soft)}.detail-row>span{color:var(--ui-text-muted);white-space:nowrap}.detail-row strong{color:var(--ui-value);font-weight:500;text-align:right}.detail-text{margin:2px 0 0;color:var(--ui-value);line-height:1.35}.resource-tone.provisions,.resource-icon.provisions{color:var(--res-provisions)}.resource-tone.timber,.resource-icon.timber{color:var(--res-timber)}.resource-tone.ore,.resource-icon.ore{color:var(--res-ore)}.resource-tone.renown,.resource-icon.renown{color:var(--res-renown)}.player-swatch{display:inline-block;width:10px;height:10px;margin-right:7px;border-radius:2px;vertical-align:-1px;box-shadow:0 0 0 1px var(--ui-ink)}.action-wrap{display:block}.action-panel .action small{font-size:var(--text-2xs)}.info-card{width:250px;padding:var(--space-3);background:var(--ui-panel-strong);border:1px solid var(--ui-border);border-radius:var(--radius-lg);box-shadow:0 10px 30px #06151199;font-size:var(--text-sm);color:var(--ui-text)}.hover-card{position:fixed;right:calc(var(--hud-right-width, 245px) + 27px);z-index:26;pointer-events:none}.info-card-head{display:flex;align-items:center;gap:var(--space-2)}.info-card-head strong{display:block;font-size:var(--text-lg);color:var(--ui-value)}.info-card-head small{display:block;margin-top:2px}.info-card-art{display:grid;place-items:center;flex:none;width:40px;height:40px}.info-card-art svg{width:100%;height:100%}.info-card-art:not(:has(.unit-portrait)) svg{width:26px;height:26px}.info-card-cost{display:flex;flex-wrap:wrap;gap:4px 10px;margin:var(--space-2) 0 0;padding-top:var(--space-2);border-top:1px solid var(--ui-border-soft)}.cost-list{display:inline-flex;flex-wrap:wrap;gap:4px 10px}.cost{display:inline-flex;align-items:center;gap:3px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ui-value)}.cost svg{width:15px;height:15px}.cost.resource-tone svg{color:inherit}.cost.resource-tone{color:var(--ui-value)}.cost.resource-tone.provisions svg{color:var(--res-provisions)}.cost.resource-tone.timber svg{color:var(--res-timber)}.cost.resource-tone.ore svg{color:var(--res-ore)}.cost.resource-tone.renown svg{color:var(--res-renown)}.info-card p{margin:var(--space-2) 0 0;line-height:1.45;color:var(--ui-text-muted)}.info-card-stats{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;margin-top:var(--space-2)}.info-card-stats span{display:grid;grid-template-columns:15px 1fr auto;align-items:center;gap:5px}.info-card-stats svg{width:15px;height:15px;color:var(--ui-text-muted)}.info-card-stats small{font-size:var(--text-xs)}.info-card-stats b{font-variant-numeric:tabular-nums;color:var(--ui-value)}.stat-boost{margin-left:.3em;color:var(--ui-success);font-weight:600}.info-card-stats .stat-boost{display:inline}.info-card-line{margin-top:6px;font-size:var(--text-xs)}.info-card-line b{margin-right:4px}.info-card-line.good b{color:var(--ui-success)}.info-card-line.bad b{color:var(--ui-danger)}.info-card-hint{display:block;margin-top:6px;font-size:var(--text-xs);color:var(--ui-text-muted)}.info-card-blocker{margin-top:var(--space-2);padding:6px 8px;border-left:3px solid var(--ui-danger);color:var(--ui-danger);font-weight:700}.detail-row span{display:inline-flex;align-items:center;gap:5px}.detail-row span svg{width:13px;height:13px;flex:none}.full-chip{color:var(--ui-success);font-weight:800}.entity-card{border-left:3px solid var(--ui-border)}.entity-card{min-width:140px;width:140px}.entity-card.group-card{min-width:128px;width:128px}.entity-card-head>.entity-card-name{display:flex;flex-direction:column;min-width:0}.entity-card-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entity-card-head small,.entity-card span,.entity-card small{font-size:var(--text-2xs)}.entity-card strong{font-size:var(--text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entity-icon.portrait{width:34px;height:34px}.group-count{font-size:var(--text-md);font-variant-numeric:tabular-nums}.hp-bar{display:block;height:5px;border-radius:2px;background:#0f201d;overflow:hidden}.hp-bar>span{display:block;height:100%;background:var(--ui-healthy)}.hp-bar>span.low{background:var(--ui-danger)}.action-icon:has(.unit-portrait){width:34px;height:34px}.action{height:66px;min-height:0;justify-content:flex-start}.action:has(.unit-portrait){height:86px}.action>span:not(.action-icon),.action>small{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action>small{margin-top:auto}.panel-note{padding:8px 0;font-size:var(--text-sm);color:var(--ui-text-muted)}.order-bar{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:6px;margin:10px 0 4px}.order-bar.two{grid-template-columns:1fr 1fr;margin-top:12px}.order{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:50px;min-width:0;padding:4px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--radius-sm);color:var(--ui-text);font-size:var(--text-xs);font-weight:700;text-align:center}.order svg{width:18px;height:18px;flex:none}.order-top{display:flex;align-items:center;gap:5px}.order-label{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.order kbd{min-width:0;padding:0 3px;white-space:nowrap;font-size:var(--text-2xs);line-height:1.3;color:var(--ui-text-muted)}.order:hover:not(:disabled){background:var(--ui-surface-hover);border-color:var(--ui-accent)}.action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.action-grid>div,.action-wrap{min-width:0}.queue-slots{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.queue-slot{position:relative;display:grid;place-items:center;aspect-ratio:1;padding:3px;border-radius:var(--radius-sm);color:var(--ui-accent);overflow:hidden}.queue-slot.empty{border-style:dashed;border-color:var(--ui-border-soft)}.queue-slot svg{width:100%;height:100%}.queue-slot-progress{position:absolute;left:0;bottom:0;height:4px;background:var(--ui-accent)}.queue-slot-cancel{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#3a1d17cc;color:var(--ui-danger);font-weight:800;opacity:0}.queue-slot:not(.empty):hover .queue-slot-cancel{opacity:1}.mode-hint{position:absolute;z-index:12;left:50%;bottom:calc(var(--selection-height, 150px) + 30px);transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 16px;border-radius:var(--radius-lg);pointer-events:none;font-size:var(--text-md);color:var(--ui-value)}.mode-hint .mode-hint-problem{color:var(--ui-danger)}.accepts{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:2px 8px}.accepts>span{display:inline-flex;align-items:center;gap:3px;color:var(--ui-value)}.accepts svg{width:13px;height:13px}.accepts .provisions svg{color:var(--res-provisions)}.accepts .timber svg{color:var(--res-timber)}.accepts .ore svg{color:var(--res-ore)}.resource>span:nth-child(2){display:flex;flex-direction:column;line-height:1.15}.resource-workers{display:inline-flex;align-items:center;gap:3px;font-size:var(--text-2xs);color:var(--ui-text-muted)}.resource-workers.none{color:var(--ui-warning)}.resource-workers svg{width:11px;height:11px}.order-bar.stances{grid-template-columns:repeat(3,1fr);margin-top:0}.order-bar.stances .order{height:44px;font-size:var(--text-2xs)}.entity-card{position:relative}.engaged-badge{position:absolute;bottom:6px;right:6px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#3a1d17;color:var(--ui-alert)}.engaged-badge svg{width:12px;height:12px}@keyframes engaged-pulse{50%{box-shadow:0 0 0 3px #ff5b4533}}.form-note{margin:12px 0 0;padding:8px 10px;border-left:3px solid var(--ui-accent);background:#e8cf870f;font-size:var(--text-sm);color:var(--ui-text-muted)}@media(max-height:760px){.menu-content{margin-top:28px;margin-bottom:28px}.menu-card{padding:28px 34px}.primary-button,.secondary-button{min-height:42px;padding-top:9px;padding-bottom:9px}}.controls-groups{display:grid;gap:var(--space-4)}.controls-group h3{margin:0;font-size:var(--text-2xs);letter-spacing:.2em;text-transform:uppercase;color:var(--ui-text-muted)}.controls-group-note{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--ui-text-muted)}.controls-group .controls-table{margin-top:var(--space-1)}.controls-table td{vertical-align:top;line-height:1.5}.controls-table td:first-child{width:42%;white-space:normal}.controls-table kbd,.hotkey-grid kbd,.guide-card kbd{color:var(--ui-value);background:var(--ui-surface);line-height:1.5;margin:1px 0}.controls-overlay .controls-table{font-size:inherit}.hotkey-grid{list-style:none;margin:var(--space-2) 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-1) var(--space-3)}.hotkey-grid li{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-md)}.controls-overlay .hotkey-grid li{font-size:inherit}.hotkey-grid kbd{min-width:1.8em}.guide-card h1{margin-bottom:var(--space-4)}.guide-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:var(--space-4)}.guide-tabs :is(button,a),.controls-tabs button{min-height:34px;padding:6px 12px;border-radius:var(--radius-sm);border:1px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-text);font-size:var(--text-md);font-weight:700}.guide-tabs :is(button,a):hover,.controls-tabs button:hover{background:var(--ui-surface-hover)}.guide-tabs :is(button,a).active,.controls-tabs button.active{background:var(--ui-accent);border-color:var(--ui-accent);color:var(--ui-ink)}.guide-tabs a{display:grid;place-items:center;text-align:center;text-decoration:none}.guide-panel{border-top:1px solid var(--ui-border-soft);padding-top:var(--space-4);font-size:var(--text-md);line-height:1.55}.guide-panel p{margin:0}.guide-panel .guide-panel-title{font-family:var(--font-display);font-size:22px;font-weight:400;color:var(--ui-accent);margin:0 0 var(--space-2)}.guide-lead{color:var(--ui-text-muted);margin-bottom:var(--space-4)!important}.guide-subhead{margin:var(--space-4) 0 var(--space-2);font-size:var(--text-2xs);letter-spacing:.2em;text-transform:uppercase;color:var(--ui-text-muted)}.guide-panel .cost-list{vertical-align:-2px}.guide-building,.guide-unit{display:inline-flex;align-items:center;gap:4px;font-weight:700;color:var(--ui-value);white-space:nowrap}.guide-building svg{width:16px;height:16px;color:var(--ui-accent)}.guide-building kbd{font-size:var(--text-2xs);font-weight:700}.guide-unit .unit-portrait{width:28px;height:28px}.guide-steps{list-style:none;counter-reset:guide-step;margin:0;padding:0;display:grid;gap:var(--space-3)}.guide-steps li{counter-increment:guide-step;display:grid;grid-template-columns:44px 1fr;gap:var(--space-3);align-items:start}.guide-step-icon{position:relative;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--ui-border);border-radius:var(--radius);background:var(--ui-surface);color:var(--ui-accent)}.guide-step-icon svg{width:26px;height:26px}.guide-step-icon .unit-portrait{width:42px;height:42px}.guide-step-icon:after{content:counter(guide-step);position:absolute;top:-7px;left:-7px;width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:var(--ui-accent);color:var(--ui-ink);font-size:var(--text-2xs);font-weight:800}.guide-steps b{color:var(--ui-accent)}.guide-steps p{color:var(--ui-text-muted)}.guide-steps-plain li{grid-template-columns:26px 1fr}.guide-steps-plain li:before{content:counter(guide-step);display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--ui-accent);color:var(--ui-ink);font-size:var(--text-xs);font-weight:800}.guide-steps-plain p{color:var(--ui-text)}.guide-list{margin:var(--space-4) 0 0;padding-left:18px;display:grid;gap:6px;color:var(--ui-text-muted)}.guide-list b{color:var(--ui-text)}.guide-subhead+.guide-list{margin-top:0}.guide-stage-cost{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:2px}.guide-stage-cost .guide-stat{font-size:var(--text-sm);font-weight:700}.guide-list-roomy{margin-top:0;gap:var(--space-3)}.guide-resources,.guide-defenses,.guide-units{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.guide-resource,.guide-defense,.guide-unit-card,.guide-stage{border:1px solid var(--ui-border-soft);border-radius:var(--radius-lg);background:var(--ui-panel-solid);padding:var(--space-3)}.guide-resource{display:grid;grid-template-columns:36px 1fr;gap:var(--space-3)}.guide-resource-icon svg{width:36px;height:36px}.guide-resource p{color:var(--ui-text-muted);margin-top:2px}.guide-dropoffs{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:6px!important;font-size:var(--text-sm)}.guide-stages{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.guide-stage{display:flex;flex-direction:column;gap:var(--space-2)}.guide-stage header{display:flex;gap:var(--space-2);align-items:flex-start}.guide-stage h3{margin:0;font-family:var(--font-display);font-size:18px;font-weight:400;color:var(--ui-accent)}.guide-stage small{display:block;color:var(--ui-text-muted);font-size:var(--text-sm)}.guide-stage-number{flex:none;display:grid;place-items:center;width:24px;height:24px;margin-top:2px;border-radius:50%;border:1px solid var(--ui-accent);color:var(--ui-accent);font-weight:800;font-size:var(--text-sm)}.guide-unlocks{display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-size:var(--text-sm)}.guide-research{display:flex;gap:6px;align-items:flex-start;font-size:var(--text-sm);color:var(--ui-text-muted)}.guide-research svg{flex:none;width:15px;height:15px;margin-top:2px;color:var(--ui-accent)}.counter-cycle{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,auto);gap:var(--space-2);max-width:420px;margin:0 auto var(--space-4);align-items:center;justify-items:center;text-align:center}.counter-unit{display:grid;justify-items:center;gap:2px}.counter-unit .unit-portrait{width:56px;height:56px}.counter-unit b{color:var(--ui-value);font-size:var(--text-md)}.counter-arrow{display:grid;justify-items:center;color:var(--ui-accent)}.counter-arrow span{font-size:28px;line-height:1}.counter-arrow small{font-size:var(--text-xs);color:var(--ui-text-muted)}.counter-cycle figcaption{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--ui-text-muted)}.guide-unit-card{display:grid;grid-template-columns:44px 1fr;gap:var(--space-3);align-items:start}.guide-unit-card>.unit-portrait{width:44px;height:44px}.guide-unit-card header b{color:var(--ui-value)}.guide-unit-card header small{display:block;font-size:var(--text-xs);color:var(--ui-text-muted)}.guide-unit-card p{margin-top:4px;font-size:var(--text-sm);color:var(--ui-text-muted)}.guide-unit-meta{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}.guide-tag{font-size:var(--text-xs);font-weight:700;color:var(--ui-success)}.guide-defense header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px var(--space-2);margin-bottom:6px}.guide-defense>p{color:var(--ui-text-muted);font-size:var(--text-sm)}.guide-defense-stats{display:flex;flex-wrap:wrap;gap:2px 10px;margin-bottom:6px!important}.guide-stat{display:inline-flex;align-items:center;gap:3px;font-size:var(--text-xs);color:var(--ui-value)!important}.guide-stat svg{width:13px;height:13px;color:var(--ui-text-muted)}.guide-research-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.guide-research-list li{display:grid;grid-template-columns:auto 1fr;gap:0 var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--ui-border-soft)}.guide-research-list b{color:var(--ui-value)}.guide-research-list small{justify-self:end;color:var(--ui-text-muted)}.guide-research-list span{grid-column:1 / -1;color:var(--ui-text-muted);font-size:var(--text-sm)}@media(max-width:720px){.guide-card h1{font-size:36px}.guide-tabs{gap:4px}.guide-tabs :is(button,a){padding:6px 2px;font-size:var(--text-xs)}.guide-resources,.guide-defenses,.guide-units,.guide-stages{grid-template-columns:1fr}.controls-table td:first-child{width:45%}.guide-research-list small{grid-column:1 / -1;justify-self:start}}span.building-name{display:inline;color:inherit;white-space:nowrap}span.building-name>.building-icon{display:inline-block;width:1.5em;height:1.5em;margin:-.25em .3em -.25em 0;vertical-align:middle}.brand-mini .app-version{font-size:var(--text-2xs);font-weight:500;letter-spacing:.1em;color:var(--ui-text-muted);opacity:.8}.game-top{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:16px}.game-top .brand-mini{margin-right:0;margin-left:auto}.top-faction .faction-crest{width:26px;height:26px}.top-faction.with-avatar{position:relative;display:flex;align-items:center;padding-right:9px}.top-faction .realm-avatar{width:32px;height:32px;border:2px solid var(--hud-brass);background:var(--hud-wood-deep);box-shadow:0 0 0 1px var(--hud-wood-deep),0 1px 3px #0000008c;color:var(--hud-brass-light);font-size:14px;font-weight:800}.top-faction .realm-badge{position:absolute;right:0;bottom:-4px;display:flex;filter:drop-shadow(0 0 1px var(--hud-wood-deep)) drop-shadow(0 1px 1px rgb(0 0 0 / 70%))}.top-faction .realm-badge .faction-crest{width:19px;height:19px}.top-faction .avatar-framed.realm-avatar{width:28px;height:28px;margin-left:7px;border:0;box-shadow:none}@media(max-width:720px){.top-faction.with-avatar{padding-right:7px}.top-faction .realm-avatar{width:26px;height:26px}.top-faction .avatar-framed.realm-avatar{width:22px;height:22px;margin-left:5px}.top-faction .realm-badge .faction-crest{width:15px;height:15px}}.top-vs{margin:0 -8px;font-size:var(--text-2xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ui-text-muted)}.realm-slot{align-items:center}.realm-tip .resource-tip-head .faction-crest{width:28px;height:28px}.realm-tip .resource-tip-rows .player-swatch{width:12px;height:12px;margin:0 2px}.realm-tip .resource-tip-rows .unit-portrait{width:18px;height:18px;margin:-1px}.realm-tip .resource-tip-rows b{display:inline-flex;align-items:center;gap:6px}.realm-tip .realm-roles .role-badges{margin-left:0}.realm-tip .resource-tip-rows .realm-avatar{width:18px;height:18px;margin:-1px 0;font-size:9px;font-weight:800}.realm-tip .resource-tip-rows .avatar-framed.realm-avatar{margin:-1px 3px}.game-top .top-actions{justify-self:stretch;align-items:center;min-width:0}.top-center{display:flex;align-items:center;gap:16px;justify-self:center}.top-right{display:flex;align-items:center;gap:12px;justify-self:end;min-width:0}.top-resources{display:flex;align-items:center;gap:6px}.resource.bar{display:flex;align-items:center;gap:7px;padding:2px 10px 2px 6px;border:1px solid var(--hud-wood-deep);border-radius:3px;background:linear-gradient(180deg,#00000057,#0000002e);box-shadow:inset 0 1px 2px #0000008c,0 1px #ecd49a24;text-transform:none;font-size:12px;white-space:nowrap}.resource.bar .resource-icon svg{width:26px;height:26px}.resource.bar .bar-values{display:flex;flex-direction:column;line-height:1.1}.resource.bar strong{display:block;font-size:15px;color:var(--hud-value)}.resource.bar small{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--hud-text-muted)}.resource.bar .income{font-size:10px}.resource.bar.renown{border-color:var(--hud-brass-dark);background:linear-gradient(180deg,#78561e6b,#3c280c4d);box-shadow:inset 0 1px 2px #00000073,inset 0 0 0 1px #ecd49a1f}.resource.bar.population.full strong{color:var(--ui-warning)}.resource-slot{position:relative;display:flex}.resource-tip{position:absolute;top:calc(100% + 9px);left:50%;z-index:30;width:270px;text-transform:none;letter-spacing:normal;white-space:normal;pointer-events:none;opacity:0;visibility:hidden;transform:translate(-50%,-4px);transition:opacity .12s ease,transform .12s ease,visibility 0s linear .12s}.resource-slot:hover>.resource-tip{opacity:1;visibility:visible;transform:translate(-50%);transition:opacity .14s ease .25s,transform .14s ease .25s,visibility 0s linear .25s}.resource-tip-head{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px;padding-bottom:var(--space-2);border-bottom:1px solid var(--ui-border-soft)}.resource-tip-head .resource-icon{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--hud-parchment-edge);border-radius:50%;background:var(--hud-wood);box-shadow:inset 0 1px 3px #0000008c}.resource-tip-head .resource-icon svg{width:26px;height:26px}.resource-tip-head .resource-icon.provisions{color:var(--res-provisions)}.resource-tip-head .resource-icon.timber{color:var(--res-timber)}.resource-tip-head .resource-icon.ore{color:var(--res-ore)}.resource-tip-head .resource-icon.renown{color:var(--res-renown)}.resource-tip-head strong{display:block;font-size:var(--text-lg);color:var(--ui-value)}.resource-tip-head small{display:block;font-size:var(--text-xs);color:var(--ui-text-muted)}.resource-tip-amount{font-size:20px;font-variant-numeric:tabular-nums;color:var(--ui-value)}.resource-tip-rows{display:grid;gap:4px;margin-top:var(--space-2)}.resource-tip-rows>span{display:grid;grid-template-columns:16px 1fr auto;align-items:center;gap:7px}.resource-tip-rows svg{width:16px;height:16px;color:var(--ui-text-muted)}.resource-tip-rows small{font-size:var(--text-sm);color:var(--ui-text-muted)}.resource-tip-rows b{font-variant-numeric:tabular-nums;color:var(--ui-value)}.resource-tip-rows .warn b,.resource-tip-rows .warn svg{color:var(--ui-warning)}.resource-tip-goal{display:grid;grid-template-columns:1fr auto;gap:4px 8px;margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--ui-border-soft);font-size:var(--text-xs)}.resource-tip-goal>span:first-child{display:inline-flex;align-items:center;gap:4px}.resource-tip-goal svg{width:14px;height:14px}.resource-tip-goal b{color:var(--ui-warning)}.resource-tip-goal.ready b{color:var(--ui-success)}.resource-tip-meter{grid-column:1 / -1;height:6px;border:1px solid var(--hud-parchment-edge);border-radius:3px;background:#2b211824;overflow:hidden}.resource-tip-meter>span{display:block;height:100%;background:linear-gradient(180deg,var(--hud-brass-light),var(--hud-brass-dark))}.resource-tip.population{left:auto;right:0;transform:translateY(-4px)}.resource-slot:hover>.resource-tip.population{transform:none}.resource-tip.population .resource-tip-goal b{color:var(--ui-success)}.resource-tip.population .resource-tip-goal.full b{color:var(--ui-danger)}.resource-tip-goal.full .resource-tip-meter>span{background:var(--ui-danger)}.resource-tip-goal.ready .resource-tip-meter>span{background:var(--hud-ink-healthy)}.resource-tip-facts{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;margin:var(--space-2) 0 0;padding-top:var(--space-2);border-top:1px solid var(--ui-border-soft);font-size:var(--text-xs);line-height:1.4}.resource-tip-facts dt{font-weight:700;color:var(--ui-accent)}.resource-tip-facts dd{margin:0;color:var(--ui-text-muted)}@media(max-width:1600px){.game-top .music-control input{display:none}}@media(max-width:1440px){.resource.bar .income .per,.resource.bar.population small{display:none}.top-resources{gap:4px}.resource.bar{gap:5px;padding:2px 7px 2px 4px}.resource.bar .resource-icon svg{width:22px;height:22px}}@media(max-width:1320px){.game-top{gap:10px}.game-top .brand-mini-text{display:none}}@media(max-width:1600px){.game-top:has(.net-chip) .resource.bar .income .per,.game-top:has(.net-chip) .resource.bar.population small{display:none}}@media(max-width:1440px){.game-top:has(.net-chip) .brand-mini-text{display:none}}@media(max-width:1365px){.game-top:has(.net-chip) .net-chip .peer.ok{display:none}}@media(max-width:1180px){.game-top{display:flex;justify-content:space-between;gap:10px}.game-top .brand-mini,.game-top .top-actions .top-controls,.game-top .net-chip .net-state{display:none}}@media(max-width:1080px){.game-top .stage-chip .stage-name,.game-top .stage-chip small{display:none}}@media(max-width:900px){.game-top .top-actions .music-control,.game-top .resource.bar .income{display:none}.game-top{gap:6px}.game-top .top-resources{gap:3px}.game-top .top-center{gap:6px}}.music-control{display:inline-flex;align-items:center;gap:6px}.music-control input[type=range]{width:72px}.music-control input[type=range]:disabled{opacity:.4}@media(max-width:1000px){.music-control input[type=range]{display:none}}@media(max-width:600px){.top-actions .music-control,.top-actions .top-controls{display:none}}.music-credits{display:grid;gap:4px;margin:4px 0 14px}.music-credits small{color:var(--ui-text-muted)}.music-credits a{color:var(--ui-accent)}.menu-shell.form-screen{overflow:clip}.form-screen .menu-content{width:min(680px,calc(100vw - 32px));margin:var(--space-6) var(--space-4) 64px clamp(16px,6vw,120px)}.form-screen.with-lobby-map .menu-content{width:min(1060px,calc(100vw - clamp(16px,6vw,120px) - var(--space-4)));max-width:none}.lobby-layout{display:grid;grid-template-columns:minmax(0,1fr);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.lobby-layout>.setup-card{--card-pad: var(--space-5);--map-column: clamp(280px, 30vw, 380px);min-width:0;box-shadow:none;padding:var(--card-pad);border-radius:var(--radius-lg)}.setup-split{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "main" "map" "more" "actions";align-items:start}.setup-split>.card-head{grid-area:head}.setup-split>.setup-main{grid-area:main;min-width:0}.setup-split>.lobby-map-panel{grid-area:map}.setup-split>.setup-more{grid-area:more}.setup-split>.card-actions{grid-area:actions}.setup-split>.setup-main:has(>.lobby-seats:last-child){align-self:stretch;display:flex;flex-direction:column}.setup-main>.lobby-seats:last-child{flex:1;display:flex;flex-direction:column}.setup-main>.lobby-seats:last-child .lobby-actions{margin-top:auto}.lobby-map-panel{min-width:0;padding:var(--space-4) 0;border-top:1px solid var(--ui-border-soft)}.map-panel-inner{display:flex;flex-direction:column;gap:var(--space-3)}@media(min-width:901px){.setup-split.with-map{grid-template-columns:minmax(0,1fr) var(--map-column);grid-template-rows:auto auto 1fr auto;grid-template-areas:"head map" "main map" "more map" "actions actions";column-gap:var(--card-pad)}.setup-split.with-map>.lobby-map-panel{align-self:stretch;margin:calc(-1 * var(--card-pad)) calc(-1 * var(--card-pad)) 0 0;padding:var(--space-5);background:var(--ui-panel);border-top:none;border-left:1px solid var(--ui-border);border-radius:0 var(--radius-lg) 0 0}.setup-split.with-map>.lobby-map-panel:last-child{margin-bottom:calc(-1 * var(--card-pad));border-radius:0 var(--radius-lg) var(--radius-lg) 0}.setup-split.with-map .map-panel-inner{position:sticky;top:var(--space-4)}.setup-split.with-map>.setup-more{align-self:start}.setup-split.with-map:not(:has(>.setup-more,>.card-actions)){grid-template-rows:auto 1fr;grid-template-areas:"head map" "main map"}.setup-split.with-map:not(:has(>.setup-more,>.card-actions))>.lobby-map-panel{margin-bottom:calc(-1 * var(--card-pad));border-radius:0 var(--radius-lg) var(--radius-lg) 0}}.map-preview.large{flex-direction:column;align-items:stretch;gap:var(--space-2);margin:0}.map-preview.large canvas{width:100%;height:auto;aspect-ratio:1}.map-preview.large figcaption{align-items:flex-start;gap:2px;min-height:4.4em;max-width:none;text-align:left;font-size:var(--text-md)}.map-panel-text{margin:0;font-size:var(--text-xs);line-height:1.45;color:var(--ui-text-muted)}.map-panel-inner>.field,.map-panel-fields .field{margin:0}.map-panel-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.map-seed-row{margin:0}.map-preview-frame{position:relative;display:flex}.map-preview.large .map-preview-frame{width:100%}.map-preview-wait{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;overflow:hidden;background:#0716147f;color:var(--ui-accent);font-size:var(--text-sm);font-weight:700;letter-spacing:.06em;pointer-events:none;animation:map-wait-in .2s ease-out .15s both}.map-preview-wait span{padding:6px 14px;border:1px solid var(--ui-accent);border-radius:999px;background:#071614d1;box-shadow:0 4px 14px #00000073}.map-preview-wait:after{content:"";position:absolute;bottom:0;left:0;width:40%;height:3px;background:currentColor;opacity:.6;animation:bug-sending 1.1s ease-in-out infinite}@keyframes map-wait-in{0%{opacity:0}}@media(prefers-reduced-motion:reduce){.map-preview-wait:after{animation:none}}.map-reroll{position:absolute;top:8px;right:8px;display:inline-flex;align-items:center;gap:6px;min-height:34px;margin:0;padding:5px 12px 5px 10px;border:1px solid var(--ui-accent);border-radius:999px;background:#071614d1;color:var(--ui-accent);font-size:var(--text-sm);font-weight:700;letter-spacing:.06em;box-shadow:0 4px 14px #00000073;cursor:pointer;transition:background-color var(--ease-ui),color var(--ease-ui)}.map-reroll:hover{background:var(--ui-accent);color:var(--ui-ink)}.map-reroll:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}.map-reroll>span{font-size:16px;line-height:1}.map-seed-surprise{min-height:36px;align-items:center;padding:6px var(--space-3);border:1px dashed var(--ui-border);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--ui-text-muted)}.map-preview.surprise-map canvas{image-rendering:pixelated}.map-panel-form .map-preview.large figcaption{min-height:0}.room-code-hint{flex-basis:100%;font-size:var(--text-xs);color:var(--ui-text-muted)}.setup-more{min-width:0;border-top:1px solid var(--ui-border-soft)}.setup-more>summary{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px var(--space-3);padding:var(--space-3) 0;cursor:pointer;list-style:none}.setup-more>summary::-webkit-details-marker{display:none}.setup-more>summary:before{content:"▸";flex:none;width:1em;font-size:15px;line-height:1;color:var(--ui-accent);transition:transform var(--ease-ui)}.setup-more[open]>summary:before{transform:rotate(90deg)}.setup-more-title{font-size:var(--text-2xs);font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--ui-accent)}.setup-more-summary{flex:1 1 200px;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:var(--text-xs);color:var(--ui-text-muted)}.setup-more>summary:hover .setup-more-summary{color:var(--ui-text)}.setup-more>summary:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}.setup-more>.form-grid{padding-bottom:var(--space-4)}.card-actions-note.matchup{display:flex;align-items:center;gap:var(--space-2) var(--space-3)}.matchup-crests{display:inline-flex;flex:none;align-items:center;gap:6px}.matchup-crests .faction-crest{width:30px;height:30px}.matchup-vs{font-family:var(--font-display);font-size:var(--text-sm);font-style:italic;color:var(--ui-accent)}.matchup-count{font-size:var(--text-xs);font-weight:700;color:var(--ui-text)}.card-head{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3) var(--space-4);margin-bottom:var(--space-4)}.card-head .back-button{margin:0;min-height:36px;padding:6px 14px 6px 10px;font-size:var(--text-md)}.card-title{flex:1;min-width:0}.card-title .eyebrow{display:block}.card-head .card-title h1{margin:2px 0 0;font-size:var(--text-title);line-height:1.1}.settings-card,.guide-card{--card-pad: var(--space-6);padding:var(--card-pad)}.settings-lead{margin:0 0 var(--space-2);font-size:var(--text-sm);color:var(--ui-text-muted)}.settings-card .form-section>label,.settings-card .form-section>.music-credits{margin:0}.settings-card .form-section select{min-height:36px;margin:var(--space-2) 0 var(--space-1);padding:6px 10px;font-size:var(--text-md)}.settings-card .form-section input[type=range]{margin:var(--space-2) 0}.settings-card .form-section .settings-note,.settings-card .form-section .key-bindings{margin-top:0}.lobby-status{display:flex;flex-direction:column;align-items:flex-end;min-width:10.5em;gap:2px;font-size:var(--text-sm);color:var(--ui-text-muted)}.lobby-status code{font-size:var(--text-2xs)}.status-dot:before{content:"";display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:var(--ui-text-muted)}.status-dot.ok{color:var(--ui-healthy)}.status-dot.ok:before{background:var(--ui-success)}.status-dot.bad{color:var(--ui-danger)}.status-dot.bad:before{background:var(--ui-danger)}.status-dot.wait{color:var(--ui-warning)}.status-dot.wait:before{background:var(--ui-warning)}.mode-tabs{display:flex;align-items:center;flex-wrap:wrap;margin-bottom:var(--space-4)}.mode-tabs button{min-width:96px;min-height:36px;padding:6px var(--space-4);background:var(--ui-surface);border:1px solid var(--ui-border);color:var(--ui-text);font-size:var(--text-lg);font-weight:700}.mode-tabs button:first-child{border-radius:var(--radius) 0 0 var(--radius)}.mode-tabs button:nth-child(2){border-left:none;border-radius:0 var(--radius) var(--radius) 0}.mode-tabs button:hover{background:var(--ui-surface-hover)}.mode-tabs button.active{background:var(--ui-accent);border-color:var(--ui-accent);color:var(--ui-ink)}.form-section{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) 0;border-top:1px solid var(--ui-border-soft)}.form-section-title{margin:0;font-size:var(--text-2xs);font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--ui-accent)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:var(--space-3) var(--space-4)}.setup-card .field{display:flex;flex-direction:column;gap:var(--space-1);min-width:0;color:var(--ui-text);font-size:var(--text-md);font-weight:700}.setup-card .field small{font-size:var(--text-xs);font-weight:400;line-height:1.35;color:var(--ui-text-muted)}.setup-card .field .field-error small{color:var(--ui-danger)}.setup-card select,.setup-card input:not([type=range]):not([type=checkbox]){min-height:36px;margin:0;padding:6px 10px;border-radius:var(--radius-sm);font-size:var(--text-md)}.setup-card .room-input:not([type=range]):not([type=checkbox]){font-family:var(--font-mono);font-size:18px;letter-spacing:.3em;text-transform:uppercase}.card-actions,.lobby-actions{position:sticky;bottom:var(--consent-banner-space, 0px);z-index:3;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-2) var(--space-3);margin:var(--space-2) calc(-1 * var(--card-pad)) 0;padding:var(--space-3) var(--card-pad);background:var(--ui-panel-solid);border-top:1px solid var(--ui-border-soft);box-shadow:0 -12px 24px -14px #06171499}html:has(.card-actions,.lobby-actions) :focus-visible{scroll-margin-bottom:calc(var(--consent-banner-space, 0px) + 120px)}.card-actions:last-child,.setup-main:last-child>.lobby-seats:last-child .lobby-actions{margin-bottom:calc(-1 * var(--card-pad));border-radius:0 0 var(--radius-lg) var(--radius-lg)}@media(min-width:901px){.with-map>.setup-main>.lobby-seats:last-child .lobby-actions{margin-bottom:calc(-1 * var(--card-pad));border-radius:0 0 0 var(--radius-lg)}}.card-actions .primary-button,.card-actions .secondary-button,.lobby-actions .primary-button,.lobby-actions .secondary-button{min-height:44px;justify-content:center;gap:var(--space-2)}.card-actions .primary-button,.lobby-actions .primary-button,.lobby-actions .secondary-button[aria-pressed]{min-width:220px}.card-actions-note,.lobby-actions .form-note{flex:1 1 180px;min-width:0;margin:0;padding:0;border:0;background:none;font-size:var(--text-sm);line-height:1.35;color:var(--ui-text-muted)}.card-actions-note.warn,.lobby-actions [data-testid=start-blocker]{color:var(--ui-warning)}.card-actions-note.error{color:var(--ui-danger)}.lobby-actions .danger-button{flex:none}.room-code{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2) var(--space-3);padding:var(--space-3) var(--space-4);background:var(--ui-surface);border:1px solid var(--bw-brass);border-radius:var(--radius)}.room-code-label{font-size:var(--text-2xs);font-weight:800;letter-spacing:.2em;color:var(--ui-text-muted)}.room-code strong{font-family:var(--font-mono);font-size:28px;line-height:1;letter-spacing:.18em;color:var(--ui-accent)}.room-code strong{-webkit-user-select:all;user-select:all}.copy-button{display:inline-grid;min-height:28px;padding:2px 10px;background:transparent;border:1px solid var(--ui-border);border-radius:var(--radius-sm);color:var(--ui-text);font-size:var(--text-xs);font-weight:700}.copy-button:hover{background:var(--ui-surface-hover)}.copy-button>span{grid-area:1 / 1;display:inline-flex;align-items:center;justify-content:center;gap:4px}.copy-button-sizer{visibility:hidden}.copy-button.copied{border-color:var(--ui-success);color:var(--ui-success)}.copy-button-check{width:13px;height:13px;stroke-width:3}.room-code-seats{margin-left:auto;font-size:var(--text-sm)}.room-options{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-2);margin:var(--space-2) 0 0;padding:0;list-style:none}.room-options li{padding:1px var(--space-2);border:1px solid var(--ui-border-soft);border-radius:999px;font-size:var(--text-xs);color:var(--ui-text-muted)}.room-options li.changed{border-color:var(--ui-accent);color:var(--ui-value);animation:room-option-changed 3s ease-out both}@keyframes room-option-changed{0%,30%{background:color-mix(in srgb,var(--ui-accent) 28%,transparent)}to{background:transparent}}@media(prefers-reduced-motion:reduce){.room-options li.changed{animation:none}}.room-changed{margin:var(--space-2) 0 0;padding:8px 10px;border-left:3px solid var(--ui-accent);background:color-mix(in srgb,var(--ui-accent) 14%,transparent);color:var(--ui-value);font-size:var(--text-sm);animation:notice-in .25s ease-out both}.lobby-seats{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--ui-border-soft)}.lobby-seats-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-2)}.lobby-seats-head>strong,.lobby-teams:not(.solo-teams)>strong{font-size:var(--text-2xs);font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--ui-accent)}.lobby-seats-head label,.lobby-teams label{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:var(--text-sm);font-weight:700}.lobby-seats select,.setup-card .lobby-seats input.name-input:not([type=range]):not([type=checkbox]),.lobby-teams select{width:auto;min-height:30px;padding:3px 8px;font-size:var(--text-sm)}.setup-card .lobby-seats input.name-input:not([type=range]):not([type=checkbox]){width:8.5em}.lobby-seats li .secondary-button,.lobby-teams .secondary-button{min-height:30px;padding:3px 10px;font-size:var(--text-sm)}.lobby-teams{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);margin-bottom:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--ui-border-soft);border-radius:var(--radius);font-size:var(--text-sm)}.lobby-teams input[type=checkbox]{margin:0;accent-color:var(--ui-accent)}.lobby-teams small{color:var(--ui-text-muted)}.solo-team-list{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);width:100%;margin:0;padding:0;list-style:none}.solo-team-list li{display:inline-flex;align-items:center;gap:6px}.lobby-seats ol{display:grid;gap:var(--space-1);margin:0;padding:0;list-style:none}.lobby-seats li{display:grid;grid-template-columns:12px auto minmax(48px,1fr) auto auto;align-items:center;gap:6px var(--space-2);min-height:42px;padding:5px var(--space-3);background:var(--ui-surface);border:1px solid var(--ui-border-soft);border-radius:var(--radius)}.lobby-seats li.open{background:transparent;border-style:dashed}.lobby-seats li>.player-swatch{grid-area:1 / 1;width:12px;height:12px;margin:0}.lobby-seats li.open>.player-swatch{background:transparent;box-shadow:inset 0 0 0 1px var(--ui-border)}.lobby-seats li>.team-chip{grid-area:1 / 2}.lobby-seats.teamed li{grid-template-columns:12px 20px minmax(48px,1fr) auto auto}.seat-who{grid-area:1 / 3;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-md)}.seat-who small{font-size:var(--text-xs);color:var(--ui-text-muted)}.seat-name{font-weight:700}.lobby-seats li>.seat-controls,.lobby-seats li>.secondary-button,.lobby-seats li>small{grid-area:1 / 4;justify-self:end}.lobby-seats li:has(.name-input) .seat-who>.seat-name,.lobby-seats li:has(.name-input) .seat-who>.seat-name+small,.lobby-seats li:has(.name-input) .seat-who>.seat-name+.role-badges+small{display:none}.lobby-seats li .seat-remove{width:30px;padding:0;justify-content:center}.seat-controls{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}.seat-account-username{color:var(--ui-accent)}.seat-controls>small{font-size:var(--text-sm);color:var(--ui-text-muted)}.seat-ready{grid-area:1 / 5;padding:1px var(--space-2);border:1px solid var(--ui-border-soft);border-radius:999px;font-size:var(--text-xs);color:var(--ui-text-muted);white-space:nowrap}.seat-ready.ready{border-color:var(--ui-success);color:var(--ui-success)}@media(max-width:1180px){.lobby-seats li:has(.color-picker)>.seat-controls{grid-area:2 / 2 / 3 / -1;justify-self:start}}@media(max-width:900px){.form-screen.with-lobby-map .menu-content{width:min(680px,calc(100vw - 32px))}.map-panel-inner{align-items:center}.map-panel-inner>*,.lobby-map-panel .map-preview.large{width:min(420px,100%)}}@media(max-width:560px){.form-screen .menu-content,.form-screen.with-lobby-map .menu-content{width:auto;margin:var(--space-4);margin-bottom:64px}.lobby-layout>.setup-card{--card-pad: var(--space-4)}.form-grid{grid-template-columns:minmax(0,1fr)}.card-head .card-title h1{font-size:var(--text-title-sm)}.settings-card,.guide-card{--card-pad: var(--space-4)}.lobby-status{flex-direction:row;align-items:baseline;gap:var(--space-2);width:100%}.mode-tabs button{flex:1}.card-actions>button,.lobby-actions>button{flex:1 1 0;min-height:40px;padding:8px 10px;font-size:var(--text-lg);white-space:nowrap}.lobby-actions>button{white-space:normal;line-height:1.25;text-align:center}.card-actions-note,.lobby-actions .form-note{flex-basis:100%;min-height:2.7em}.lobby-actions .form-note{order:-1}.lobby-actions>.danger-button{flex:none}.card-actions>.primary-button{flex-grow:1.6}.card-actions .primary-button>span:not(.earns-xp-tag){display:none}.card-actions .primary-button,.lobby-actions .primary-button,.lobby-actions .secondary-button[aria-pressed]{min-width:0}.lobby-seats li{padding:5px var(--space-2)}.lobby-seats li>.seat-controls{grid-area:2 / 2 / 3 / -1;justify-self:start}}.stable-text{display:grid}.stable-text>*{grid-area:1 / 1}.stable-text-sizer{visibility:hidden}.menu-shell :is(.primary-button,.secondary-button,.danger-button,.back-button,.copy-button,.mode-tabs button,.guide-tabs :is(button,a)){transition:background-color var(--ease-ui),border-color var(--ease-ui),color var(--ease-ui),transform var(--ease-ui)}.menu-shell :is(.primary-button,.secondary-button,.danger-button,.back-button):active:not(:disabled){transform:translateY(1px)}.menu-shell .menu-card{animation:menu-card-in 90ms ease-out}@keyframes menu-card-in{0%{opacity:.5}}@media(prefers-reduced-motion:reduce){.menu-shell *,.faction-picker .faction-picker-option{transition:none!important;animation:none!important}}.play-modes-card{width:min(1080px,100%)}.play-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5);margin:var(--space-4) 0 0;padding:0;list-style:none}.play-modes>li{display:flex;min-width:0}.play-mode{position:relative;display:flex;flex-direction:column;width:100%;overflow:hidden;border:1px solid var(--ui-border);border-radius:var(--radius-lg);background:var(--ui-surface);color:var(--ui-text);text-decoration:none;transition:border-color var(--ease-ui),background var(--ease-ui),box-shadow var(--ease-ui)}.play-mode:hover{border-color:var(--ui-accent);background:var(--ui-surface-hover);box-shadow:inset 0 0 0 1px var(--ui-accent)}.play-mode:focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}.play-mode-picture{display:block;width:100%;height:auto;aspect-ratio:1200 / 729;object-fit:cover;border-bottom:1px solid var(--ui-border)}.play-mode-body{display:flex;flex:1;flex-direction:column;gap:var(--space-2);padding:var(--space-4) var(--space-4) var(--space-5)}.play-mode-kicker{color:var(--ui-accent);font-size:var(--text-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase}.play-mode-title{display:flex;align-items:center;gap:var(--space-2);color:var(--ui-value);font-family:var(--font-display);font-size:var(--text-title-sm);font-weight:400;line-height:1.15}.play-mode-badge{position:absolute;top:var(--space-3);right:var(--space-3);padding:3px 9px;border:1px solid var(--ui-accent);border-radius:var(--radius-sm);background:var(--site-shade);color:var(--ui-accent);font-size:var(--text-xs);font-weight:700;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;pointer-events:none}.play-mode-text{color:var(--ui-text);font-size:var(--text-lg);line-height:1.45}.play-mode-callout{display:flex;align-items:flex-start;gap:var(--space-2);margin-top:var(--space-1);padding:var(--space-2) var(--space-3);border:1px solid var(--ui-accent);border-left-width:3px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--ui-accent) 9%,transparent);color:var(--ui-text);font-size:var(--text-md);line-height:1.4}html.no-guide [data-page] .play-mode-callout{display:none}.play-mode-callout>svg{flex:none;width:20px;height:20px;margin-top:1px;color:var(--ui-accent)}.play-mode-callout b{color:var(--ui-value);font-weight:700}.play-mode-callout-tag{margin-left:var(--space-2);padding:0 6px;border:1px solid var(--ui-accent);border-radius:var(--radius-sm);color:var(--ui-accent);font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;vertical-align:1px}.play-mode-callout-text{display:block;margin-top:2px;color:var(--ui-text-muted)}.play-mode-facts{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--space-1)}.play-mode-facts>span{padding:2px 8px;border:1px solid var(--ui-border-soft);border-radius:var(--radius-sm);color:var(--ui-text-muted);font-size:var(--text-sm)}.play-mode-go{align-self:flex-start;margin-top:auto;translate:0 var(--space-2);padding:10px 22px;border-radius:var(--radius);background:var(--ui-accent);color:var(--ui-ink);font-size:var(--text-md);font-weight:700;letter-spacing:.14em;text-transform:uppercase}.play-mode:hover .play-mode-go{background:var(--ui-accent-hover)}.play-modes-note{margin:var(--space-5) 0 0}@media(max-width:760px){.play-modes{grid-template-columns:minmax(0,1fr);gap:var(--space-4)}.play-mode-title{font-size:var(--text-xl)}.play-mode-text{font-size:var(--text-md)}}@media(prefers-reduced-motion:reduce){.play-mode{transition:none}}.last-stand-rules{margin:0 0 var(--space-3);padding-left:18px;color:var(--ui-text);font-size:var(--text-md);line-height:1.45}.last-stand-rules li+li{margin-top:var(--space-1)}.control-group-bar{position:absolute;z-index:6;left:14px;bottom:calc(var(--selection-height, 150px) + 20px);right:calc(var(--hud-right-width) + 31px);display:flex;gap:var(--space-1);overflow-x:auto;scrollbar-width:none;pointer-events:none}.control-group-chip{position:relative;flex:none;display:flex;align-items:center;gap:3px;width:74px;height:26px;padding:0 4px 0 0;overflow:hidden;color:var(--ui-text);font-size:var(--text-xs);pointer-events:auto;cursor:pointer}.control-group-chip.active{background:var(--ui-surface-active)}.control-group-key{align-self:stretch;display:flex;align-items:center;justify-content:center;width:15px;font-weight:700;font-size:var(--text-xs)}.control-group-icon{display:flex;flex:none;width:20px;height:20px}.control-group-icon svg{width:100%;height:100%}.control-group-count{min-width:3ch;color:var(--ui-value);font-weight:600;font-variant-numeric:tabular-nums;text-align:left}.control-group-more{display:flex;align-items:center;justify-content:flex-end;margin-left:auto;min-width:14px;color:var(--ui-text-muted);font-size:var(--text-2xs);font-variant-numeric:tabular-nums}.control-group-icon.small{width:14px;height:14px;opacity:.85}.control-group-flash{position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border:2px solid var(--ui-accent);pointer-events:none;opacity:0;animation:control-group-flash .7s ease-out}@keyframes control-group-flash{0%,35%{opacity:1;background:color-mix(in srgb,var(--ui-accent) 20%,transparent)}to{opacity:0;background:transparent}}@media(prefers-reduced-motion:reduce){.control-group-flash{animation-duration:.3s}}@media(max-width:720px){.control-group-bar{left:5px;bottom:114px;right:195px}}.legal-notice{display:grid;gap:6px;margin-top:22px;padding-top:16px;border-top:1px solid var(--ui-border-soft)}.legal-notice .settings-note{line-height:1.5}.legal-notice h2.eyebrow{margin:0;font-family:inherit;font-size:var(--text-2xs)}.legal-notice .settings-note+.eyebrow,.legal-notice .legal-group+.eyebrow{margin-top:var(--space-3)}.legal-group{display:grid;gap:6px}.footer-link{padding:0;border:0;background:none;color:var(--ui-accent);font:inherit;letter-spacing:inherit;cursor:pointer}.footer-link:hover,.footer-link:focus-visible{color:var(--ui-accent-hover);text-decoration:underline}button.footer-link{text-transform:uppercase}body{padding-bottom:var(--consent-banner-space, 0px)}.consent-banner{position:fixed;z-index:40;left:0;right:0;bottom:0;padding:var(--space-3) var(--site-gutter) calc(var(--space-3) + env(safe-area-inset-bottom,0px));background:var(--ui-panel-strong);border-top:1px solid var(--site-line-strong);box-shadow:var(--shadow-card);color:var(--ui-text);font-size:var(--text-md)}.consent-banner.inline{position:static;padding:var(--space-3) var(--space-4);border:1px solid var(--site-line-strong)}.consent-inner{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-5);max-width:1240px;margin:0 auto}.consent-text{flex:1 1 340px;margin:0;line-height:1.5;color:var(--ui-text-muted)}.consent-text strong{color:var(--ui-value)}.consent-text a{color:var(--ui-accent);white-space:nowrap}.consent-actions{display:flex;gap:var(--space-2)}.consent-actions .secondary-button{min-height:40px;min-width:104px;padding:8px 14px;justify-content:center}.consent-customize{align-items:flex-end}.consent-categories{flex:1 1 340px;display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none}.consent-categories .checkbox-label{display:flex;align-items:center;gap:var(--space-2);color:var(--ui-value);font-weight:700}.consent-categories .checkbox-label small{font-weight:400}.consent-categories input{accent-color:var(--ui-accent)}.consent-categories p{margin:2px 0 0 calc(13px + var(--space-2) + 4px);color:var(--ui-text-muted);font-size:var(--text-sm)}@media(max-width:640px){.consent-banner{padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom,0px))}.consent-inner{gap:var(--space-3)}.consent-actions{flex:1 1 100%}.consent-actions .secondary-button{flex:1 1 0;min-width:0;padding:8px 6px}}.whats-new-button{padding:8px 0 7px;border:0;border-bottom:1px solid transparent;background:none;color:var(--ui-text-muted);font:inherit;font-size:var(--text-xs);font-weight:600;letter-spacing:.26em;text-transform:uppercase;white-space:nowrap;cursor:pointer}.whats-new-button:hover{color:var(--ui-text)}.whats-new-dot{display:inline-block;width:7px;height:7px;margin-left:6px;border-radius:50%;background:var(--ui-accent);vertical-align:1px}.whats-new-backdrop{position:fixed;z-index:45;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:flex-start;padding:calc(var(--site-header-h) + var(--space-2)) var(--space-4) var(--space-5);overflow-y:auto;background:var(--site-shade)}.whats-new-panel{width:min(560px,100%);padding:var(--space-5) var(--space-6) var(--space-6);background:var(--site-bg-raised);border:1px solid var(--site-line-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);color:var(--ui-text)}.whats-new-panel.inline{box-shadow:none}.whats-new-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-2)}.whats-new-panel .whats-new-head h2{margin:0;color:var(--ui-value);font-family:var(--font-display);font-size:var(--text-title-sm);font-weight:400}.whats-new-panel h3{margin:var(--space-5) 0 var(--space-2);color:var(--ui-accent);font-size:var(--text-xs);font-weight:600;letter-spacing:.26em;text-transform:uppercase}.whats-new-panel h3:focus{outline:none}.whats-new-day h4{margin:var(--space-3) 0 var(--space-1);color:var(--ui-value);font-size:var(--text-md)}.whats-new-notes{margin:0;padding:0;list-style:none;font-size:var(--text-lg);line-height:1.5;overflow-wrap:anywhere}.whats-new-note{padding-left:var(--space-3);border-left:2px solid var(--ui-border-soft)}.whats-new-note[data-highlight]{border-left-color:var(--ui-accent)}.whats-new-note+.whats-new-note{margin-top:var(--space-2)}.whats-new-tag{color:var(--ui-text-muted);font-size:var(--text-2xs);font-weight:800;letter-spacing:.14em;text-transform:uppercase;vertical-align:1px}.whats-new-tag[data-category=new]{color:var(--ui-accent)}.whats-new-tag[data-category=fixed]{color:var(--ui-success)}.whats-new-count{margin:0 0 var(--space-3);color:var(--ui-text-muted);font-size:var(--text-md)}.whats-new-none{margin:var(--space-4) 0 0;color:var(--ui-text-muted)}.whats-new-more{margin-top:var(--space-4)}.whats-new-back{margin-top:var(--space-3);padding:2px 0;border:0;background:none;color:var(--ui-accent);font:inherit;font-size:var(--text-sm);font-weight:700;cursor:pointer}.whats-new-back:hover{color:var(--ui-accent-hover)}.whats-new-folds{border-bottom:1px solid var(--ui-border-soft)}.whats-new-fold>.whats-new-notes{padding-bottom:var(--space-4)}@media(max-width:640px){.whats-new-backdrop{padding:var(--space-3) var(--space-3) var(--space-5)}.whats-new-panel{padding:var(--space-4)}}.key-bindings{display:grid;gap:var(--space-4)}.key-bindings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.key-bindings-head .settings-note{margin:0;line-height:1.5}.menu-card .key-reset-all,.key-reset-all{flex:none;min-height:34px;padding:6px 12px;font-size:var(--text-sm)}.key-group h3{margin:0;font-size:var(--text-2xs);letter-spacing:.2em;text-transform:uppercase;color:var(--ui-text-muted)}.key-group-note{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--ui-text-muted)}.key-group ul{list-style:none;margin:var(--space-1) 0 0;padding:0}.key-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--space-1) var(--space-2);padding:3px 0;border-bottom:1px solid var(--ui-border-soft);font-size:var(--text-md)}.key-row-label{min-width:0;overflow-wrap:anywhere}.key-row-slots{display:flex;gap:var(--space-1)}.key-slot{position:relative;display:inline-flex;width:104px}.key-slot-key{flex:1;min-width:0;height:28px;padding:0 24px 0 6px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--radius-sm);color:var(--ui-text);font-size:var(--text-sm);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.key-slot-key:hover{background:var(--ui-surface-hover);border-color:var(--ui-accent)}.key-slot-key kbd{color:var(--ui-value);background:var(--ui-panel-solid);line-height:1.5}.key-slot.select-key .key-slot-key{padding-right:6px;cursor:pointer}.key-slot.select-key.chosen .key-slot-key{border-color:var(--ui-accent);background:var(--ui-surface-active);box-shadow:inset 0 0 0 1px var(--ui-accent)}.key-slot.empty .key-slot-key{padding-right:6px;border-style:dashed;color:var(--ui-text-muted)}.key-slot.listening .key-slot-key{padding-right:6px;border-color:var(--ui-accent);background:var(--ui-surface-active);color:var(--ui-accent);font-size:var(--text-xs);font-weight:700}.key-slot.conflicted .key-slot-key{border-color:var(--ui-warning);box-shadow:inset 0 0 0 1px var(--ui-warning)}.key-slot-clear{position:absolute;top:50%;right:3px;transform:translateY(-50%);width:20px;height:20px;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--ui-text-muted);font-size:var(--text-xs);line-height:1}.key-slot-clear:hover{background:var(--ui-surface-hover);color:var(--ui-danger)}.key-fixed{width:calc(2 * 104px + var(--space-1));align-items:center;gap:var(--space-2);font-size:var(--text-sm)}.key-fixed kbd{color:var(--ui-value);background:var(--ui-surface);line-height:1.5}.key-fixed small{margin-left:auto;font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase}.key-reset{height:28px;padding:0 8px;background:transparent;border:1px solid var(--ui-border-soft);border-radius:var(--radius-sm);color:var(--ui-text-muted);font-size:var(--text-xs)}.key-reset:hover:not(:disabled){border-color:var(--ui-accent);color:var(--ui-text)}.key-reset:disabled{visibility:hidden}.key-prompt{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:2px 0 var(--space-1);padding:6px 8px;border-left:3px solid var(--ui-warning);border-radius:var(--radius-sm);background:var(--ui-panel-solid);font-size:var(--text-sm);line-height:1.4}.key-prompt.refused{border-left-color:var(--ui-danger)}.key-prompt>span:first-child{flex:1 1 220px}.key-prompt-actions{display:flex;gap:var(--space-2);margin-left:auto}.key-prompt button{height:26px;padding:0 10px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--radius-sm);color:var(--ui-text);font-size:var(--text-sm);font-weight:700}.key-prompt button:hover{background:var(--ui-surface-hover)}.key-prompt .key-prompt-swap{background:var(--ui-accent);border-color:var(--ui-accent);color:var(--ui-ink)}.key-prompt .key-prompt-swap:hover{background:var(--ui-accent-hover)}.controls-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:var(--space-3)}.controls-overlay.editing-keys{width:min(580px,calc(100vw - 32px))}.controls-overlay .key-row{font-size:var(--text-sm)}.controls-overlay .key-bindings-head{flex-direction:column}@media(max-width:560px){.key-bindings-head{flex-direction:column}.key-row{grid-template-columns:minmax(0,1fr) auto}.key-row-label{grid-column:1 / -1;padding-top:2px}.key-slot{width:100px}.key-fixed{width:auto}}.faction-crest{width:1.35em;height:1.35em;flex:none;vertical-align:-.3em}.faction-name{display:inline-flex;align-items:center;gap:.35em}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.guide-faction{display:flex;align-items:center;gap:var(--space-4);margin:var(--space-4) 0 var(--space-3)}.guide-faction-crest .faction-crest{width:96px;height:96px}.guide-faction h3{margin:0 0 var(--space-1);font-family:var(--font-display);font-size:20px}.guide-faction p{margin:0;color:var(--ui-text-muted)}.shield-wall.on,.siege-state.deployed{color:var(--ui-success)}.production-bar.siege-bar{display:inline-block;width:56px;margin-left:8px;vertical-align:middle}.faction-picker{min-width:0;margin:0;padding:0;border:0}.faction-picker--cards,.faction-picker--compact{container-type:inline-size}.faction-picker-legend{float:left;width:100%;margin:0 0 var(--space-2);padding:0;color:var(--ui-text);font-size:var(--text-md);font-weight:700}.faction-picker-options{clear:both;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:var(--space-2)}.faction-picker .faction-picker-option{position:relative;display:flex;align-items:center;gap:var(--space-2);min-width:0;margin:0;padding:var(--space-2) var(--space-3);border:1px solid var(--ui-border);border-radius:var(--radius);background:var(--ui-surface);color:var(--ui-text);font-size:var(--text-md);font-weight:400;line-height:1.25;cursor:pointer;transition:background-color .12s,border-color .12s}.faction-picker .faction-picker-option:hover{border-color:var(--ui-accent-hover);background:var(--ui-surface-hover)}.faction-picker .faction-picker-option.selected{border-color:var(--ui-accent);background:var(--ui-surface-active);box-shadow:inset 0 0 0 1px var(--ui-accent)}.faction-picker .faction-picker-option:has(.faction-picker-input:focus-visible){outline:2px solid var(--ui-accent);outline-offset:2px}.faction-picker .faction-picker-option .faction-picker-input[type=radio]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;min-height:0;margin:0;padding:0;border:0;opacity:0;cursor:pointer}.faction-picker .faction-picker-option .faction-crest{width:32px;height:32px}.faction-picker-text{display:flex;flex-direction:column;gap:2px;min-width:0}.faction-picker-name{font-weight:700}.faction-picker-name .faction-picker-short{display:none}.faction-picker-summary{color:var(--ui-text-muted);font-size:var(--text-xs);line-height:1.3}.faction-picker-mark{position:relative;display:inline-flex;flex:none}.faction-picker-check{position:absolute;right:-5px;bottom:-3px;width:15px;height:15px;padding:2px;border-radius:50%;background:var(--ui-accent);color:var(--ui-ink);stroke-width:3.2}.faction-picker .faction-picker-detail{margin-top:6px;color:var(--ui-text-muted);font-size:var(--text-xs);font-weight:400;line-height:1.4}.faction-picker--cards .faction-picker-option{flex-direction:column;justify-content:flex-start;gap:6px;padding:var(--space-3) var(--space-2) var(--space-2);text-align:center}.faction-picker--cards .faction-picker-option .faction-crest{width:44px;height:44px;filter:drop-shadow(0 3px 4px rgb(0 0 0 / 35%))}.faction-picker--cards .faction-picker-text{align-items:center}.faction-picker--cards .faction-picker-option.selected{box-shadow:inset 0 0 0 1px var(--ui-accent),0 0 22px -8px var(--ui-accent)}.faction-picker--cards .faction-picker-check{width:17px;height:17px}@container (max-width: 760px){.faction-picker--cards .faction-picker-options{grid-auto-flow:row;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr}}@container (max-width: 480px){.faction-picker--cards .faction-picker-option{gap:4px;padding:var(--space-2) 4px}.faction-picker--cards .faction-picker-summary{display:none}.faction-picker--cards .faction-picker-option .faction-crest{width:36px;height:36px}}.faction-picker--compact .faction-picker-options{gap:4px}.faction-picker--compact .faction-picker-option{justify-content:center;gap:6px;min-height:40px;padding:4px 6px;font-size:var(--text-sm)}.faction-picker--compact .faction-picker-option .faction-crest{width:24px;height:24px}.faction-picker--compact .faction-picker-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.faction-picker--compact .faction-picker-check{width:13px;height:13px}@container (max-width: 520px){.faction-picker-name .faction-picker-full{display:none}.faction-picker-name .faction-picker-short{display:inline}}@container (max-width: 900px){.faction-picker--compact .faction-picker-name .faction-picker-full{display:none}.faction-picker--compact .faction-picker-name .faction-picker-short{display:inline}}@container (max-width: 400px){.faction-picker--compact .faction-picker-option{flex-direction:column;gap:2px;padding:5px 4px 4px;font-size:var(--text-xs)}}.faction-picker--chip{display:inline-flex;flex:none}.faction-picker--chip .faction-picker-options{display:inline-flex;gap:0;border:1px solid var(--ui-border);border-radius:var(--radius);background:var(--ui-bg);padding:2px}.faction-picker--chip .faction-picker-option{gap:3px;min-height:26px;padding:2px;border-color:transparent;background:transparent;font-size:var(--text-sm);font-weight:700}.faction-picker--chip .faction-picker-option:hover{border-color:transparent}.faction-picker--chip .faction-picker-option.selected{padding-right:5px}.faction-picker--chip .faction-picker-short{display:inline-block;text-align:left;font-size:var(--text-xs)}.faction-picker--chip .faction-picker-short:before{content:attr(data-reserve);display:block;height:0;overflow:hidden;visibility:hidden}.faction-picker--chip .faction-picker-option .faction-crest{width:18px;height:18px}:is(.game-shell,.hud-skin){--ui-text: var(--hud-text);--ui-text-muted: var(--hud-text-muted);--ui-value: var(--hud-value);--ui-border: var(--hud-wood-edge);--ui-border-soft: rgb(201 183 147 / 16%);--ui-surface: var(--hud-wood-raised);--ui-surface-hover: var(--hud-wood-light);--ui-surface-active: var(--hud-wood-light);--ui-panel: var(--hud-wood);--ui-panel-strong: var(--hud-wood);--ui-panel-solid: var(--hud-wood);--fit: var(--hud-iron);--fit-light: var(--hud-iron-light);--fit-dark: var(--hud-iron-dark);color:var(--ui-text)}:is(.game-shell,.hud-skin) .team-chip{--team-cloth: var(--hud-brass);--team-number: var(--hud-ink)}:is(.end-card,.hud-parchment,.info-card) .team-chip{--team-cloth: var(--hud-ink-accent);--team-number: var(--hud-parchment-light)}.selection-panel,.match-guide,.guide-welcome,.info-card,.notice,.net-banner,.spectate-banner,.end-card,.hud-parchment{--ui-text: var(--hud-ink);--ui-text-muted: var(--hud-ink-muted);--ui-value: var(--hud-ink);--ui-accent: var(--hud-ink-accent);--ui-border: var(--hud-parchment-edge);--ui-border-soft: rgb(92 74 55 / 22%);--ui-surface: rgb(255 250 235 / 42%);--ui-surface-hover: rgb(255 250 235 / 70%);--ui-surface-active: rgb(255 250 235 / 62%);--ui-healthy: var(--hud-ink-healthy);--ui-success: var(--hud-ink-success);--ui-warning: var(--hud-ink-warning);--ui-danger: var(--hud-ink-danger);--ui-alert: var(--hud-seal-alert);--fit: var(--hud-brass);--fit-light: var(--hud-brass-light);--fit-dark: var(--hud-brass-dark);color:var(--ui-text)}.resource-panel,.action-panel,.selection-panel,.minimap-panel,.controls-overlay,.info-card,.end-card,.hud-frame{--hud-surface: var(--hud-timber);border:1px solid var(--hud-wood-deep);background:radial-gradient(circle,var(--fit-light) 0 .8px,var(--fit) 1.3px,var(--fit-dark) 2px,transparent 2.5px) 1px 1px / 6px 6px no-repeat,radial-gradient(circle,var(--fit-light) 0 .8px,var(--fit) 1.3px,var(--fit-dark) 2px,transparent 2.5px) right 1px top 1px / 6px 6px no-repeat,radial-gradient(circle,var(--fit-light) 0 .8px,var(--fit) 1.3px,var(--fit-dark) 2px,transparent 2.5px) left 1px bottom 1px / 6px 6px no-repeat,radial-gradient(circle,var(--fit-light) 0 .8px,var(--fit) 1.3px,var(--fit-dark) 2px,transparent 2.5px) right 1px bottom 1px / 6px 6px no-repeat,linear-gradient(180deg,var(--fit-light),var(--fit) 45%,var(--fit-dark)) left top / 18px 4px no-repeat,linear-gradient(90deg,var(--fit-light),var(--fit) 45%,var(--fit-dark)) left top / 4px 18px no-repeat,linear-gradient(180deg,var(--fit-light),var(--fit) 45%,var(--fit-dark)) right top / 18px 4px no-repeat,linear-gradient(90deg,var(--fit),var(--fit) 55%,var(--fit-dark)) right top / 4px 18px no-repeat,linear-gradient(180deg,var(--fit),var(--fit) 55%,var(--fit-dark)) left bottom / 18px 4px no-repeat,linear-gradient(90deg,var(--fit-light),var(--fit) 45%,var(--fit-dark)) left bottom / 4px 18px no-repeat,linear-gradient(180deg,var(--fit),var(--fit) 55%,var(--fit-dark)) right bottom / 18px 4px no-repeat,linear-gradient(90deg,var(--fit),var(--fit) 55%,var(--fit-dark)) right bottom / 4px 18px no-repeat,var(--hud-surface);background-origin:border-box;box-shadow:inset 0 0 0 1px #9a7a554d,inset 0 1px 0 1px #ecd49a1a,0 6px 20px #040c0a8c}.info-card,.end-card,.hud-frame.hud-parchment{--hud-surface: var(--hud-parchment-surface);border-color:var(--hud-parchment-edge);box-shadow:inset 0 0 0 3px var(--hud-parchment),inset 0 0 0 4px #2b211861,inset 0 0 0 6px #eadbb0b3,inset 0 0 0 7px #2b211829,0 6px 20px #040c0a8c}.selection-panel,.hud-frame.hud-sheet{isolation:isolate}.selection-panel:before,.hud-frame.hud-sheet:before{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;z-index:-1;border:1px solid var(--hud-parchment-edge);border-radius:2px;background:var(--hud-fibers) 0 0 / 320px 320px,radial-gradient(120% 160% at 50% 40%,transparent 50%,rgb(120 86 40 / 30%)),var(--hud-parchment-shade);box-shadow:inset 0 0 0 3px #d8c597cc,inset 0 0 0 4px #2b21184d,inset 0 2px 8px #5a401e4d,0 1px #ecd49a1f;pointer-events:none}:is(.game-shell,.hud-skin) .panel-label{display:inline-block;padding:2px 9px 2px 10px;border:1px solid var(--hud-brass-dark);border-radius:2px;background:radial-gradient(circle,var(--hud-brass-dark) 0 1px,transparent 1.6px) 3px 50% / 4px 4px no-repeat,radial-gradient(circle,var(--hud-brass-dark) 0 1px,transparent 1.6px) right 3px top 50% / 4px 4px no-repeat,linear-gradient(180deg,var(--hud-brass-light),var(--hud-brass) 48%,var(--hud-brass-dark));box-shadow:inset 0 1px #fff6d673,0 1px 2px #00000073;color:var(--hud-ink);text-shadow:0 1px 0 rgb(255 240 200 / 45%);line-height:1.35;white-space:nowrap}.action,.top-actions button,.idle-bar button,.match-guide-tab,.production-row,.subtle-button,:is(.game-shell,.hud-skin) .secondary-button{border:1px solid var(--hud-wood-deep);background:var(--hud-grain) 0 0 / 256px 96px,linear-gradient(180deg,var(--hud-wood-light),var(--hud-wood-raised) 55%,var(--hud-wood));box-shadow:inset 0 1px #ecd49a3d,inset 0 -2px #00000047;color:var(--hud-text)}.action:hover:not(:disabled),.top-actions button:hover:not(:disabled),.hud-skin .lab-hover:is(.action,button),.idle-bar button:hover,.production-row:hover,.subtle-button:hover,:is(.game-shell,.hud-skin) .secondary-button:hover{border-color:var(--hud-brass-dark);background:var(--hud-grain) 0 0 / 256px 96px,linear-gradient(180deg,var(--hud-wood-edge),var(--hud-wood-light) 50%,var(--hud-wood-raised))}.action:active:not(:disabled),.top-actions button:active:not(:disabled),.idle-bar button:active,:is(.game-shell,.hud-skin) .secondary-button:active{box-shadow:inset 0 2px 3px #00000073,inset 0 -1px #ecd49a1f}.action small,.action>small{color:var(--ui-text-muted)}.action-unavailable small,.action.action-unavailable>small{color:var(--ui-danger)}.action.action-done,.action.action-done:disabled{border-color:color-mix(in srgb,var(--ui-success) 70%,var(--hud-wood-deep));background:var(--hud-grain) 0 0 / 256px 96px,linear-gradient(180deg,color-mix(in srgb,var(--ui-success) 26%,var(--hud-wood-light)),color-mix(in srgb,var(--ui-success) 16%,var(--hud-wood)))}:is(.game-shell,.hud-skin) .primary-button{border:1px solid var(--hud-brass-dark);background:linear-gradient(180deg,var(--hud-brass-light),var(--hud-brass) 50%,var(--hud-brass-dark));box-shadow:inset 0 1px #fff6d68c,inset 0 -2px #00000038,0 1px 2px #00000059;color:var(--hud-ink);text-shadow:0 1px 0 rgb(255 240 200 / 40%)}:is(.game-shell,.hud-skin) .primary-button:hover{background:linear-gradient(180deg,var(--hud-parchment-light),var(--hud-brass-light) 45%,var(--hud-brass))}:is(.game-shell,.hud-skin) .primary-button:active{box-shadow:inset 0 2px 3px #00000059}.action .action-key,.order kbd{padding:0 3px 0 7px;border:1px solid rgb(43 33 24 / 75%);border-radius:2px;background:radial-gradient(circle,var(--hud-wood-deep) 0 1px,transparent 1.5px) 1px 50% / 4px 4px no-repeat,linear-gradient(180deg,var(--hud-parchment-light),var(--hud-parchment) 60%,var(--hud-parchment-shade));box-shadow:0 1px #00000073;color:var(--hud-ink);font-weight:800}.order,.minimap-size{border:1px solid var(--hud-iron-deep);background:linear-gradient(180deg,color-mix(in srgb,var(--hud-iron-dark) 82%,var(--hud-iron-light)),var(--hud-iron-dark) 40%,color-mix(in srgb,var(--hud-iron-dark) 55%,var(--hud-iron-deep)));box-shadow:inset 0 1px #ffffff3d,inset 0 -2px #0000004d;color:var(--hud-text)}.order svg{color:var(--hud-brass-light)}.order:hover:not(:disabled),.minimap-size:hover{border-color:var(--hud-brass-dark);background:linear-gradient(180deg,color-mix(in srgb,var(--hud-iron-dark) 60%,var(--hud-iron-light)),color-mix(in srgb,var(--hud-iron-dark) 85%,var(--hud-iron-light)) 45%,var(--hud-iron-dark));color:var(--hud-value)}.order:active:not(:disabled){box-shadow:inset 0 2px 3px #0000007f}.order.active{border-color:var(--ui-alert);background:linear-gradient(180deg,color-mix(in srgb,var(--hud-seal-alert) 45%,var(--hud-iron-dark)),color-mix(in srgb,var(--hud-seal-alert) 30%,var(--hud-iron-deep)));box-shadow:inset 0 0 0 1px var(--ui-alert),inset 0 2px 3px #0006}.order.stance.active{border-color:var(--hud-brass);background:linear-gradient(180deg,color-mix(in srgb,var(--hud-brass) 30%,var(--hud-iron-dark)),color-mix(in srgb,var(--hud-brass-dark) 25%,var(--hud-iron-deep)));box-shadow:inset 0 0 0 1px var(--hud-brass),inset 0 2px 3px #0006}.minimap-size{color:var(--hud-iron-light)}.game-top{padding-bottom:8px;border-bottom:1px solid var(--hud-wood-deep);background:radial-gradient(circle,var(--hud-iron-light) 0 .7px,var(--hud-iron) 1.3px,var(--hud-iron-dark) 2px,transparent 2.5px) 40px calc(100% - 1px) / 160px 6px repeat-x,linear-gradient(180deg,transparent calc(100% - 8px),var(--hud-iron-deep) calc(100% - 8px),var(--hud-iron-dark) calc(100% - 7px),var(--hud-iron-deep) calc(100% - 1px)),var(--hud-grain) 0 0 / 256px 96px,linear-gradient(180deg,var(--hud-wood-light),var(--hud-wood-raised) 22%,var(--hud-wood) 75%);box-shadow:inset 0 1px #ecd49a33,0 3px 14px #040c0a99}.brand-mini{color:var(--hud-text);text-shadow:0 1px 0 rgb(0 0 0 / 60%)}.stage-chip,.time-chip,.net-chip{padding:3px 11px;border:1px solid var(--hud-wood-deep);border-radius:3px;background:linear-gradient(180deg,#00000057,#0000002e);box-shadow:inset 0 1px 2px #0000008c,0 1px #ecd49a24;line-height:1.15}.stage-chip{color:var(--hud-brass-light);text-shadow:0 -1px 0 rgb(0 0 0 / 70%)}.stage-chip small{color:var(--hud-text-muted)}.time-chip{padding-block:6px;color:var(--hud-value);font-weight:700}.net-chip{padding-block:6px}.top-actions button.danger{border-color:var(--ui-danger);color:var(--ui-danger)}.top-actions button[aria-pressed=true]{border-color:var(--hud-brass-dark)}.music-control input[type=range]{accent-color:var(--hud-brass)}.spectator-eye{border:2px solid var(--hud-brass);background:radial-gradient(circle at 40% 35%,var(--hud-parchment-light),var(--hud-parchment) 55%,var(--hud-parchment-shade));box-shadow:0 0 0 1px var(--hud-wood-deep),0 1px 3px #0000008c;color:var(--hud-ink)}.resource-panel,.action-panel,.selection-panel,.minimap-panel{border-radius:3px}.resource{margin-bottom:4px;padding:5px 7px 5px 5px;border:1px solid rgb(0 0 0 / 40%);border-radius:3px;background:linear-gradient(180deg,#0000004d,#00000024);box-shadow:inset 0 1px 2px #00000073,0 1px #ecd49a1a}.resource strong{color:var(--hud-value);font-weight:750;white-space:nowrap;text-shadow:0 1px 0 rgb(0 0 0 / 55%)}.resource .income{color:var(--ui-success);text-shadow:none}.player-list li{padding:2px 4px 2px 3px;border-radius:2px;background:#0003;box-shadow:inset 0 1px 1px #00000059}.player-list li.own{box-shadow:inset 0 0 0 1px var(--hud-brass-dark),inset 0 1px 2px #00000059}.player-list li .faction-crest{width:16px;height:16px}.player-list li .player-swatch{margin-right:2px;width:9px;height:13px;border-radius:0;box-shadow:none;clip-path:polygon(0 0,100% 0,100% 100%,50% 72%,0 100%)}.player-list li .player-avatar{width:18px;height:18px;margin:-1px 1px -1px 0;border-color:var(--hud-wood-deep);background:var(--hud-wood-deep);box-shadow:0 0 0 1px #ecd49a29;color:var(--hud-text-muted);font-size:9px;font-weight:800}.player-list li strong{color:var(--hud-value)}.player-list li.own strong{color:var(--hud-brass-light)}.player-list h4{color:var(--hud-text-muted)}.player-list h4:after{height:2px;background:linear-gradient(180deg,#0000007f 50%,#ecd49a1f 50%)}:is(.action-panel,.hud-commands) h3{display:flex;align-items:center;gap:8px;color:var(--hud-brass-light);text-shadow:0 -1px 0 rgb(0 0 0 / 75%)}:is(.action-panel,.hud-commands) h3:after{content:"";flex:1;height:2px;background:linear-gradient(180deg,#0000007f 50%,#ecd49a1f 50%)}.action-panel{scrollbar-color:var(--hud-wood-edge) transparent}.detail-row{border-bottom-color:#c9b79324}.queue-slot{border:1px solid rgb(0 0 0 / 50%);background:linear-gradient(180deg,#00000057,#00000029);box-shadow:inset 0 1px 3px #0000008c}.queue-slot.empty{border:1px dashed rgb(201 183 147 / 24%);background:#0000001a;box-shadow:none}.queue-slot.current{border-color:var(--hud-brass)}.queue-slot-progress,.production-bar span{background:var(--hud-brass)}.production-bar{background:#00000073}.selection-empty{color:var(--ui-text-muted)}.entity-card{border:1px solid rgb(92 74 55 / 50%);border-left-width:3px;background:linear-gradient(180deg,#fffaeb94,#fffaeb42);box-shadow:inset 0 1px #fff6,0 1px #3c28144d;color:var(--ui-text)}.entity-card:hover{background:linear-gradient(180deg,#fffaebcc,#fffaeb73)}.entity-card.active{border-color:var(--hud-brass-dark);background:linear-gradient(180deg,#fffaebb3,#ecd49a4d)}.entity-card:has(.unit-portrait){border-left-color:var(--hud-iron-dark)}.hp-bar,.production-bar{box-shadow:inset 0 1px 1px #0000004d}.selection-panel .hp-bar,.info-card .hp-bar{background:#2b211838}.group-count{color:var(--ui-accent);font-weight:800}.engaged-badge{animation:none}.engaged-badge:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;border:3px solid rgb(163 38 30 / 35%);opacity:0;animation:engaged-ring 1.1s ease-in-out infinite}@keyframes engaged-ring{50%{opacity:1}}.info-card-art{color:var(--ui-accent)}.info-card-blocker{background:#a3321f1a}.minimap-panel{--hud-surface: var(--hud-iron-surface);border-color:var(--hud-wood-deep)}.minimap{border-color:var(--hud-wood-deep);box-shadow:0 0 0 1px var(--hud-iron-dark),0 1px 0 1px #d3d9d538}.minimap-panel span,.hud-frame.hud-iron>span{color:var(--hud-iron);text-shadow:0 -1px 0 rgb(0 0 0 / 70%)}.control-group-chip{border:1px solid var(--hud-wood-deep);border-radius:9px;background:var(--hud-grain) 0 0 / 256px 96px,linear-gradient(180deg,var(--hud-wood-light),var(--hud-wood-raised) 60%,var(--hud-wood));box-shadow:inset 0 1px #ecd49a38,0 1px 2px #0000007f}.control-group-chip:hover{background:var(--hud-grain) 0 0 / 256px 96px,linear-gradient(180deg,var(--hud-wood-edge),var(--hud-wood-light) 55%,var(--hud-wood-raised))}.control-group-chip.active{border-color:var(--hud-brass);box-shadow:inset 0 0 0 1px var(--hud-brass-dark),0 1px 2px #0000007f}.control-group-key{border-right:1px solid var(--hud-wood-deep);background:linear-gradient(180deg,var(--hud-iron-dark),var(--hud-iron-deep));color:var(--hud-brass-light)}.control-group-chip.active .control-group-key{border-right-color:var(--hud-brass-dark);background:linear-gradient(180deg,var(--hud-brass-light),var(--hud-brass) 50%,var(--hud-brass-dark));color:var(--hud-ink)}.control-group-flash{border-radius:9px;border-color:var(--hud-brass-light)}.idle-bar button.warn{border-color:var(--hud-brass);color:var(--hud-value)}.production-item.current{border-color:var(--hud-brass);background:#0000002e}.action-wrap{position:relative}.wall-tier-notches{display:inline-flex;align-items:flex-end;gap:1px;height:16px;vertical-align:middle}.action-wrap>.wall-tier-notches{position:absolute;bottom:5px;left:8px;width:34px;justify-content:center}.action-wrap:has(>.wall-tier-notches)>.action>.action-icon{transform:translateY(-8px)}@media(max-width:1440px){.action-wrap>.wall-tier-notches{left:4px;width:30px}.action-wrap>.wall-tier-notches .wall-tier-notch{width:9px}}.mode-hint .wall-tier-notches{margin-left:8px;height:14px}.wall-tier-notch{display:inline-flex;align-items:flex-end;justify-content:center;width:11px;height:100%;padding:0;border:0;background:none}.wall-tier-notches.pickable .wall-tier-notch{cursor:pointer}.wall-tier-notch:before{content:"";width:5px;border:1px solid var(--hud-brass-dark);border-radius:1px;background:#00000059}.wall-tier-notch.tier-0:before{height:6px}.wall-tier-notch.tier-1:before{height:10px}.wall-tier-notch.tier-2:before{height:14px}.mode-hint .wall-tier-notch.tier-2:before{height:12px}.wall-tier-notch.chosen:before{border-color:var(--hud-brass);background:var(--hud-brass-light)}.wall-tier-notches.pickable .wall-tier-notch:not(.chosen,.locked):hover:before,.wall-tier-notches.pickable .wall-tier-notch:not(.chosen,.locked):focus-visible:before{background:var(--hud-brass-dark)}.wall-tier-notch.locked{cursor:help}.wall-tier-notch.locked:before{border-style:dashed;background:none;opacity:.55}.wall-tier-notch:focus-visible{outline:1px solid var(--hud-brass-light);outline-offset:1px}.mode-hint .mode-hint-plan{color:var(--hud-brass-light)}.mode-hint{border:1px solid var(--hud-brass-dark);background:var(--hud-timber);box-shadow:inset 0 0 0 1px #ecd49a24,0 6px 18px #040c0a8c}.mode-hint strong{color:var(--hud-brass-light)}.notice-stack{gap:9px}.notice{--seal: var(--hud-ink-muted);position:relative;gap:11px;padding:7px 12px 7px 10px;border:1px solid var(--hud-parchment-edge);border-radius:2px;background:var(--hud-fibers) 0 0 / 320px 320px,linear-gradient(90deg,rgb(120 86 40 / 16%),transparent 22%,transparent 82%,rgb(120 86 40 / 14%)),var(--hud-parchment);box-shadow:inset 0 0 0 2px #f4ead073,0 4px 10px #040c0a73;color:var(--hud-ink);font-weight:600;transform-origin:50% 0;animation:notice-in .28s cubic-bezier(.2,.8,.25,1) both}.notice.info{--seal: var(--hud-seal-info)}.notice.success{--seal: var(--hud-seal-success)}.notice.warning{--seal: var(--hud-seal-warning)}.notice.error{--seal: var(--hud-seal-error)}.notice.alert{--seal: var(--hud-seal-alert)}.notice:before{content:"";position:absolute;left:15px;top:-1px;bottom:-7px;width:18px;background:linear-gradient(90deg,color-mix(in srgb,var(--seal) 80%,black),var(--seal) 35%,color-mix(in srgb,var(--seal) 85%,black));clip-path:polygon(0 0,100% 0,100% 100%,50% calc(100% - 5px),0 100%)}.notice.error,.notice.alert{border-color:color-mix(in srgb,var(--seal) 70%,var(--hud-parchment-edge));background:var(--hud-fibers) 0 0 / 320px 320px,linear-gradient(90deg,color-mix(in srgb,var(--seal) 22%,transparent),transparent 45%),var(--hud-parchment)}.notice.alert{font-weight:750}.notice.located:hover{border-color:var(--hud-ink-accent);background:var(--hud-fibers) 0 0 / 320px 320px,var(--hud-parchment-light)}.notice-glyph{position:relative;width:26px;height:26px;margin:-2px 0 -2px 2px;border-radius:48% 52% 45% 55%/55% 46% 54% 45%;background:radial-gradient(circle at 34% 30%,color-mix(in srgb,var(--seal) 55%,white) 0,var(--seal) 42%,color-mix(in srgb,var(--seal) 65%,black) 100%);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--seal) 70%,black),inset 0 0 0 3.5px #ffffff29,0 1px 2px #0000007f;color:var(--hud-parchment-light);font-family:var(--font-display);font-size:14px;font-weight:800;text-shadow:0 -1px 0 rgb(0 0 0 / 40%);animation:seal-stamp .34s .11s cubic-bezier(.3,.7,.3,1) both}.notice-glyph svg{width:15px;height:15px;stroke-width:2.5}.notice-count{padding:1px 6px;border-radius:2px;background:var(--hud-ink);color:var(--hud-parchment-light);font-weight:800;animation:count-bump .26s ease-out}.notice.leaving{pointer-events:none;overflow:hidden;animation:notice-out .26s ease-in forwards}@keyframes notice-in{0%{opacity:0;transform:translateY(-10px) scaleY(.6)}55%{opacity:1}}@keyframes seal-stamp{0%{opacity:0;transform:scale(1.9) rotate(-20deg)}60%{opacity:1;transform:scale(.9) rotate(4deg)}}@keyframes count-bump{0%{transform:scale(1.35)}}@keyframes notice-out{0%{opacity:1;max-height:80px}45%{opacity:0;transform:translate(28px);max-height:80px}to{opacity:0;transform:translate(28px);max-height:0;margin-top:-9px;padding-block:0;border-width:0}}.net-banner,.spectate-banner{--seal: var(--hud-seal-info);border:1px solid var(--hud-parchment-edge);border-top:5px solid var(--seal);border-radius:2px;background:var(--hud-parchment-surface);box-shadow:inset 0 0 0 3px #f4ead08c,inset 0 0 0 4px #2b211838,0 10px 28px #040c0a99;color:var(--hud-ink);animation:banner-in .36s cubic-bezier(.2,.8,.25,1) both}.net-banner:before{content:"";position:absolute;left:24px;top:-5px;bottom:-9px;width:20px;background:linear-gradient(90deg,color-mix(in srgb,var(--seal) 80%,black),var(--seal) 35%,color-mix(in srgb,var(--seal) 85%,black));clip-path:polygon(0 0,100% 0,100% 100%,50% calc(100% - 6px),0 100%)}.net-banner.banner-alert{--seal: var(--hud-seal-alert)}.net-banner.banner-warning{--seal: var(--hud-seal-warning)}.net-banner.banner-pause{--seal: var(--hud-brass-dark)}.net-banner strong{font-family:var(--font-display);font-size:17px;white-space:nowrap}.net-banner.banner-alert strong{color:var(--hud-seal-alert)}.banner-seal{position:relative;display:inline-grid;place-items:center;flex:none;width:34px;height:34px;margin:-4px 0;border-radius:47% 53% 46% 54%/54% 47% 53% 46%;background:radial-gradient(circle at 34% 30%,color-mix(in srgb,var(--seal) 55%,white) 0,var(--seal) 42%,color-mix(in srgb,var(--seal) 65%,black) 100%);box-shadow:inset 0 0 0 2.5px color-mix(in srgb,var(--seal) 70%,black),inset 0 0 0 4.5px #ffffff29,0 1px 3px #0000007f;color:var(--hud-parchment-light)}.banner-seal svg{width:19px;height:19px;stroke-width:2.2}.spectate-banner select{color:var(--hud-ink)}@keyframes banner-in{0%{opacity:0;translate:0 -12px}}.end-shade{background:#091411cc}.end-card .eyebrow{--seal: var(--hud-brass-dark);display:inline-block;padding:4px 18px;background:linear-gradient(180deg,color-mix(in srgb,var(--seal) 80%,white),var(--seal) 45%,color-mix(in srgb,var(--seal) 75%,black));clip-path:polygon(0 0,100% 0,calc(100% - 9px) 50%,100% 100%,0 100%,9px 50%);color:var(--hud-parchment-light);text-shadow:0 -1px 0 rgb(0 0 0 / 40%)}.end-card.victory .eyebrow{--seal: var(--hud-seal-success)}.end-card.defeat .eyebrow{--seal: var(--hud-seal-alert)}.end-card h1{color:var(--hud-ink);text-shadow:0 1px 0 rgb(255 250 235 / 60%)}.end-card.victory h1{color:var(--hud-seal-success)}.end-card.defeat h1{color:var(--hud-seal-alert)}.end-card p{color:var(--hud-ink-muted)}.summary-panel th,.summary-panel td{border-bottom-color:#5c4a373d}.summary-panel th{color:var(--hud-ink)}.end-card .end-report-line{margin:var(--space-5) 0 0;padding-top:var(--space-3);border-top:1px solid var(--ui-border-soft);font-size:var(--text-sm)}.end-report-open{padding:0;border:0;background:none;color:var(--ui-accent);font:inherit;font-weight:750;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.end-report-open:hover{color:var(--ui-text);text-decoration-thickness:2px}.end-card .end-report{padding:0;border:0;border-radius:0;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.end-card .end-report .card-title h1{color:var(--hud-ink)}.end-card .bug-field-problem{color:var(--ui-danger)}.end-card .account-callout p{color:var(--ui-text)}@media(max-width:560px){.end-card.end-card-report{padding:var(--space-5) var(--space-4)}}@media(prefers-reduced-motion:reduce){.notice,.notice-glyph,.notice-count,.net-banner,.spectate-banner,.match-guide-step,.guide-target .action,.order.guide-target,.guide-target:before,.guide-pointer-arrow{animation:none}.notice.leaving{display:none}.engaged-badge:after{animation:none;opacity:.6}}@media(max-width:720px){.stage-chip,.time-chip,.net-chip{padding:2px 5px}.resource{gap:3px;padding:2px 3px 2px 2px;margin-bottom:3px}:is(.game-shell,.hud-skin) .panel-label{padding-inline:6px;letter-spacing:.1em}.selection-panel:before{top:3px;right:3px;bottom:3px;left:3px}}.game-menu-shade{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:var(--space-4);background:#0914119e}.game-menu{position:relative;display:flex;flex-direction:column;gap:var(--space-3);width:min(380px,100%);max-height:calc(100vh - 2 * var(--space-4));overflow-y:auto;padding:18px 20px 20px;color:var(--hud-text)}.game-menu.game-menu-wide{width:min(720px,100%)}.game-menu.game-menu-guide{width:min(1080px,100%)}.game-menu-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.game-menu-ribbon{--seal: var(--hud-seal-info);padding:3px 16px;background:linear-gradient(180deg,color-mix(in srgb,var(--seal) 80%,white),var(--seal) 45%,color-mix(in srgb,var(--seal) 75%,black));clip-path:polygon(0 0,100% 0,calc(100% - 8px) 50%,100% 100%,0 100%,8px 50%);color:var(--hud-parchment-light);font-size:var(--text-2xs);font-weight:800;letter-spacing:.2em;text-shadow:0 -1px 0 rgb(0 0 0 / 40%)}.game-menu-ribbon.paused{--seal: var(--hud-brass-dark)}.game-menu .game-menu-status{--seal: var(--hud-seal-info);display:flex;align-items:center;gap:var(--space-3);margin:0;padding:9px 12px;border:1px solid var(--hud-parchment-edge);border-top:4px solid var(--seal);border-radius:2px;background:var(--hud-parchment-surface);box-shadow:inset 0 0 0 2px #f4ead08c,inset 0 0 0 3px #2b21182e;color:var(--hud-ink);font-size:var(--text-md);line-height:1.4}.game-menu .game-menu-status.paused{--seal: var(--hud-brass-dark)}.game-menu-status .banner-seal{width:28px;height:28px;margin:0}.game-menu-status .banner-seal svg{width:16px;height:16px}.game-menu-list{display:grid;gap:var(--space-2)}.game-menu-list :is(.primary-button,.secondary-button),.game-menu-actions :is(.secondary-button,.danger-button){min-height:42px;padding:8px 14px;font-size:var(--text-lg)}.game-menu-list kbd{font-size:var(--text-2xs);font-weight:700;opacity:.75}.game-menu-rule{height:1px;margin:var(--space-1) 0;background:#9a7a5573}:is(.game-shell,.hud-skin) .game-menu .game-menu-danger{color:var(--ui-danger)}.game-menu .game-menu-note{margin:0;font-size:var(--text-sm);color:var(--ui-success)}.game-menu-question{display:grid;gap:var(--space-3)}.game-menu .game-menu-question p{margin:0;font-size:var(--text-lg);line-height:1.5}.game-menu-actions{display:flex;gap:var(--space-2)}.game-menu-actions>*{flex:1;justify-content:center}.game-menu-actions .danger-button{background:#0000002e}.game-menu .menu-card{padding:0;border:0;border-radius:0;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.building-head{display:flex;align-items:center;gap:8px;margin:18px 0 8px}.building-head>h3{flex:1;min-width:0;margin:0}.building-head>h3 .building-name{overflow:hidden;text-overflow:ellipsis}.demolish-slot{flex:none}.demolish-button{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 8px 0 6px;border:1px solid color-mix(in srgb,var(--ui-danger) 70%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--hud-seal-alert) 14%,rgb(0 0 0 / 22%));box-shadow:inset 0 1px 2px #00000073;color:var(--ui-danger);font-size:var(--text-xs);font-weight:750;letter-spacing:.02em;white-space:nowrap}.demolish-button svg{width:14px;height:14px}.demolish-button:hover:not(:disabled),.demolish-button:focus-visible{border-color:var(--ui-danger);background:color-mix(in srgb,var(--hud-seal-alert) 34%,rgb(0 0 0 / 22%));color:var(--hud-value)}.demolish-button.armed{border-color:var(--ui-danger);background:linear-gradient(180deg,color-mix(in srgb,var(--hud-seal-alert) 85%,white 8%),var(--hud-seal-alert));box-shadow:0 0 0 2px color-mix(in srgb,var(--ui-danger) 35%,transparent);color:var(--hud-value)}.demolish-button:disabled{border-color:#c9b79338;background:transparent;box-shadow:none;color:var(--hud-text-muted)}.demolish-confirm{margin:0 0 10px;padding:8px 9px 9px;border:1px solid color-mix(in srgb,var(--ui-danger) 75%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--hud-seal-alert) 18%,rgb(0 0 0 / 25%))}.demolish-confirm p{margin:0 0 7px;font-size:var(--text-sm);line-height:1.35;color:var(--hud-value)}.demolish-choices{display:grid;grid-template-columns:1fr 1fr;gap:6px}.demolish-choices button{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:30px;padding:0 6px;border:1px solid var(--hud-iron-deep);border-radius:var(--radius-sm);background:linear-gradient(180deg,var(--hud-iron-dark),var(--hud-iron-deep));color:var(--hud-text);font-size:var(--text-xs);font-weight:750}.demolish-choices button svg{width:14px;height:14px}.demolish-choices .demolish-yes{border-color:var(--ui-danger);background:linear-gradient(180deg,color-mix(in srgb,var(--hud-seal-alert) 80%,white 6%),var(--hud-seal-alert));color:var(--hud-value)}.demolish-choices button:hover{filter:brightness(1.12)}.demolish-choices kbd{padding:0 3px;border-radius:2px;background:#0000004d;font-size:var(--text-2xs);color:var(--hud-text-muted)}.action.action-busy{border-color:var(--hud-brass);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--hud-brass) 40%,transparent)}.action.action-busy small{color:var(--hud-brass-light)}.garrison{margin-top:4px}.garrison-head{display:flex;align-items:center;gap:6px;margin:18px 0 6px}.garrison-head>h3{flex:1;min-width:0;margin:0}.garrison-count{color:var(--hud-value);letter-spacing:.04em;font-variant-numeric:tabular-nums}.garrison-actions{display:flex;gap:4px}.garrison-button{height:22px;padding:0 7px;border:1px solid var(--hud-iron-deep);border-radius:var(--radius-sm);background:linear-gradient(180deg,var(--hud-iron-dark),var(--hud-iron-deep));color:var(--hud-text);font-size:var(--text-2xs);font-weight:750;white-space:nowrap}.garrison-button:hover:not(:disabled){border-color:var(--hud-brass-dark);color:var(--hud-value)}.garrison-pips{display:grid;gap:3px;height:5px;margin-bottom:7px}.garrison-pips>span{border-radius:1px;background:#00000059;box-shadow:inset 0 1px 1px #00000073}.garrison-pips>span.taken{background:var(--hud-brass);box-shadow:none}.garrison-groups{display:grid;gap:4px;margin:0;padding:0;list-style:none}.garrison-group{display:grid;grid-template-columns:30px minmax(0,1fr) auto 18px;align-items:center;gap:7px;width:100%;padding:3px 6px 3px 3px;border:1px solid rgb(0 0 0 / 45%);border-radius:var(--radius-sm);background:linear-gradient(180deg,#00000047,#00000024);box-shadow:inset 0 1px 2px #0006;color:var(--hud-text);text-align:left}.garrison-group:hover,.garrison-group:focus-visible{border-color:var(--hud-brass-dark);background:linear-gradient(180deg,#ecd49a1f,#0000001a)}.garrison-group .entity-icon.portrait{width:30px;height:30px}.garrison-name{display:grid;gap:4px;min-width:0;font-size:var(--text-xs);font-weight:750}.garrison-name>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.garrison-group .group-count{font-size:var(--text-sm)}.garrison-release{display:grid;place-items:center;color:var(--hud-text-muted)}.garrison-release svg{width:16px;height:16px}.garrison-group:hover .garrison-release{color:var(--hud-brass-light)}.garrison-empty{font-size:var(--text-xs);line-height:1.4;color:var(--hud-text-muted)}.garrison-empty{padding:6px 2px}.garrison-empty.warn{color:var(--ui-warning)}.shelter-hint{position:absolute;top:0;left:0;z-index:11;display:flex;align-items:flex-start;gap:7px;max-width:290px;padding:5px 9px 6px 7px;border:1px solid var(--hud-brass-dark);border-left:3px solid var(--ui-success);border-radius:var(--radius-sm);background:var(--hud-timber);box-shadow:0 4px 12px #040c0a8c;color:var(--hud-value);pointer-events:none}.shelter-hint svg{flex:none;width:18px;height:18px;margin-top:1px;color:var(--ui-success)}.shelter-hint>span{display:grid;gap:1px}.shelter-hint b{font-size:var(--text-sm);font-weight:750}.shelter-hint small{font-size:var(--text-xs);color:var(--hud-text-muted)}.shelter-hint.other{border-left-color:var(--hud-brass)}.shelter-hint.other svg{color:var(--hud-brass-light)}.shelter-hint.full{border-left-color:var(--ui-danger)}.shelter-hint.full svg,.shelter-hint.full b{color:var(--ui-danger)}.performance-hint{position:absolute;top:64px;left:50%;z-index:11;display:flex;align-items:center;gap:10px;max-width:min(560px,calc(100% - 32px));padding:7px 10px 7px 12px;border:1px solid var(--hud-brass-dark);border-left:3px solid var(--hud-brass);border-radius:var(--radius-sm);background:var(--hud-timber);box-shadow:0 4px 12px #040c0a8c;color:var(--hud-value);transform:translate(-50%);cursor:default}.performance-hint>span{display:grid;gap:1px}.performance-hint b{font-size:var(--text-sm);font-weight:750}.performance-hint small{font-size:var(--text-xs);color:var(--hud-text-muted)}.performance-hint button{flex:none;padding:5px 10px;font-size:var(--text-xs)}.match-guide{position:absolute;top:68px;left:14px;z-index:9;width:300px;max-width:calc(100% - 28px);padding:10px 12px}.match-guide.has-wave{border-color:var(--ui-danger);box-shadow:0 0 0 2px var(--ui-danger-soft),0 7px 22px #040c0a73}.match-guide.beside-players,.match-guide-tab.beside-players{left:231px}.match-guide-head{display:flex;align-items:center;gap:4px}.match-guide-head .panel-label{margin-right:auto}.match-guide-event-label{display:inline-flex;align-items:center;gap:6px;color:var(--ui-danger)}.match-guide-event-label svg{width:15px;height:15px}.match-guide-head button{width:22px;height:22px;padding:0;border:1px solid var(--ui-border);border-radius:3px;background:var(--ui-surface);color:var(--ui-text);font:inherit;font-weight:700;line-height:1;cursor:pointer}.match-guide-head button:hover{background:var(--ui-surface-hover)}.match-guide-step{display:grid;grid-template-columns:34px 1fr;gap:9px;margin-top:8px;animation:match-guide-in .26s ease-out}.match-guide-wave-event{padding:10px;border:1px solid var(--ui-danger);border-radius:4px;background:var(--ui-danger-soft)}.match-guide-wave-event b{color:var(--ui-danger)}.match-guide-wave-event .match-guide-why{color:var(--ui-text)}.match-guide-icon{display:grid;place-items:center;width:34px;height:34px}.match-guide-icon svg{width:30px;height:30px}.match-guide-step b{font-size:var(--text-sm);font-weight:750}.match-guide-step p{margin:2px 0 0;font-size:var(--text-xs);line-height:1.4}.match-guide-why{color:var(--ui-text-muted)}.match-guide-explain{margin-top:5px;color:var(--ui-text-muted);font-size:var(--text-xs)}.match-guide-explain summary{cursor:pointer;width:fit-content}.match-guide-explain p{margin:5px 0 0}.match-guide-step .primary-button{margin-top:8px;padding:5px 10px;font-size:var(--text-xs)}.match-guide-pips{display:flex;gap:4px;margin:10px 0 0;padding:0;list-style:none}.match-guide-pips li{flex:1;height:4px;border-radius:2px;background:var(--ui-border-soft)}.match-guide-pips li.done{background:var(--ui-success)}.match-guide-pips li.current{background:var(--hud-brass-dark)}.match-guide-tab{position:absolute;top:68px;left:14px;z-index:9;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;color:var(--hud-value);font:inherit;font-size:var(--text-xs);cursor:pointer}.match-guide-tab svg{width:14px;height:14px}.guide-target{position:relative}.guide-target .action,.order.guide-target{outline:2px solid var(--hud-brass-light);outline-offset:1px;animation:guide-pulse 1.4s ease-in-out infinite}.guide-target:before{content:"";position:absolute;z-index:2;left:-13px;top:50%;border-block:8px solid transparent;border-left:11px solid var(--hud-brass-light);filter:drop-shadow(0 1px 1px rgb(0 0 0 / 70%));transform:translateY(-50%);animation:guide-nudge .9s ease-in-out infinite;pointer-events:none}@keyframes guide-nudge{50%{transform:translate(4px,-50%)}}.match-guide-glow{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;border-radius:3px;box-shadow:0 0 0 2px var(--hud-brass-light),0 0 26px 6px #ecd49a99;opacity:0;animation:guide-glow 1.8s ease-out;pointer-events:none}@keyframes guide-glow{0%,45%{opacity:1}}.match-guide-off{display:block;margin:8px 0 0 auto;padding:0;border:0;background:none;color:var(--ui-text-muted);font:inherit;font-size:var(--text-2xs);text-decoration:underline;cursor:pointer}.guide-pointer{position:absolute;top:0;left:0;z-index:6;pointer-events:none}.guide-pointer-body{position:absolute;display:flex;flex-direction:column;align-items:center;gap:2px;transform:translate(-50%,-100%)}.guide-pointer[data-edge=true] .guide-pointer-body{transform:translate(-50%,-50%)}.guide-pointer-label{padding:3px 8px;border:1px solid var(--hud-brass-dark);border-radius:3px;background:var(--hud-timber);box-shadow:0 2px 6px #040c0a8c;color:var(--hud-value);font-size:var(--text-xs);font-weight:700;white-space:nowrap}.guide-pointer-arrow{display:grid;place-items:center;color:var(--hud-brass-light);filter:drop-shadow(0 2px 2px rgb(0 0 0 / 75%));animation:guide-bob 1s ease-in-out infinite}.guide-pointer-arrow svg{width:36px;height:36px;stroke-width:3.4}@keyframes guide-bob{50%{transform:translateY(7px)}}.guide-pointer[data-info=true] .guide-pointer-arrow{animation:none}.guide-welcome-shade{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:64px 16px 16px;background:#040c0a94}.guide-welcome{position:relative;width:min(940px,100%);max-height:100%;overflow-y:auto;padding:16px 22px 20px}.guide-welcome h2{margin:10px 0 4px;font-family:var(--font-display);font-size:28px;font-weight:700}.guide-welcome-lead{max-width:64ch;margin:0 0 14px;color:var(--ui-text-muted)}.guide-welcome-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none}.guide-welcome-cards li{display:flex;flex-direction:column;gap:6px}.guide-welcome-cards img{display:block;width:100%;height:auto;border:1px solid var(--hud-parchment-edge);border-radius:3px;box-shadow:0 2px 6px #2b211859}.guide-welcome-cards b{font-size:var(--text-md);letter-spacing:.06em;text-transform:uppercase}.guide-welcome-cards p{margin:0;font-size:var(--text-xs);line-height:1.45}.guide-welcome-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:16px}@media(max-width:820px){.guide-welcome-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@keyframes guide-pulse{50%{outline-color:#ecd49a40}}@keyframes match-guide-in{0%{opacity:0;transform:translateY(-4px)}}.site-header{display:flex;align-items:center;gap:var(--space-5);min-height:var(--site-header-h);padding:0 var(--site-gutter);position:relative;z-index:3}.site-brand{display:flex;align-items:center;gap:0;color:var(--ui-value);text-decoration:none;font-size:var(--text-md);font-weight:800;letter-spacing:.24em}.site-brand .brand-symbol{width:52px;height:52px;margin:-8px 5px -8px 0}.site-brand-text{display:grid;gap:4px;margin-top:5px;line-height:1}.site-brand .site-version{font-weight:500;letter-spacing:.12em}.site-pumpkin{display:none}html.halloween .site-brand .brand-symbol{position:relative}html.halloween .site-pumpkin{display:block;position:absolute;left:-9px;top:30px;width:30px;height:25px;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none}.site-pumpkin-body,.site-pumpkin-frame{position:absolute;top:0;right:0;bottom:0;left:0}.site-pumpkin-body{transform-origin:50% 90%}.site-pumpkin-frame{background:url(/media/pumpkin.png) 0 0 / 90px 25px no-repeat;background-image:image-set(url(/media/pumpkin.png) 1x,url(/media/pumpkin-2x.png) 2x,url(/media/pumpkin-3x.png) 3x)}.site-pumpkin-low{background-position:-30px 0;clip-path:inset(9px 8px 6px 8px);opacity:0;animation:pumpkin-candle 2.9s linear infinite}.site-pumpkin-plain{background-position:-60px 0;opacity:0}.site-pumpkin-glow,.site-pumpkin-flare{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;background:radial-gradient(closest-side,var(--fx-flame-core),var(--fx-flame) 35%,transparent);pointer-events:none}.site-pumpkin-glow{top:60%;width:44px;height:44px;margin:-22px 0 0 -22px;opacity:.18;animation:pumpkin-glow 3.7s linear infinite}.site-pumpkin-flare{opacity:0}html.pumpkin-gone .site-pumpkin-body,html.pumpkin-gone .site-pumpkin-glow{opacity:0;animation:none}@keyframes pumpkin-glow{0%,to{opacity:.18;transform:none}9%{opacity:.23;transform:scale(1.03)}15%{opacity:.16;transform:scale(.982)}33%{opacity:.14;transform:scale(.97)}41%{opacity:.22;transform:scale(1.024)}63%{opacity:.24;transform:scale(1.042)}71%{opacity:.16;transform:scale(.982)}88%{opacity:.2;transform:scale(1.012)}}@keyframes pumpkin-candle{0%,22%,48%,88%,to{opacity:0}6%{opacity:.5}9%{opacity:.1}31%{opacity:.65}35%{opacity:.2}66%{opacity:.4}70%{opacity:.75}74%{opacity:.15}}@media(prefers-reduced-motion:reduce){.site-pumpkin-glow,.site-pumpkin-low{animation:none}}.site-version{margin:0;font-size:var(--text-2xs);letter-spacing:.08em;color:var(--ui-text-muted)}.site-nav{display:flex;align-items:center;gap:clamp(18px,3.2vw,56px);margin-left:clamp(16px,7vw,120px)}.site-nav a{padding:8px 0 7px;border-bottom:1px solid transparent;color:var(--ui-text-muted);text-decoration:none;text-transform:uppercase;font-size:var(--text-xs);font-weight:600;letter-spacing:.26em;white-space:nowrap}.site-nav a:hover{color:var(--ui-text)}.site-nav a.active{color:var(--ui-accent);border-bottom-color:var(--ui-accent)}.site-header-page .site-nav{margin-left:auto}.site-music{margin-left:clamp(18px,3.2vw,56px)}.site-music button{padding:8px 0 7px;border:0;border-bottom:1px solid transparent;background:none;color:var(--ui-text-muted);font:inherit;font-size:var(--text-xs);font-weight:600;letter-spacing:.26em;text-transform:uppercase;white-space:nowrap;cursor:pointer}.site-music button:hover{color:var(--ui-text)}.account-chip{display:inline-flex;align-items:center;gap:8px;margin-left:clamp(18px,3.2vw,56px);padding:8px 0 7px;color:var(--ui-text-muted);text-decoration:none;text-transform:uppercase;font-size:var(--text-xs);font-weight:600;letter-spacing:.26em;white-space:nowrap}.account-chip:hover{color:var(--ui-text)}.account-chip.active{color:var(--ui-accent)}.account-chip.signed-in{padding:4px 0;color:var(--ui-value);text-transform:none;letter-spacing:.04em}.avatar{display:inline-grid;place-items:center;flex:none;overflow:hidden;border-radius:50%;line-height:1}.avatar img{display:block;width:100%;height:100%;object-fit:cover}.avatar-framed{position:relative;display:inline-grid;flex:none;border-radius:50%}.avatar-framed>.avatar{width:100%;height:100%;background:inherit;color:inherit;font:inherit}.avatar-framed>.avatar-frame{position:absolute;top:-23.53%;left:-23.53%;width:147.06%;height:147.06%;overflow:visible;pointer-events:none}.avatar-framed.player-plate-avatar{box-shadow:none}.avatar-framed:is(.seat-avatar,.player-avatar){margin:0 3px}.seat-avatar,.player-avatar,.realm-avatar{width:20px;height:20px;border:1px solid var(--ui-border-soft);vertical-align:middle}.player-avatar{width:16px;height:16px}.seat-avatar{margin-right:6px}.account-initial{display:inline-grid;place-items:center;width:26px;height:26px;border:1px solid var(--ui-accent);border-radius:50%;color:var(--ui-accent);font-size:var(--text-2xs);font-weight:800;letter-spacing:0}.account-chip .avatar-framed.account-initial{margin:0 4px}.site-header .account-chip{min-width:0}.account-chip-name{min-width:0;max-width:12ch;overflow:hidden;text-overflow:ellipsis}@media(max-width:520px){.account-chip-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.account-chip .avatar-framed.account-initial{margin:0}}.account-chip.viewing-as{color:var(--ui-warning)}.account-chip.viewing-as .account-initial{border-color:var(--ui-warning);color:var(--ui-warning)}.account-chip-eye{flex:none;width:18px;height:18px;margin-right:-2px}body{padding-top:var(--view-as-space, 0px)}.view-as-banner{position:fixed;z-index:45;top:0;left:0;right:0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);box-sizing:border-box;padding:8px var(--site-gutter);border-bottom:1px solid color-mix(in srgb,var(--ui-warning) 65%,transparent);background:color-mix(in srgb,var(--ui-warning) 16%,var(--site-bg));color:var(--ui-text);font-size:var(--text-md);line-height:1.4}.view-as-banner.inline{position:static}.view-as-icon{flex:none;width:20px;height:20px;color:var(--ui-warning)}.view-as-text{flex:1 1 160px;margin:0}.view-as-text strong{color:var(--ui-warning)}.view-as-by{color:var(--ui-text-muted);font-size:var(--text-sm)}.view-as-failed{color:var(--ui-danger);font-size:var(--text-sm)}.view-as-stop{flex:none;min-height:32px;padding:4px 18px;border:1px solid var(--ui-warning);border-radius:var(--radius-sm);background:transparent;color:var(--ui-warning);font-size:var(--text-xs);font-weight:800;letter-spacing:.18em;text-transform:uppercase}.view-as-stop:hover:not(:disabled){background:color-mix(in srgb,var(--ui-warning) 14%,transparent)}.view-as-stop:focus-visible{outline:2px solid var(--ui-warning);outline-offset:2px}.site-footer{display:flex;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;color:var(--ui-text-muted);font-size:var(--text-2xs);letter-spacing:.18em}a.footer-link{text-decoration:none;text-transform:uppercase}.menu-shell{flex-direction:column;align-items:flex-start}.menu-shell>.site-header{align-self:stretch}.menu-shell>.site-footer{position:absolute;bottom:25px;left:clamp(24px,8vw,150px);right:7%;z-index:2}.menu-shell .menu-content,.legal-card .legal-notice{margin-top:var(--space-5)}.legal-notice a,.settings-card .settings-note a,.play-modes-note a{color:var(--ui-accent)}.not-found-card h1{margin:6px 0 8px;font-family:var(--font-display);font-size:clamp(34px,5vw,52px);line-height:1.05;color:var(--ui-value)}.not-found-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:var(--space-4)}.not-found-actions a{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:3px;text-decoration:none;letter-spacing:.12em;text-transform:uppercase;font-size:var(--text-xs)}.not-found-actions svg{width:18px;height:18px}.site{min-height:100vh;background:var(--site-bg);color:var(--ui-text);overflow-x:clip}.landing>.site-header{position:absolute;top:var(--view-as-space, 0px);left:0;right:0}.landing-home{position:relative;isolation:isolate;padding:calc(var(--site-header-h) + clamp(24px,8vh,120px)) var(--site-gutter) 56px}.landing-hero-art{position:absolute;z-index:-1;top:0;right:0;width:min(74%,1500px);height:min(86vh,900px);min-height:560px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0,rgb(0 0 0 / 25%) 30%,#000 58%),linear-gradient(180deg,#000 58%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,rgb(0 0 0 / 25%) 30%,#000 58%),linear-gradient(180deg,#000 58%,transparent);mask-composite:intersect}.landing-hero-art img{width:100%;height:100%;object-fit:cover;object-position:50% 45%;filter:saturate(.82) brightness(.72) contrast(1.05)}.landing-hero-art:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(60% 55% at 82% 0%,rgb(236 212 154 / 30%),transparent 70%),linear-gradient(180deg,var(--site-shade) 0,transparent 26%),linear-gradient(0deg,rgb(11 25 22 / 55%),transparent 45%)}.landing-hero-copy{max-width:640px}.landing-kicker{margin:0 0 22px;font-size:var(--text-sm);letter-spacing:.32em;text-transform:uppercase;color:var(--ui-text)}.landing-home h1{margin:0;font-family:var(--font-display);font-size:clamp(min(44px,11.5vw),6.4vw,96px);font-weight:700;line-height:.95;letter-spacing:-.015em;color:var(--ui-value);text-shadow:0 2px 24px rgb(11 25 22 / 70%)}.landing-motto{margin:14px 0 26px;font-family:var(--font-display);font-size:clamp(22px,2.5vw,36px);font-weight:700;color:var(--ui-accent);text-wrap:balance}.landing-lead{margin:0 0 34px;max-width:540px;font-size:var(--text-xl);line-height:1.6;color:var(--ui-text)}.landing-actions{display:grid;gap:var(--space-4);max-width:520px}.landing-actions .menu-button-group:empty{display:none}.landing-cta{display:flex;flex-wrap:wrap;gap:var(--space-4)}.landing-cta button{flex:1 1 200px;min-height:58px;padding:14px 22px;justify-content:flex-start;gap:14px;font-size:var(--text-md);letter-spacing:.22em;text-transform:uppercase;border-radius:var(--radius-sm)}.landing-cta button svg{width:24px;height:24px;flex:none}.landing-cta .landing-play>span{margin-left:auto;letter-spacing:0}.landing-cta button:active,.landing-cta button[aria-busy=true],.landing-phone button[aria-busy=true]{transform:translateY(1px)}.landing-cta button[aria-busy=true],.landing-phone button[aria-busy=true]{cursor:progress}.outline-button{display:flex;align-items:center;background:#0b191673;border:1px solid var(--site-line-strong);color:var(--ui-text);font-weight:700}.outline-button:hover{background:var(--ui-surface);border-color:var(--ui-accent)}.landing-pillars{list-style:none;margin:clamp(36px,6vh,80px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,max-content));gap:0}.landing-pillars li{display:flex;align-items:center;gap:16px;padding:4px clamp(18px,2.6vw,44px);border-left:1px solid var(--site-line)}.landing-pillars li:first-child{padding-left:0;border-left:0}.landing-pillars svg{width:48px;height:48px;flex:none;color:var(--ui-accent)}.landing-pillars span{display:grid;gap:4px;font-size:var(--text-2xs);letter-spacing:.22em;text-transform:uppercase;color:var(--ui-text-muted)}.landing-pillars strong{font-size:var(--text-md);letter-spacing:.22em;color:var(--ui-value)}.landing-strip{list-style:none;margin:clamp(24px,4vh,44px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.5vw,24px)}.landing-strip a{position:relative;display:block;border:1px solid var(--site-line);border-radius:var(--radius-sm);overflow:hidden;box-shadow:0 18px 40px #00000059}.landing-strip a:hover{border-color:var(--site-line-strong)}.landing-strip-caption{display:grid;gap:4px;margin:12px 0 0;font-size:var(--text-xs);line-height:1.35;color:var(--ui-text-muted)}.landing-strip-caption strong{font-size:var(--text-2xs);letter-spacing:.22em;text-transform:uppercase;color:var(--ui-accent)}.landing-strip-play{position:absolute;right:10px;bottom:10px;width:30px;height:30px;color:var(--ui-value);filter:drop-shadow(0 2px 6px rgb(0 0 0 / 60%));opacity:0;transition:opacity .2s;pointer-events:none}.landing-strip-still .landing-strip-play{opacity:.85}.landing-strip :is(img,video),.landing-gallery img{display:block;width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover;background:var(--site-bg-raised)}.landing-strip video{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;background:none}.landing-section{padding:clamp(64px,11vh,120px) var(--site-gutter);border-top:1px solid var(--site-line)}.landing-eyebrow{margin:0 0 12px;font-size:var(--text-xs);font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--ui-accent)}.landing-section h2{margin:0 0 28px;font-family:var(--font-display);font-size:clamp(30px,3.6vw,48px);line-height:1.1;color:var(--ui-value);text-wrap:balance}.landing-section p{max-width:640px;font-size:var(--text-xl);line-height:1.7;color:var(--ui-text-muted)}.landing-about{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center;background:linear-gradient(180deg,var(--site-bg-raised),var(--site-bg))}.landing-facts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--site-line);border:1px solid var(--site-line)}.landing-facts li{display:grid;align-content:start;gap:6px;padding:26px 24px;background:var(--site-bg);font-size:var(--text-xs);letter-spacing:.22em;text-transform:uppercase;color:var(--ui-text-muted)}.landing-facts small{font-size:var(--text-sm);letter-spacing:0;line-height:1.4;text-transform:none}.landing-facts strong{font-family:var(--font-display);font-size:clamp(34px,3.4vw,48px);letter-spacing:0;line-height:1;color:var(--ui-accent)}.landing-feature-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,24px)}.landing-feature-grid li{padding:28px;background:var(--site-bg-raised);border:1px solid var(--site-line);border-radius:var(--radius-sm)}.landing-feature-grid svg{width:48px;height:48px;color:var(--ui-accent)}.landing-feature-grid h3{margin:16px 0 10px;font-family:var(--font-display);font-size:22px;color:var(--ui-value)}.landing-feature-grid p{margin:0;font-size:var(--text-lg);line-height:1.6}.landing-crests{list-style:none;margin:32px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:12px 28px}.landing-crests li{display:flex;align-items:center;gap:10px;font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--ui-text-muted)}.landing-crests svg{width:30px;height:30px}.landing-gallery{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(12px,1.6vw,24px)}.landing-gallery figure{margin:0;grid-column:span 2}.landing-gallery figure:nth-child(-n+2){grid-column:span 3}.landing-gallery img{border:1px solid var(--site-line);border-radius:var(--radius-sm)}.landing-gallery figcaption{margin-top:10px;font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--ui-text-muted)}.landing-section .landing-media-note{margin:24px 0 0;font-size:var(--text-md)}.landing>.site-footer{padding:28px var(--site-gutter) 36px;border-top:1px solid var(--site-line)}@media(max-width:1840px){.site-header,.site-nav{gap:clamp(var(--space-5),2vw,var(--space-6))}.account-chip,.site-music{margin-left:0}}@media(min-width:1281px)and (max-width:1600px){.site-music input[type=range]{display:none}}@media(max-width:1440px){.site-header,.site-nav{gap:clamp(var(--space-4),1.6vw,var(--space-5))}.site-nav a,.site-nav .whats-new-button,.site-music button{letter-spacing:.18em}}@media(max-width:1280px){.site-header{flex-wrap:wrap;gap:4px var(--space-5);padding-top:14px;padding-bottom:10px}.site-header .site-nav{order:3;width:100%;margin-left:0;flex-wrap:wrap;gap:6px 20px}.site-header .site-music,.site-header .account-chip{margin-left:auto}.site-header .account-chip+.site-music{margin-left:18px}}@media(min-width:901px)and (max-width:1280px){.site-header{row-gap:0;padding-top:8px;padding-bottom:6px}.site-header .site-nav{margin-left:57px;width:calc(100% - 57px)}.site-nav a,.site-nav .whats-new-button{padding:4px 0 3px}}@media(max-width:1100px){.landing-pillars{grid-template-columns:repeat(2,minmax(0,max-content));row-gap:24px}.landing-pillars li:nth-child(3){padding-left:0;border-left:0}.landing-strip,.landing-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.site-music input[type=range]{display:none}.landing>.site-header{position:relative;top:0}.landing-home{padding-top:clamp(24px,8vh,64px)}.landing-hero-art{width:100%;height:72vh;min-height:0;-webkit-mask-image:linear-gradient(180deg,transparent,#000 18%,#000 36%,transparent);mask-image:linear-gradient(180deg,transparent,#000 18%,#000 36%,transparent)}.landing-hero-art img{filter:saturate(.8) brightness(.36)}.landing-about{grid-template-columns:minmax(0,1fr)}}@media(max-width:720px){.menu-shell>.site-footer{display:none}.site-version{display:none}.landing-feature-grid,.landing-gallery{grid-template-columns:minmax(0,1fr)}.landing-gallery figure,.landing-gallery figure:nth-child(-n+2){grid-column:auto}.landing-cta button{flex-basis:100%}.landing-lead br{display:none}}@media(max-width:480px){.site-brand{letter-spacing:.18em}.landing-pillars{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.landing-pillars li{padding:4px 12px;gap:10px}.landing-pillars li:nth-child(odd){padding-left:0;border-left:0}.landing-pillars svg{width:28px;height:28px}.landing-kicker{letter-spacing:.2em}.landing-facts li{padding:20px 16px}}.landing-phone,.landing-desk-note{display:none}html.phone .landing-home{padding-top:var(--space-5)}html.phone .landing-lead{margin-bottom:var(--space-5)}html.phone .landing-lead br{display:none}html.phone .landing-phone{display:grid;gap:var(--space-3);max-width:520px;margin:0 0 var(--space-6)}html.phone .landing-phone h2{margin:0;font-family:var(--font-ui);font-size:var(--text-xs);font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--ui-accent)}html.phone .landing-phone-why{margin:0 0 var(--space-1);font-size:var(--text-xl);line-height:1.5;color:var(--ui-text)}html.phone .landing-send{min-height:58px;padding:14px 20px;gap:var(--space-3);font-size:var(--text-md);letter-spacing:.14em;text-transform:uppercase;border-radius:var(--radius-sm)}html.phone .landing-send-ways{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}html.phone .landing-send-ways .outline-button,html.phone .landing-remind,html.phone .landing-play-here{min-height:48px;padding:10px 14px;justify-content:center;gap:var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-md);letter-spacing:.04em;text-align:center;text-decoration:none}html.phone .landing-remind{justify-content:flex-start;text-align:left}html.phone .landing-remind svg,html.phone .landing-play-here svg{width:22px;height:22px;flex:none;color:var(--ui-accent)}html.phone .landing-remind small{display:block;margin-top:2px;font-weight:400;letter-spacing:0;color:var(--ui-text-muted)}html.phone .landing-send-status{min-height:1.5em;margin:0;font-size:var(--text-md);line-height:1.5;color:var(--ui-accent)}html.phone .landing-send-manual{width:100%;padding:10px 12px;font-size:var(--text-xl);color:var(--ui-value);background:var(--site-bg-raised);border:1px solid var(--site-line-strong);border-radius:var(--radius-sm)}html.phone .landing-phone-clip{position:relative;margin:var(--space-2) 0 0}html.phone .landing-phone-clip :is(img,video){display:block;width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover;background:var(--site-bg-raised);border:1px solid var(--site-line);border-radius:var(--radius-sm)}html.phone .landing-phone-clip video{position:absolute;top:0;left:0;background:none;border-color:transparent}html.phone .landing-phone-clip figcaption{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--ui-text-muted)}html.phone .landing-phone-account{display:grid;gap:var(--space-3);padding:var(--space-4);background:var(--site-bg-raised);border:1px solid var(--site-line);border-radius:var(--radius)}html.phone .landing-phone-account p{margin:0;font-size:var(--text-md);line-height:1.5}html.phone .landing-phone-account strong{color:var(--ui-value)}html.phone .landing-phone-providers{display:grid;gap:var(--space-2)}html.phone .landing-desk-note{display:grid;gap:var(--space-1);margin:0;font-size:var(--text-md);color:var(--ui-text-muted)}html.phone .landing-desk-note strong{font-size:var(--text-2xs);letter-spacing:.3em;text-transform:uppercase;color:var(--ui-accent)}html.phone .landing-actions .primary-button{background:#0b191673;border-color:var(--site-line-strong);color:var(--ui-text)}html.phone .landing-cta button{min-height:48px}html.phone .site-header .site-music{display:none}@media(orientation:landscape){html.phone .landing-hero-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:var(--space-6);align-items:start;max-width:none}html.phone .landing-hero-copy>*{grid-column:1}html.phone .landing-kicker{display:none}html.phone .landing-home h1{font-size:min(44px,5vw)}html.phone .landing-motto{margin:10px 0 18px;font-size:20px}html.phone .landing-hero-copy>.landing-phone{grid-column:2;grid-row:1 / span 6;margin:0}}@media(prefers-reduced-motion:no-preference){.site-nav a,.outline-button,.landing-strip a{transition:color var(--ease-ui),background-color var(--ease-ui),border-color var(--ease-ui)}}.menu-shell.site-page{background:var(--site-bg)}.site-page-art{position:absolute;z-index:0;top:0;right:0;width:min(70%,1400px);height:min(90vh,900px);overflow:hidden;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent 0,rgb(0 0 0 / 30%) 35%,#000 70%),linear-gradient(180deg,#000 45%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,rgb(0 0 0 / 30%) 35%,#000 70%),linear-gradient(180deg,#000 45%,transparent);mask-composite:intersect}.site-page-art img{width:100%;height:100%;object-fit:cover;object-position:50% 45%;filter:saturate(.7) brightness(.42) contrast(1.05)}.site-page-art:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(55% 50% at 85% 0%,rgb(236 212 154 / 18%),transparent 70%),linear-gradient(180deg,var(--site-shade) 0,transparent 30%)}.menu-shell.site-page .menu-content,.menu-shell.site-page.form-screen .menu-content{margin-left:var(--site-gutter)}@media(min-width:901px){.menu-shell.site-page{--page-width: 760px}.menu-shell.site-page.screen-how{--page-width: 920px}.menu-shell.site-page.form-screen.with-lobby-map{--page-width: 1440px}.site-page.with-lobby-map .lobby-layout>.setup-card{--map-column: clamp(320px, 26vw, 420px)}.menu-shell.site-page .menu-content,.menu-shell.site-page.form-screen .menu-content,.menu-shell.site-page.form-screen.with-lobby-map .menu-content{width:min(var(--page-width),calc(100vw - 2 * var(--site-gutter)));max-width:none;margin:clamp(28px,6vh,64px) auto 64px;align-self:center}.site-page .card-head .card-title h1{font-size:clamp(34px,3.4vw,52px)}.site-page.screen-how .guide-tabs{grid-template-columns:repeat(5,1fr)}}.site-page .menu-card{background:color-mix(in srgb,var(--site-bg-raised) 92%,transparent);border:1px solid var(--site-line);border-radius:var(--radius-sm);box-shadow:0 24px 60px #00000061}.site-page .lobby-layout,.site-page .lobby-layout>.setup-card{border-radius:var(--radius-sm)}.site-page .lobby-map-panel{border-color:var(--site-line)}@media(min-width:901px){.site-page .setup-split.with-map>.lobby-map-panel{background:#0b191661;border-left-color:var(--site-line);border-radius:0 var(--radius-sm) 0 0}.site-page .setup-split.with-map>.lobby-map-panel:last-child,.site-page .setup-split.with-map:not(:has(>.setup-more,>.card-actions))>.lobby-map-panel{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.site-page .with-map>.setup-main>.lobby-seats:last-child .lobby-actions{border-radius:0 0 0 var(--radius-sm)}}.site-page .card-title .eyebrow{font-size:var(--text-2xs);letter-spacing:.32em;color:var(--ui-text)}.site-page .card-head .card-title h1{margin-top:6px;font-family:var(--font-display);font-size:clamp(30px,3.2vw,44px);font-weight:700;letter-spacing:-.01em;color:var(--ui-value)}.site-page .form-section{border-top-color:var(--site-line)}.site-page .form-section-title{letter-spacing:.28em}.site-page .card-actions,.site-page .lobby-actions{background:var(--site-bg-raised);border-top-color:var(--site-line)}.site-page .card-actions:last-child,.site-page .setup-main:last-child>.lobby-seats:last-child .lobby-actions{border-radius:0 0 var(--radius-sm) var(--radius-sm)}.site-page :is(.menu-card select,.menu-card textarea,.menu-card input:not([type=range]):not([type=checkbox])){background:#0b191699;border-color:var(--site-line);border-radius:var(--radius-sm)}.site-page :is(.menu-card select,.menu-card textarea,.menu-card input:not([type=range]):not([type=checkbox])):hover{border-color:var(--site-line-strong)}.site-page :is(.primary-button,.secondary-button,.danger-button,.back-button),.consent-banner .secondary-button{border-radius:var(--radius-sm);font-size:var(--text-sm);letter-spacing:.14em;text-transform:uppercase}.site-page :is(.secondary-button,.back-button),.consent-banner .secondary-button{background:#0b191673;border:1px solid var(--site-line-strong);color:var(--ui-text)}.site-page :is(.secondary-button,.back-button):hover:not(:disabled),.consent-banner .secondary-button:hover:not(:disabled){background:var(--ui-surface);border-color:var(--ui-accent)}.site-page .back-button .back-arrow{color:var(--ui-accent)}.site-page :is(.mode-tabs button,.guide-tabs :is(button,a)){background:#0b191673;border-color:var(--site-line-strong);border-radius:var(--radius-sm);font-size:var(--text-sm);letter-spacing:.1em;text-transform:uppercase}.site-page :is(.mode-tabs button,.guide-tabs :is(button,a)):hover{background:var(--ui-surface);border-color:var(--ui-accent)}.site-page :is(.mode-tabs button,.guide-tabs :is(button,a)).active{background:var(--ui-accent);border-color:var(--ui-accent);color:var(--ui-ink)}@media(max-width:389px){.site-page .guide-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.site-page .guide-tabs :is(button,a){font-size:var(--text-xs);letter-spacing:.02em}}@media(max-width:420px){.site-page :is(.card-actions,.lobby-actions)>button{padding-inline:8px;line-height:1.25;letter-spacing:.08em;text-align:center;white-space:normal}}.site-page .faction-picker .faction-picker-option,.site-page .bug-form .bug-category-option{background:#0b191673;border-color:var(--site-line);border-radius:var(--radius-sm)}.site-page .faction-picker .faction-picker-option:hover,.site-page .bug-form .bug-category-option:hover{background:var(--ui-surface);border-color:var(--site-line-strong)}.site-page .faction-picker .faction-picker-option.selected,.site-page .bug-form .bug-category-option.selected{background:color-mix(in srgb,var(--ui-accent) 12%,transparent);border-color:var(--ui-accent)}.game-shell.touch{--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--touch-target: 44px;--touch-bar-width: 300px;--touch-bar-height: 84px;--touch-bar-right: 14px;--touch-bar-bottom: 14px;--touch-top: calc(54px + var(--safe-top));--minimap-size: clamp(120px, min(14vw, 21vh), 190px);--hud-right-width: max(290px, calc(var(--minimap-size) + 64px));min-height:0;overflow:clip;overscroll-behavior:none;touch-action:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.game-shell.touch.minimap-large{--minimap-size: clamp(150px, min(20vw, 30vh), 260px)}@supports (width: round(down,1.5px,1px)){.game-shell.touch{--minimap-size: round(down, clamp(120px, min(14vw, 21vh), 190px), 1px)}.game-shell.touch.minimap-large{--minimap-size: round(down, clamp(150px, min(20vw, 30vh), 260px), 1px)}}.game-shell.touch .game-top{height:var(--touch-top);padding-top:var(--safe-top);padding-left:calc(18px + var(--safe-left));padding-right:calc(18px + var(--safe-right))}.game-shell.touch .world-viewport{top:var(--touch-top)}.game-shell.touch .top-actions button{min-width:var(--touch-target);min-height:var(--touch-target)}.game-shell.touch .top-actions .top-controls{display:none}.game-shell.touch .minimap-panel{top:calc(var(--touch-top) + 14px);right:calc(14px + var(--safe-right));bottom:auto;width:auto;height:auto}.game-shell.touch .minimap-side{width:var(--touch-target)}.game-shell.touch .minimap-size{width:var(--touch-target);height:var(--touch-target);font-size:20px}.game-shell.touch .minimap-panel span{display:none}.game-shell.touch .action-panel{top:calc(var(--touch-top) + var(--minimap-size) + 44px);right:calc(14px + var(--safe-right));bottom:calc(var(--touch-bar-bottom) + var(--touch-bar-height) + 14px + var(--safe-bottom));overscroll-behavior:contain}.game-shell.touch .selection-panel{left:calc(14px + var(--safe-left));bottom:calc(14px + var(--safe-bottom));max-width:calc(100% - var(--hud-right-width) - var(--touch-bar-width) - 59px - var(--safe-left) - var(--safe-right))}.game-shell.touch :is(.hud-left,.control-group-bar,.match-guide,.match-guide-tab){left:calc(14px + var(--safe-left))}.game-shell.touch :is(.match-guide,.match-guide-tab){top:calc(var(--touch-top) + 14px)}.game-shell.touch .resource-panel{top:calc(var(--touch-top) + 14px);left:calc(14px + var(--safe-left))}.game-shell.touch :is(.match-guide,.match-guide-tab).beside-players{left:calc(231px + var(--safe-left))}.game-shell.touch :is(.idle-bar button,.control-group-chip,.garrison-button){min-height:var(--touch-target)}.game-shell.touch .garrison-button{min-width:var(--touch-target)}.game-shell.touch .control-group-chip,.game-shell.touch .demolish-button,.game-shell.touch .demolish-choices button{height:var(--touch-target)}.game-shell.touch .garrison-group{min-height:var(--touch-target)}.game-shell.touch .match-guide-head button{width:var(--touch-target);height:var(--touch-target);font-size:18px}.game-shell.touch .match-guide-tab{min-height:var(--touch-target)}.game-shell.touch .notice{min-height:40px}.game-shell.touch :is(.game-menu,.end-card,.net-banner,.guide-welcome,.match-guide) :is(.primary-button,.secondary-button,.danger-button){min-height:var(--touch-target)}.game-shell.touch .action-wrap>.wall-tier-notches{height:22px}.game-shell.touch .action-wrap>.wall-tier-notches .wall-tier-notch{width:14px}.game-shell.touch .performance-hint{top:calc(var(--touch-top) + 10px)}.game-shell.touch .performance-hint button{min-height:var(--touch-target)}.game-shell.touch :is(.action-panel,.game-menu-list) kbd{display:none}.touch-details{display:none}.touch-tip{position:fixed;z-index:45;width:max-content;max-width:min(280px,calc(100vw - 16px));padding:8px 10px;font-size:var(--text-sm);line-height:1.4;pointer-events:none}.rotate-prompt{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:calc(24px + var(--safe-top, 0px)) 32px calc(24px + var(--safe-bottom, 0px));background:var(--site-bg);color:var(--hud-text);text-align:center}.rotate-prompt-glyph{display:grid;place-items:center;width:96px;height:96px;border:2px solid var(--hud-brass);border-radius:50%;background:var(--hud-wood-deep);color:var(--hud-brass-light)}.rotate-prompt-glyph svg{width:58px;height:58px}@media(prefers-reduced-motion:no-preference){.rotate-prompt-glyph svg{animation:rotate-prompt-turn 2.4s ease-in-out infinite}}.rotate-prompt strong{font-family:var(--font-display);font-size:24px;color:var(--hud-value)}.rotate-prompt p{max-width:30ch;margin:0;color:var(--hud-text-muted);font-size:var(--text-md);line-height:1.5}@keyframes rotate-prompt-turn{0%,20%{transform:rotate(90deg)}55%,to{transform:rotate(0)}}@media(max-height:540px){.game-shell.touch{--gap: 4px;--touch-top: calc(44px + var(--safe-top));--strip-height: 54px;--select-width: 144px;--touch-bar-width: 96px;--touch-bar-height: 188px;--touch-bar-right: var(--gap);--touch-bar-bottom: var(--gap);--minimap-size: clamp( 56px, calc( 100dvh - var(--touch-top) - var(--safe-bottom) - var(--touch-bar-height) - 10px - var(--gap) * 4 ), calc(var(--touch-bar-width) - 10px) );--hud-right-width: calc(var(--touch-bar-width) + var(--gap));--bottom-row: calc(var(--strip-height) + var(--gap) + var(--safe-bottom));--queue-room: 50px}.game-shell.touch.minimap-large{--minimap-size: clamp( 56px, calc( 100dvh - var(--touch-top) - var(--safe-bottom) - var(--touch-bar-height) - 10px - var(--gap) * 4 ), 170px )}@supports (width: round(down,1.5px,1px)){.game-shell.touch{--minimap-size: round( down, clamp( 56px, calc( 100dvh - var(--touch-top) - var(--safe-bottom) - var(--touch-bar-height) - 10px - var(--gap) * 4 ), calc(var(--touch-bar-width) - 10px) ), 1px )}.game-shell.touch.minimap-large{--minimap-size: round( down, clamp( 56px, calc( 100dvh - var(--touch-top) - var(--safe-bottom) - var(--touch-bar-height) - 10px - var(--gap) * 4 ), 170px ), 1px )}}.game-shell.touch .game-top{display:flex;justify-content:space-between;gap:8px;padding-bottom:4px;padding-left:calc(6px + var(--safe-left));padding-right:calc(6px + var(--safe-right));background:radial-gradient(circle,var(--hud-iron-light) 0 .5px,var(--hud-iron) 1px,var(--hud-iron-dark) 1.5px,transparent 2px) 40px calc(100% - .5px) / 160px 4px repeat-x,linear-gradient(180deg,transparent calc(100% - 4px),var(--hud-iron-deep) calc(100% - 4px),var(--hud-iron-dark) calc(100% - 3px),var(--hud-iron-deep) calc(100% - 1px)),var(--hud-grain) 0 0 / 256px 96px,linear-gradient(180deg,var(--hud-wood-light),var(--hud-wood-raised) 22%,var(--hud-wood) 75%)}.game-shell.touch .game-top :is(.brand-mini,.music-control,.top-faction,.top-vs){display:none}.game-shell.touch .top-actions{gap:4px}.game-shell.touch .top-actions button{min-height:40px;height:40px;padding:0 10px;font-size:12px}.game-shell.touch .top-center{gap:4px}.game-shell.touch .stage-chip :is(.stage-name,small){display:none}.game-shell.touch :is(.stage-chip,.time-chip){padding:2px 8px;font-size:12px}.game-shell.touch .stage-chip svg{width:20px;height:20px}.game-shell.touch .top-resources{gap:3px}.game-shell.touch .resource.bar{gap:3px;padding:1px 5px 1px 2px}.game-shell.touch .resource.bar .resource-icon svg{width:18px;height:18px}.game-shell.touch .resource.bar strong{font-size:13px}.game-shell.touch .resource.bar small{display:none}.game-shell.touch .resource-tip{width:240px}.game-shell.touch .minimap-panel{top:calc(var(--touch-top) + var(--gap));right:calc(var(--gap) + var(--safe-right));padding:4px}.game-shell.touch .minimap-side{display:none}.game-shell.touch .touch-bar-row{display:grid;grid-template-columns:repeat(2,46px);grid-template-rows:repeat(4,44px);gap:var(--gap)}.game-shell.touch .touch-bar .touch-bar-button{width:46px;height:44px}.game-shell.touch .touch-bar-row>:is([data-testid=touch-attack-move],[data-testid=touch-rally],[data-testid=touch-confirm]){grid-area:4 / 1}.game-shell.touch .touch-bar-row>[data-testid=touch-deselect]{grid-area:4 / 2}.game-shell.touch .touch-bar-row>:is([data-testid=touch-stop],[data-testid=touch-cancel]){grid-area:3 / 1}.game-shell.touch .touch-bar-row>[data-testid=touch-idle]{grid-area:3 / 2}.game-shell.touch .touch-bar-row>[data-testid=touch-queue]{grid-area:2 / 1}.game-shell.touch .touch-bar-row>[data-testid=touch-same-type]{grid-area:2 / 2}.game-shell.touch .touch-bar .touch-bar-groups-toggle{display:flex;grid-area:1 / 2}.game-shell.touch .touch-bar-groups{display:none;position:absolute;top:0;right:calc(46px + var(--gap))}.game-shell.touch .touch-bar-groups.open{display:flex;gap:var(--gap)}.game-shell.touch .touch-bar .touch-bar-group{width:44px;height:44px}.game-shell.touch .selection-panel{left:calc(var(--gap) + var(--safe-left));bottom:calc(var(--gap) + var(--safe-bottom));width:var(--select-width);max-width:none;height:var(--strip-height);max-height:none;padding:4px 5px}.game-shell.touch .selection-panel>.panel-label{display:none}.game-shell.touch .selection-panel .selection-empty{margin:0;font-size:var(--text-xs);line-height:1.3}.game-shell.touch .selection-cards{height:100%;margin-top:0;gap:4px;overscroll-behavior:contain}.game-shell.touch .entity-card{width:100%;min-width:0;min-height:0;padding:3px 5px;gap:2px}.game-shell.touch .entity-card.group-card{width:112px;min-width:112px}.game-shell.touch .selection-cards:has(>.entity-card+.entity-card) .entity-card{width:112px;min-width:112px}.game-shell.touch .entity-card>small,.game-shell.touch .entity-card>span:not(.entity-card-head,.hp-bar,.engaged-badge){display:none}.game-shell.touch .entity-icon,.game-shell.touch .entity-icon.portrait{width:26px;height:26px}.game-shell.touch .action-panel{top:auto;bottom:calc(var(--gap) + var(--safe-bottom));left:calc(var(--gap) * 2 + var(--safe-left) + var(--select-width));right:auto;width:max-content;max-width:calc(100% - var(--select-width) - var(--touch-bar-width) - var(--gap) * 4 - var(--safe-left) - var(--safe-right));height:var(--strip-height);padding:4px;display:flex;align-items:stretch;gap:4px;overflow-x:auto;overflow-y:hidden;touch-action:pan-x;scrollbar-width:none}.game-shell.touch .action-panel>*{flex:none;margin:0}.game-shell.touch .action-panel>:is(.panel-label,.panel-help),.game-shell.touch .action-panel>.building-head>h3,.game-shell.touch .action-panel .garrison-empty:not(.warn){display:none}.game-shell.touch .action-panel>h3{width:2px;margin:4px 1px;font-size:0;border-left:1px solid rgb(0 0 0 / 45%);border-right:1px solid rgb(236 212 154 / 14%)}.game-shell.touch .action-panel>h3:after{display:none}.game-shell.touch .action-panel .order-bar.stances .order:disabled,.game-shell.touch .action-panel .order-bar:not(.stances,.two)>.order:first-child:disabled{display:none}.game-shell.touch:has(.touch-bar) .action-panel .order-bar:not(.stances,.two)>.order:has(>.order-top>:is([data-glyph=attackMove],[data-glyph=stop])){display:none}.game-shell.touch .action-panel :is(.action-grid,.order-bar,.order-bar.two){display:flex;gap:4px;margin:0}.game-shell.touch .action-panel>[data-testid=wall-upgrade-panel]{display:flex;gap:6px}.game-shell.touch .action-panel .action-grid>div{flex:none;width:116px}.game-shell.touch .action-panel>div:not([class*=action-grid]):has(>.action-wrap){width:150px}.game-shell.touch .action-panel .action-wrap{height:100%}.game-shell.touch .action-panel .action,.game-shell.touch .action-panel .action:has(.unit-portrait),.game-shell.touch .action-panel .action:has(>.action-icon .building-icon){display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;align-content:center;align-items:center;column-gap:5px;row-gap:1px;height:100%;padding:2px 5px}.game-shell.touch .action-panel .action>.action-icon,.game-shell.touch .action-panel .action>.action-icon:has(.unit-portrait),.game-shell.touch .action-panel .action:has(>.action-icon .building-icon)>.action-icon{grid-row:1 / span 2;width:26px;height:26px;margin:0}.game-shell.touch .action-panel .action>span:not(.action-icon){grid-column:2;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.1;padding:0}.game-shell.touch .action-panel .action>small{grid-column:2;margin:0}.game-shell.touch .action-panel .order{width:58px;height:100%;gap:2px}.game-shell.touch .action-panel .queue-slots{display:flex;gap:4px;align-items:center}.game-shell.touch .action-panel .queue-slot{width:var(--touch-target);height:var(--touch-target)}.game-shell.touch .action-panel .building-head{order:99;align-items:stretch}.game-shell.touch .action-panel .demolish-button{height:100%}.game-shell.touch .action-panel .panel-note{width:230px;overflow-y:auto;padding:4px 6px;font-size:var(--text-xs)}.game-shell.touch .action-panel .demolish-confirm{display:flex;align-items:stretch;gap:4px;margin:0;padding:0;border:0;background:none}.game-shell.touch .action-panel .demolish-confirm p{width:210px;margin:0;padding:2px 6px;overflow-y:auto;border:1px solid color-mix(in srgb,var(--ui-danger) 75%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--hud-seal-alert) 18%,rgb(0 0 0 / 25%));font-size:var(--text-2xs);line-height:1.25}.game-shell.touch .action-panel .garrison{display:flex;align-items:center;gap:6px}.game-shell.touch .action-panel .garrison-pips{display:none}.game-shell.touch .action-panel .garrison-groups{display:flex;gap:5px}.game-shell.touch .action-panel .garrison-group{width:140px}.game-shell.touch .action-panel .garrison-empty.warn{width:200px;padding:0;font-size:var(--text-2xs);line-height:1.25}.game-shell.touch .action-panel .demolish-choices{display:flex;gap:4px}.game-shell.touch .action-panel .demolish-choices button{min-width:72px;height:100%}.game-shell.touch .action-panel .garrison-head{margin:0}.game-shell.touch .action-panel .garrison-head>h3{flex:none}.game-shell.touch .touch-details{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:48px;padding:2px;border:1px solid var(--hud-iron-deep);border-radius:var(--radius-sm);background:linear-gradient(180deg,var(--hud-iron-dark),var(--hud-iron-deep));color:var(--hud-text);font-size:var(--text-2xs);font-weight:750}.game-shell.touch .touch-details svg{width:20px;height:20px}.game-shell.touch .touch-details[aria-pressed=true]{border-color:var(--hud-brass-dark);background:linear-gradient(180deg,var(--hud-brass-light),var(--hud-brass-dark));color:var(--hud-ink)}.game-shell.touch .action-panel .details{display:none}.game-shell.touch .action-panel.details-open .details{display:block;position:fixed;left:50%;bottom:calc(var(--bottom-row) + var(--gap));transform:translate(-50%);width:min(320px,60vw);max-height:calc(100% - var(--touch-top) - var(--bottom-row) - var(--gap) * 3);overflow-y:auto;padding:8px 10px;border:1px solid var(--hud-wood-deep);border-radius:3px;background:var(--hud-timber);box-shadow:0 6px 20px #040c0a8c}.game-shell.touch:has(.match-guide) .action-panel.details-open .details{left:calc((var(--safe-left) + min(240px,32vw) + 100vw - var(--safe-right) - var(--touch-bar-width)) / 2);width:min(320px,calc(100vw - var(--safe-left) - var(--safe-right) - min(240px,32vw) - var(--touch-bar-width) - var(--gap) * 6))}.game-shell.touch .hud-left{left:calc(var(--gap) + var(--safe-left));bottom:calc(var(--bottom-row) + var(--gap));max-width:min(300px,40vw)}.game-shell.touch .production-queue{max-height:var(--queue-room)}.game-shell.touch .production-row{gap:3px;padding:2px 4px}.game-shell.touch .production-item{gap:1px;padding:1px}.game-shell.touch .production-icon{width:24px;height:24px}.game-shell.touch .production-item.waiting .production-icon{width:20px;height:20px}.game-shell.touch .production-time{font-size:var(--text-2xs);line-height:1}.game-shell.touch:has(.touch-bar) .hud-left .idle-bar{display:none}.game-shell.touch .control-group-bar{left:calc(var(--gap) * 2 + var(--safe-left) + var(--select-width));right:calc(var(--gap) * 2 + var(--safe-right) + var(--touch-bar-width));bottom:calc(var(--bottom-row) + var(--gap))}.game-shell.touch:has(.touch-bar) .control-group-bar{display:none}.game-shell.touch .hover-card{top:auto!important;right:auto;left:50%;bottom:calc(var(--bottom-row) + var(--gap));transform:translate(-50%);width:min(320px,60vw);max-height:calc(100% - var(--touch-top) - var(--bottom-row) - var(--gap) * 3);overflow-y:auto;padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}.game-shell.touch .mode-hint{bottom:calc(var(--bottom-row) + var(--gap));padding:4px 12px;font-size:var(--text-sm)}.game-shell.touch :is(.match-guide,.match-guide-tab){top:calc(var(--touch-top) + var(--gap));left:calc(var(--gap) + var(--safe-left))}.game-shell.touch .resource-panel{top:calc(var(--touch-top) + var(--gap));left:calc(var(--gap) + var(--safe-left));width:170px;max-height:calc(100% - var(--touch-top) - var(--bottom-row) - 70px);padding:8px}.game-shell.touch .hud-column{max-height:calc(100% - var(--touch-top) - var(--bottom-row) - var(--queue-room) - var(--gap) * 3 - 14px)}.game-shell.touch :is(.match-guide,.match-guide-tab).beside-players{left:calc(var(--gap) * 2 + var(--safe-left) + 170px)}.game-shell.touch .match-guide{width:min(240px,32vw);max-height:calc(100% - var(--touch-top) - var(--bottom-row) - var(--queue-room) - var(--gap) * 3);overflow-y:auto;padding:4px 8px 6px}.game-shell.touch .match-guide-step{grid-template-columns:26px 1fr;gap:6px;margin-top:4px}.game-shell.touch .match-guide-icon,.game-shell.touch .match-guide-icon svg{width:26px;height:26px}.game-shell.touch :is(.match-guide-pips,.match-guide-off){display:none}.game-shell.touch .notice-stack{top:calc(var(--touch-top) + var(--gap));left:calc(var(--safe-left) + var(--gap) * 3);right:calc(var(--safe-right) + var(--gap) * 3 + var(--minimap-size) + 10px);width:auto;min-width:0;max-width:380px;margin-inline:auto;transform:none}.game-shell.touch:has(.match-guide,.match-guide-tab) .notice-stack{left:calc(var(--safe-left) + var(--gap) * 3 + min(240px,32vw))}.game-shell.touch:has(.resource-panel:not([hidden])) .notice-stack{left:calc(var(--safe-left) + var(--gap) * 4 + 170px)}.game-shell.touch:has(.resource-panel:not([hidden])):has(.match-guide,.match-guide-tab) .notice-stack{left:calc(var(--safe-left) + var(--gap) * 4 + 170px + min(240px,32vw))}.game-shell.touch .notice{min-height:32px;font-size:var(--text-xs)}.game-shell.touch .notice:nth-child(n+3){display:none}.game-shell.touch .performance-hint{top:calc(var(--touch-top) + var(--gap));max-width:calc(100% - 2 * var(--minimap-size) - 60px);padding:4px 8px}.game-shell.touch .performance-hint small{display:none}.game-shell.touch .net-banner{top:calc(var(--touch-top) + var(--gap));left:calc(var(--safe-left) + var(--gap) * 3);right:calc(var(--safe-right) + var(--gap) * 3 + var(--minimap-size) + 10px);width:fit-content;max-width:none;margin-inline:auto;transform:none;flex-wrap:wrap;gap:4px 10px;padding:6px 10px;font-size:var(--text-xs)}.game-shell.touch:has(.match-guide,.match-guide-tab) .net-banner{left:calc(var(--safe-left) + var(--gap) * 3 + min(240px,32vw))}.game-shell.touch:has(.resource-panel:not([hidden])) .net-banner{left:calc(var(--safe-left) + var(--gap) * 4 + 170px)}.game-shell.touch:has(.resource-panel:not([hidden])):has(.match-guide,.match-guide-tab) .net-banner{left:calc(var(--safe-left) + var(--gap) * 4 + 170px + min(240px,32vw))}.game-shell.touch .net-banner strong{font-size:15px}.game-shell.touch .net-banner:before,.game-shell.touch .net-banner>.banner-seal{display:none}.game-shell.touch .guide-welcome-shade{padding:calc(var(--gap) + var(--safe-top)) calc(var(--gap) + var(--safe-right)) calc(var(--gap) + var(--safe-bottom)) calc(var(--gap) + var(--safe-left))}.game-shell.touch .guide-welcome{padding:10px 14px 12px}.game-shell.touch .guide-welcome h2{margin-top:4px;font-size:20px}.game-shell.touch .guide-welcome-lead{margin-bottom:8px;font-size:var(--text-sm)}.game-shell.touch .guide-welcome-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.game-shell.touch .guide-welcome-actions{margin-top:10px}.game-shell.touch .game-menu-shade{padding:calc(var(--gap) + var(--safe-top)) calc(var(--gap) + var(--safe-right)) calc(var(--gap) + var(--safe-bottom)) calc(var(--gap) + var(--safe-left))}.game-shell.touch .game-menu{width:min(560px,100%);max-height:100%;padding:10px 14px 12px;gap:var(--space-2)}.game-shell.touch .game-menu.game-menu-wide,.game-shell.touch .game-menu.game-menu-guide{width:100%}.game-shell.touch .game-menu-list{grid-template-columns:repeat(2,minmax(0,1fr))}.game-shell.touch .game-menu-list>:first-child,.game-shell.touch .game-menu-list>:is(.game-menu-note,.game-menu-rule){grid-column:1 / -1}.game-shell.touch .game-menu-list :is(.primary-button,.secondary-button),.game-shell.touch .game-menu-actions :is(.secondary-button,.danger-button){min-height:var(--touch-target);padding:6px 10px;font-size:var(--text-md)}.game-shell.touch .end-shade{padding:calc(var(--gap) + var(--safe-top)) calc(var(--gap) + var(--safe-right)) calc(var(--gap) + var(--safe-bottom)) calc(var(--gap) + var(--safe-left))}.game-shell.touch .end-card{padding:14px 18px}.game-shell.touch .end-card.wide{width:min(760px,100%);max-height:100%}.game-shell.touch .end-card h1{margin:4px 0;font-size:34px}}.sandbox-chips{display:flex;flex-wrap:wrap;gap:4px}.sandbox-swatch{display:inline-block;flex:none;width:10px;height:10px;margin-right:4px;border-radius:50%;vertical-align:-1px}.dev-match-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 9px 4px 6px;border:1px solid var(--hud-seal-warning);border-radius:3px;background:linear-gradient(180deg,#b07a2657,#b07a2629);color:var(--hud-brass-light);font-size:11px;font-weight:700;letter-spacing:.08em;line-height:1.2;text-transform:uppercase;white-space:nowrap}.dev-match-chip svg,.dev-seat-mark svg,.dev-tools-switch svg,.end-dev-match svg,.dev-mode-hint svg,.dev-panel-head svg{width:16px;height:16px;flex:none}button.dev-match-chip{cursor:pointer}@media(max-width:1600px){.game-top:has(.net-chip) .dev-match-chip{padding:4px 6px}.game-top:has(.net-chip) .dev-match-chip-text{display:none}}@media(max-width:1440px){.game-top:has(.dev-match-chip) .net-chip .peer.ok{display:none}}@media(max-width:1180px){.game-top .dev-match-chip{padding:4px 6px}.game-top .dev-match-chip-text{display:none}}button.dev-match-chip:hover,button.dev-match-chip[aria-pressed=true]{border-color:var(--hud-brass);background:linear-gradient(180deg,#b07a268c,#b07a2647)}.dev-seat-mark{display:inline-flex;align-items:center;gap:4px;margin-left:6px;padding:2px 7px 2px 4px;border:1px solid var(--hud-seal-warning);border-radius:var(--radius-sm);background:#b07a262e;color:var(--ui-value);font-size:10px;font-weight:700;letter-spacing:.08em;line-height:1.2;text-transform:uppercase;white-space:nowrap}.dev-seat-mark svg{width:14px;height:14px}.dev-tools-switch .checkbox-label{display:inline-flex;align-items:center;gap:6px;font-weight:700}.setup-main>.dev-tools-switch{margin-top:14px}.end-dev-match{display:flex;align-items:center;justify-content:center;gap:6px}.dev-mode-hint strong{display:inline-flex;align-items:center;gap:6px}.dev-panel{position:fixed;top:64px;right:calc(var(--hud-right-width, 245px) + 45px);z-index:19;display:flex;flex-direction:column;gap:8px;width:min(390px,calc(100vw - var(--hud-right-width, 245px) - 80px));max-height:calc(100vh - 240px);padding:12px 14px;border-radius:3px;color:var(--hud-text);font-size:12px}.dev-panel-head{display:flex;align-items:center;gap:10px}.dev-panel-head strong{display:inline-flex;align-items:center;gap:6px;color:var(--hud-brass-light);letter-spacing:.12em;text-transform:uppercase}.dev-panel-budget{flex:1;color:var(--hud-text-muted);font-variant-numeric:tabular-nums;text-align:right}.dev-panel button.dev-panel-close{width:26px;height:26px;padding:0;font-size:16px;line-height:1}.dev-panel .sandbox-tabs{display:flex;flex-wrap:wrap;gap:4px}.dev-panel .sandbox-tabs button{flex:1 1 auto;padding:5px 8px;font-size:11px;white-space:nowrap}.dev-panel .sandbox-tabs button.active{border-color:var(--hud-brass);color:var(--hud-brass-light)}.dev-panel-body{display:grid;gap:7px;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:4px}.dev-panel-body h3{margin:4px 0 0;color:var(--hud-brass-light);font-size:10px;letter-spacing:.16em;text-transform:uppercase}.dev-panel-body p{margin:0}.dev-panel .sandbox-hint,.dev-panel-last{margin:0;color:var(--hud-text-muted);font-size:11px}.dev-panel button{border:1px solid var(--hud-wood-deep);border-radius:3px;background:linear-gradient(180deg,var(--hud-wood-light),var(--hud-wood-raised) 55%,var(--hud-wood));color:var(--hud-text);font-size:11px;cursor:pointer}.dev-panel button:hover:not(:disabled){border-color:var(--hud-brass-dark)}.dev-panel button:disabled{opacity:.5;cursor:default}.dev-panel .sandbox-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 7px}.dev-panel .sandbox-chip svg{width:14px;height:14px}.dev-panel .sandbox-chip.active,.dev-panel .sandbox-chip[aria-pressed=true]{border-color:var(--hud-brass);color:var(--hud-brass-light);box-shadow:inset 0 0 0 1px #d4b06a59}.dev-panel .sandbox-chip.sandbox-danger{border-color:var(--ui-danger);color:var(--ui-danger)}.dev-panel .sandbox-chip small{color:var(--hud-text-muted)}.dev-panel .sandbox-row{display:flex;flex-wrap:wrap;align-items:end;gap:6px}.dev-panel label{display:inline-flex;flex-direction:column;gap:2px;font-size:11px}.dev-panel label.checkbox-label{flex-direction:row;align-items:center;gap:4px}.dev-panel input[type=number]{width:74px}.dev-stock-set input[type=number]{width:64px}.dev-panel :is(input,select){padding:3px 5px;border:1px solid var(--hud-wood-deep);border-radius:3px;background:#00000047;color:var(--hud-value);font-size:11px}.dev-switches{display:flex;flex-wrap:wrap;gap:4px 14px}.dev-seat-head{display:flex;align-items:center;gap:4px}.dev-panel .tech-group{display:grid;gap:3px}.dev-panel .tech-group h3{display:flex;align-items:center;gap:6px}.dev-panel .tech-group h3 svg{width:16px;height:16px}.dev-tech-row{display:flex;align-items:center;gap:4px}.dev-tech-name{display:inline-flex;flex:1;align-items:center;gap:5px;min-width:0}.dev-tech-name svg{width:16px;height:16px;flex:none}.dev-panel .survival-tools{margin:0;padding:0;border:0}.dev-panel-last{border-top:1px solid rgb(236 212 154 / 14%);padding-top:6px}
