:root{--color-shell-base:#08111f;--color-shell-depth:#040a14;--color-panel:#0b182beb;--color-panel-strong:#0d1d34f5;--color-panel-soft:#0a1424db;--color-world-surface:#091424;--color-border:#29405f;--color-border-soft:#476287ad;--color-text-primary:#f2efe3;--color-text-secondary:#c2cfdf;--color-text-muted:#90a4c2;--color-button:#142846;--color-button-active:#213c63;--color-button-action-required:#1f6f4a;--color-button-action-required-active:#258259;--color-input:#0a1526;--color-overlay:#04080ec2;--color-danger-border:#8d5b5b;--color-danger-bg:#4a1e1e8c;--color-red-dot:#f04444;--color-tab-panel:#0d1d34f5;--color-tab-panel-border:#5c7aa6a3;color:var(--color-text-primary);background-color:var(--color-shell-base);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{background:radial-gradient(circle at 0 0,#27497752,#0000 28%),linear-gradient(#0a1424 0%,#040a14 100%);overflow:hidden}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default}.game-button{border:1px solid var(--color-border);background:var(--color-button);color:var(--color-text-primary);border-radius:6px;transition:background-color .12s,border-color .12s}.game-button--default{background:var(--color-button)}.game-button:hover:not(:disabled),.game-button--primary{background:var(--color-button-active);border-color:#436289}.game-button--action-required{background:var(--color-button-action-required);color:#f3fff7;border-color:#4fb985;font-weight:800;box-shadow:inset 0 1px #ffffff29,0 8px 18px #081f153d}.game-button--action-required:hover:not(:disabled){background:var(--color-button-action-required-active);border-color:#6ed49e}.red-dot-host{position:relative}.red-dot{z-index:4;background:var(--color-red-dot);pointer-events:none;border:2px solid #070e19f5;border-radius:999px;width:.68rem;height:.68rem;position:absolute;top:-.22rem;right:-.22rem;box-shadow:0 0 0 1px #ff96967a,0 0 10px #f044449e}.game-tab-bar{--game-tab-panel-bg:var(--color-tab-panel);--game-tab-panel-line:var(--color-tab-panel-border);scrollbar-width:thin;align-items:flex-end;gap:.4rem;min-width:0;padding:.25rem .35rem 0;display:flex;overflow-x:auto}.game-tab{aspect-ratio:16/9;border-bottom-color:var(--game-tab-panel-line);width:clamp(5.35rem,18vw,6.75rem);min-height:0;color:var(--color-text-secondary);transform-origin:bottom;background:#0a1424d1;border-radius:7px 7px 0 0;flex:none;grid-template-rows:minmax(0,1fr) auto;place-items:end center;gap:.18rem;padding:.38rem .45rem .34rem;transition:background-color .12s,border-color .12s,color .12s,transform .12s;display:grid;position:relative;overflow:visible}.game-tab:hover:not(:disabled){background:#193050eb}.game-tab--selected{z-index:2;background:var(--game-tab-panel-bg);border-color:var(--game-tab-panel-line);border-bottom-color:var(--game-tab-panel-bg);color:#fff;transform:translateY(1px)scale(1.06)}.game-tab__icon-frame{align-self:center;place-items:center;width:2rem;height:2rem;transition:transform .12s;display:grid}.game-tab--selected .game-tab__icon-frame{transform:scale(1.1)}.game-tab__icon,.game-tab__icon-placeholder{width:1.85rem;height:1.85rem;display:block}.game-tab__icon{object-fit:contain}.game-tab__icon-placeholder{background:linear-gradient(135deg,#eaf1ff29,#eaf1ff0a),#08111fa3;border:1px solid #9ab5d88a;border-radius:6px}.game-tab__label{text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.68rem;font-weight:800;line-height:1;overflow:hidden}.game-tab .red-dot{top:.16rem;right:.18rem}input{min-width:0}.auth-entry{align-content:center;gap:1.5rem;width:100%;height:100%;padding:clamp(1rem,2vw,2rem);display:grid;overflow:auto}.auth-entry--loading{place-items:center}.auth-entry__hero,.auth-entry__panel{gap:1rem;display:grid}.auth-entry__hero{align-content:center;max-width:34rem}.auth-entry__eyebrow,.auth-entry__copy,.auth-entry__loading,.auth-entry__error,.auth-entry__field span{margin:0}.auth-entry__eyebrow,.prop-command-panel__eyebrow,.squad-panel__eyebrow,.shop-modal__eyebrow,.squad-panel__metric-label,.chat-panel__field span{color:var(--color-text-muted);text-transform:uppercase;font-size:.8125rem}.auth-entry__hero h1{margin:0;font-size:clamp(1.875rem,3vw,3rem);line-height:1.05}.auth-entry__copy,.auth-entry__loading,.world-canvas__panel-copy,.world-canvas__panel-message,.prop-command-panel__copy,.prop-command-panel__message,.prop-command-panel__item-meta,.prop-command-panel__item-status,.shop-modal__status,.shop-modal__copy,.shop-modal__offer-meta,.shop-modal__list,.chat-panel__copy,.squad-panel__copy,.squad-stepper__meta{color:var(--color-text-secondary)}.auth-entry__panel,.prop-command-panel,.chat-panel,.squad-panel,.popup-panel__surface,.debug-message-dialog__surface{border:1px solid var(--color-border-soft);background:var(--color-panel);border-radius:8px;box-shadow:0 20px 48px #02060c57}.auth-entry__panel{width:min(100%,30rem);padding:1rem}.auth-entry__mode-switch{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.auth-entry__mode-button{padding:.625rem .75rem}.auth-entry__mode-button--active{background:var(--color-button-active)}.auth-entry__form{gap:.875rem;display:grid}.auth-entry__field{gap:.375rem;display:grid}.auth-entry__field input{border:1px solid var(--color-border);background:var(--color-input);border-radius:6px;width:100%;padding:.75rem}.auth-entry__submit{padding:.75rem .875rem}.auth-entry__submit:disabled,.world-canvas__selection-command:disabled,.squad-stepper__button:disabled{opacity:.68}.auth-entry__error{border:1px solid var(--color-danger-border);background:var(--color-danger-bg);color:#ffd7d7;border-radius:6px;padding:.75rem}.app-shell{width:100vw;height:100dvh;display:flex;overflow:hidden}.game-shell__world{--resource-wallet-gap:.375rem;--resource-wallet-item-width:clamp(6.75rem, 11vw, 8.5rem);--resource-wallet-width:calc((var(--resource-wallet-item-width) * 2) + var(--resource-wallet-gap));--world-hud-width:clamp(7.25rem, 14vw, 9.5rem);background:radial-gradient(circle at top,#30527f42,#0000 32%),linear-gradient(#060c15f0 0%,#04080efa 100%);flex:auto;min-width:0;min-height:0;position:relative;overflow:hidden;container-type:inline-size}.control-panel{border-left:1px solid var(--color-border-soft);background:linear-gradient(#08101cf5 0%,#060c16fa 100%);flex-direction:column;flex:0 auto;width:40%;min-width:320px;max-width:400px;height:100%;display:flex;position:relative;overflow:hidden}.prop-command-panel__title,.prop-command-panel__section-title,.chat-panel__title,.popup-panel__title,.shop-modal__section h3{margin:0}.world-canvas{width:100%;height:100%;min-height:0}.world-canvas__surface{background:var(--color-world-surface);touch-action:none;cursor:grab;width:100%;height:100%;min-height:0;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #29405f94}.world-canvas__surface--dragging{cursor:grabbing}.world-canvas__mount{width:100%;height:100%}.world-canvas__surface canvas{width:100%;height:100%;display:block}.world-view-ui-layer{display:contents}.world-view-ui-layer--hidden{display:none}.world-canvas__hud-stack{left:auto;right:calc(.75rem + var(--resource-wallet-width) + .625rem);z-index:4;width:var(--world-hud-width);pointer-events:none;gap:.35rem;display:grid;position:absolute;top:.75rem}.hud-legend{color:#eaf1ff;text-align:center;pointer-events:none;background:#08111fd6;border:1px solid #476287d6;border-radius:6px;width:100%;padding:.375rem .625rem;font-size:.75rem;line-height:1.1}.world-test-ui-stack{z-index:6;pointer-events:auto;gap:.5rem;width:12rem;display:grid;position:absolute;top:.75rem;left:.75rem}.test-ui-wrapper{background:#08111fe6;border:1px solid #476287d6;border-radius:6px;width:12rem;padding:.5rem;box-shadow:0 10px 24px #0000003d}.test-ui-wrapper__title{color:var(--color-text-muted);text-transform:uppercase;margin:0 0 .4rem;font-size:.625rem;font-weight:700;line-height:1}.test-ui-wrapper__body{gap:.35rem;display:grid}.hero-debug-panel{grid-template-columns:minmax(0,1fr) 4.1rem;align-items:center;gap:.35rem;display:grid}.hero-debug-panel__input{width:100%;min-width:0;height:1.45rem;color:var(--color-text-primary);background:#08111feb;border:1px solid #476287e6;border-radius:6px;padding:0 .45rem;font-size:.625rem;line-height:1}.hero-debug-panel__button{white-space:nowrap;border-radius:6px;width:100%;height:1.45rem;padding:0 .45rem;font-size:.625rem;line-height:1}.hero-debug-panel__button:disabled{opacity:.6}.npc-tenant-debug-panel{gap:.35rem;display:grid}.npc-tenant-debug-panel__button{overflow-wrap:anywhere;white-space:normal;border-radius:6px;width:100%;min-height:2.25rem;padding:.35rem .45rem;font-size:.625rem;line-height:1.2}.npc-tenant-debug-panel__button:disabled{opacity:.6}.quest-debug-panel{gap:.35rem;display:grid}.quest-debug-panel__button{overflow-wrap:anywhere;white-space:normal;border-radius:6px;width:100%;min-height:2.25rem;padding:.35rem .45rem;font-size:.625rem;line-height:1.2}.quest-debug-panel__button:disabled{opacity:.6}.resource-wallet{z-index:5;width:min(var(--resource-wallet-width), calc(100% - 1.5rem));pointer-events:none;justify-items:end;gap:.4rem;display:grid;position:absolute;top:.75rem;right:.75rem}.resource-wallet__hud{justify-content:flex-end;align-items:flex-end;gap:var(--resource-wallet-gap);grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.resource-wallet__item{color:#eaf1ff;pointer-events:auto;background:#08111fe6;border:1px solid #476287d6;border-radius:6px;flex:none;grid-template-columns:1.35rem minmax(0,1fr);align-items:center;gap:.375rem;width:100%;min-width:0;max-width:none;height:1.625rem;min-height:1.625rem;max-height:1.625rem;padding:.125rem .5rem;font-size:.75rem;line-height:1;display:grid;box-shadow:0 10px 24px #0000003d}.resource-wallet__icon{width:1.125rem;height:1.125rem;color:var(--color-text-secondary);background:#eaf1ff1f;border:1px solid #9ab5d87a;border-radius:5px;justify-self:start;place-items:center;font-size:.625rem;font-weight:700;display:grid}.resource-wallet__quantity{font-variant-numeric:tabular-nums;text-align:right;text-overflow:ellipsis;white-space:nowrap;justify-self:end;min-width:0;overflow:hidden}.resource-wallet .game-icon__tooltip{top:calc(100% + .35rem);bottom:auto}.resource-wallet__test-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem;display:grid}.resource-wallet__test-button{white-space:nowrap;border-radius:6px;width:100%;height:1.45rem;padding:0 .45rem;font-size:.625rem;line-height:1;box-shadow:0 8px 18px #00000038}.resource-wallet__test-button:disabled{opacity:.6}.troop-tier-debug-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem;display:grid}.troop-tier-debug-actions__button{white-space:nowrap;border-radius:6px;width:100%;height:1.45rem;padding:0 .45rem;font-size:.625rem;line-height:1;box-shadow:0 8px 18px #00000038}.troop-tier-debug-actions__button:disabled{opacity:.6}.troop-inventory-hud{z-index:5;pointer-events:auto;flex-direction:column-reverse;align-items:flex-end;width:min(17.4rem,100% - 1.5rem);display:flex;position:absolute;bottom:.75rem;right:.75rem}.troop-inventory-hud__summary{color:#eaf1ff;background:#08111fe6;border:1px solid #476287d6;border-radius:6px;grid-template-columns:1.25rem minmax(0,1fr) auto;align-items:center;gap:.375rem;width:min(11.5rem,100%);min-width:0;max-width:11.5rem;height:1.625rem;min-height:1.625rem;max-height:1.625rem;padding:.125rem .5rem;font-size:.75rem;line-height:1;display:grid;box-shadow:0 10px 24px #0000003d}.troop-inventory-hud__summary-icon{width:1.125rem;height:1.125rem;color:var(--color-text-secondary);background:#eaf1ff1f;border:1px solid #9ab5d87a;border-radius:5px;justify-self:start;place-items:center;font-size:.625rem;font-weight:700;display:grid}.troop-inventory-hud__summary-label{min-width:0;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden}.troop-inventory-hud__total-count{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;justify-self:end}.troop-inventory-hud__details{opacity:0;pointer-events:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;width:min(17.4rem,100%);max-height:0;margin-bottom:0;transition:max-height .15s,margin-bottom .15s,opacity .12s,transform .15s;display:grid;overflow:hidden;transform:translate(.5rem,.2rem)}.troop-inventory-hud__summary:hover+.troop-inventory-hud__details,.troop-inventory-hud__summary:focus-within+.troop-inventory-hud__details{opacity:1;max-height:20rem;margin-bottom:.4rem;transform:translate(0)}.troop-inventory-hud__box{color:#eaf1ff;background:#08111fe6;border:1px solid #476287d6;border-radius:6px;min-width:0;padding:.35rem .45rem;box-shadow:0 10px 24px #0000003d}.troop-inventory-hud__header{margin-bottom:.2rem}.troop-inventory-hud__title{font-size:.72rem;font-weight:700;line-height:1.1;display:block}.troop-inventory-hud__body{gap:.12rem;display:grid}.troop-inventory-hud__row{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.35rem;font-size:.68rem;line-height:1.1;display:grid}.troop-inventory-hud__row--empty{color:var(--color-text-muted)}.troop-inventory-hud__tier{white-space:nowrap}.troop-inventory-hud__count{text-align:right;font-variant-numeric:tabular-nums;justify-self:end}.troop-inventory-hud__message{color:var(--color-text-muted);background:#08111fe6;border:1px solid #476287d6;border-radius:6px;margin:0;padding:.3rem .4rem;font-size:.68rem;line-height:1.1}.world-canvas__selection-panel{z-index:4;background:#08111ff0;border:1px solid #476287d6;border-radius:6px;gap:.625rem;width:min(22rem,100% - 5.5rem);padding:.75rem;display:grid;position:absolute;bottom:3rem;right:.75rem;box-shadow:0 10px 24px #00000047}.world-canvas__selection-title,.world-canvas__selection-copy,.world-canvas__selection-message,.world-canvas__selection-note{margin:0}.world-canvas__selection-title{font-size:.875rem}.world-canvas__selection-copy,.world-canvas__selection-message,.world-canvas__selection-note{color:var(--color-text-secondary);font-size:.8125rem}.world-canvas__selection-commands{flex-wrap:wrap;gap:.5rem;display:flex}.world-canvas__selection-command{padding:.5rem .75rem}.prop-command-panel,.chat-panel,.dispatch-squad-panel,.squad-panel,.train-troop-panel,.shop-modal{gap:1rem;display:grid}.prop-command-panel__eyebrow,.world-canvas__panel-copy,.world-canvas__panel-message,.prop-command-panel__copy,.prop-command-panel__message,.prop-command-panel__item-title,.prop-command-panel__item-meta,.prop-command-panel__item-status,.squad-panel__copy,.dispatch-squad-panel__message,.dispatch-squad-panel__target-action,.dispatch-squad-panel__target-location,.dispatch-squad-panel__hero-lane,.dispatch-squad-panel__hero-name,.hero-picker__name,.squad-panel__metric-label,.squad-panel__metric-value,.shop-modal__eyebrow,.shop-modal__status,.shop-modal__copy,.shop-modal__offer-title,.shop-modal__offer-meta,.shop-modal__offer-price,.squad-stepper__label,.squad-stepper__meta{margin:0}.prop-command-panel__grid,.shop-modal__body,.shop-modal__section,.shop-modal__offers,.squad-stepper{gap:.75rem;display:grid}.prop-command-panel{border-top:0;border-left:0;border-right:0;border-radius:0;flex:auto;grid-template-rows:minmax(0,1fr) auto;align-content:stretch;min-height:240px;padding:1rem;overflow:hidden}.chat-panel{border-bottom:0;border-left:0;border-right:0;border-radius:0;flex:0 0 min(50%,max(0px,100% - 240px));grid-template-rows:minmax(0,1fr);height:min(50%,max(0px,100% - 240px));min-height:0;max-height:50%;padding:1rem;overflow:hidden}.world-view__floating-actions{z-index:6;flex-direction:column;gap:.5rem;display:flex;position:absolute;bottom:.75rem;left:.75rem}.floating-button{border-radius:8px;place-items:center;width:2.5rem;height:2.5rem;padding:0;font-size:.625rem;font-weight:600;line-height:1;transition:background-color .12s,border-color .12s,transform 90ms;display:grid;position:relative;box-shadow:0 10px 24px #0000003d}.floating-button:hover{transform:translateY(-1px)}.floating-button:active{transform:translateY(1px)}.floating-button[aria-pressed=true]{background:var(--color-button-active);border-color:#436289}.floating-button__label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.floating-button__tooltip{z-index:8;color:#eaf1ff;opacity:0;pointer-events:none;white-space:nowrap;background:#08111ff5;border:1px solid #476287d6;border-radius:6px;padding:.25rem .45rem;font-size:.65rem;font-weight:600;line-height:1;transition:opacity .12s,transform .12s;position:absolute;top:50%;left:calc(100% + .45rem);transform:translate(-.2rem,-50%);box-shadow:0 10px 24px #0000003d}.floating-button:hover .floating-button__tooltip,.floating-button:focus-visible .floating-button__tooltip{opacity:1;transform:translateY(-50%)}.floating-button-with-icon__icon{object-fit:contain;width:1.35rem;height:1.35rem;display:block}.popup-panel{z-index:20;pointer-events:auto;position:fixed;inset:0}.popup-panel__surface{pointer-events:auto;background:var(--color-panel-strong);grid-template-rows:auto minmax(0,1fr);width:min(100%,400px);min-width:min(320px,100vw - 2rem);max-width:400px;max-height:min(75dvh,100dvh - 2rem);display:grid;position:fixed;overflow:hidden}.popup-panel__header,.squad-panel__summary{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.popup-panel__header{border-bottom:1px solid #4762874d;align-items:center;padding:.5rem .625rem .5rem 1rem}.popup-panel__title{font-size:1rem}.popup-panel__body{min-height:0;padding:0 1rem 1rem;overflow-y:auto}.popup-panel__close{color:#c2cfdfb8;width:2rem;height:2rem;box-shadow:none;background:0 0;border:0;flex:none;place-items:center;padding:0;transition:color .12s,transform 90ms;display:grid;transform:scale(1)}.popup-panel__close:hover{color:#fff;background:0 0;border-color:#0000}.popup-panel__close:active{transform:scale(.82)}.popup-panel__close svg{fill:currentColor;width:1.5rem;height:1.5rem;display:block}.popup-panel__surface.combat-result-popup{width:min(94vw,620px);max-width:620px}.combat-result{gap:.875rem;padding-top:.75rem;display:grid}.combat-result__time{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;justify-self:end;font-size:.75rem}.combat-result__outcome{justify-self:center;font-size:1.5rem;font-weight:800;line-height:1.1}.combat-result__outcome--win{color:#72e3a4}.combat-result__outcome--lose{color:#ff8f8f}.combat-result__outcome--draw{color:#f3d16e}.combat-result__meta{color:var(--color-text-secondary);justify-content:center;gap:.75rem;font-size:.78rem;font-weight:700;display:flex}.combat-result__grid{grid-template-columns:minmax(0,1fr) minmax(6.5rem,.6fr) minmax(0,1fr);align-items:start;gap:.75rem;display:grid}.combat-result__side,.combat-result__labels{grid-template-rows:2.625rem repeat(7,1.75rem);align-items:center;min-width:0;display:grid}.combat-result__side--attacker{text-align:right}.combat-result__side--defender{text-align:left}.combat-result__labels{color:var(--color-text-secondary);text-transform:uppercase;justify-items:center;font-size:.75rem;font-weight:700}.combat-result__profile{align-items:center;gap:.5rem;min-width:0;display:inline-flex}.combat-result__side--attacker .combat-result__profile{flex-direction:row-reverse;justify-self:end}.combat-result__avatar{width:2rem;height:2rem;color:var(--color-text-primary);background:#162333e0;border:1px solid #7e94b46b;border-radius:50%;flex:none;place-items:center;font-size:.8rem;font-weight:800;display:grid}.combat-result__profile strong,.combat-result__value{overflow-wrap:anywhere;min-width:0}.combat-result__value{color:var(--color-text-primary);font-variant-numeric:tabular-nums;font-weight:700}.combat-result__label{text-align:center;line-height:1.1}.popup-panel__surface.scout-result-popup{width:min(94vw,520px);max-width:520px}.scout-result{gap:.875rem;padding-top:.5rem;display:grid}.scout-result__profile{grid-template-columns:minmax(0,1fr) minmax(8rem,auto);align-items:center;gap:.75rem;display:grid}.scout-result__identity{align-items:center;gap:.625rem;min-width:0;display:flex}.scout-result__avatar{width:3rem;height:3rem;color:var(--color-text-primary);background:#162333e0;border:1px solid #7e94b485;border-radius:8px;flex:none;place-items:center;font-size:1rem;font-weight:800;display:grid}.scout-result__owner,.scout-result__metrics{gap:.25rem;min-width:0;display:grid}.scout-result__owner strong{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:1rem;line-height:1.1;overflow:hidden}.scout-result__owner span,.scout-result__metrics span span,.scout-result__empty{color:var(--color-text-secondary);font-size:.75rem}.scout-result__metrics{justify-items:end}.scout-result__metrics>span{justify-items:end;gap:.1rem;display:grid}.scout-result__metrics strong{color:var(--color-text-primary);font-variant-numeric:tabular-nums}.scout-result__bonuses{gap:.35rem;display:grid}.scout-result__bonus-row{background:#08111f9e;border:1px solid #4762878a;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.4rem .5rem;display:grid}.scout-result__bonus-row span{min-width:0;color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.scout-result__bonus-row strong{color:var(--color-text-primary);font-variant-numeric:tabular-nums;font-size:.82rem}.popup-panel__surface.quest-popup{width:min(94vw,560px);max-width:560px;height:min(75dvh,34rem)}.popup-panel__surface.quest-popup .popup-panel__body{overflow:hidden}.quest-menu{grid-template-rows:auto minmax(0,1fr);gap:0;height:100%;min-height:0;padding-top:.75rem;display:grid}.quest-menu__message{color:var(--color-text-secondary);align-self:start;margin:0;font-size:.82rem}.quest-menu__tabs{scrollbar-width:thin;gap:.45rem;min-width:0;padding:0 0 .25rem;display:flex;overflow-x:auto}.quest-menu__toolbar{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.625rem;min-width:0;display:grid}.quest-menu__tab{max-width:12rem;min-height:2.25rem;color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;border-radius:8px;flex:none;padding:.45rem .75rem;font-size:.78rem;font-weight:700;overflow:hidden}.quest-menu__tab[aria-selected=true]{background:var(--color-button-active);color:var(--color-text-primary);border-color:#7fa6dbb8}.quest-menu__tab--occasion{text-transform:capitalize;max-width:8.5rem}.quest-menu__content{grid-template-rows:minmax(0,1fr);min-height:0;display:grid}.quest-menu__tabs--occasion{--game-tab-panel-bg:var(--color-tab-panel);--game-tab-panel-line:var(--color-tab-panel-border);align-items:flex-end;gap:.4rem;padding:.25rem .35rem 0}.quest-menu__occasion-tab{width:clamp(5.55rem,19vw,6.95rem)}.quest-menu__claim-all{text-overflow:ellipsis;white-space:nowrap;border-radius:7px;min-width:5.75rem;min-height:2.25rem;padding:.45rem .7rem;font-size:.76rem;font-weight:800;overflow:hidden}.quest-menu__task-area{border:1px solid var(--color-tab-panel-border);background:var(--color-tab-panel);border-radius:0 0 8px 8px;min-height:0;padding:.75rem;position:relative;overflow:hidden}.quest-menu__task-list{scrollbar-width:thin;align-content:start;gap:.625rem;height:100%;min-height:0;padding-right:.15rem;display:grid;overflow-y:auto}.quest-task-card{background:#08111f94;border:1px solid #4762876b;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name progress""reward state";align-items:center;gap:.55rem .75rem;min-width:0;padding:.75rem;display:grid}.quest-task-card__name{min-width:0;color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;grid-area:name;font-size:.88rem;font-weight:800;overflow:hidden}.quest-task-card__progress{color:var(--color-text-primary);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;grid-area:progress;font-size:.82rem;font-weight:800}.quest-task-card__reward{min-width:0;color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;grid-area:reward;font-size:.75rem;overflow:hidden}.quest-task-card__state{grid-area:state;justify-content:flex-end;min-width:0;display:flex}.quest-task-card__action{text-overflow:ellipsis;white-space:nowrap;border-radius:7px;min-width:4.5rem;max-width:8rem;min-height:2rem;padding:.35rem .6rem;font-size:.72rem;font-weight:800;overflow:hidden}.quest-task-card__state-text{color:var(--color-text-secondary);font-size:.78rem;font-weight:700}.quest-task-card__completed{color:#22c55e;justify-content:center;align-items:center;width:1.35rem;min-height:1.35rem;display:inline-flex}.quest-task-card__complete-icon{color:currentColor;flex:none;width:1.05rem;height:1.05rem;position:relative}.quest-task-card__complete-icon:after{content:"";border:.16rem solid;border-width:0 .16rem .16rem 0;width:.35rem;height:.72rem;position:absolute;top:.05rem;left:.34rem;transform:rotate(45deg)}.prop-command-confirmation{gap:1rem;display:grid}.prop-command-confirmation__section{gap:.35rem;display:grid}.prop-command-confirmation__label{color:var(--color-text-muted);text-transform:uppercase;margin:0;font-size:.75rem}.prop-command-confirmation__value,.prop-command-confirmation__copy{margin:0}.prop-command-confirmation__copy{color:var(--color-text-secondary)}.prop-command-confirmation__cost-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.prop-command-confirmation__cost-item{align-items:center;gap:.5rem;display:flex}.prop-command-confirmation__cost-icon{justify-content:center;width:1rem;display:inline-flex}.prop-command-confirmation__actions{justify-content:flex-end;gap:.5rem;display:flex}.prop-command-confirmation__button{padding:.625rem .875rem}.prop-command-confirmation__button--primary{font-weight:700}.prop-command-panel__title-block,.prop-command-panel__section,.prop-command-panel__section-header,.chat-panel__body{gap:.5rem;display:grid}.shop-modal__buy{padding:.625rem .875rem}.squad-stepper__row{border-top:1px solid #4762876b;gap:.75rem;padding-top:.75rem;display:grid}.squad-stepper__row:first-child{border-top:0;padding-top:0}.shop-modal__offer-title,.squad-stepper__label{font-weight:600}.chat-panel__body{grid-template-rows:auto auto minmax(0,1fr) auto;align-content:stretch;gap:.75rem;min-height:0;overflow:hidden}.chat-panel__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.chat-panel__composer{gap:.25rem;display:grid}.chat-panel__meta,.chat-panel__empty,.chat-panel__status,.chat-panel__message{margin:0}.chat-panel__meta,.chat-panel__empty,.chat-panel__status{color:var(--color-text-secondary)}.chat-panel__tabs{background:#0a1424b8;border:1px solid #4762875c;border-radius:6px;grid-template-columns:repeat(5,minmax(0,1fr));gap:.25rem;padding:.25rem;display:grid}.chat-panel__tab{text-transform:uppercase;background:#ffffff0a;border:0;border-radius:5px;min-width:0;padding:.375rem .25rem;font-size:.6875rem}.chat-panel__tab--active{background:var(--color-button-active)}.chat-panel__messages{overscroll-behavior:contain;align-content:start;gap:.5rem;min-height:0;display:grid;overflow-y:auto}.chat-panel__message{color:var(--color-text-primary);word-break:break-word;padding:.125rem 0}.chat-panel__message--system{color:#ff9c9c}.chat-panel__composer{border-top:1px solid #4762874d;min-height:0;padding-top:.25rem}.chat-panel__input-wrap{--chat-send-button-size:1.75rem;--chat-send-button-gap:.375rem;align-items:center;display:flex;position:relative}.chat-panel__input{width:100%;min-width:0;padding:.5625rem .75rem;padding-right:calc(var(--chat-send-button-size) + (var(--chat-send-button-gap) * 2) + .5rem);border:1px solid var(--color-border);background:var(--color-input);border-radius:6px}.chat-panel__status{padding-left:.125rem;font-size:.625rem;line-height:1.2}.chat-panel__status--alert{color:#ffd7d7}.chat-panel__status--typing{color:var(--color-text-secondary)}.chat-panel__send-button{top:50%;right:var(--chat-send-button-gap);width:var(--chat-send-button-size);height:var(--chat-send-button-size);place-items:center;padding:0;font-size:.95rem;line-height:1;display:grid;position:absolute;transform:translateY(-50%)}.chat-panel__send-button:disabled{opacity:.6}.chat-panel__copy{max-width:30ch}.debug-message-dialog{z-index:30;pointer-events:none;width:min(32rem,100vw - 1.5rem);position:fixed;top:.75rem;left:50%;transform:translate(-50%)}.debug-message-dialog__surface{pointer-events:auto;gap:.5rem;padding:.625rem .75rem .75rem;display:grid}.debug-message-dialog__surface--success{background:#10305df7;border-color:#5892e3ad}.debug-message-dialog__surface--warning{background:#544315f7;border-color:#e7c254b8}.debug-message-dialog__surface--error{background:#661c1cf7;border-color:#e87575b8}.debug-message-dialog__header{justify-content:flex-end;display:flex}.debug-message-dialog__close{padding:.25rem .5rem;font-size:.75rem}.debug-message-dialog__message{margin:0;font-size:.8125rem;line-height:1.45}.prop-command-panel__jump-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;height:100%;min-height:0;display:grid}.prop-command-panel__column{background:#0a1424b8;border:1px solid #47628759;border-radius:0;grid-template-rows:minmax(0,1fr);min-width:0;min-height:0;display:grid;overflow:hidden}.prop-command-panel__column+.prop-command-panel__column{border-left:0}.prop-command-panel__column-body{overscroll-behavior:contain;align-content:start;gap:0;min-height:0;display:grid;overflow-y:auto}.prop-command-panel__cell{text-align:left;width:100%;color:var(--color-text-primary);background:0 0;border:0;border-top:1px solid #4762873d;border-radius:0;gap:.2rem;padding:.625rem .5rem;transition:background-color .12s,color .12s;display:grid}.prop-command-panel__cell:first-child{border-top:0}.prop-command-panel__cell:hover{background:#172c47e0}.prop-command-panel__cell--active,.prop-command-panel__cell--active:hover{background:#213c63f5}.prop-command-panel__cell:disabled{opacity:1;color:var(--color-text-muted);background:#ffffff05}.prop-command-panel__cell-label,.prop-command-panel__cell-meta{pointer-events:none}.prop-command-panel__cell-label{font-weight:600}.prop-command-panel__cell-meta{color:var(--color-text-secondary);font-size:.75rem}.shop-modal__offer{background:var(--color-panel-soft);border:1px solid #4762876b;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.875rem;display:grid}.shop-modal__offer-actions{justify-items:end;gap:.5rem;display:grid}.shop-modal__list{padding-left:1rem}.checkout-return-screen{color:#0a2540;background:#fff;place-items:center;min-height:100vh;padding:2rem;display:grid}.checkout-return-screen__panel{text-align:center;justify-items:center;gap:.85rem;width:min(100%,32rem);padding:1rem;display:grid}.checkout-return-screen__copy,.checkout-return-screen__hint{margin:0}.checkout-return-screen__mark{background:#32b66a;border-radius:999px;width:3rem;height:3rem;position:relative}.checkout-return-screen__mark:after{content:"";border:.25rem solid #fff;border-width:0 .25rem .25rem 0;width:.78rem;height:1.42rem;position:absolute;top:.48rem;left:1rem;transform:rotate(45deg)}.checkout-return-screen--warning .checkout-return-screen__mark{background:#f5be58}.checkout-return-screen--warning .checkout-return-screen__mark:after,.checkout-return-screen--neutral .checkout-return-screen__mark:after{border-width:0 .25rem 0 0;width:0;height:1.6rem;top:.7rem;left:1.38rem;transform:none}.checkout-return-screen--error .checkout-return-screen__mark{background:#df1b41}.checkout-return-screen--error .checkout-return-screen__mark:before,.checkout-return-screen--error .checkout-return-screen__mark:after{content:"";background:#fff;border:0;border-radius:999px;width:.25rem;height:1.55rem;position:absolute;top:.72rem;left:1.38rem}.checkout-return-screen--error .checkout-return-screen__mark:before{transform:rotate(45deg)}.checkout-return-screen--error .checkout-return-screen__mark:after{transform:rotate(-45deg)}.checkout-return-screen--neutral .checkout-return-screen__mark{background:#635bff}.checkout-return-screen h1{color:#000;margin:0;font-size:clamp(1.18rem,1.7vw,1.35rem);font-weight:800;line-height:1.08}.checkout-return-screen__copy{color:#0a2540;font-size:clamp(1rem,1.4vw,1.08rem);font-weight:700;line-height:1.2}.checkout-return-screen__hint{color:#425466;font-size:.95rem;line-height:1.45}.checkout-return-screen__close-link{color:#635bff;cursor:pointer;border-bottom:1px solid;font-weight:600;text-decoration:none}.checkout-return-screen__close-link:hover{color:#0a2540}.squad-panel__copy{max-width:52ch}.squad-panel__metric{gap:.25rem;min-width:7rem;display:grid}.squad-panel__metric-value{font-size:2rem;line-height:1}.train-troop-panel{gap:.375rem}.train-troop-panel__summary{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.5rem;display:grid}.train-troop-panel__estimate{justify-items:start;gap:.2rem;min-width:0;display:grid}.train-troop-panel__estimate-label,.train-troop-panel__estimate-value{margin:0}.train-troop-panel__estimate-label{color:var(--color-text-muted);text-transform:uppercase;font-size:.6875rem;line-height:1}.train-troop-panel__estimate-value{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;font-size:.875rem;line-height:1.1}.train-troop-panel__cost-list{gap:.1rem;display:grid}.train-troop-panel__cost-row{color:var(--color-text-secondary);white-space:nowrap;font-size:.6875rem;line-height:1.1}.train-troop-panel__message{color:var(--color-text-muted);margin:0;font-size:.75rem}.train-troop-panel .squad-panel__metric{justify-items:end;gap:.125rem;min-width:5rem}.train-troop-panel .squad-panel__metric-value{font-size:1.375rem}.train-troop-panel .squad-stepper{gap:.2rem}.train-troop-panel .squad-stepper__row{align-items:center;gap:.3rem;min-width:0;padding-top:.25rem;display:flex}.train-troop-panel .squad-stepper__label-block{flex:auto;min-width:0}.train-troop-panel .squad-stepper__tier{flex:none}.train-troop-panel .squad-stepper__tier-select{width:3.15rem;min-width:3.15rem;height:26px;padding:0 .3rem;font-size:.75rem}.train-troop-panel .squad-stepper__label{text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;overflow:hidden}.train-troop-panel .squad-stepper__controls{flex:none;grid-template-columns:26px 2.75rem 26px;gap:.25rem;margin-left:auto}.train-troop-panel .squad-stepper__button{width:26px;height:26px}.train-troop-panel .squad-stepper__value{width:2.75rem;min-width:2.75rem;height:26px;font-size:.875rem}.train-troop-panel__actions{justify-content:center;gap:.5rem;padding-top:.125rem;display:flex}.train-troop-panel__reset-button,.train-troop-panel__train-button{min-width:7rem;height:1.75rem;padding:0 1rem;font-size:.8125rem;font-weight:700}.train-troop-panel__reset-button:disabled,.train-troop-panel__train-button:disabled{opacity:.55}.dispatch-squad-panel{gap:.75rem}.dispatch-squad-panel__target{background:#08111fb3;border:1px solid #4762878a;border-radius:6px;gap:.125rem;padding:.5rem .625rem;display:grid}.dispatch-squad-panel__target-action{color:var(--color-text-primary);font-size:.875rem;font-weight:700;line-height:1.1}.dispatch-squad-panel__target-location,.dispatch-squad-panel__message{color:var(--color-text-secondary);font-size:.75rem;line-height:1.2}.dispatch-squad-panel__hero-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.dispatch-squad-panel__hero-slot{text-align:left;grid-template-rows:auto minmax(0,1fr);gap:.3rem;min-width:0;min-height:7.65rem;padding:.45rem;display:grid}.dispatch-squad-panel__hero-slot--filled{background:#213c63d1;border-color:#6f9ddbd1}.dispatch-squad-panel__hero-lane{color:var(--color-text-muted);text-transform:uppercase;grid-column:1/-1;font-size:.6875rem;font-weight:700;line-height:1}.dispatch-squad-panel__hero-plus{color:var(--color-text-secondary);justify-self:center;font-size:2rem;font-weight:700;line-height:1}.game-icon{width:1.35rem;height:1.35rem;color:var(--color-text-primary);background:#11223ad6;border:1px solid #6f9ddb94;border-radius:6px;flex:none;place-items:center;font-size:.625rem;font-weight:800;line-height:1;display:inline-grid;position:relative}.game-icon__tooltip{z-index:30;max-width:11rem;color:var(--color-text-primary);opacity:0;pointer-events:none;text-align:center;white-space:nowrap;visibility:hidden;background:#060d18f5;border:1px solid #6f9ddbb8;border-radius:5px;padding:.25rem .4rem;font-size:.6875rem;font-weight:700;line-height:1.1;position:absolute;bottom:calc(100% + .35rem);left:50%;transform:translate(-50%)}.game-icon:hover .game-icon__tooltip,.game-icon:focus-within .game-icon__tooltip{opacity:1;visibility:visible}.game-icon--md{width:1.75rem;height:1.75rem}.game-icon--hero{color:#ffe0a3;background:#75521a94;border-color:#e3b867c7;width:3.35rem;height:3.35rem;font-size:.95rem}.game-icon__image{border-radius:inherit;object-fit:cover;width:100%;height:100%}.game-icon__badge{color:#ffe0a3;text-align:center;background:#060d18f0;border:1px solid #e3b867c7;border-radius:5px;min-width:1.65rem;padding:.1rem .2rem;font-size:.5625rem;font-weight:800;line-height:1;position:absolute;bottom:-.15rem;right:-.15rem}.hero-picker__icon{color:#ffe0a3;background:#75521a94;border:1px solid #e3b867c7;border-radius:50%;place-items:center;width:2rem;height:2rem;font-size:.75rem;font-weight:800;line-height:1;display:grid}.dispatch-squad-panel__hero-portrait{place-items:center;min-width:0;display:grid}.dispatch-squad-panel__hero-grid{grid-template-rows:minmax(4.85rem,1fr) 1.45rem;grid-template-columns:3.65rem minmax(0,1fr);align-items:stretch;gap:.25rem .4rem;min-width:0;min-height:0;display:grid}.dispatch-squad-panel__hero-stats{grid-template-columns:minmax(0,1fr);align-content:center;gap:.15rem;min-width:0;min-height:0;display:grid}.dispatch-squad-panel__hero-stat{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.2rem;min-width:0;display:grid}.dispatch-squad-panel__hero-stats .game-icon{border-radius:4px;width:1.05rem;height:1.05rem;font-size:.52rem}.dispatch-squad-panel__hero-stat-value{color:var(--color-text-primary);font-variant-numeric:tabular-nums;text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;font-weight:700;line-height:1;overflow:hidden}.dispatch-squad-panel__hero-troops,.dispatch-squad-panel__hero-skills{align-self:center;align-items:center;gap:.2rem;min-height:1.35rem;display:flex;overflow:visible}.dispatch-squad-panel__troops{gap:.375rem;display:grid}.dispatch-squad-panel__troops .squad-panel__metric{justify-items:end;gap:.125rem;min-width:5rem}.dispatch-squad-panel__troops .squad-panel__metric-value{font-size:1.375rem}.dispatch-squad-panel__troops .squad-stepper{gap:.2rem}.dispatch-squad-panel__troops .squad-stepper__row{align-items:center;gap:.3rem;min-width:0;padding-top:.25rem;display:flex}.dispatch-squad-panel__troops .squad-stepper__row--disabled{opacity:.42}.dispatch-squad-panel__troops .squad-stepper__label-block{flex:auto;min-width:0}.dispatch-squad-panel__troops .squad-stepper__label{text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;overflow:hidden}.dispatch-squad-panel__troops .squad-stepper__controls{flex:none;grid-template-columns:26px 2.75rem 26px;gap:.25rem;margin-left:auto}.dispatch-squad-panel__troops .squad-stepper__button{width:26px;height:26px}.dispatch-squad-panel__troops .squad-stepper__value{width:2.75rem;min-width:2.75rem;height:26px;font-size:.875rem}.dispatch-squad-panel__actions{justify-content:center;gap:.5rem;display:flex}.dispatch-squad-panel__cancel-button,.dispatch-squad-panel__submit-button{min-width:7rem;height:1.75rem;padding:0 1rem;font-size:.8125rem;font-weight:700}.dispatch-squad-panel__submit-button{font-weight:800}.hero-picker{gap:.75rem;display:grid}.hero-picker__list{gap:.5rem;display:grid}.hero-picker__clear,.hero-picker__hero{text-align:left;align-items:center;gap:.625rem;min-height:2.5rem;padding:.5rem .625rem;display:flex}.hero-picker__clear{color:var(--color-text-secondary);justify-content:center}.hero-picker__name{font-size:.875rem;font-weight:700}.hero-picker__hero--disabled{cursor:not-allowed;opacity:.58}.hero-picker__state{color:var(--color-text-muted);margin-left:auto;font-size:.75rem;font-weight:700}.squad-stepper__row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.squad-stepper__label-block{min-width:0}.squad-stepper__controls{grid-template-columns:44px minmax(4rem,auto) 44px;align-items:center;gap:.5rem;display:grid}.squad-stepper__tier{align-items:center;display:grid}.squad-stepper__button{touch-action:none;-webkit-user-select:none;user-select:none;width:44px;height:44px}.squad-stepper__value{min-width:4rem;height:44px;color:var(--color-text-primary);font-variant-numeric:tabular-nums;text-align:center;background:#0a1526e0;border:1px solid #476287bd;border-radius:6px;padding:0 .35rem;font-size:1.125rem;font-weight:700;line-height:1}.squad-stepper__tier-select{min-width:4rem;height:44px;color:var(--color-text-primary);background:#0a1526e0;border:1px solid #476287bd;border-radius:6px;padding:0 .45rem;font-size:.875rem}.squad-stepper__value:focus{outline-offset:1px;outline:2px solid #6f9ddbd1}@media (width>=900px){.auth-entry{grid-template-columns:minmax(0,1.15fr) minmax(20rem,30rem);align-items:center;gap:2rem}.auth-entry__panel{justify-self:end}}@container (width<=36rem){.world-canvas__hud-stack{display:none}}@media (width<=920px){.world-canvas__hud-stack{display:none}}@media (width<=560px){.resource-wallet{justify-items:stretch;width:auto;left:.75rem;right:.75rem}.resource-wallet__hud{grid-template-columns:repeat(4,minmax(0,1fr))}.resource-wallet__item{grid-template-columns:1.2rem minmax(0,1fr);gap:.25rem;padding-inline:.35rem}}@media (width<=420px){.resource-wallet__hud{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.popup-panel{padding:.75rem}.combat-result__grid{grid-template-columns:minmax(0,1fr) minmax(5.5rem,.7fr) minmax(0,1fr);gap:.5rem}.combat-result__side,.combat-result__labels{grid-template-rows:2.625rem repeat(7,1.9rem)}.combat-result__labels{font-size:.68rem}.squad-stepper__row,.shop-modal__offer{grid-template-columns:1fr}.squad-stepper__controls{justify-content:start}}
