:root{color:#f4f7fb;background:radial-gradient(circle at top,rgba(46,91,140,.26),transparent 38%),linear-gradient(180deg,#0a1117,#0f171f 52%,#0d1319);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;min-height:100%}body{min-height:100vh;overflow:hidden;user-select:none;-webkit-user-select:none}button,input{font:inherit}input,textarea,select,[contenteditable=true]{user-select:text;-webkit-user-select:text}button{cursor:pointer}.app-shell,.editor-shell{display:grid;grid-template-columns:340px minmax(0,1fr) 340px;height:100vh;min-height:100vh;overflow:hidden}.app-sidebar{background:#0a1017db;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:24px 18px;height:100vh;overflow-x:hidden;overflow-y:auto}.app-stage{position:relative;min-width:0;height:100vh;min-height:100vh;padding:18px;overflow:hidden}.app-sidebar-left{border-right:1px solid rgba(146,177,205,.18);border-left:0}.app-sidebar-right{border-left:1px solid rgba(146,177,205,.18);border-right:0}.editor-sidebar-left{border-right:1px solid rgba(146,177,205,.18);border-left:0}.editor-sidebar-right{border-left:1px solid rgba(146,177,205,.18);border-right:0}.editor-stage{min-width:0}.editor-shell-workspace{--editor-ui-header-scale: 1;--editor-ui-dock-scale: 1;--editor-ui-panel-scale: 1;--editor-ui-text-scale: 1;--editor-ui-header-height: calc(72px * var(--editor-ui-header-scale));display:grid;grid-template-areas:"header header" "dock   canvas";grid-template-rows:var(--editor-ui-header-height) 1fr;grid-template-columns:calc(110px * var(--editor-ui-dock-scale)) 1fr;height:100vh;overflow:hidden}.editor-game-header{grid-area:header;background:#0a1017f5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(146,177,205,.18);display:flex;align-items:center;justify-content:space-between;gap:calc(12px * var(--editor-ui-header-scale));padding:calc(6px * var(--editor-ui-header-scale)) calc(14px * var(--editor-ui-header-scale));min-height:var(--editor-ui-header-height);z-index:2;overflow:hidden}.editor-game-header .button-row,.editor-game-header .editor-header-brand{margin-top:0}.editor-header-brand{display:flex;align-items:baseline;gap:calc(8px * var(--editor-ui-header-scale));flex-shrink:0}.editor-header-title{font-size:calc(.9rem * var(--editor-ui-header-scale));font-weight:600;color:#c8e4ff;letter-spacing:.04em;text-transform:uppercase}.editor-shell-workspace .editor-game-header .eyebrow{margin-bottom:0;font-size:calc(.8rem * var(--editor-ui-header-scale))}.editor-shell-workspace .editor-game-header .ghost-button,.editor-shell-workspace .editor-game-header .audio-settings-control,.editor-shell-workspace .editor-game-header .fullscreen-toggle{font-size:calc(.82rem * var(--editor-ui-text-scale))}.editor-workspace-dock{grid-area:dock;background:#0a1017f5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-right:1px solid rgba(146,177,205,.18);display:flex;flex-direction:column;gap:calc(6px * var(--editor-ui-dock-scale));padding:calc(10px * var(--editor-ui-dock-scale)) calc(6px * var(--editor-ui-dock-scale));overflow-y:auto;z-index:2}.editor-workspace-dock-button{width:100%;justify-content:center;font-size:calc(.74rem * var(--editor-ui-text-scale));padding:calc(8px * var(--editor-ui-dock-scale)) calc(4px * var(--editor-ui-dock-scale));min-height:calc(36px * var(--editor-ui-dock-scale))}.editor-workspace-dock-badge{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:calc(6px * var(--editor-ui-dock-scale)) calc(4px * var(--editor-ui-dock-scale));border:1px solid rgba(129,213,255,.26);border-radius:10px;background:#0c1721e6;color:#9fe8ff;text-transform:uppercase;letter-spacing:.06em;font-size:calc(.68rem * var(--editor-ui-text-scale))}.editor-canvas-zone{grid-area:canvas;position:relative;z-index:1}.editor-floating-panel{position:absolute;display:flex;flex-direction:column;width:min(calc(380px * var(--editor-ui-panel-scale)),calc(100% - 24px));max-height:min(72vh,calc(100% - 12px));overflow:hidden;border-radius:calc(18px * var(--editor-ui-panel-scale));box-shadow:0 24px 70px #0000008c}.editor-floating-panel.panel{background:#090e16f7;border-color:#92b1cd38}.editor-floating-panel-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid rgba(146,177,205,.14);cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.editor-floating-panel-header h2{margin:0}.editor-floating-panel-header:active{cursor:grabbing}.editor-floating-panel-header button,.editor-floating-panel-header input,.editor-floating-panel-header select,.editor-floating-panel-header textarea,.editor-floating-panel-header a{cursor:pointer;touch-action:auto}.editor-floating-panel-body{flex:1;min-height:0;display:grid;align-content:start;gap:calc(12px * var(--editor-ui-panel-scale));margin-top:calc(12px * var(--editor-ui-panel-scale));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}.editor-shell-workspace .panel{margin-bottom:calc(16px * var(--editor-ui-panel-scale));padding:calc(16px * var(--editor-ui-panel-scale)) calc(18px * var(--editor-ui-panel-scale));border-radius:calc(18px * var(--editor-ui-panel-scale))}.editor-shell-workspace .panel h1{font-size:calc(1.9rem * var(--editor-ui-text-scale))}.editor-shell-workspace .panel h2{font-size:calc(1rem * var(--editor-ui-text-scale))}.editor-shell-workspace .eyebrow{font-size:calc(.8rem * var(--editor-ui-text-scale))}.editor-shell-workspace .muted,.editor-shell-workspace .lede,.editor-shell-workspace .toggle,.editor-shell-workspace .slider-help,.editor-shell-workspace .layer-row-main small,.editor-shell-workspace .tile-swatch-button small,.editor-shell-workspace .data-grid dt,.editor-shell-workspace .data-grid dd,.editor-shell-workspace .gid-list li,.editor-shell-workspace .inline-list li{font-size:calc(1em * var(--editor-ui-text-scale))}.editor-shell-workspace .ghost-button,.editor-shell-workspace input,.editor-shell-workspace select,.editor-shell-workspace textarea,.editor-shell-workspace label,.editor-shell-workspace .tile-swatch-button{font-size:calc(.95rem * var(--editor-ui-text-scale))}.editor-shell-workspace .ghost-button{padding:calc(10px * var(--editor-ui-panel-scale)) calc(14px * var(--editor-ui-panel-scale));border-radius:calc(12px * var(--editor-ui-panel-scale))}.editor-shell-workspace .data-grid{gap:calc(10px * var(--editor-ui-panel-scale)) calc(12px * var(--editor-ui-panel-scale))}.editor-shell-workspace .data-grid div{padding:calc(10px * var(--editor-ui-panel-scale)) calc(12px * var(--editor-ui-panel-scale));border-radius:calc(12px * var(--editor-ui-panel-scale))}.editor-shell-workspace .tile-palette{grid-template-columns:repeat(auto-fill,minmax(calc(62px * var(--editor-ui-panel-scale)),1fr));gap:calc(10px * var(--editor-ui-panel-scale))}.editor-shell-workspace .tile-palette-fixed{grid-template-columns:repeat(var(--tile-palette-columns),minmax(calc(62px * var(--editor-ui-panel-scale)),1fr))}.editor-shell-workspace .tile-swatch-button{gap:calc(6px * var(--editor-ui-panel-scale));padding:calc(8px * var(--editor-ui-panel-scale)) calc(6px * var(--editor-ui-panel-scale));border-radius:calc(12px * var(--editor-ui-panel-scale))}.editor-mobile-notice{position:fixed;z-index:5000;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;width:min(520px,calc(100vw - 28px));max-height:calc(100dvh - 28px);overflow-y:auto;padding:14px 16px;border:1px solid rgba(129,213,255,.42);border-radius:16px;background:#0e1823f5;box-shadow:0 18px 50px #0000005c}.editor-mobile-notice h2{margin:0 0 5px;color:#f6fbff;font-size:1rem;line-height:1.2}.editor-mobile-notice .eyebrow,.editor-mobile-notice .muted{margin:0}.editor-mobile-notice .ghost-button{white-space:nowrap}.orientation-lock-layer{position:fixed;left:0;right:0;bottom:0;z-index:20060;display:grid;place-items:center;padding:18px;background:#010409d6;touch-action:none}.orientation-lock-notice{width:min(520px,calc(100vw - 28px));max-height:calc(100dvh - 56px);overflow-y:auto;padding:14px 16px;border:1px solid rgba(129,213,255,.42);border-radius:16px;background:#0e1823f5;box-shadow:0 18px 50px #0000005c}.orientation-lock-notice h2{margin:0 0 5px;color:#f6fbff;font-size:1rem;line-height:1.2}.orientation-lock-notice .eyebrow,.orientation-lock-notice .muted{margin:0}.orientation-lock-notice .muted{margin-top:4px}.floating-help-backdrop{position:fixed;inset:0;z-index:4500;display:grid;place-items:center;padding:18px;background:#02080e94}.floating-help-modal{display:grid;gap:14px;width:min(560px,calc(100vw - 28px));max-height:calc(100dvh - 28px);overflow-y:auto;padding:18px;border:1px solid rgba(129,213,255,.42);border-radius:16px;background:#0e1823f7;box-shadow:0 24px 70px #00000070}.floating-help-modal h2{margin:0 0 8px;color:#f6fbff;font-size:1.2rem;line-height:1.2}.floating-help-modal h3{margin:14px 0 8px;color:#9fe8ff;font-size:.92rem;text-transform:uppercase;letter-spacing:.12em}.floating-help-modal p{margin:0 0 9px;color:#c9d8e6}.floating-help-modal ul{display:grid;gap:7px;margin:0;padding-left:20px;color:#dbe8f3}.floating-help-modal .ghost-button{justify-self:end}.menu-shell{min-height:100dvh;background:#0a1117;color:#e0e0e0;font-family:monospace;padding:clamp(12px,2.2vh,18px) clamp(12px,3.4vw,18px);overflow-y:auto}.menu-shell-with-banner{padding-bottom:clamp(88px,14vh,132px)}.menu-shell-main{width:min(100%,1180px);min-height:calc(100dvh - (2*clamp(12px,2.2vh,18px)));margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(.75rem,1.8vh,1rem)}.menu-shell-main.menu-shell-main-spacious{gap:clamp(.95rem,2.2vh,1.4rem)}.menu-mainmenu-shell{position:relative}.menu-brand{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.8rem}.menu-brand-logo{margin:0 auto;max-width:min(70vw,520px)!important;max-height:min(28vh,300px)!important}.menu-panel{width:min(100%,640px);display:flex;flex-direction:column;align-items:center;gap:.95rem;text-align:center}.menu-panel.menu-panel-wide{width:min(100%,860px)}.menu-mainmenu-panel{gap:.8rem}.menu-title{margin:0;font-size:clamp(1.15rem,2vw,1.45rem);letter-spacing:.1em}.menu-subtitle,.menu-caption{margin:0;color:#8fa6b8}.menu-subtitle{font-size:clamp(.78rem,1.5vw,.84rem)}.menu-caption{font-size:clamp(.72rem,1.35vw,.78rem)}.menu-meta-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;color:#7fa6c7;font-size:.78rem}.menu-ghost-inline{padding:.25rem .55rem;font-size:.72rem;font-family:monospace;background:#182331e6;border:1px solid rgba(118,170,214,.24);border-radius:5px;color:#cfe8ff}.menu-action-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:.9rem;width:100%}.menu-action-row>.menu-icon-button,.menu-action-row>.menu-primary-button,.menu-action-row>.menu-secondary-button,.menu-action-row>.menu-danger-button,.menu-action-row>.menu-pvp-button-wrap{min-height:62px;height:62px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.menu-mainmenu-status-actions{display:flex;justify-content:center;width:100%}.menu-mainmenu-utility-row{width:100%}.menu-graphics-toggle{display:inline-flex;align-items:center;gap:.45rem;padding:.42rem .62rem;border:1px solid rgba(120,157,192,.22);border-radius:10px;background:#06121d94;color:#cfe8ff;font-size:.72rem;font-weight:700;letter-spacing:.02em;-webkit-user-select:none;user-select:none}.menu-graphics-toggle select{min-width:92px;margin:0;padding:.22rem 1.7rem .22rem .48rem;border:1px solid rgba(120,157,192,.28);border-radius:7px;background:#0c1a27eb;color:#f4f9ff;font:inherit;cursor:pointer}.menu-graphics-toggle select:focus-visible{outline:2px solid rgba(102,224,255,.62);outline-offset:2px}.menu-mainmenu-primary-actions{width:100%}.menu-mainmenu-secondary-stack{width:min(100%,420px);display:flex;flex-direction:column;align-items:center;gap:.65rem}.menu-mainmenu-directives-button,.menu-mainmenu-disconnect-button{width:100%}.menu-mainmenu-directives-button{min-height:42px;padding:.5rem .95rem;display:inline-flex;align-items:center;justify-content:center;gap:.6rem}.menu-mainmenu-directives-icon{font-size:.95rem;line-height:1}.menu-mainmenu-pvp-note{width:min(100%,520px)}.menu-stack{display:flex;flex-direction:column;gap:.65rem;width:100%}.menu-form{display:flex;flex-direction:column;gap:.75rem;width:min(100%,340px)}.menu-input{width:100%;padding:.6rem .8rem;font-size:1rem;font-family:monospace;background:#141e26;border:1px solid #334;border-radius:4px;color:#e0e0e0;outline:none}.menu-primary-button,.menu-secondary-button,.menu-danger-button,.menu-icon-button{border-radius:6px;font-family:monospace;transition:border-color .12s ease,background .12s ease}.menu-primary-button,.menu-secondary-button,.menu-danger-button{padding:clamp(.62rem,1.5vh,.8rem) clamp(.95rem,2.5vw,1.4rem);font-size:clamp(.84rem,1.8vw,.95rem)}.menu-primary-button{background:#1a3a5a;border:1px solid #2a5a8a;color:#e0e0e0}.menu-primary-button:disabled{background:#223;color:#666;cursor:not-allowed}.menu-secondary-button:disabled,.menu-map-button:disabled,.ghost-button:disabled{opacity:.5;cursor:not-allowed}.menu-secondary-button{background:#102033;border:1px solid #2a4a7a;color:#d8e8ff}.menu-danger-button{background:transparent;border:1px solid #49333a;color:#b98a8a}.menu-icon-button{min-width:58px;padding:.22rem clamp(.9rem,2.2vw,1.1rem) .18rem;font-size:clamp(.92rem,2vw,1rem);background:#1a2a3a;border:1px solid #2a4a6a;color:#7fd3ff}.menu-cta-button{min-width:160px}.menu-pvp-button-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center;isolation:isolate;box-sizing:border-box}.menu-pvp-button-wrap-blocked{padding:.2rem .1rem}.menu-pvp-button{position:relative;overflow:visible;z-index:1;min-height:100%;height:100%;padding-top:.22rem;padding-bottom:.18rem}.menu-pvp-button-blocked{min-height:62px}.menu-pvp-button-label{position:relative;z-index:1;font-size:3em;font-weight:800;letter-spacing:.14em;line-height:.82;display:block;transform:translateY(-.04em)}.menu-pvp-stamp{position:absolute;left:50%;top:50%;width:clamp(92px,11vw,150px);max-width:none;transform:translate(-50%,-54%) rotate(-11deg) scale(.92);transform-origin:center;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.98;filter:saturate(1.08) contrast(1.02) drop-shadow(0 8px 12px rgba(68,10,10,.28));z-index:3;animation:menu-pvp-stamp-pulse 2.35s ease-in-out infinite}.menu-token-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.5rem;width:min(100%,540px);color:#cfe8ff;font-size:.78rem}.menu-token-card{padding:.55rem .7rem;border:1px solid rgba(120,157,192,.22);border-radius:8px;background:#101821b8;text-align:left}.menu-token-card span{display:block;color:#7fa6c7;text-transform:uppercase;font-size:.66rem}.menu-utility-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem}.menu-map-columns{display:grid;gap:1rem;width:min(100%,820px)}.menu-map-section{width:100%;text-align:left}.menu-map-section-title{color:#668;font-size:.75rem;margin:0 0 .5rem}.menu-map-list{display:flex;flex-direction:column;gap:.5rem}.menu-map-button{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:.75rem 1rem;font-family:monospace;font-size:.9rem;border-radius:5px;color:#e0e0e0;text-align:left}.menu-map-button-public{background:#141e2e;border:1px solid #2a4a7a}.menu-map-button-private{background:#1a1a2e;border:1px solid #4a2a7a}.menu-map-button small,.menu-map-button span:last-child{font-size:.7rem}.menu-access-disabled{filter:saturate(.45);box-shadow:inset 0 0 0 1px #ffd27814}.menu-access-note{margin:0;color:#c8a976;font-size:.78rem;text-align:center}.editor-access-blocked{width:min(100%,560px)}@keyframes menu-pvp-stamp-pulse{0%{transform:translate(-50%,-54%) rotate(-11deg) scale(.9)}50%{transform:translate(-50%,-54%) rotate(-11deg) scale(1.04)}to{transform:translate(-50%,-54%) rotate(-11deg) scale(.9)}}.menu-lobby-code-row{display:flex;gap:.5rem;align-items:center;justify-content:center;width:100%;flex-wrap:wrap}.menu-lobby-code{padding:.4rem .8rem;background:#141e26;border:1px solid #334;border-radius:4px;font-size:.75rem;color:#adf;max-width:min(100%,420px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-lobby-status-grid{display:flex;gap:2rem;margin-top:.5rem;flex-wrap:wrap;justify-content:center;width:100%}.menu-lobby-status-card{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:1rem 1.5rem;background:#0e1520;border-radius:6px;min-width:140px}.menu-lobby-countdown{text-align:center}.menu-lobby-countdown-value{font-size:3rem;font-weight:700;letter-spacing:.05em}.menu-lobby-ready-button{min-width:220px}.menu-modal-wide{width:min(760px,calc(100vw - 28px))}.message-banner{position:fixed;bottom:max(10px,env(safe-area-inset-bottom,0px) + 8px);left:50%;transform:translate(-50%);width:min(92vw,680px);max-width:100%;border:2px dashed rgba(180,30,30,.75);border-radius:6px;background:#0a1018d1;padding:clamp(6px,1.2vh,8px) clamp(10px,2.2vw,14px);box-sizing:border-box;z-index:10}.menu-banner-slot{width:100%}.message-banner-track{overflow:hidden;white-space:nowrap;color:#cfe8ff;font-size:clamp(.74rem,1.45vw,.82rem);font-family:monospace;letter-spacing:.04em}@media(max-height:820px),(max-width:640px){.menu-shell-main{justify-content:flex-start;padding-top:clamp(12px,3.2vh,24px)}.menu-brand{gap:.55rem}.menu-brand-logo{max-width:min(64vw,420px)!important;max-height:min(22vh,220px)!important}.menu-panel{gap:.8rem}.menu-shell .audio-settings-control{width:min(100%,320px);padding:6px 8px;gap:6px;font-size:.68rem}.menu-action-row{width:min(100%,560px)}.menu-cta-button{min-width:0;flex:1 1 150px}.menu-mainmenu-secondary-stack{width:min(100%,420px)}.menu-token-grid{grid-template-columns:repeat(auto-fit,minmax(112px,1fr));width:min(100%,560px)}.message-banner{width:min(94vw,620px)}}@media(max-width:480px),(max-height:760px){.menu-shell{padding:10px 12px}.menu-shell-with-banner{padding-bottom:10px;display:flex;flex-direction:column;align-items:center}.menu-shell-main{min-height:auto;gap:.65rem;width:min(100%,520px);flex:0 0 auto}.menu-shell-main.menu-shell-main-spacious{gap:.8rem}.menu-brand{gap:.4rem}.menu-brand-logo{max-width:min(58vw,320px)!important;max-height:min(16vh,150px)!important}.menu-title{font-size:1.02rem}.menu-subtitle,.menu-caption,.menu-meta-row{font-size:.72rem}.menu-token-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}.menu-token-card{padding:.42rem .52rem}.menu-shell .audio-settings-control{width:min(100%,300px);font-size:.62rem;padding:5px 7px}.menu-mainmenu-panel{gap:.62rem}.menu-mainmenu-status-actions,.menu-mainmenu-utility-row,.menu-mainmenu-secondary-stack{width:100%}.menu-mainmenu-primary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;align-items:stretch;width:100%}.menu-mainmenu-cta-button,.menu-mainmenu-pvp-wrap{min-width:0;width:100%;flex:initial}.menu-mainmenu-cta-button{min-height:60px;height:60px;padding:.42rem .55rem;font-size:.8rem}.menu-mainmenu-pvp-wrap{display:inline-flex}.menu-pvp-button-label{font-size:1.85em;letter-spacing:.08em}.menu-pvp-stamp{width:clamp(82px,24vw,120px)}.menu-mainmenu-pvp-note{width:100%;margin-top:0;font-size:.76rem}.menu-mainmenu-directives-button{min-height:42px;padding:.42rem .8rem}.menu-mainmenu-disconnect-button{width:100%;min-height:42px;padding:.42rem .8rem}.menu-primary-button,.menu-secondary-button,.menu-danger-button{padding:.55rem .8rem;font-size:.82rem}.menu-banner-slot{width:min(100%,520px);margin:8px auto 0;padding-bottom:8px}.menu-banner-slot .message-banner{position:static;transform:none;width:100%;margin:0 auto}.menu-banner-slot .message-banner-track{font-size:.72rem}}@media(orientation:portrait)and (max-height:700px){.menu-shell{padding:8px 10px}.menu-shell-with-banner{padding-bottom:8px;display:grid;grid-template-rows:minmax(0,1fr) auto;align-items:stretch}.menu-shell-main{width:min(100%,440px);gap:.48rem;justify-content:flex-start}.menu-shell-main.menu-shell-main-spacious{gap:.56rem}.menu-brand{gap:.3rem}.menu-brand-logo{max-width:min(44vw,250px)!important;max-height:min(14vh,92px)!important}.menu-title{font-size:.96rem}.menu-subtitle,.menu-caption,.menu-meta-row{font-size:.68rem}.menu-mainmenu-panel{gap:.48rem}.menu-token-grid{gap:.32rem}.menu-token-card{padding:.36rem .46rem;border-radius:7px}.menu-token-card span{font-size:.56rem}.menu-mainmenu-status-actions .menu-ghost-inline{padding:.18rem .45rem;font-size:.66rem}.menu-shell .audio-settings-control{width:min(100%,286px);padding:4px 6px;font-size:.58rem;gap:4px;border-radius:10px}.menu-mainmenu-primary-actions{gap:.42rem}.menu-mainmenu-cta-button{min-height:54px;height:54px;padding:.34rem .42rem;font-size:.76rem}.menu-pvp-button-label{font-size:1.62em;letter-spacing:.06em}.menu-pvp-stamp{width:clamp(72px,22vw,104px)}.menu-mainmenu-pvp-note{font-size:.7rem;margin-top:-.04rem}.menu-mainmenu-directives-button,.menu-mainmenu-disconnect-button{min-height:38px;padding:.34rem .7rem;font-size:.78rem}.menu-banner-slot{width:min(100%,440px);margin:6px auto 0;padding-bottom:6px}.menu-banner-slot .message-banner{width:100%;padding:5px 9px}.menu-banner-slot .message-banner-track{font-size:.68rem}}@media(orientation:landscape)and (pointer:coarse)and (max-height:560px){.menu-shell{padding:12px 16px;overflow:hidden}.menu-shell-with-banner{min-height:calc(100dvh - 24px);padding-bottom:72px;display:grid;grid-template-rows:minmax(0,1fr) auto;align-items:stretch}.menu-shell-main{min-height:calc(100dvh - 24px);display:grid;grid-template-columns:minmax(240px,.92fr) minmax(320px,1.18fr);align-items:stretch;justify-content:center;gap:clamp(16px,3.5vw,36px)}.menu-shell-main.menu-shell-main-wide{grid-template-columns:minmax(220px,.78fr) minmax(420px,1.4fr)}.menu-shell-main.menu-shell-main-spacious{gap:clamp(16px,3.5vw,40px)}.menu-mainmenu-shell{padding-top:36px}.menu-brand{align-items:flex-start;text-align:left;justify-content:center;gap:.55rem;padding-top:22px}.menu-brand-logo{margin:0;width:auto!important;max-width:min(36vw,360px)!important;max-height:30vh!important}.menu-panel{align-items:flex-start;text-align:left;width:100%;max-width:100%;justify-content:flex-start}.menu-token-grid,.menu-map-columns{width:100%}.menu-action-row,.menu-utility-row,.menu-meta-row,.menu-lobby-code-row,.menu-lobby-status-grid{justify-content:flex-start}.menu-mainmenu-panel{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"tokens" "detail" "utility" "primary" "note" "secondary";align-content:start;gap:.6rem;padding-top:8px;padding-bottom:50px}.menu-mainmenu-token-grid{grid-area:tokens;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;width:100%}.menu-mainmenu-status-actions{grid-area:detail;justify-content:center}.menu-mainmenu-utility-row{position:absolute;left:0;top:2px;z-index:6;width:auto;grid-area:unset;justify-content:flex-start;align-items:center;gap:.45rem;flex-wrap:nowrap}.menu-mainmenu-utility-row .audio-settings-control{width:210px;padding:4px 6px;font-size:.58rem;gap:4px;border-radius:9px}.menu-mainmenu-utility-row .audio-settings-control label{gap:2px}.menu-mainmenu-utility-row .menu-graphics-toggle{padding:.28rem .42rem;font-size:.6rem;gap:.32rem}.menu-mainmenu-utility-row .fullscreen-toggle{transform:scale(.9);transform-origin:left center}.menu-mainmenu-primary-actions{grid-area:primary;display:grid;grid-template-columns:repeat(2,minmax(180px,220px));gap:.7rem;align-items:stretch;justify-content:center}.menu-mainmenu-cta-button,.menu-mainmenu-pvp-wrap{width:100%}.menu-mainmenu-cta-button{min-height:56px;height:56px;font-size:.92rem;padding:.35rem .65rem}.menu-mainmenu-pvp-wrap{display:inline-flex;align-self:stretch}.menu-pvp-button{width:100%}.menu-pvp-button-label{font-size:2.2em;letter-spacing:.08em}.menu-mainmenu-pvp-note{grid-area:note;width:100%;text-align:center;margin-top:-.1rem}.menu-mainmenu-secondary-stack{grid-area:secondary;width:100%;align-items:stretch;gap:.55rem;margin-bottom:10px}.menu-mainmenu-directives-button{min-height:34px;padding:.34rem .9rem;justify-content:center}.menu-mainmenu-disconnect-button{width:min(100%,220px);justify-self:flex-start}.menu-banner-slot{position:fixed;left:50%;bottom:max(10px,env(safe-area-inset-bottom,0px) + 8px);transform:translate(-50%);width:min(88vw,860px);z-index:24;pointer-events:none}.menu-banner-slot .message-banner{position:static;transform:none;width:100%;margin:0 auto;padding:8px 16px;pointer-events:auto}.menu-map-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-lobby-status-grid{gap:1rem}.menu-lobby-status-card{min-width:128px}.menu-lobby-countdown{text-align:left}.menu-modal-wide{width:min(980px,calc(100vw - 28px));max-height:calc(100dvh - 28px)}.floating-help-modal{width:min(880px,calc(100vw - 28px))}}@media(orientation:landscape)and (pointer:coarse)and (max-height:500px){.menu-shell{padding:8px 12px}.menu-shell-with-banner{min-height:calc(100dvh - 16px);padding-bottom:64px}.menu-shell-main{min-height:calc(100dvh - 16px);grid-template-columns:minmax(190px,.72fr) minmax(300px,1.28fr);gap:12px;align-items:start}.menu-brand{gap:.38rem}.menu-brand-logo{max-width:min(28vw,250px)!important;max-height:21vh!important}.menu-title{font-size:1.02rem}.menu-subtitle,.menu-meta-row{font-size:.68rem}.menu-mainmenu-panel,.menu-mainmenu-panel-short{gap:.42rem;align-content:start;justify-content:start;padding-top:20px;padding-bottom:42px}.menu-mainmenu-token-grid{gap:.4rem}.menu-token-card{padding:.4rem .5rem;font-size:.71rem}.menu-token-card span{font-size:.58rem}.menu-mainmenu-status-actions .menu-ghost-inline{padding:.18rem .5rem;font-size:.66rem}.menu-mainmenu-utility-row{gap:.45rem;align-items:start}.menu-mainmenu-utility-row .audio-settings-control,.menu-mainmenu-utility-row .audio-settings-control-compact{width:158px;padding:4px 6px;font-size:.58rem;gap:4px;grid-template-columns:repeat(2,minmax(0,1fr))}.menu-mainmenu-utility-row .menu-graphics-toggle{padding:.24rem .38rem;font-size:.56rem;gap:.28rem}.menu-mainmenu-utility-row .fullscreen-toggle{transform:scale(.92);transform-origin:left center}.menu-mainmenu-primary-actions{grid-template-columns:repeat(2,minmax(145px,180px));gap:.55rem}.menu-mainmenu-cta-button{min-height:46px;height:46px;font-size:.82rem;padding:.35rem .65rem}.menu-pvp-button-label{font-size:1.7em;letter-spacing:.08em}.menu-pvp-stamp{width:clamp(72px,9vw,110px)}.menu-mainmenu-pvp-note{font-size:.7rem;margin-top:-.05rem}.menu-mainmenu-secondary-stack{gap:.4rem;margin-bottom:8px}.menu-mainmenu-directives-button{min-height:30px;padding:.22rem .7rem;font-size:.78rem}.menu-mainmenu-directives-icon{font-size:.82rem}.menu-mainmenu-disconnect-button{width:min(100%,180px);min-height:30px;padding:.22rem .7rem;font-size:.76rem}.menu-banner-slot{bottom:max(12px,env(safe-area-inset-bottom,0px) + 8px);width:min(92vw,860px)}.menu-banner-slot .message-banner{padding:5px 10px}.menu-banner-slot .message-banner-track{font-size:.7rem}.menu-mainmenu-directives-modal{top:12px;transform:translate(-50%);width:min(660px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:12px}.menu-mainmenu-directives-modal .directives-float-header{position:sticky;top:0;z-index:1;padding-bottom:8px;background:#0a1017fa}}@media(orientation:portrait)and (max-width:420px){.menu-shell{padding-inline:10px;overflow-x:clip}.menu-mainmenu-panel{gap:.5rem}.menu-shell-main,.menu-mainmenu-shell,.menu-mainmenu-panel,.menu-mainmenu-status-actions,.menu-mainmenu-utility-row,.menu-mainmenu-primary-actions,.menu-mainmenu-secondary-stack,.menu-banner-slot{min-width:0;max-width:100%}.menu-mainmenu-token-grid{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:.34rem}.menu-token-card{min-width:0;padding:.36rem .4rem;font-size:.68rem}.menu-token-card span{font-size:.5rem}.menu-mainmenu-status-actions,.menu-mainmenu-utility-row,.menu-mainmenu-primary-actions,.menu-mainmenu-secondary-stack,.menu-mainmenu-pvp-note{width:100%}.menu-mainmenu-utility-row .audio-settings-control,.menu-mainmenu-utility-row .audio-settings-control-compact{width:100%;max-width:none}.menu-mainmenu-primary-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.menu-mainmenu-cta-button,.menu-mainmenu-pvp-wrap{width:100%;min-width:0}.menu-mainmenu-cta-button{min-height:54px;height:54px;padding:.34rem .45rem;font-size:.76rem}.menu-mainmenu-pvp-wrap{display:flex;align-items:stretch}.menu-mainmenu-pvp-wrap.menu-pvp-button-wrap-blocked{padding:0}.menu-mainmenu-pvp-wrap .menu-pvp-button{width:100%}.menu-pvp-button-label{font-size:1.38em;letter-spacing:.07em}.menu-pvp-stamp{width:clamp(72px,22vw,96px)}.menu-mainmenu-pvp-note{font-size:.72rem;line-height:1.3;overflow-wrap:anywhere;word-break:break-word;text-wrap:pretty}.menu-mainmenu-directives-button,.menu-mainmenu-disconnect-button{padding-inline:.65rem}.menu-banner-slot{width:100%;margin-top:6px;overflow-x:clip}.menu-banner-slot .message-banner{width:100%;max-width:100%}.menu-banner-slot .message-banner-track{font-size:.68rem}.menu-mainmenu-directives-modal{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:12px}}.panel{margin-bottom:16px;padding:16px 18px;border:1px solid rgba(120,157,192,.18);border-radius:18px;background:#101821b8;box-shadow:0 14px 48px #00000038}.panel h1,.panel h2,.panel p{margin-top:0}.panel h1{margin-bottom:10px;font-size:1.9rem;line-height:1.05}.panel h2{margin-bottom:12px;font-size:1rem;color:#9ed0ff;letter-spacing:.04em;text-transform:uppercase}.eyebrow{margin-bottom:8px;color:#5ec8ff;font-size:.8rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.lede,.muted{color:#c0cddb}.toggle{display:flex;gap:10px;align-items:center;margin-bottom:10px;color:#dbeaff}.control-stack{display:grid;gap:14px}.slider-control{display:grid;gap:8px;color:#dbeaff}.slider-header{display:flex;justify-content:space-between;gap:12px;align-items:baseline;color:#f3f8ff}.slider-header strong{color:#7fe0ff;font-size:.95rem}.slider-control input[type=range]{width:100%;accent-color:#56cfff}.slider-help{color:#95abc1;font-size:.84rem}.button-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.layer-list{display:grid;gap:10px}.layer-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch}.layer-row-main{display:grid;justify-items:start;gap:4px;text-align:left}.layer-row-main small{color:#9fc7e2;font-size:.78rem}.layer-row-visibility{min-width:90px}.ghost-button{padding:10px 14px;border:1px solid rgba(118,170,214,.24);border-radius:12px;background:#182331e6;color:#f5fbff;transition:border-color .12s ease,transform .12s ease,background-color .12s ease}.ghost-button:hover{border-color:#81d5ff80;background:#223142f2}.ghost-button:active{transform:translateY(1px)}.ghost-button-active{border-color:#5ed1ffb8;background:#1c384ffa;box-shadow:inset 0 0 0 1px #a7ebff24}.ghost-button-danger-active{border-color:#ff6c6cd1;background:#5c1a1af5;box-shadow:inset 0 0 0 1px #ffbcbc29}.link-button{display:inline-flex;align-items:center;justify-content:center;color:#f5fbff;text-decoration:none}.data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin:0}.data-grid div{padding:10px 12px;border-radius:12px;background:#ffffff0a}.data-span-2{grid-column:span 2}.data-grid dt{margin-bottom:4px;color:#7fa6c7;font-size:.8rem;text-transform:uppercase}.data-grid dd{margin:0;color:#f7fbff;font-weight:600}.inline-list,.gid-list{list-style:none;padding:0;margin:0}.inline-list li,.gid-list li{padding:8px 0;border-top:1px solid rgba(132,165,197,.12)}.inline-list li:first-child,.gid-list li:first-child{border-top:0;padding-top:0}.gid-list li{display:flex;justify-content:space-between;gap:12px;color:#dbeaff}.tile-palette{display:grid;grid-template-columns:repeat(auto-fill,minmax(62px,1fr));gap:10px}.tile-palette-fixed{--tile-palette-columns: 1;grid-template-columns:repeat(var(--tile-palette-columns),minmax(62px,1fr));justify-content:start}.tile-swatch-button{display:grid;justify-items:center;gap:6px;padding:8px 6px;border:1px solid rgba(118,170,214,.2);border-radius:12px;background:#182331b8;color:#d9ecff}.tile-swatch-button:hover{border-color:#81d5ff73;background:#1f2f40eb}.tile-swatch-button-active{border-color:#67e7ffe6;background:#143945fa}.tile-swatch{display:block;image-rendering:pixelated}.tile-swatch-button small{color:#9fc7e2;font-size:.78rem}.game-canvas-shell{position:relative;min-height:calc(100vh - 36px);border-radius:24px;overflow:hidden;border:1px solid rgba(120,157,192,.2);background:linear-gradient(180deg,#0f151fd6,#0c121af0),radial-gradient(circle at top,rgba(72,177,255,.12),transparent 32%);box-shadow:0 18px 50px #00000047}.game-canvas{width:100%;height:calc(100vh - 36px);-webkit-user-select:none;user-select:none;touch-action:none}.game-canvas canvas{display:block;width:100%;height:100%;-webkit-user-select:none;user-select:none}.canvas-error{position:absolute;left:20px;bottom:20px;max-width:460px;padding:12px 14px;border-radius:14px;background:#781320d1;color:#fff3f5}@keyframes combat-border-pulse{0%,to{opacity:1}50%{opacity:.05}}.canvas-combat-border{position:absolute;inset:0;pointer-events:none;z-index:100;border-radius:24px;box-shadow:inset 0 0 0 9px #e63030,inset 0 0 48px #dc282899;animation:combat-border-pulse .8s ease-in-out infinite}@media(max-width:1100px){.app-shell,.editor-shell{grid-template-columns:1fr;height:auto;overflow:visible}.editor-shell-workspace{height:100vh;overflow:hidden}.editor-shell-workspace{grid-template-areas:"header header" "canvas canvas";grid-template-rows:var(--editor-ui-header-height) 1fr;grid-template-columns:1fr}.editor-workspace-dock{display:none}.editor-game-header{padding:0 10px}.editor-floating-panel{position:fixed;width:calc(100vw - 24px);left:12px!important;right:12px;max-height:min(80vh,calc(100vh - 72px))}.app-sidebar{border-right:0;border-bottom:1px solid rgba(146,177,205,.18);height:auto;overflow:visible}.editor-floating-sidebar{height:auto;overflow-x:hidden;overflow-y:auto}.editor-sidebar-right{border-left:0}.app-stage{height:auto;min-height:72vh;overflow:visible}.game-canvas-shell,.game-canvas{min-height:72vh;height:72vh}.editor-mobile-notice{left:50%;right:auto;top:50%;transform:translate(-50%,-50%);grid-template-columns:1fr;width:min(520px,calc(100vw - 20px));padding:12px;border-radius:12px}.editor-mobile-notice .ghost-button{justify-self:end}.orientation-lock-layer{padding:12px}.orientation-lock-notice{width:min(520px,calc(100vw - 20px));padding:12px;border-radius:12px}}.game-root{display:flex;flex-direction:column;width:100%;height:100dvh;overflow:hidden}.game-root .app-stage{flex:1;min-height:0;padding:6px;overflow:hidden;position:relative;z-index:0}.game-root .game-canvas-shell,.game-root .game-canvas{height:100%;min-height:0;border-radius:12px}.game-root .app-shell-compact-touch{flex-shrink:0;width:100%;position:relative;z-index:1}.app-shell-compact-touch{--game-ui-header-scale: 1;--game-ui-corner-scale: 1;--game-ui-chat-scale: 1;--game-ui-quick-scale: 1;--game-ui-context-scale: 1;display:grid;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);height:100dvh;min-height:100dvh;overflow:hidden}.app-shell-compact-touch .app-sidebar-left{display:grid;grid-template-columns:minmax(0,1fr);height:auto;padding:calc(4px * var(--game-ui-header-scale)) calc(8px * var(--game-ui-header-scale));overflow:hidden;border-right:0;border-bottom:1px solid rgba(146,177,205,.18)}.game-settings-backdrop{position:fixed;inset:0;background:#050c1699;z-index:20020;display:flex;align-items:center;justify-content:center}.game-settings-panel{background:#0d1b2a;border:1px solid rgba(146,177,205,.25);border-radius:14px;padding:16px 20px;min-width:260px;max-width:90vw;max-height:90dvh;overflow-y:auto;position:relative;z-index:20021}.app-stage-overlay-active{position:relative;z-index:20010}.game-settings-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.corner-actions{position:fixed;bottom:calc(20px * var(--game-ui-corner-scale));right:calc(16px * var(--game-ui-corner-scale));display:flex;flex-direction:column;align-items:flex-end;gap:calc(8px * var(--game-ui-corner-scale));z-index:500;pointer-events:none}.corner-actions>div{pointer-events:none}.corner-btn{position:relative;border-radius:50%;border:2px solid rgba(146,177,205,.4);background:#0a1423d9;color:#cfe8ff;font-size:.75rem;font-weight:700;letter-spacing:.05em;display:flex;align-items:center;justify-content:center;touch-action:manipulation;cursor:pointer;transition:opacity .15s,border-color .15s;pointer-events:auto}.corner-btn:disabled{opacity:.35;cursor:not-allowed}.corner-btn-lg{width:calc(144px * var(--game-ui-corner-scale));aspect-ratio:1;font-size:calc(2.2rem * var(--game-ui-corner-scale))}.corner-btn-md{width:calc(112px * var(--game-ui-corner-scale));aspect-ratio:1;font-size:calc(1.5rem * var(--game-ui-corner-scale))}.corner-btn-sm{width:calc(75px * var(--game-ui-corner-scale));aspect-ratio:1;font-size:calc(1rem * var(--game-ui-corner-scale))}.corner-btn-label{font-size:calc(.72rem * var(--game-ui-corner-scale));line-height:1.12;white-space:pre-line;text-align:center;padding:0 4px;letter-spacing:.02em}.corner-action-stack{position:relative;display:inline-flex}.cbb-row{position:relative;display:flex;gap:calc(16px * var(--game-ui-corner-scale));align-items:flex-end}.cbb-pill-svg{position:absolute;bottom:0;left:0;overflow:visible;pointer-events:none}.cbb-pill-path{fill:#0a1423e0;filter:drop-shadow(0 0 7px rgba(46,214,255,.55))}.cbb-slot{position:relative;flex-shrink:0;display:flex;align-items:flex-end;justify-content:center}.cbb-slot-lg{width:calc(144px * var(--game-ui-corner-scale))}.cbb-slot-md{width:calc(112px * var(--game-ui-corner-scale))}.cbb-slot-sm{width:calc(75px * var(--game-ui-corner-scale))}@media(hover:hover)and (pointer:fine){.cbb-slot-lg{width:calc(168px * var(--game-ui-corner-scale))}.cbb-slot-md{width:calc(132px * var(--game-ui-corner-scale))}.cbb-slot-sm{width:calc(88px * var(--game-ui-corner-scale))}}.cbb-btn-enter{animation:cbb-btn-in .26s cubic-bezier(.34,1.45,.5,1) backwards}@keyframes cbb-btn-in{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.cbb-droid-float{position:absolute;left:calc(100% - 22px * var(--game-ui-corner-scale));bottom:24%;display:flex;flex-direction:column;align-items:flex-start;gap:calc(6px * var(--game-ui-corner-scale));pointer-events:none;z-index:6}.cbb-droid-float>button{pointer-events:auto}.cbb-droid-float>button:first-child:not(:last-child){margin-left:calc(-26px * var(--game-ui-corner-scale))}.cbb-droid-float-slot{left:auto;right:0;bottom:0;align-items:flex-end}.cbb-droid-float-slot>button:first-child:not(:last-child){margin-left:0;margin-right:calc(26px * var(--game-ui-corner-scale))}.corner-action-secondary{position:absolute;bottom:calc(100% + 18px * var(--game-ui-corner-scale));left:50%;transform:translate(-50%);display:flex;flex-direction:column-reverse;gap:calc(12px * var(--game-ui-corner-scale));align-items:center}.corner-action-connector{position:absolute;bottom:100%;left:50%;transform:translate(-50%);width:calc(2px * var(--game-ui-corner-scale));height:calc(18px * var(--game-ui-corner-scale));background:#fff;opacity:.85;pointer-events:none;transform-origin:bottom center;animation:corner-connector-grow .18s ease-out}@keyframes corner-connector-grow{0%{transform:translate(-50%) scaleY(0);opacity:0}to{transform:translate(-50%) scaleY(1);opacity:.85}}.corner-btn-framed{outline:calc(3px * var(--game-ui-corner-scale)) solid #ffffff;outline-offset:calc(2px * var(--game-ui-corner-scale));border-color:#fff}.corner-btn-more{position:absolute;bottom:calc(6px * var(--game-ui-corner-scale));left:50%;transform:translate(-50%);font-size:calc(.7rem * var(--game-ui-corner-scale));line-height:1;opacity:.65;pointer-events:none}.corner-btn-appear{transition:width .22s ease-out,opacity .2s ease-out,transform .22s cubic-bezier(.34,1.45,.5,1)}@starting-style{.corner-btn-appear{width:0;opacity:0;transform:scale(.4)}}.corner-btn-ring{position:absolute;inset:calc(-4px * var(--game-ui-corner-scale));pointer-events:none;transform:rotate(-90deg);overflow:visible}.corner-btn-ring circle{fill:none;stroke:#fff;stroke-width:4;stroke-linecap:round;stroke-dasharray:301.6;stroke-dashoffset:301.6;animation:corner-ring-fill .5s linear forwards}@keyframes corner-ring-fill{to{stroke-dashoffset:0}}@media(hover:hover)and (pointer:fine){.corner-btn-lg{width:calc(168px * var(--game-ui-corner-scale));font-size:calc(2.8rem * var(--game-ui-corner-scale))}.corner-btn-md{width:calc(132px * var(--game-ui-corner-scale));font-size:calc(1.9rem * var(--game-ui-corner-scale))}.corner-btn-sm{width:calc(88px * var(--game-ui-corner-scale));font-size:calc(1.2rem * var(--game-ui-corner-scale))}}.corner-btn-active{border-color:#d4a017;background:#d29b14cc;color:#fff}.corner-btn-droid-engaged,.corner-btn-droid-engaged:disabled{opacity:1;border-color:#e0533a;background:#c84628d1;color:#fff;cursor:default}.corner-btn-droid-moving,.corner-btn-droid-moving:disabled{opacity:.92;border-color:#78aadcb3;color:#dfeeff;cursor:default}.corner-btn-auto-resume{animation:auto-resume-pulse 2s cubic-bezier(.68,-.55,.265,1.55)}@keyframes auto-resume-pulse{0%{transform:scale(1);border-color:#4caf50;background:#4caf50b3}30%{transform:scale(1.18);border-color:#4caf50;background:#4caf50b3}40%{transform:scale(1);border-color:#4caf50;background:#4caf5099}75%{transform:scale(1);border-color:#4caf50;background:#4caf5066}to{transform:scale(1);border-color:#92b1cd66;background:#0a1423d9}}.turn-running-dots{display:inline-block;margin-left:1px}.turn-running-dots span{animation:turn-dot-blink 1.2s infinite}.turn-running-dots span:nth-child(2){animation-delay:.2s}.turn-running-dots span:nth-child(3){animation-delay:.4s}@keyframes turn-dot-blink{0%,80%,to{opacity:.2}40%{opacity:1}}.corner-btn-auto-turn{animation:auto-turn-pulse 3s infinite;box-shadow:inset 0 0 0 2px #d4a01780}@keyframes auto-turn-pulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.app-shell-compact-touch .panel{margin-bottom:0;padding:8px 10px;border-radius:10px;box-shadow:none}.app-shell-compact-touch .game-intro-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:calc(8px * var(--game-ui-header-scale));align-items:center}.app-shell-compact-touch .game-intro-copy{min-width:0}.app-shell-compact-touch .game-intro-panel .eyebrow{margin-bottom:2px;font-size:calc(.62rem * var(--game-ui-header-scale));letter-spacing:.14em}.app-shell-compact-touch .panel h1{margin-bottom:2px;font-size:calc(1.05rem * var(--game-ui-header-scale));line-height:1.05}.app-shell-compact-touch .lede,.app-shell-compact-touch .muted{margin-bottom:0;font-size:calc(.76rem * var(--game-ui-header-scale));line-height:1.25}.app-shell-compact-touch .game-intro-help{display:none}.app-shell-compact-touch .game-intro-actions{justify-content:flex-end;align-items:center;margin-top:0;flex-wrap:wrap;gap:calc(6px * var(--game-ui-header-scale))}.app-shell-compact-touch .ghost-button{min-height:calc(34px * var(--game-ui-header-scale));padding:calc(7px * var(--game-ui-header-scale)) calc(9px * var(--game-ui-header-scale));border-radius:8px;font-size:calc(.76rem * var(--game-ui-header-scale));white-space:nowrap}.app-shell-compact-touch .actor-control-panel h2,.app-shell-compact-touch .prepared-plan-title,.app-shell-compact-touch .companion-actions-title,.app-shell-compact-touch .actor-control-panel{display:none}.app-shell-compact-touch .actor-compact-actions{display:flex;flex-wrap:nowrap;gap:calc(6px * var(--game-ui-header-scale));margin-top:0;overflow-x:auto}.app-shell-compact-touch .actor-primary-actions,.app-shell-compact-touch .actor-secondary-actions,.app-shell-compact-touch .actor-tactical-actions,.app-shell-compact-touch .companion-tactical-actions,.app-shell-compact-touch .prepared-plan-title,.app-shell-compact-touch .prepared-plan-title+.data-grid,.app-shell-compact-touch .prepared-plan-title+p{display:none}.app-shell-compact-touch .app-stage{grid-row:2;height:auto;min-height:0;padding:6px;overflow:hidden}.app-shell-compact-touch .game-canvas-shell,.app-shell-compact-touch .game-canvas{height:100%;min-height:0;border-radius:12px}.app-shell-compact-touch .app-sidebar-right{position:fixed;z-index:1400;padding:calc(8px * var(--game-ui-chat-scale));overflow:hidden;border:1px solid rgba(146,177,205,.3);border-radius:calc(14px * var(--game-ui-chat-scale));background:#0a1017f5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 8px 32px #00000085,0 0 0 1px #5ec8ff0f;display:none;font-size:calc(1rem * var(--game-ui-chat-scale))}.app-shell-compact-touch.app-shell-chat-open .app-sidebar-right{display:flex;flex-direction:column}.app-shell-compact-touch .app-sidebar-right>.panel:not(.agent-chat-panel){display:none}.app-shell-compact-touch .agent-chat-panel{flex:1;min-height:0;margin-bottom:0;border:none;background:transparent;box-shadow:none;padding:0}.app-shell-compact-touch .agent-chat-log,.app-shell-compact-touch .agent-chat-log-collapsed{flex:1;min-height:0;max-height:none;overflow-y:auto}.app-shell-compact-touch .agent-chat-form{flex-shrink:0;margin-top:0}.app-shell-compact-touch .agent-chat-form .chat-send-resize-handle{touch-action:none;cursor:se-resize}.app-shell-compact-touch .agent-chat-header h2{display:none}.app-shell-compact-touch .agent-chat-header{flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:calc(6px * var(--game-ui-chat-scale));flex-shrink:0;min-height:calc(34px * var(--game-ui-chat-scale))}.app-shell-compact-touch .agent-chat-header>div{display:flex;flex-wrap:nowrap;gap:calc(6px * var(--game-ui-chat-scale));align-items:center;flex-shrink:0}.app-shell-compact-touch .agent-chat-drawer-toggle{position:fixed;right:0;top:25dvh;z-index:1450;display:flex;align-items:center;justify-content:center;width:auto;min-width:calc(32px * var(--game-ui-chat-scale));min-height:calc(32px * var(--game-ui-chat-scale));padding:calc(6px * var(--game-ui-chat-scale));border:1px solid rgba(118,170,214,.44);border-right:0;border-radius:10px 0 0 10px;background:#111d2bfa;color:#f5fbff;box-shadow:-4px 6px 18px #00000052}.app-shell-compact-touch .agent-chat-drawer-logo{display:block;width:auto;height:auto;max-height:50vh;max-width:calc(48px * var(--game-ui-chat-scale));object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.app-shell-compact-touch .agent-chat-header-logo{display:block;height:calc(28px * var(--game-ui-chat-scale));width:auto;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}@media(pointer:coarse){.app-shell-compact-touch{--compact-scale: .65}.app-shell-compact-touch .agent-chat-header-logo{height:14px}.app-shell-compact-touch .agent-chat-drawer-logo{max-height:25vh;max-width:24px}}.app-shell-compact-touch .agent-chat-drawer-toggle-active{border-color:#5ed1ffe0;background:#1c506cfa}.agent-chat-float-handle{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.agent-chat-float-handle:active{cursor:grabbing}.agent-chat-float-handle button,.agent-chat-float-handle input,.agent-chat-float-handle a{cursor:pointer;touch-action:auto}.agent-chat-history-bar{display:flex;align-items:center;min-height:26px;padding:2px 0;border-bottom:1px solid rgba(120,157,192,.1);margin-bottom:2px}.agent-chat-history-toggle{display:flex;align-items:center;gap:5px;padding:3px 6px;border:1px solid rgba(118,170,214,.2);border-radius:6px;background:#18233199;color:#a0c8f0bf;font-size:.68rem;font-family:inherit;cursor:pointer;white-space:nowrap;align-self:flex-start;margin-top:2px}.agent-chat-panel{display:flex;flex-direction:column;gap:8px}.agent-chat-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.agent-chat-header h2{margin:0}.agent-chat-log{max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding:6px 0;border-top:1px solid rgba(120,157,192,.14)}.agent-chat-msg{display:flex;flex-direction:column;gap:2px;font-size:.8em}.agent-chat-msg-user{align-items:flex-end}.agent-chat-msg-agent{align-items:flex-start}.agent-chat-who{font-size:.72em;opacity:.5;text-transform:uppercase;letter-spacing:.06em}.agent-chat-msg p{margin:0;padding:5px 9px;border-radius:10px;max-width:90%;line-height:1.35;white-space:pre-wrap;word-break:break-word}.agent-chat-msg-user p{background:#386eaa59}.agent-chat-msg-agent p{background:#1e2c3cb3;border:1px solid rgba(120,157,192,.18)}.agent-chat-msg-tool{align-items:center}.agent-chat-msg-tool p{background:transparent;border:none;color:#789dc08c;font-style:italic;font-size:.82em;padding:1px 4px}.agent-chat-form{display:flex;gap:6px;margin-top:4px}.agent-chat-input{flex:1;background:#0a121cb3;border:1px solid rgba(120,157,192,.25);border-radius:8px;color:#f4f7fb;padding:5px 9px;font-size:.82em;font-family:inherit}.agent-chat-input:focus{outline:none;border-color:#789dc08c}.quick-message-toolbar{position:absolute;z-index:12000;top:26px;right:26px;display:flex;gap:6px;pointer-events:auto}.app-shell-compact-touch .quick-message-toolbar{top:14px;right:14px}.quick-message-tool-btn{width:calc(34px * var(--game-ui-quick-scale));height:calc(34px * var(--game-ui-quick-scale));display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(94,200,255,.45);border-radius:6px;background:#060d15db;color:#dff5ff;font-family:monospace;font-size:calc(1rem * var(--game-ui-quick-scale));cursor:pointer;box-shadow:0 8px 20px #00000052}.quick-message-tool-btn:hover{border-color:#86e0ffcc;background:#0a1b2af0}.quick-message-trash{font-size:.82rem}.quick-message-trash-hot{border-color:#ff5656f2;box-shadow:0 0 0 2px #ff565638,0 8px 20px #00000052}.quick-message-button{position:fixed;z-index:11990;width:calc(148px * var(--game-ui-quick-scale));height:calc(34px * var(--game-ui-quick-scale));display:inline-flex;align-items:center;justify-content:space-between;gap:calc(8px * var(--game-ui-quick-scale));padding:0 calc(8px * var(--game-ui-quick-scale)) 0 calc(10px * var(--game-ui-quick-scale));border:1px solid rgba(164,225,248,.72);border-radius:6px;background:#0a1826fb;color:#fff;font-family:monospace;font-size:calc(.78rem * var(--game-ui-quick-scale));line-height:1;cursor:pointer;touch-action:none;box-shadow:0 10px 22px #0000006b,inset 0 0 0 1px #ffffff0d;text-shadow:0 1px 2px rgba(0,0,0,.45);overflow:hidden}.quick-message-button:hover:not(:disabled){border-color:#c0ecfad6;background:#0e2234fe}.quick-message-button:disabled{opacity:.82;background:#091420f5;color:#fffffff5;cursor:grab}.quick-message-button-new{animation:quick-message-appear 2s ease-out forwards}@keyframes quick-message-appear{0%{transform:scale(1);border-color:#a4e1f8b8;background:#0a1826fb;color:#fff}22%{transform:scale(1.28);border-color:#d4a017;background:#d29b14e6;color:#fff}42%{transform:scale(1.1);border-color:#d4a017;background:#d29b14c7;color:#fff}58%{transform:scale(1.2);border-color:#d4a017;background:#d29b14e0;color:#fff}78%{transform:scale(1.04);border-color:#c0ecfac7;background:#0c1d2dfc;color:#fff}to{transform:scale(1);border-color:#a4e1f8b8;background:#0a1826fb;color:#fff}}.quick-message-button>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-message-grip{color:#e8f8fffa;flex:0 0 auto;font-size:calc(1rem * var(--game-ui-quick-scale));line-height:1}.quick-message-meta{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto}.quick-message-silent-mark{min-width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(202,255,223,.92);border-radius:3px;color:#fff;background:#225837c7;font-size:.62rem;line-height:1}.quick-message-dialog-backdrop{position:fixed;inset:0;z-index:13000;background:#00000038;pointer-events:all}.quick-message-dialog{position:fixed;top:88px;right:56px;width:min(340px,calc(100vw - 24px));display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid rgba(146,177,205,.32);border-radius:8px;background:#080f17fa;box-shadow:0 16px 48px #000000ad}.quick-message-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.quick-message-dialog label{display:grid;gap:4px;color:#8fbfe6;font-size:.74rem;text-transform:uppercase}.quick-message-dialog input,.quick-message-dialog textarea{width:100%;box-sizing:border-box;background:#0a121cc7;border:1px solid rgba(120,157,192,.28);border-radius:6px;color:#f4f7fb;padding:7px 9px;font-family:monospace;font-size:.84rem}.quick-message-dialog input:focus,.quick-message-dialog textarea:focus{outline:none;border-color:#78d0ffb8}.quick-message-dialog .quick-message-checkbox{display:inline-flex;grid-template-columns:none;align-items:center;gap:8px;width:fit-content;cursor:pointer}.quick-message-dialog .quick-message-checkbox input{width:auto;accent-color:#5ec8ff}.agent-chat-drawer-toggle,.actor-compact-actions{display:none}.audio-settings-control{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:8px;width:min(100%,360px);padding:8px 10px;border:1px solid rgba(118,170,214,.2);border-radius:12px;background:#0a121c8a;color:#dbeaff;font-family:monospace;font-size:.74rem;overflow:hidden}.audio-settings-control label{display:grid;gap:4px;min-width:0}.audio-settings-control span{color:#9fc7e2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.audio-settings-control input[type=range]{width:100%;min-width:0;accent-color:#5ec8ff}.audio-settings-control-compact{grid-template-columns:repeat(2,minmax(70px,1fr));gap:6px;width:190px;padding:5px 7px;border-radius:9px;font-size:.64rem}.audio-settings-control-compact label{gap:2px}.app-shell-compact-touch .audio-settings-control-compact{font-size:calc(.64rem * var(--game-ui-header-scale))}.directives-float-backdrop{position:fixed;inset:0;z-index:1600;background:#0000008c;pointer-events:all;padding:12px;box-sizing:border-box}.directives-float-panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1700;width:min(560px,calc(100vw - 16px));background:#0a1017fa;border:1px solid rgba(146,177,205,.3);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:10px;box-shadow:0 16px 48px #000000b3,0 0 0 1px #5ec8ff0f;max-height:80dvh;overflow-y:auto;pointer-events:all;box-sizing:border-box}.directives-float-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.menu-mainmenu-directives-modal{width:min(640px,calc(100vw - 24px));max-height:calc(100dvh - 24px)}.turn-dump-backdrop{position:fixed;inset:0;z-index:1750;background:#0000009e;display:flex;align-items:center;justify-content:center;padding:12px}.turn-dump-panel{width:min(1080px,calc(100vw - 24px));max-height:86dvh;overflow-y:auto;background:#0a1017fb;border:1px solid rgba(146,177,205,.3);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:12px;box-shadow:0 18px 52px #000000bf,0 0 0 1px #5ec8ff0f}.turn-dump-header,.turn-dump-toolbar,.turn-dump-message-header{display:flex;align-items:center}.turn-dump-header,.turn-dump-message-header{justify-content:space-between;gap:12px}.turn-dump-toolbar{gap:8px}.turn-dump-tabs{display:flex;flex-wrap:wrap;gap:8px}.turn-dump-tab{border:1px solid rgba(146,177,205,.22);background:#121c27bf;color:inherit;border-radius:999px;padding:6px 12px;cursor:pointer;font-size:.8rem}.turn-dump-tab.is-active{background:#3174a15c;border-color:#6eb7e68c}.turn-dump-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.turn-dump-card{background:#121c27eb;border:1px solid rgba(146,177,205,.2);border-radius:12px;padding:12px}.turn-dump-card h3{margin:0 0 8px;font-size:.95rem}.turn-dump-pre{margin:0;white-space:pre-wrap;word-break:break-word;font-size:.8rem;line-height:1.45;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.turn-dump-messages{display:flex;flex-direction:column;gap:10px}.turn-dump-message{border-top:1px solid rgba(146,177,205,.14);padding-top:10px}.turn-dump-message-card{border:1px solid rgba(146,177,205,.15);border-radius:10px;padding:12px;background:#080d1259}.turn-dump-message-card.is-user{border-color:#5badff47;background:#1123346b}.turn-dump-message-card.is-assistant{border-color:#76d4973d;background:#0e211861}.turn-dump-message-card.is-tool{border-color:#e7c05f3d;background:#2a1f0a52}.turn-dump-message:first-child{border-top:0;padding-top:0}.turn-dump-message-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.turn-dump-badge{border:1px solid rgba(146,177,205,.2);border-radius:999px;padding:2px 8px;font-size:.72rem;opacity:.9}.turn-dump-message-body{display:flex;flex-direction:column;gap:8px;margin-top:8px}.turn-dump-subcard{background:#0e151db8;border:1px solid rgba(146,177,205,.12);border-radius:8px;padding:8px}.turn-dump-subtitle{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;opacity:.72;margin-bottom:6px}.turn-dump-message-content{margin-top:6px}.turn-dump-empty{margin:0}.turn-dump-note{margin:0 0 10px}.turn-dump-final-text{margin-bottom:10px}.turn-dump-final-text p{margin:6px 0 0}.campaign-menu-shell{min-height:100vh;background:#0a1117;color:#e0e0e0;font-family:monospace;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:24px 12px;box-sizing:border-box}.campaign-menu-panel{gap:1rem;min-width:0}.campaign-menu-layout{align-items:center;grid-template-columns:minmax(250px,.42fr) minmax(0,.58fr);gap:clamp(18px,4vw,44px)}.campaign-menu-layout .menu-brand{width:100%;max-width:320px;justify-content:center}.campaign-menu-layout .menu-utility-row{width:100%;max-width:280px}.campaign-menu-layout .audio-settings-control{width:100%}.campaign-menu-title{font-size:1.4rem;letter-spacing:.08em;margin:0}.campaign-menu-progress{color:#888;font-size:.8rem;margin:0}.campaign-editor-open{margin-top:.25rem;align-self:center}.campaign-list{width:100%;max-width:820px;max-height:52vh;overflow-y:auto;display:flex;flex-direction:column;gap:.8rem}.campaign-empty,.campaign-block{border:1px solid rgba(118,170,214,.2);border-radius:8px;background:#0d151feb;padding:12px}.campaign-block-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}.campaign-block-header h2{margin:0;font-size:.95rem}.campaign-block-header p{margin:4px 0 0;color:#8fa6b8;font-size:.75rem}.campaign-block-header span{color:#8fbfe6;font-size:.78rem;white-space:nowrap}.campaign-select-button{width:100%;color:#e0e0e0;font-family:monospace;cursor:pointer;text-align:left}.campaign-select-button:hover:not(:disabled){border-color:#81d5ff80;background:#121f2df5}.campaign-select-button:disabled{cursor:not-allowed}.campaign-select-locked{color:#5f6972;border-color:#5e68712e;background:#0b1017eb}.campaign-select-completed{border-color:#4daa7047}.campaign-select-footer{display:flex;justify-content:space-between;gap:12px;color:#8fa6b8;font-size:.76rem}.campaign-select-footer em{color:#8fbfe6;font-style:normal;white-space:nowrap}.campaign-mission-list{display:flex;flex-direction:column;gap:.5rem}.campaign-mission-list-modal{max-height:min(58dvh,520px);overflow-y:auto;padding-right:3px}.campaign-mission-button{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:.75rem 1rem;font-family:monospace;font-size:.85rem;background:#141e2e;border:1px solid #2a4a7a;border-radius:5px;color:#e0e0e0;cursor:pointer;text-align:left}.campaign-mission-button small{display:block;color:#6f8294;margin-top:3px}.campaign-mission-button em{color:#8fc8ff;font-style:normal;font-size:.72rem}.campaign-mission-completed{background:#0e2a1a;border-color:#2a6a4a;color:#6adaa0}.campaign-mission-locked{background:#0e1520;border-color:#222;color:#555;cursor:not-allowed}.campaign-back-button{margin-top:.25rem;padding:.5rem 1.5rem;font-family:monospace;font-size:.85rem;background:transparent;border:1px solid #334;border-radius:4px;color:#888;cursor:pointer}.campaign-editor-backdrop{display:flex;align-items:center;justify-content:center}.campaign-editor-panel{position:relative;left:auto;top:auto;transform:none;width:min(880px,calc(100vw - 18px));max-height:86dvh}.campaign-mission-panel{position:relative;left:auto;top:auto;transform:none;width:min(720px,calc(100vw - 18px));max-height:min(86dvh,760px)}.campaign-mission-panel .directives-float-header{align-items:flex-start}.campaign-mission-panel h2{margin:0}.campaign-mission-panel p{margin:5px 0 0;color:#8fa6b8;font-size:.78rem}.campaign-editor-toolbar,.campaign-editor-row,.campaign-editor-add,.campaign-editor-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.campaign-editor-toolbar select,.campaign-editor-add select{flex:1 1 220px}.campaign-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.campaign-editor-grid label,.campaign-editor-check{display:flex;flex-direction:column;gap:5px;color:#a8bdcf;font-size:.78rem}.campaign-editor-check{flex-direction:row;align-items:center}.campaign-editor-wide{grid-column:1 / -1}.campaign-editor-panel input,.campaign-editor-panel select,.campaign-editor-panel textarea{background:#050a0ff0;border:1px solid rgba(118,170,214,.25);border-radius:6px;color:#e8f3fb;font-family:monospace;padding:9px 10px}.campaign-editor-panel textarea{min-height:74px;resize:vertical}.campaign-editor-missions{display:flex;flex-direction:column;gap:8px;max-height:min(34dvh,330px);overflow-y:auto;padding-right:3px}.campaign-editor-mission-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:8px;align-items:center;border:1px solid rgba(118,170,214,.18);border-radius:8px;padding:8px;background:#0d151fb8}.campaign-editor-mission-row small{display:block;color:#74899a;margin-top:3px}@media(orientation:landscape)and (pointer:coarse)and (max-height:560px){.campaign-menu-layout{grid-template-columns:minmax(210px,.36fr) minmax(0,.64fr);align-items:start;gap:16px}.campaign-menu-layout .menu-brand{max-width:260px;justify-content:center;padding-top:8px}.campaign-menu-layout .menu-utility-row{max-width:260px}.campaign-menu-layout .campaign-menu-panel{width:100%;max-width:100%;justify-content:flex-start}.campaign-list{max-height:min(72dvh,100%)}.campaign-mission-modal{width:min(980px,calc(100vw - 18px));max-height:calc(100dvh - 24px);margin-top:-18px}.campaign-editor-modal{width:min(1080px,calc(100vw - 18px));max-height:calc(100dvh - 24px);margin-top:-18px}}.campaign-editor-actions{justify-content:flex-end}.info-window-backdrop{position:fixed;inset:0;z-index:12000;background:#0000009e;display:flex;align-items:center;justify-content:center;padding:18px;pointer-events:all;box-sizing:border-box}.info-window-backdrop-focus-upper{align-items:flex-start;padding-top:9dvh}.info-window-panel{-webkit-user-select:none;user-select:none;width:min(720px,calc(100vw - 28px));max-height:min(82dvh,760px);overflow:hidden;display:flex;flex-direction:column;gap:12px;padding:18px;border-radius:12px;border:1px solid rgba(146,177,205,.34);background:#0a1017fc;color:#eef6ff;box-shadow:0 18px 60px #000000c2;pointer-events:auto}.info-window-header{display:flex;justify-content:space-between;gap:12px;align-items:center}.info-window-header small{color:#8fa6b8;font-family:monospace}.info-window-panel h2{margin:0;font-size:1.05rem;letter-spacing:0}.info-window-body{overflow-y:auto;max-height:50dvh;padding-right:4px;color:#dbe8f2;line-height:1.5}.info-window-body-writing{min-height:4.5em}.info-window-body p{margin:0 0 10px}.info-window-caret{display:inline-block;width:.7ch;height:1.1em;margin-left:2px;vertical-align:baseline;background:#dbe8f2f2;animation:info-window-caret-blink .9s steps(1,end) infinite}.info-window-confirm{align-self:flex-end;min-width:140px;animation:info-window-confirm-fade-in .14s ease-out}@keyframes info-window-caret-blink{0%,45%{opacity:1}46%,to{opacity:0}}@keyframes info-window-confirm-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.campaign-menu-layout{grid-template-columns:minmax(0,1fr);gap:.9rem}.campaign-menu-layout .menu-brand{max-width:none;align-items:center;text-align:center}.campaign-menu-layout .menu-utility-row{max-width:320px;justify-content:center}.campaign-mission-modal,.campaign-editor-modal{margin-top:-8dvh}.campaign-editor-grid,.campaign-editor-mission-row{grid-template-columns:1fr}}.cookie-consent-banner{position:fixed;bottom:0;left:0;right:0;z-index:30000;display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:22px 28px;background:#08101cf0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid rgba(146,177,205,.22)}.cookie-consent-text{flex:1;min-width:220px;margin:0;font-size:.92rem;color:#b8d8f0;font-family:monospace;line-height:1.55}.cookie-consent-actions{display:flex;gap:12px;flex-shrink:0}.cookie-consent-accept{padding:12px 26px;background:#5ec8ff2e;border:1px solid rgba(94,200,255,.5);border-radius:10px;color:#5ec8ff;font-family:monospace;font-size:.92rem;font-weight:700;cursor:pointer;transition:background .15s}.cookie-consent-accept:hover{background:#5ec8ff52}.cookie-consent-reject{padding:12px 20px;background:transparent;border:1px solid rgba(146,177,205,.28);border-radius:10px;color:#7a9ab8;font-family:monospace;font-size:.92rem;cursor:pointer;transition:color .15s}.cookie-consent-reject:hover{color:#b8d8f0}.idle-warning-backdrop{position:fixed;inset:0;z-index:1900;background:#000000a6;display:flex;align-items:center;justify-content:center;pointer-events:all}.idle-warning-panel{background:#0a1017fa;border:1px solid rgba(146,177,205,.3);border-radius:14px;padding:2rem 2.5rem;text-align:center;color:#e0e8f0;font-family:monospace;max-width:min(360px,calc(100vw - 32px));box-shadow:0 16px 48px #000000b3,0 0 0 1px #5ec8ff0f}.connection-lost-backdrop{z-index:22000}.connection-lost-copy{color:#cfe8ff;font-size:.88rem;line-height:1.45;margin:0 0 .85rem}.connection-lost-reason{color:#8ab0cc;font-size:.72rem;line-height:1.35;margin:0 0 1.4rem;word-break:break-word}.ws-traffic-panel{margin-top:8px;display:flex;flex-direction:column;gap:4px}.ws-traffic-toolbar{display:flex;align-items:center;justify-content:space-between;gap:6px}.ws-traffic-log{background:#050a12d9;border:1px solid rgba(120,157,192,.18);border-radius:4px;color:#a0d2a0e6;font-family:Cascadia Code,Fira Mono,monospace;font-size:.72em;line-height:1.5;margin:0;max-height:260px;overflow-y:auto;padding:6px 8px;white-space:pre}.agent-config-grid{display:grid;grid-template-columns:auto 1fr;gap:5px 10px;align-items:center;padding:8px 0 6px;border-bottom:1px solid rgba(120,157,192,.15);margin-bottom:6px}.agent-config-grid label{font-size:.78em;opacity:.7;white-space:nowrap}.agent-config-grid input,.agent-config-grid select{background:#0a121cb3;border:1px solid rgba(120,157,192,.25);border-radius:4px;color:inherit;font-size:.82em;padding:3px 6px;width:100%;box-sizing:border-box}.agent-config-grid input:focus,.agent-config-grid select:focus{outline:none;border-color:#789dc08c}.context-menu{z-index:12550;background:#0a121cf2;border:1px solid rgba(120,157,192,.35);border-radius:calc(8px * var(--game-ui-context-scale));padding:calc(4px * var(--game-ui-context-scale));display:flex;flex-direction:column;gap:calc(2px * var(--game-ui-context-scale));min-width:calc(140px * var(--game-ui-context-scale));box-shadow:0 4px 16px #00000080}.context-menu button{background:none;border:none;color:#c8d8e8;font-family:inherit;font-size:calc(.85em * var(--game-ui-context-scale));padding:calc(7px * var(--game-ui-context-scale)) calc(12px * var(--game-ui-context-scale));text-align:left;border-radius:calc(5px * var(--game-ui-context-scale));cursor:pointer;width:100%}.context-menu button:hover{background:#789dc02e;color:#f4f7fb}.dev-shell{min-height:100vh;padding:24px;overflow-y:auto;background:radial-gradient(circle at top,rgba(46,91,140,.22),transparent 36%),#0a1117;color:#f4f7fb}.dev-login-panel{width:min(460px,calc(100vw - 32px));margin:20vh auto 0}.dev-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}.dev-header h1{margin:0 0 6px;font-size:1.8rem}.dev-ranges{justify-content:flex-end;margin-top:0}.dev-toolbar{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr)) auto;gap:12px;align-items:end}.dev-toolbar label,.dev-table-actions label{display:grid;gap:6px}.dev-toolbar input,.dev-toolbar select,.dev-table-actions select{width:100%;padding:9px 10px;border:1px solid rgba(120,157,192,.25);border-radius:8px;background:#0a121cbd;color:#f4f7fb}.dev-filter-toolbar{grid-template-columns:minmax(160px,220px) minmax(220px,1fr)}.dev-check{display:flex!important;grid-template-columns:none!important;flex-direction:row;align-items:center;gap:10px;min-height:38px}.dev-check input{width:16px;height:16px;accent-color:#72d6a0}.dev-token-hint{align-self:center;font-size:.78rem;margin:0}.dev-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.dev-totals .panel{margin-bottom:0}.dev-totals strong{font-size:1.25rem}.dev-table-panel,.dev-chart-panel{margin-top:16px}.dev-chart{display:grid;gap:8px}.dev-chart-row{display:grid;grid-template-columns:96px minmax(120px,1fr) 110px minmax(0,auto);gap:10px;align-items:center;font-size:.84rem}.dev-chart-row span{color:#9ed0ff;font-variant-numeric:tabular-nums}.dev-chart-row strong{text-align:right;font-variant-numeric:tabular-nums}.dev-chart-row em{color:#f4f7fb94;font-size:.78rem;font-style:normal;white-space:nowrap}.dev-chart-track{height:12px;overflow:hidden;border-radius:4px;background:#789dc01f}.dev-chart-bar{height:100%;border-radius:4px;background:linear-gradient(90deg,#64d29b,#72b8f0)}.dev-table-actions{display:flex;gap:12px;align-items:end;justify-content:flex-end;margin-bottom:12px}.dev-table-scroll{overflow-x:auto}.dev-table{width:100%;border-collapse:collapse;font-size:.88rem}.dev-table th,.dev-table td{padding:10px 12px;border-bottom:1px solid rgba(120,157,192,.14);text-align:left;white-space:nowrap}.dev-table th{color:#9ed0ff;font-size:.76rem;letter-spacing:.06em;text-transform:uppercase}@media(max-width:900px){.dev-header,.dev-table-actions{display:grid;justify-content:stretch}.dev-toolbar,.dev-totals{grid-template-columns:1fr}.dev-chart-row{grid-template-columns:78px minmax(80px,1fr) 84px}.dev-chart-row em{grid-column:2 / -1}}
