:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--bg: #151410;--bg-2: #201e18;--panel: #28241b;--panel-2: #332c20;--text: #f2ead9;--muted: #bcb097;--faint: #746955;--line: #4a3e2d;--accent: #b84a3a;--accent-2: #d09a46;--good: #7e9d62;--warn: #d2a642;--bad: #c46153;--water: #486a71;--forest: #40573b;--field: #62563b;--hill: #6b5a45;--marsh: #4d5644;--shadow: 0 18px 48px rgba(0, 0, 0, .38)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(circle at 15% 8%,rgba(184,74,58,.15),transparent 28rem),linear-gradient(145deg,#151410,#241f18 42%,#171713);color:var(--text);overflow:hidden;overflow-x:hidden}button,input{font:inherit}button{touch-action:manipulation}.app-shell{display:grid;grid-template-rows:auto auto minmax(0,1fr);height:100dvh;min-width:320px;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));gap:10px}.top-bar{align-items:center;display:grid;gap:12px;grid-template-columns:minmax(190px,.9fr) minmax(260px,1.4fr) minmax(250px,1fr);min-height:54px;position:relative}.brand-lockup{align-items:center;display:flex;gap:10px;min-width:0}.brand-lockup--button{background:transparent;border:0;color:inherit;cursor:pointer;font:inherit;padding:0;text-align:left}.brand-lockup--button:hover .brand-logo,.brand-lockup--button:focus-visible .brand-logo{color:var(--accent-2)}.brand-lockup--button:focus-visible{outline:2px solid rgba(208,154,70,.55);outline-offset:4px}.top-brand-area{align-items:center;display:flex;gap:8px;min-width:0}.top-village-action{align-items:center;background:linear-gradient(180deg,#5b4427f2,#302619f2);border:1px solid rgba(224,193,121,.42);border-radius:8px;color:var(--text);cursor:pointer;display:inline-flex;flex:0 0 auto;font-size:.84rem;font-weight:850;gap:7px;min-height:38px;padding:0 13px}.top-village-action:hover{border-color:#e0c179c7}.brand-lockup svg{color:var(--accent-2);flex:0 0 auto}.brand-lockup h1{font-size:clamp(1.2rem,2.8vw,1.9rem);letter-spacing:0;line-height:1;margin:0}.brand-lockup>div{display:grid;gap:5px;min-width:0}.brand-logo{color:var(--accent-2);display:block;line-height:0;transition:color .14s ease,opacity .14s ease,transform .14s ease}.brand-logo--svg svg{display:block;height:100%;max-width:100%;width:100%}.brand-logo--svg svg *{fill:currentColor!important;stroke:currentColor!important}.brand-logo--svg svg [fill=none]{fill:none!important}.brand-logo--image{object-fit:contain}.brand-logo--text{font-size:clamp(1.2rem,2.8vw,1.9rem);line-height:1;margin:0}.brand-logo--top{height:clamp(32px,3.2vw,44px);max-width:min(230px,28vw)}.brand-logo--auth{height:clamp(58px,12vw,88px);margin-inline:auto;max-width:calc(100% - 28px);width:min(100%,430px)}.auth-mark .brand-logo--text{height:auto;line-height:1;text-align:center}.brand-lockup span,.panel-heading span,.muted,.event-row time,.unit-row small{color:var(--muted)}.brand-lockup span{line-height:1.1}.top-stats{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.ranking-wrap{position:relative}.ranking-popover{background:#151410fa;border:1px solid rgba(208,154,70,.28);border-radius:8px;box-shadow:var(--shadow);display:grid;gap:10px;min-width:360px;padding:12px;position:absolute;right:0;top:calc(100% + 10px);z-index:35}.ranking-popover__head{align-items:center;display:flex;justify-content:space-between;gap:10px}.ranking-popover__head div{display:grid;gap:2px;min-width:0}.ranking-popover__close{flex:0 0 auto}.ranking-popover__head small,.ranking-row small{color:var(--muted)}.ranking-tabs{display:grid;gap:6px;grid-template-columns:repeat(5,minmax(0,1fr))}.ranking-tabs button{background:#f2ead90f;border:1px solid rgba(242,234,217,.08);border-radius:8px;color:var(--muted);cursor:pointer;font:inherit;padding:7px 8px}.ranking-tabs button.is-active{background:#d09a4629;border-color:#d09a4661;color:var(--accent-2)}.ranking-list{display:grid;gap:7px}.ranking-row{align-items:center;background:#14120e61;border:1px solid rgba(242,234,217,.08);border-radius:8px;display:grid;gap:9px;grid-template-columns:28px minmax(0,1fr) auto;padding:8px}.ranking-row.is-current{border-color:#d09a4675;box-shadow:inset 0 0 0 1px #d09a4624}.ranking-row>span{color:var(--accent-2);font-weight:850;text-align:center}.ranking-row div{display:grid;gap:2px;min-width:0}.ranking-row strong,.ranking-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ranking-row b{color:var(--accent-2);font-size:.92rem}.top-timers{align-items:center;display:flex;gap:7px;justify-content:center;min-width:0}.mobile-status-toggle{display:none}.timer-pill{align-items:center;background:#28241be6;border:1px solid rgba(208,154,70,.2);border-radius:999px;color:var(--muted);display:inline-flex;gap:6px;min-height:34px;min-width:0;padding:0 10px;position:relative}.timer-pill.is-clickable{cursor:pointer;font:inherit}.timer-pill.is-clickable:hover{border-color:#efd49980;color:var(--text)}.timer-pill:disabled{cursor:default;opacity:.56}.timer-pill span{font-size:.78rem;max-width:112px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timer-pill strong{color:var(--text);font-size:.82rem;white-space:nowrap}.timer-pill--warning{border-color:#d2a6426b}.timer-pill--success{border-color:#7e9d626b}.timer-pill.is-empty{opacity:.72}.timer-tooltip{background:#151410fa;border:1px solid rgba(208,154,70,.34);border-radius:8px;box-shadow:var(--shadow);display:none;left:50%;min-width:230px;padding:10px;position:absolute;top:calc(100% + 8px);transform:translate(-50%);z-index:20}.denar-pill{position:relative}.denar-tooltip{background:#151410fa;border:1px solid rgba(208,154,70,.34);border-radius:8px;box-shadow:var(--shadow);display:none;gap:4px;min-width:210px;padding:10px;position:absolute;right:0;top:calc(100% + 8px);z-index:30}.denar-pill:hover .denar-tooltip,.denar-pill:focus-visible .denar-tooltip,.denar-pill.is-open .denar-tooltip{display:grid}.denar-tooltip span{color:var(--muted);font-size:.78rem;line-height:1.3}.timer-pill:hover .timer-tooltip,.timer-pill:focus-visible .timer-tooltip{display:grid;gap:4px}.timer-tooltip b,.timer-tooltip span,.timer-tooltip small{white-space:normal}.timer-tooltip span,.timer-tooltip small{color:var(--muted);font-size:.78rem;line-height:1.3}.status-pill,.resource-chip,.panel,.toast{background:#28241be0;border:1px solid rgba(208,154,70,.18);box-shadow:var(--shadow)}.denar-confirm-backdrop{align-items:center;background:#05040394;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;inset:0;justify-content:center;padding:18px;position:fixed;z-index:80}.denar-confirm-modal{background:#18140efa;border:1px solid rgba(239,212,153,.32);border-radius:8px;box-shadow:0 28px 80px #0000007a;color:var(--text);display:grid;gap:12px;max-width:min(430px,calc(100vw - 28px));padding:18px;position:relative;text-align:center}.denar-confirm-close{position:absolute;right:10px;top:10px}.denar-confirm-icon{align-items:center;background:#d09a4629;border:1px solid rgba(208,154,70,.34);border-radius:999px;color:var(--accent-2);display:inline-flex;height:56px;justify-content:center;justify-self:center;width:56px}.protection-confirm-icon{background:#7e9d6229;border-color:#7e9d6257}.denar-confirm-modal strong{font-size:1.1rem}.denar-confirm-modal p{color:var(--muted);line-height:1.45;margin:6px 0 0}.denar-confirm-actions{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.status-pill{align-items:center;border-radius:999px;color:var(--muted);display:inline-flex;gap:7px;min-height:34px;padding:0 10px;white-space:nowrap}.status-info-button{cursor:pointer}.status-info-button:hover,.status-info-button:focus-visible{border-color:#e0c17970;color:var(--text);outline:none}.denar-pill{color:#f4d58f}.login-reward-pill{align-items:center;background:#28241be0;border:1px solid rgba(208,154,70,.18);border-radius:999px;color:var(--muted);cursor:pointer;display:inline-flex;gap:7px;min-height:34px;padding:0 10px;white-space:nowrap}.login-reward-pill.is-ready{background:#d09a462e;border-color:#e0c1797a;color:#fff1bc}.login-reward-pill:disabled{cursor:default;opacity:.78}.stat-info-popover{background:#151410fa;border:1px solid rgba(208,154,70,.32);border-radius:8px;box-shadow:var(--shadow);display:grid;gap:7px;max-width:min(360px,calc(100vw - 28px));padding:12px 44px 12px 12px;position:absolute;right:54px;top:calc(100% + 8px);z-index:45}.stat-info-popover strong,.stat-info-popover p,.stat-info-popover small{margin:0}.stat-info-popover p,.stat-info-popover small{color:var(--muted);font-size:.82rem;line-height:1.4}.morale-history{border-top:1px solid rgba(242,234,217,.08);display:grid;gap:6px;margin-top:4px;padding-top:8px}.morale-history b{font-size:.78rem;text-transform:uppercase}.morale-history span{align-items:center;color:var(--muted);display:grid;font-size:.78rem;gap:8px;grid-template-columns:34px minmax(0,1fr)}.morale-history i{border-radius:999px;font-style:normal;font-weight:850;padding:2px 6px;text-align:center}.morale-history .is-positive i{background:#7e9d6229;color:var(--good)}.morale-history .is-negative i{background:#c4615329;color:var(--bad)}.stat-info-close{height:28px;position:absolute;right:8px;top:8px;width:28px}.login-reward-backdrop{align-items:center;background:#0505048a;display:flex;inset:0;justify-content:center;padding:18px;position:fixed;z-index:70}.login-reward-modal{background:linear-gradient(180deg,#332c20fa,#1b1812fa);border:1px solid rgba(224,193,121,.34);border-radius:8px;box-shadow:var(--shadow);display:grid;gap:14px;max-width:960px;padding:16px;width:min(960px,96vw)}.login-reward-modal__head{align-items:center;display:flex;gap:12px;justify-content:space-between}.login-reward-modal__head div{display:grid;gap:3px}.login-reward-modal__head span{color:var(--muted);font-size:.86rem}.login-reward-track{display:grid;gap:8px;grid-template-columns:repeat(7,minmax(104px,1fr));overflow-x:auto;padding-bottom:4px}.login-reward-day{background:#14120e8f;border:1px solid rgba(242,234,217,.08);border-radius:8px;display:grid;gap:8px;min-height:128px;min-width:104px;padding:10px}.login-reward-day.is-active{border-color:#e0c179ad;box-shadow:0 0 0 1px #e0c1792e inset}.login-reward-day.is-claimed{opacity:.66}.login-reward-day span{color:#f4d58f;font-size:.82rem;font-weight:850}.login-reward-day strong{color:var(--text);font-size:.78rem;line-height:1.35}.login-reward-day b,.login-reward-day small{align-items:center;color:#f4d58f;display:inline-flex;font-size:.78rem;gap:4px}.login-reward-claim{justify-self:end}.icon-action{align-items:center;background:#28241be0;border:1px solid rgba(208,154,70,.18);border-radius:999px;color:var(--muted);cursor:pointer;display:inline-flex;height:34px;justify-content:center;width:34px}.icon-action:hover{color:var(--text)}.notification-wrap{position:relative}.notification-action span{align-items:center;background:var(--bad);border:1px solid rgba(255,244,220,.7);border-radius:999px;color:#fff4dc;display:inline-flex;font-size:.68rem;font-weight:800;height:18px;justify-content:center;min-width:18px;padding:0 4px;position:absolute;right:-5px;top:-5px}.notification-popover{background:#151410fa;border:1px solid rgba(208,154,70,.28);border-radius:8px;box-shadow:var(--shadow);display:grid;gap:9px;max-height:min(420px,72dvh);min-width:310px;overflow:auto;padding:12px;position:absolute;right:0;top:calc(100% + 8px);z-index:30}.notification-popover__head{align-items:center;display:flex;gap:10px;justify-content:space-between}.notification-popover__head>div{display:grid;gap:2px;min-width:0}.notification-popover__head small{color:var(--muted)}.notification-popover__close{align-items:center;background:#f2ead90f;border:1px solid rgba(242,234,217,.12);border-radius:8px;color:var(--muted);cursor:pointer;display:inline-flex;flex:0 0 auto;height:28px;justify-content:center;padding:0;width:28px}.notification-popover__close:hover{background:#d09a4624;border-color:#d09a4657;color:var(--text)}.notification-list{display:grid;gap:8px}.notification-tabs,.history-tabs,.history-scope{display:flex;flex-wrap:wrap;gap:6px}.notification-tabs{margin-bottom:8px}.notification-tabs button,.history-tabs button,.history-scope button{align-items:center;background:#fff5da0f;border:1px solid rgba(239,212,153,.16);border-radius:7px;color:var(--muted);cursor:pointer;display:inline-flex;font-size:.72rem;font-weight:800;gap:6px;min-height:28px;padding:5px 8px}.history-tabs button b{align-items:center;background:#d09a4633;border-radius:999px;color:var(--accent-2);display:inline-flex;font-size:.68rem;height:18px;justify-content:center;min-width:18px;padding:0 5px}.notification-tabs button:hover,.notification-tabs button:focus-visible,.history-tabs button:hover,.history-tabs button:focus-visible,.history-scope button:hover,.history-scope button:focus-visible,.notification-tabs button.is-active,.history-tabs button.is-active,.history-scope button.is-active{background:#d09a4624;border-color:#d09a466b;color:var(--text);outline:none}.notification-row{background:#28241b94;border:1px solid rgba(242,234,217,.08);border-radius:8px;color:var(--text);cursor:pointer;display:grid;gap:4px;padding:9px;text-align:left;width:100%}.notification-row:hover,.notification-row:focus-visible{border-color:#e0c17957;outline:none}.notification-row.is-unread{border-color:#d09a4657}.notification-row strong{font-size:.88rem}.notification-row span,.notification-row time{color:var(--muted);font-size:.78rem;line-height:1.3}.status-pill.online{color:var(--good)}.status-pill.offline{color:var(--bad)}.resource-bar{display:grid;gap:8px;grid-template-columns:repeat(5,minmax(0,1fr))}.resource-chip{border-radius:8px;cursor:pointer;min-width:0;padding:8px;position:relative}.resource-chip:focus-visible{outline:2px solid rgba(239,212,153,.72);outline-offset:2px}.resource-chip__head{align-items:center;display:grid;gap:5px;grid-template-columns:auto minmax(0,1fr) auto;min-width:0}.resource-chip__head>.game-icon-inline,.resource-chip__head>.game-icon-mask,.resource-chip__head>svg{color:var(--accent-2)}.resource-chip__head>.game-icon-mask{background:var(--accent-2)}.game-icon-img{display:inline-block;flex:0 0 auto;object-fit:contain;vertical-align:-.18em}.game-icon-mask{background:currentColor;color:inherit;display:inline-block;flex:0 0 auto;mask-position:center;mask-repeat:no-repeat;mask-size:contain;vertical-align:-.18em;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain}.game-icon-mask--painted{background:var(--accent-2);color:var(--accent-2)}.game-icon-inline{color:var(--accent-2);display:inline-block;flex:0 0 auto;line-height:0;vertical-align:-.18em}.game-icon-inline svg{display:block;height:100%;width:100%}.game-icon-inline svg *{fill:currentColor!important;stroke:currentColor!important}.game-icon-inline svg [fill=none]{fill:none!important}.game-icon-inline svg [stroke=none]{stroke:none!important}.game-icon-tip{align-items:center;cursor:help;display:inline-flex;flex:0 0 auto;justify-content:center;line-height:0;position:relative;vertical-align:-.18em}.game-icon-tip__label{background:#13110cf5;border:1px solid rgba(208,154,70,.42);border-radius:7px;box-shadow:0 10px 24px #00000052;color:var(--text);font-size:.74rem;font-weight:800;left:50%;letter-spacing:0;line-height:1;opacity:0;padding:6px 8px;pointer-events:none;position:absolute;top:calc(100% + 8px);transform:translate(-50%,-2px);transition:opacity .12s ease,transform .12s ease;white-space:nowrap;z-index:120}.game-icon-tip:hover .game-icon-tip__label,.game-icon-tip:focus-visible .game-icon-tip__label,.game-icon-tip.is-visible .game-icon-tip__label{opacity:1;transform:translate(-50%)}.resource-chip__label{color:var(--muted);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-chip strong{font-size:.88rem;white-space:nowrap}.resource-chip__meta{display:flex;gap:8px;justify-content:space-between;margin-top:5px}.resource-chip__meta span:first-child{color:var(--accent-2);font-weight:800}.resource-chip__mobile-stock{display:none}.resource-chip__popover{background:#18140ef5;border:1px solid rgba(239,212,153,.34);border-radius:8px;bottom:calc(100% + 8px);box-shadow:0 14px 34px #00000057;color:var(--text);cursor:pointer;display:grid;gap:4px;left:0;min-width:min(260px,80vw);padding:10px;position:absolute;z-index:40}.resource-chip__popover strong{color:var(--accent-2);font-size:.88rem}.resource-chip__popover span,.resource-chip__popover small{color:var(--muted);font-size:.78rem;line-height:1.35}.resource-chip__sources{display:grid;gap:5px;margin-top:2px}.resource-chip__sources span{align-items:center;display:flex;gap:10px;justify-content:space-between}.resource-chip__sources b{color:var(--text);font-size:.76rem}.resource-chip__sources em{color:var(--accent-2);font-size:.76rem;font-style:normal;font-weight:800}.meter{background:#00000047;border-radius:999px;height:4px;margin-top:7px;overflow:hidden}.meter span{background:linear-gradient(90deg,var(--accent),var(--accent-2));display:block;height:100%}.game-layout{display:grid;gap:10px;grid-template-columns:minmax(0,1fr) minmax(340px,410px);height:100%;min-height:0;overflow:hidden}.game-layout--admin{grid-template-columns:minmax(0,1fr)}.world-command-layout{display:grid;gap:10px;grid-template-columns:minmax(0,1fr);height:100%;min-height:0;min-width:0;overflow:hidden;position:relative}.target-dock{bottom:12px;left:12px;max-height:min(52dvh,430px);min-width:0;overflow-y:auto;padding-right:0;pointer-events:none;position:absolute;width:min(440px,calc(100% - 24px));z-index:12}.target-dock.is-floating-empty{display:none}.target-dock.is-floating-open{display:block}.target-dock__close{display:inline-flex;pointer-events:auto}.target-dock .target-panel{background:#18140ef0;border-color:#efd49957;box-shadow:0 18px 44px #00000057;height:auto;max-height:inherit;min-height:0;overflow-y:auto;padding-top:34px;pointer-events:auto;position:relative}.world-command-layout .map-renderer-shell{height:100%;min-height:0;width:100%}.target-dock__close{align-items:center;background:#18140eeb;border:1px solid rgba(239,212,153,.36);border-radius:999px;color:var(--text);cursor:pointer;display:inline-flex;height:30px;justify-content:center;position:absolute;right:8px;top:8px;width:30px;z-index:3}.target-dock__close:hover{border-color:#efd499b3;color:var(--accent-2)}.map-chat{background:#17130de6;border:1px solid rgba(239,212,153,.28);border-radius:8px;bottom:12px;box-shadow:0 18px 42px #00000052;color:var(--text);display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:230px;max-height:min(64dvh,640px);max-width:min(720px,calc(100% - 74px));min-height:148px;min-width:250px;overflow:hidden;position:absolute;right:12px;width:min(340px,calc(100% - 24px));z-index:11}.map-chat.is-collapsed{grid-template-rows:auto;height:36px;min-height:36px;overflow:hidden;width:min(210px,calc(100% - 24px))}.map-chat__resize-handle{position:absolute;z-index:3}.map-chat__resize-handle--left{bottom:0;cursor:ew-resize;left:0;top:0;width:12px}.map-chat__resize-handle--top{cursor:ns-resize;height:12px;left:0;right:0;top:0}.map-chat__resize-handle--corner{cursor:nwse-resize;height:18px;left:0;top:0;width:18px}.map-chat__header{align-items:center;background:transparent;border-bottom:1px solid rgba(239,212,153,.16);border-left:0;border-radius:0;border-right:0;border-top:0;color:var(--text);cursor:pointer;display:flex;justify-content:space-between;min-height:34px;padding:8px 10px;text-align:left;width:100%}.map-chat.is-collapsed .map-chat__header{border-bottom:0}.map-chat__header strong{color:var(--accent-2);font-size:.78rem;text-transform:uppercase}.map-chat__header span{border-radius:999px;font-size:.66rem;padding:3px 7px}.map-chat__header .is-online{background:#6bb4732e;color:#9ce0a3}.map-chat__header .is-offline{background:#b9483633;color:#ffb0a2}.map-chat__messages{display:grid;gap:7px;overflow-y:auto;padding:9px 10px}.map-chat__animated-body,.map-intel__animated-body,.rail-section__content{overflow:hidden}.map-chat__animated-body{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0}.map-intel__animated-body{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0}.map-chat__message{display:grid;gap:3px}.map-chat__message div{align-items:baseline;display:flex;gap:8px;min-width:0}.map-chat__message strong{color:#f3dfab;font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-chat__message time{color:var(--muted);font-size:.65rem}.map-chat__message p,.map-chat__empty{color:var(--text);font-size:.76rem;line-height:1.32;margin:0;overflow-wrap:anywhere}.map-chat__empty{align-self:end;color:var(--muted)}.map-chat__form{border-top:1px solid rgba(239,212,153,.16);display:grid;gap:6px;grid-template-columns:minmax(0,1fr) 34px;padding:8px}.map-chat__form input{background:#fff5da14;border:1px solid rgba(239,212,153,.24);border-radius:6px;color:var(--text);min-width:0;padding:8px 9px}.map-chat__form button{align-items:center;background:#d09a462e;border:1px solid rgba(208,154,70,.44);border-radius:6px;color:var(--accent-2);cursor:pointer;display:inline-flex;justify-content:center}.map-chat__form button:disabled{cursor:not-allowed;opacity:.45}.map-intel{background:#17130de6;border:1px solid rgba(239,212,153,.28);border-radius:8px;box-shadow:0 18px 42px #00000052;color:var(--text);display:grid;grid-template-rows:auto auto minmax(0,1fr);max-height:min(54dvh,540px);max-width:min(460px,calc(100% - 24px));min-height:0;overflow:hidden;position:absolute;right:58px;top:12px;width:min(380px,calc(100% - 74px));z-index:11}.map-intel.is-collapsed{grid-template-rows:auto;height:36px;width:min(230px,calc(100% - 74px))}.map-intel__header{align-items:center;background:transparent;border:0;border-bottom:1px solid rgba(239,212,153,.16);color:var(--text);cursor:pointer;display:flex;justify-content:space-between;min-height:36px;padding:8px 10px;text-align:left;width:100%}.map-intel.is-collapsed .map-intel__header{border-bottom:0}.map-intel__header strong{color:var(--accent-2);font-size:.78rem;text-transform:uppercase}.map-intel__header span,.map-intel__tabs b{align-items:center;background:#d09a4633;border-radius:999px;color:#f4d58f;display:inline-flex;font-size:.68rem;font-weight:900;justify-content:center;min-width:20px;padding:3px 6px}.map-intel__tabs{display:grid;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr));padding:8px}.map-intel__tabs button{align-items:center;background:#fff5da0f;border:1px solid rgba(239,212,153,.18);border-radius:7px;color:var(--muted);cursor:pointer;display:flex;gap:6px;justify-content:center;min-height:32px;min-width:0;padding:5px 8px}.map-intel__tabs button.is-active{background:#d09a4624;border-color:#d09a4670;color:var(--text)}.map-intel__body{min-height:0;overflow-y:auto;padding:0 8px 8px}.map-intel .panel{background:transparent;border:0;box-shadow:none;padding:0}.map-intel .panel-heading{display:none}.map-intel .report-list,.map-intel .event-list{max-height:none}.map-intel .report-row,.map-intel .event-row,.map-intel .mission-row{background:#14120e5c}.map-threat-alerts{display:grid;gap:8px;max-width:min(420px,calc(100% - 74px));pointer-events:auto;position:absolute;right:58px;top:56px;width:min(380px,calc(100% - 74px));z-index:12}.map-threat-alert{align-items:start;background:linear-gradient(135deg,#561c15f5,#1e1610f0),#17130df0;border:1px solid rgba(255,118,84,.46);border-radius:8px;box-shadow:0 18px 44px #00000061,0 0 0 1px #ffcd9314 inset;color:var(--text);display:grid;gap:9px;grid-template-columns:34px minmax(0,1fr) 24px;padding:10px}.map-threat-alert--mine{background:linear-gradient(135deg,#4b3413f5,#1e1610f0),#17130df0;border-color:#efb85b80}.map-threat-alert__icon{align-items:center;background:#ff765429;border:1px solid rgba(255,144,105,.3);border-radius:8px;color:#ffad86;display:inline-flex;height:34px;justify-content:center;width:34px}.map-threat-alert--mine .map-threat-alert__icon{background:#efb85b24;border-color:#efb85b52;color:#f3c05f}.map-threat-alert__content{display:grid;gap:6px;min-width:0}.map-threat-alert__content>div{align-items:center;display:flex;gap:8px;justify-content:space-between;min-width:0}.map-threat-alert__content strong{color:#ffe2c2;font-size:.84rem;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-threat-alert__content span{background:#fff5da1f;border:1px solid rgba(255,245,218,.16);border-radius:999px;color:#ffe0a0;flex:0 0 auto;font-size:.68rem;font-weight:900;padding:3px 7px}.map-threat-alert__content p{color:#fff2d4db;font-size:.76rem;line-height:1.28;margin:0}.map-threat-alert__content button{align-items:center;background:#fff5da14;border:1px solid rgba(255,218,155,.24);border-radius:7px;color:#f4d58f;cursor:pointer;display:inline-flex;font-size:.72rem;font-weight:900;justify-content:center;min-height:28px;padding:5px 9px;width:fit-content}.map-threat-alert__content button:hover,.map-threat-alert__content button:focus-visible{background:#d09a462e;border-color:#d09a4680;outline:none}.map-threat-alert__close{align-items:center;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:7px;color:var(--muted);cursor:pointer;display:inline-flex;height:24px;justify-content:center;padding:0;width:24px}.map-threat-alert__close:hover,.map-threat-alert__close:focus-visible{border-color:#ffda9b57;color:var(--text);outline:none}.map-stage{display:grid;gap:8px;grid-template-rows:minmax(0,1fr) auto;height:100%;min-height:0;min-width:0}.map-renderer-shell{height:100%;min-height:0;min-width:0;position:relative}.map-renderer-shell .map-stage{height:100%}.map-renderer-pane{height:100%;min-height:0;min-width:0}.map-renderer-pane.is-active{position:relative;z-index:1}.map-renderer-pane.is-hidden{inset:0;opacity:0;pointer-events:none;position:absolute;visibility:hidden;z-index:0}.map-renderer-toggle{align-items:center;background:#18140edb;border:1px solid rgba(239,212,153,.32);border-radius:8px;bottom:48px;color:var(--text);cursor:pointer;display:inline-flex;font-size:.78rem;font-weight:800;left:12px;min-height:34px;padding:7px 10px;position:absolute;z-index:8}.map-renderer-toggle:hover{border-color:#efd49994;color:var(--accent-2)}.map-frame{align-items:center;background:transparent;border:0;border-radius:0;box-shadow:none;display:flex;height:100%;justify-content:center;min-height:0;overflow:hidden;padding:0;position:relative}.world-map{aspect-ratio:1;cursor:grab;display:block;max-height:100%;max-width:100%;touch-action:none;width:100%}.world-map.is-dragging{cursor:grabbing}.pixi-map-frame{height:100%}.pixi-map-host{aspect-ratio:auto;cursor:grab;height:100%;max-height:100%;max-width:100%;min-height:320px;touch-action:none;width:100%}.pixi-map-error{align-items:center;background:#18140eb8;color:var(--text);display:flex;flex-direction:column;gap:6px;height:100%;justify-content:center;line-height:1.35;padding:18px;text-align:center}.pixi-map-error span{color:var(--muted);font-size:.84rem;max-width:460px}.pixi-map-host:active{cursor:grabbing}.pixi-map-host canvas{display:block;height:100%!important;width:100%!important}.parchment-frame{background:transparent}.map-grass-base{fill:transparent;stroke:none}.map-custom-texture{opacity:.9;pointer-events:none}.map-pan-layer{transition:transform 80ms linear}.world-map.is-dragging .map-pan-layer{transition:none}.map-forest-cluster{fill:#174c20b8;pointer-events:none;stroke:#0c271285;stroke-linejoin:round;stroke-width:1.6}.map-border-forest{fill:#224e2be6;opacity:.96;pointer-events:none;stroke:#122b1994;stroke-linejoin:round;stroke-width:2.4}.map-outer-forest-fill{fill:#163a1f38;stroke:none}.map-edge-fade{mix-blend-mode:multiply;stroke:none}.map-forest-image{opacity:.96}.map-road-network{pointer-events:none}.map-road-shadow{fill:none;opacity:.36;stroke:#1f180fbd;stroke-linecap:round;stroke-width:18}.map-road{fill:none;stroke:#926f40a8;stroke-dasharray:1 0;stroke-linecap:round;stroke-width:12}.map-farm-patch{fill:#9f8b483d;opacity:.82;pointer-events:none;stroke:#e0c1792e;stroke-width:1.2}.map-farm-patch path+path{fill:none;stroke:#f4d58f33}.map-pond{fill:#486a716b;pointer-events:none;stroke:#82a4a147;stroke-linecap:round;stroke-width:1.6}.map-pond path+path{fill:none;stroke:#bed9cf3d}.map-stones{fill:#827e6994;opacity:.86;pointer-events:none;stroke:#3a342a6b;stroke-linejoin:round;stroke-width:1.7}.map-stones path:last-child{fill:none;opacity:.45}.map-signpost{fill:#845b2dc7;pointer-events:none;stroke:#322013ad;stroke-linejoin:round;stroke-width:1.8}.map-signpost path:first-child{fill:none;stroke:#51361ee0;stroke-linecap:round;stroke-width:3}.map-campfire{pointer-events:none;stroke-linecap:round;stroke-linejoin:round}.map-campfire path:first-child{fill:none;stroke:#4f311be6;stroke-width:3}.map-campfire path:nth-child(2){fill:#c46153d6;stroke:#572b1abd;stroke-width:1.4}.map-campfire path:nth-child(3){fill:#f4d58fe6;stroke:none}.map-decoration-image{pointer-events:none}.map-hotspot{cursor:pointer;fill:transparent;stroke:transparent}.map-marker-group{cursor:pointer;outline:none}.map-marker-group:hover .map-icon,.map-marker-group:focus-visible .map-icon{transform:translateY(-2px)}.map-selection-ring{fill:#e0c1791f;pointer-events:none;stroke:var(--accent-2);stroke-width:3}.map-icon{stroke:#2d2012e0;stroke-linejoin:round;stroke-width:2;transition:transform .14s ease}.map-asset-image{filter:drop-shadow(0 7px 8px rgba(20,17,10,.36));pointer-events:none}.map-asset-image.is-depleted{opacity:.46}.village-icon.self{fill:#b84a3a}.village-icon.ai{fill:#856f48}.village-icon.player{fill:#486a71}.icon-roof,.icon-line{fill:none;stroke:#fff4dcd1;stroke-linecap:round;stroke-width:2}.icon-door{fill:#2118109e;stroke:none}.site-icon{fill:#2b271f}.site--bandit_camp{fill:#533022}.site--ruined_keep{fill:#6d6a5c}.site--toll_house{fill:#8a6534}.site--watchtower{fill:#5f7342}.site--ai_castle{fill:#7c6239}.site--supply_cache{fill:#997542}.site--merchant_caravan{fill:#9a6737}.site--mercenary_patrol{fill:#6c7446}.site--abandoned_farm{fill:#8b7a3e}.site-icon.is-depleted{opacity:.46}.map-label{dominant-baseline:middle;fill:#f4ecd0;font-size:12px;font-weight:800;paint-order:stroke;pointer-events:none;stroke:#141c0ec7;stroke-linejoin:round;stroke-width:5;text-anchor:middle}.map-timer-label{dominant-baseline:middle;fill:#f4d58f;font-size:10px;font-weight:850;paint-order:stroke;pointer-events:none;stroke:#141c0ec7;stroke-linejoin:round;stroke-width:4;text-anchor:middle}.map-opportunity-pulse{fill:#e0c1791a;pointer-events:none;stroke:#f4d58fb3;stroke-dasharray:5 5;stroke-width:2}.map-controls{display:grid;gap:6px;position:absolute;right:12px;top:12px;z-index:2}.map-controls button{align-items:center;background:#28241bdb;border:1px solid rgba(224,193,121,.36);border-radius:8px;color:var(--text);cursor:pointer;display:inline-flex;font-size:1rem;font-weight:800;height:34px;justify-content:center;width:34px}.map-controls button:hover{border-color:#e0c179b8}.map-diagnostics-toggle{background:#16120de0;border:1px solid rgba(224,193,121,.36);border-radius:999px;color:var(--accent-2);cursor:pointer;font-size:.78rem;font-weight:800;left:50%;letter-spacing:0;min-height:32px;padding:0 14px;position:absolute;top:12px;transform:translate(-50%);z-index:11}.map-diagnostics-toggle:hover{border-color:#e0c179b8;color:var(--text)}.map-diagnostics-panel{background:#120e0af0;border:1px solid rgba(208,154,70,.34);border-radius:8px;box-shadow:0 20px 44px #00000057;color:var(--text);left:50%;max-width:min(520px,calc(100% - 28px));padding:10px;position:absolute;top:52px;transform:translate(-50%);width:480px;z-index:12}.map-diagnostics-panel__head{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.map-diagnostics-panel__head button{align-items:center;background:#08070594;border:1px solid rgba(224,193,121,.28);border-radius:999px;color:var(--text);cursor:pointer;display:inline-flex;font-size:1rem;font-weight:900;height:26px;justify-content:center;width:26px}.map-diagnostics-grid{display:grid;gap:6px;grid-template-columns:repeat(4,minmax(0,1fr))}.map-diagnostics-grid span{background:#f2ead90f;border:1px solid rgba(242,234,217,.08);border-radius:6px;color:var(--muted);display:grid;font-size:.68rem;gap:2px;min-width:0;padding:6px}.map-diagnostics-grid b{color:var(--text);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:760px){.map-diagnostics-toggle{font-size:.72rem;min-height:30px;padding:0 10px;top:10px}.map-diagnostics-panel{top:46px;width:min(360px,calc(100% - 20px))}.map-diagnostics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.map-popup{background:#16140ff0;border:1px solid rgba(224,193,121,.38);border-radius:8px;box-shadow:0 18px 42px #0000005c;color:var(--text);display:grid;gap:8px;max-height:min(62dvh,330px);overflow-y:auto;padding:10px;pointer-events:auto;position:relative;width:270px}.map-popup--overlay{position:absolute;transform:translate(18px,-50%);z-index:3}.map-popup__close{align-items:center;background:#08070594;border:1px solid rgba(224,193,121,.28);border-radius:999px;color:var(--text);cursor:pointer;display:inline-flex;font-size:1rem;font-weight:900;height:26px;justify-content:center;position:absolute;right:6px;top:6px;width:26px}.map-popup__close:hover{color:var(--accent-2)}.map-popup__head{display:grid;gap:2px;padding-right:24px}.map-popup__head strong{font-size:.95rem;line-height:1.15}.map-popup__head span{color:var(--muted);font-size:.78rem}.map-popup__grid{display:grid;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr))}.map-popup__grid span{background:#f2ead90f;border:1px solid rgba(242,234,217,.08);border-radius:6px;color:var(--muted);display:grid;font-size:.72rem;gap:2px;padding:6px}.map-popup__grid b{color:var(--text);font-size:.82rem}.map-popup__action{background:#d09a4624;border:1px solid rgba(208,154,70,.32);border-radius:7px;color:var(--text);cursor:pointer;min-height:32px}.map-popup__action:hover{border-color:#e0c179b3}.map-legend{color:var(--muted);display:flex;flex-wrap:wrap;font-size:.82rem;gap:8px 14px}.map-legend--floating{background:#120e0ae0;border:1px solid rgba(208,154,70,.24);border-radius:8px;box-shadow:0 16px 34px #00000042;flex-direction:column;gap:8px;left:12px;max-width:min(260px,calc(100% - 24px));padding:8px;position:absolute;top:12px;z-index:9}.map-legend--floating.is-collapsed{padding:0}.map-legend__header{align-items:center;background:transparent;border:0;color:var(--text);cursor:pointer;display:flex;font:inherit;justify-content:space-between;min-height:26px;padding:0 2px;text-align:left;width:100%}.map-legend--floating.is-collapsed .map-legend__header{padding:6px 8px}.map-legend__body{display:grid;gap:6px 10px;grid-template-columns:repeat(2,minmax(0,1fr))}.map-legend__hint{color:var(--faint);font-size:.68rem;line-height:1;padding:0 2px}.map-legend__filter{align-items:center;background:#ffffff05;border:1px solid transparent;border-radius:6px;color:var(--muted);cursor:pointer;display:inline-flex;font:inherit;gap:7px;min-height:25px;padding:4px 6px;text-align:left}.map-legend__filter:hover,.map-legend__filter.is-active{background:#d09a461f;border-color:#d09a4642;color:var(--text)}.map-legend__filter span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legend-dot{flex:0 0 auto;border-radius:999px;display:inline-block;height:9px;width:9px}.village-dot{background:#5b9df2}.player-dot{background:#cf4f4f}.ai-dot{background:#9c6ade}.target-dot{background:#a6a39a}.opportunity-dot{background:var(--accent-2)}.strategic-dot{background:#6fc9c2}.map-hint{color:var(--faint)}.village-interior-stage{background:radial-gradient(circle at 50% 38%,rgba(126,157,98,.18),transparent 32rem),linear-gradient(145deg,#172414,#0d140c);border:1px solid rgba(208,154,70,.24);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;overflow:hidden}.view-error-panel{align-content:center;background:#1f1c15f0;border:1px solid rgba(184,74,58,.34);border-radius:8px;color:var(--text);display:grid;gap:12px;justify-items:start;min-height:360px;padding:24px}.view-error-panel svg{color:#d06a46}.view-error-panel h2,.view-error-panel p{margin:0}.view-error-panel p{color:var(--muted);max-width:680px}.village-interior-toolbar{align-items:center;background:#14120e7a;border-bottom:1px solid rgba(208,154,70,.18);display:grid;gap:12px;grid-template-columns:auto minmax(0,1fr) auto;padding:10px}.village-interior-toolbar>.secondary-action{font-size:.86rem;min-height:42px;min-width:0;padding-inline:14px;white-space:nowrap}.village-interior-toolbar__title{display:grid;gap:2px;min-width:0;text-align:right}.village-interior-toolbar__title strong,.village-interior-toolbar__title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.village-interior-toolbar__title span{color:var(--muted);font-size:.82rem}.village-interior-toolbar__stats{display:none}.village-interior{aspect-ratio:1040 / 720;display:block;height:auto;min-height:420px;overflow:visible;width:100%}.village-interior-layout{display:grid;gap:10px;grid-template-columns:minmax(250px,320px) minmax(0,1fr);min-height:0;padding:10px}.mobile-building-grid{display:none}.mobile-building-tile{align-items:center;background:#14120e94;border:1px solid rgba(224,193,121,.15);border-radius:8px;color:var(--text);display:grid;gap:3px;justify-items:center;min-height:84px;padding:7px 5px;position:relative;text-align:center}.mobile-building-tile.is-active{background:#d09a4621;border-color:#d09a4685;box-shadow:inset 0 0 0 1px #d09a4626}.mobile-building-tile--preview{background:linear-gradient(145deg,#d09a461f,#14120e94),#14120e94}.mobile-building-tile.has-project:after{background:var(--accent-2);border-radius:999px;box-shadow:0 0 0 2px #14120ef2;content:"";height:8px;position:absolute;right:8px;top:8px;width:8px}.mobile-building-tile__icon{align-items:center;color:var(--accent-2);display:flex;height:34px;justify-content:center;width:34px}.mobile-building-tile__icon .game-icon-mask,.mobile-building-tile__icon .game-icon-inline,.mobile-building-tile__icon .game-icon-img,.mobile-building-tile__icon svg{display:block;height:30px!important;width:30px!important}.mobile-building-tile__name{color:var(--text);font-size:.68rem;font-weight:800;line-height:1.08;overflow-wrap:anywhere}.mobile-building-tile__level,.mobile-building-tile__timer{color:var(--muted);font-size:.6rem;font-weight:700;line-height:1}.mobile-building-tile__timer{color:var(--accent-2)}.interior-panel-close{min-height:34px;width:34px}.mobile-building-back{justify-content:start;min-height:38px;width:fit-content}.mobile-city-preview{background:#14120e8c;border:1px solid rgba(224,193,121,.16);border-radius:8px;display:grid;gap:8px;min-height:0;overflow:hidden;padding:10px}.mobile-city-preview__scroll{border:1px solid rgba(224,193,121,.12);border-radius:8px;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.interior-building-panel--empty{align-items:center;color:var(--muted);display:none;justify-items:center;min-height:72px;text-align:center}.interior-building-panel{background:#14120e8c;border:1px solid rgba(224,193,121,.16);border-radius:8px;display:grid;gap:10px;align-content:start;min-height:0;overflow-y:auto;padding:12px}.eyebrow{color:var(--accent-2);font-size:.74rem;font-weight:800;text-transform:uppercase}.interior-building-panel h2,.interior-building-panel p{margin:0}.interior-building-panel__top{align-items:start;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto}.interior-building-panel__top>div{display:grid;gap:3px;min-width:0}.interior-building-panel__top span{color:var(--muted);font-size:.76rem}.interior-upgrade-action{min-height:34px;padding:0 10px;white-space:nowrap}.building-upgrade-cost-block{display:grid;gap:4px}.building-upgrade-cost-block>strong{color:var(--accent-2);font-size:.72rem;letter-spacing:0;text-transform:uppercase}.building-upgrade-cost{background:#d09a4614;border:1px solid rgba(208,154,70,.16);border-radius:8px;display:grid;gap:4px;grid-template-columns:repeat(5,minmax(0,1fr));padding:5px}.building-upgrade-cost>span{align-items:center;background:#14120e52;border:1px solid rgba(242,234,217,.08);border-radius:7px;color:var(--accent-2);display:grid;gap:2px;justify-content:center;justify-items:center;min-height:42px;min-width:0;padding:4px 3px}.building-upgrade-cost>span.missing{border-color:#c4615357;color:var(--bad)}.building-upgrade-cost b{color:var(--text);font-size:.74rem;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.building-upgrade-cost .game-icon-mask,.building-upgrade-cost .game-icon-inline,.building-upgrade-cost .game-icon-img,.building-upgrade-cost svg{flex:0 0 auto;height:17px!important;width:17px!important}.interior-building-panel p,.interior-upgrade-note span{color:var(--muted);line-height:1.4}.interior-building-panel__facts{display:grid;gap:7px;grid-template-columns:repeat(5,minmax(0,1fr))}.interior-building-panel__facts span{background:#f2ead90d;border:1px solid rgba(242,234,217,.08);border-radius:8px;color:var(--muted);display:grid;gap:3px;padding:8px}.interior-building-panel__facts b{color:var(--text)}.interior-production-preview{background:#f2ead90b;border:1px solid rgba(242,234,217,.08);border-radius:8px;display:grid;gap:8px;padding:10px}.interior-production-preview>strong{color:var(--accent-2);font-size:.82rem}.interior-production-preview>div{display:grid;gap:6px;grid-template-columns:repeat(3,minmax(0,1fr))}.interior-production-preview>div>span{align-items:center;background:#00000029;border-radius:7px;display:grid;gap:2px;justify-items:center;min-width:0;padding:7px 5px;text-align:center}.interior-production-preview b{color:var(--text);font-size:.72rem}.interior-production-preview small{color:var(--muted);font-size:.72rem}.interior-production-summary{display:grid;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr))}.interior-production-summary>span{align-items:center;background:#f2ead90b;border:1px solid rgba(242,234,217,.08);border-radius:8px;color:var(--accent-2);display:flex;gap:6px;min-width:0;padding:7px 8px}.interior-production-summary>span>b{font-size:.82rem;white-space:nowrap}.interior-village-stats{display:none;gap:7px}.interior-village-stats>span{align-items:center;background:#f2ead90b;border:1px solid rgba(242,234,217,.08);border-radius:8px;color:var(--muted);display:grid;gap:4px 7px;grid-template-columns:auto auto minmax(0,1fr);min-width:0;padding:8px}.interior-village-stats svg{color:var(--accent-2)}.interior-village-stats b{color:var(--text);justify-self:end}.interior-village-stats small{color:var(--faint);font-size:.74rem;grid-column:2 / -1}.interior-build-progress{background:#14120e6b;border:1px solid rgba(224,193,121,.16);border-radius:8px;display:grid;gap:7px;padding:10px}.interior-training-panel .training-panel,.interior-training-panel .technology-panel{background:#f2ead909;border-color:#d09a4629;padding:10px}.technology-tree{display:grid;gap:10px}.technology-node{background:#18161170;border:1px solid rgba(242,234,217,.1);border-radius:8px;display:grid;gap:8px;padding:10px}.technology-node.is-researched{border-color:#7e9d6273}.technology-node.is-locked{opacity:.72}.technology-node__head{align-items:start;display:grid;gap:8px;grid-template-columns:auto minmax(0,1fr)}.technology-node__head>div{display:grid;gap:4px;min-width:0}.technology-node__head strong{color:var(--text);line-height:1.18}.technology-node__head small,.technology-node p{color:var(--muted)}.technology-node__requirements{display:block;line-height:1.35}.technology-requirement-list{display:grid;gap:4px}.technology-requirement{align-items:center;border:1px solid rgba(242,234,217,.08);border-radius:7px;display:inline-grid;gap:6px;grid-template-columns:auto minmax(0,1fr);margin:0;padding:5px 7px}.technology-requirement.is-met{background:#7e9d621a;color:#a7cf83}.technology-requirement.is-missing{background:#c461531a;border-color:#c4615347;color:var(--bad)}.technology-requirement svg{flex:0 0 auto}.technology-node__icon{align-items:center;background:#d09a461f;border:1px solid rgba(208,154,70,.26);border-radius:8px;color:var(--accent-2);display:inline-flex;height:30px;justify-content:center;width:30px}.technology-effects{display:flex;flex-wrap:wrap;gap:6px}.technology-effects span{background:#7e9d621f;border:1px solid rgba(126,157,98,.22);border-radius:999px;color:var(--text);font-size:.72rem;padding:4px 7px}.secondary-action.is-complete{border-color:#7e9d625c;color:var(--text)}.interior-build-progress.is-muted{border-color:#f2ead914}.interior-build-progress p{color:var(--muted);font-size:.84rem;margin:0}.interior-build-progress .queue-title b{color:var(--accent-2);margin-left:auto}.interior-upgrade-note{align-items:start;display:grid;gap:8px;grid-template-columns:auto minmax(0,1fr)}.interior-upgrade-note svg{color:var(--accent-2);margin-top:2px}.interior-upgrade-note--benefit{background:#d09a4614;border:1px solid rgba(208,154,70,.18);border-radius:8px;padding:9px}.interior-bg-asset,.interior-building-asset{pointer-events:none}.interior-building-svg-wrap{color:var(--accent-2);overflow:visible;pointer-events:none}.interior-building-svg-mask{background:currentColor;display:block;mask-position:center;mask-repeat:no-repeat;mask-size:contain;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain}.interior-building-svg-wrap.token-keep{color:#d8c7a0}.interior-building-svg-wrap.token-timber_yard,.interior-building-svg-wrap.token-barracks,.interior-building-svg-wrap.token-market,.interior-building-svg-wrap.token-storehouse{color:#d09a46}.interior-building-svg-wrap.token-clay_pit,.interior-building-svg-wrap.token-farmstead{color:#9f8b48}.interior-building-svg-wrap.token-iron_mine,.interior-building-svg-wrap.token-palisade{color:#a8a291}.interior-bg{fill:#263126}.interior-bg-asset{filter:saturate(.95) contrast(1.04)}.interior-grid-subtle{fill:#f2ead906;stroke:#f2ead90f;stroke-width:2}.interior-building-shadow{fill:#0003}.interior-building{cursor:pointer;outline:none}.interior-building-click-target{fill:transparent;pointer-events:all}.interior-building-token circle{fill:#201c15eb;filter:url(#premiumVillageShadow);stroke:#e0c17938;stroke-width:3}.interior-building-token path{fill:none;stroke:#f2ead9;stroke-linecap:round;stroke-linejoin:round;stroke-width:4}.interior-building-token--fallback{opacity:.62}.interior-building.is-empty-plot .interior-building-token,.interior-building.is-empty-plot .interior-building-asset,.interior-building.is-empty-plot .interior-building-svg-wrap{opacity:.58}.interior-building.is-empty-plot .interior-building-nameplate rect{fill:#12100cb8;stroke-dasharray:4 4}.token-keep circle{fill:#50332c}.token-barracks circle{fill:#4a3326}.token-storehouse circle{fill:#453b2b}.token-farmstead circle{fill:#4b512b}.token-timber_yard circle{fill:#33482b}.token-clay_pit circle{fill:#51402d}.token-iron_mine circle{fill:#3d4140}.token-market circle{fill:#4d3b2b}.interior-building-nameplate{pointer-events:none}.interior-building-nameplate rect{fill:#12100cd1;stroke:#e0c1793d;stroke-width:1.5}.interior-building-level circle{fill:#d09a4638;stroke:#e0c179b8;stroke-width:1.5}.interior-building-level path{fill:none;stroke:#f4d58f;stroke-linecap:round;stroke-width:1.6}.interior-building-level-text{fill:#e0c179;font-size:10.5px;font-weight:850;letter-spacing:0;text-transform:uppercase}.interior-building-name{fill:#f4ecd0;font-size:12.5px;font-weight:850;text-anchor:middle}.interior-building:hover .interior-building-nameplate rect,.interior-building:focus-visible .interior-building-nameplate rect{fill:#1c1710eb;stroke:#e0c1798a}.interior-building-hit{fill:none;pointer-events:none;stroke:#e0c179b8;stroke-width:4}.interior-building--label-only .interior-building-nameplate rect{fill:#12100ce6;stroke:#e0c17961}.interior-building--label-only .interior-building-name{font-size:11.5px}.interior-building-label-hit{fill:none;pointer-events:none;stroke:#e0c179b8;stroke-width:3}.interior-stat{color:#f4ecd0}.interior-stat svg{color:#e0c179}.interior-stat text{fill:#f4ecd0;font-size:16px;font-weight:750;paint-order:stroke;stroke:#090d08bf;stroke-width:4}.side-rail{align-self:stretch;display:grid;gap:10px;grid-auto-rows:max-content;height:100%;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding-right:2px;scrollbar-color:rgba(208,154,70,.45) rgba(20,18,14,.34);scrollbar-width:thin}.side-rail::-webkit-scrollbar{width:9px}.side-rail::-webkit-scrollbar-track{background:#14120e57;border-radius:999px}.side-rail::-webkit-scrollbar-thumb{background:#d09a4673;border-radius:999px}.admin-panel{background:#1f1c15fa;border:1px solid rgba(224,193,121,.28);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;overflow:hidden;width:100%}.admin-panel--page{justify-self:center;max-height:none;max-width:1480px;width:min(100%,1480px)}.admin-panel__head{align-items:center;border-bottom:1px solid rgba(224,193,121,.16);display:flex;justify-content:space-between;padding:14px}.admin-panel__head div,.admin-block__title div{display:grid;gap:2px;min-width:0}.admin-panel__head span,.admin-block__title span,.admin-block small{color:var(--muted);font-size:.82rem;line-height:1.35}.admin-panel__body{display:grid;gap:10px;overflow-anchor:none;overflow-y:auto;padding:14px}.admin-tabs{background:#0a090742;border:1px solid rgba(242,234,217,.08);border-radius:8px;display:grid;gap:4px;grid-template-columns:repeat(3,minmax(0,1fr));padding:4px}.admin-tabs button{background:transparent;border:0;border-radius:6px;color:var(--muted);cursor:pointer;font-weight:800;min-height:38px;padding:8px 10px}.admin-tabs button.is-active{background:#d09a4629;color:var(--text)}.admin-block{display:grid;gap:12px}.admin-block--hero{background:#14120e57;border:1px solid rgba(224,193,121,.14);border-radius:8px;padding:10px;position:relative;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease}.admin-block--hero.is-drag-over{background:#40311d80;border-color:#e0c1798f;box-shadow:inset 0 0 0 1px #e0c1793d,0 12px 32px #0000003d}.admin-block--hero.is-drag-over:after{align-items:center;background:#0e0c09b8;border:1px dashed rgba(244,213,143,.72);border-radius:8px;color:#f4d58f;content:"Upuść teksturę";display:flex;font-size:.9rem;font-weight:800;inset:10px;justify-content:center;pointer-events:none;position:absolute;z-index:2}.admin-block__title{align-items:start;display:grid;gap:8px;grid-template-columns:auto minmax(0,1fr)}.admin-block__title svg{color:var(--accent-2);margin-top:2px}.admin-ai-grid{display:grid;gap:10px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.admin-ai-stats{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-ai-stats span{background:#0a090747;border:1px solid rgba(224,193,121,.12);border-radius:8px;color:var(--muted);display:grid;gap:2px;min-height:58px;padding:10px}.admin-ai-stats strong{color:var(--text);font-size:1.25rem;line-height:1}.admin-texture-preview,.admin-texture-empty{aspect-ratio:16 / 9;border:1px solid rgba(224,193,121,.18);border-radius:8px;width:100%}.admin-texture-preview{max-height:320px;object-fit:cover}.admin-asset-grid{display:grid;gap:9px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.admin-asset-card{background:#14120e52;border:1px solid rgba(224,193,121,.14);border-radius:8px;display:grid;gap:8px;min-width:0;padding:9px;position:relative;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease}.admin-asset-card.is-drag-over{background:#40311d80;border-color:#e0c1798f;box-shadow:inset 0 0 0 1px #e0c1793d,0 12px 32px #0000003d}.admin-asset-card.is-drag-over:after{align-items:center;background:#0e0c09b8;border:1px dashed rgba(244,213,143,.72);border-radius:8px;color:#f4d58f;content:"Upuść grafikę";display:flex;font-size:.86rem;font-weight:800;inset:10px;justify-content:center;pointer-events:none;position:absolute;z-index:2}.admin-drop-hint{color:var(--muted);font-size:.74rem;line-height:1.35}.admin-asset-preview,.admin-asset-empty{aspect-ratio:1;border:1px solid rgba(224,193,121,.16);border-radius:8px;width:100%}.admin-asset-preview{background:#f2ead90f;max-height:86px;object-fit:contain;padding:6px}.admin-world-editor{display:grid;gap:10px}.admin-world-editor__head{align-items:center;background:#14120e57;border:1px solid rgba(224,193,121,.14);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;padding:10px}.admin-world-grid{display:grid;gap:9px;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-editor-card{background:#14120e52;border:1px solid rgba(224,193,121,.14);border-radius:8px;display:grid;gap:9px;min-width:0;padding:10px}.admin-editor-card--wide{grid-column:1 / -1}.admin-form-grid{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.admin-field,.admin-check{color:var(--muted);display:grid;font-size:.76rem;font-weight:800;gap:5px;min-width:0;text-transform:uppercase}.admin-field--wide{grid-column:span 2}.admin-field input,.admin-field select{background:#0908068a;border:1px solid rgba(224,193,121,.16);border-radius:7px;color:var(--text);font:inherit;min-height:34px;min-width:0;padding:6px 8px;text-transform:none}.admin-check{align-items:center;align-self:end;background:#09080652;border:1px solid rgba(224,193,121,.12);border-radius:7px;display:flex;min-height:36px;padding:8px 9px;text-transform:none}.admin-mini-heading{color:var(--accent-2);font-size:.8rem;letter-spacing:0;margin-top:2px}.admin-button-row{display:flex;flex-wrap:wrap;gap:8px}.danger-action{background:#9c3c2e2e;border:1px solid rgba(224,98,76,.38);border-radius:8px;color:#f4c0b6;cursor:pointer;font-weight:900;min-height:38px;padding:8px 12px}.admin-asset-empty{align-items:center;background:#f2ead90a;color:var(--muted);display:flex;font-size:.82rem;justify-content:center}.admin-texture-empty{align-items:center;background:linear-gradient(135deg,#7e9d622e,#486a7129),#14120eb3;color:var(--muted);display:flex;justify-content:center;padding:14px;text-align:center}.admin-village-preview{aspect-ratio:13 / 9;background:#0c0b0975;border:1px solid rgba(224,193,121,.16);border-radius:8px;display:block;overflow-anchor:none;touch-action:none;-webkit-user-select:none;user-select:none;width:100%}.admin-village-building{cursor:grab;touch-action:none}.admin-village-building.is-dragging{cursor:grabbing}.admin-village-building path{pointer-events:none}.admin-village-building rect{pointer-events:none}.admin-village-building__hitbox{fill:transparent;pointer-events:all}.admin-village-nameplate .interior-building-name{font-size:13px}.admin-actions{display:flex;flex-wrap:wrap;gap:8px}.admin-config-grid{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.admin-number-field{display:grid;gap:6px}.admin-number-field span{color:var(--muted);font-size:.78rem}.admin-number-field input{background:#0c0b098c;border:1px solid rgba(224,193,121,.2);border-radius:8px;color:var(--text);min-height:36px;padding:7px 9px;width:100%}.admin-number-field input:focus{border-color:#e0c17994;outline:none}.button-like,.secondary-button{align-items:center;border-radius:8px;cursor:pointer;display:inline-flex;gap:8px;justify-content:center;min-height:38px;padding:8px 12px}.button-like{background:var(--accent);border:1px solid rgba(255,244,220,.16);color:#fff4dc;font-weight:800;position:relative}.button-like input{inset:0;opacity:0;pointer-events:none;position:absolute;width:100%}.button-like.is-disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.58}.secondary-button{background:#f2ead912;border:1px solid rgba(224,193,121,.22);color:var(--text)}.rail-section{background:#28241b80;border:1px solid rgba(208,154,70,.16);border-radius:8px;min-height:0;overflow:hidden}.rail-section__toggle{align-items:center;background:#14120e5c;border:0;color:var(--text);cursor:pointer;display:grid;gap:9px;grid-template-columns:auto minmax(0,1fr) auto auto;min-height:48px;padding:9px 11px;text-align:left;width:100%}.rail-section__toggle span{display:grid;gap:2px;min-width:0}.rail-section__toggle strong,.rail-section__toggle small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-section__toggle small{color:var(--muted);font-size:.76rem}.rail-section__toggle em{align-items:center;background:var(--accent);border-radius:999px;color:#fff4dc;display:inline-flex;font-size:.72rem;font-style:normal;font-weight:800;height:21px;justify-content:center;min-width:21px;padding:0 6px}.rail-section__chevron{color:var(--muted);transition:transform .16s ease}.rail-section.is-open .rail-section__chevron{transform:rotate(180deg)}.rail-section__content{display:grid;gap:10px;min-height:0;overflow:hidden;padding:10px}.rail-section__content>.panel{box-shadow:none}.panel{border-radius:8px;padding:14px}.panel-heading{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.panel-heading.compact{margin-bottom:8px}.panel-heading h2{font-size:1rem;line-height:1.15;margin:0 0 3px}.target-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.target-title-row h2{margin:0}.difficulty-badge{border:1px solid rgba(242,234,217,.1);border-radius:6px;display:inline-flex!important;font-size:.68rem!important;font-weight:900;line-height:1!important;padding:4px 6px;text-transform:uppercase}.difficulty-badge--easy{background:#7e9d6229;color:#9ed079!important}.difficulty-badge--normal{background:#d09a4624;color:var(--accent-2)!important}.difficulty-badge--hard{background:#c47e4829;color:#e28e57!important}.difficulty-badge--deadly{background:#c461532e;color:var(--bad)!important}.scout-intel-badge{background:#4d8ac629;color:#8eb8e8!important;text-transform:none}.panel-heading span{display:block;font-size:.82rem;line-height:1.25}.production-grid,.target-stats{display:grid;gap:7px;grid-template-columns:repeat(3,minmax(0,1fr))}.production-item,.target-stats div,.queue-strip,.building-row,.mission-row,.event-row,.empty-state{background:#14120e52;border:1px solid rgba(242,234,217,.08);border-radius:8px}.production-item,.target-stats div{padding:9px}.production-item span,.target-stats span{color:var(--muted);display:block;font-size:.72rem}.production-item strong,.target-stats strong{display:block;font-size:.92rem;margin-top:3px}.action-center{display:grid;gap:9px}.action-list{display:grid;gap:8px}.action-item{align-items:start;background:#14120e57;border:1px solid rgba(242,234,217,.08);border-radius:8px;display:grid;gap:8px;grid-template-columns:auto minmax(0,1fr) auto;padding:9px}.action-item svg{color:var(--accent-2);margin-top:2px}.action-item strong,.action-item span{display:block}.action-item strong{font-size:.86rem}.action-item span{color:var(--muted);font-size:.78rem;line-height:1.3;margin-top:2px}.action-item button{align-self:center;background:#d09a461f;border:1px solid rgba(208,154,70,.28);border-radius:7px;color:var(--text);cursor:pointer;font-size:.76rem;font-weight:800;min-height:30px;padding:0 9px}.action-item--success{border-color:#7e9d6247}.action-item--warning{border-color:#d09a4657}.target-decision-card{display:grid;gap:7px;grid-template-columns:repeat(2,minmax(0,1fr));margin:10px 0}.target-loot-grid{background:#d09a4614;border:1px solid rgba(208,154,70,.16);border-radius:8px;display:grid;gap:6px;grid-template-columns:repeat(auto-fit,minmax(76px,1fr));margin:10px 0;padding:8px}.target-loot-block{display:grid;gap:6px;margin:10px 0}.target-loot-block>strong{color:var(--accent-2);font-size:.78rem;letter-spacing:0;text-transform:uppercase}.target-loot-block .target-loot-grid{margin:0}.target-loot-grid>span{align-items:center;background:#14120e52;border:1px solid rgba(242,234,217,.08);border-radius:7px;color:var(--accent-2);display:inline-flex;font-size:.82rem;font-weight:850;gap:5px;justify-content:center;min-height:36px;min-width:0;padding:5px 7px}.target-loot-grid b{color:var(--text);font-variant-numeric:tabular-nums;min-width:max-content;white-space:nowrap}.target-loot-grid .game-icon-mask,.target-loot-grid .game-icon-inline,.target-loot-grid .game-icon-img,.target-loot-grid svg{flex:0 0 auto;height:22px!important;width:22px!important}.target-loot-grid--unknown{grid-template-columns:repeat(auto-fit,minmax(58px,1fr))}.target-loot-grid--unknown small{color:var(--muted);font-size:.75rem;grid-column:1 / -1;line-height:1.3;text-align:center}.target-decision-card div{background:#d09a4614;border:1px solid rgba(208,154,70,.16);border-radius:8px;display:grid;gap:3px;min-width:0;padding:8px}.target-decision-card svg{color:var(--accent-2)}.target-decision-card span{color:var(--muted);font-size:.68rem}.target-decision-card strong{font-size:.8rem;line-height:1.2}.risk-text{font-weight:900}.risk-text--safe{color:#8fcf72}.risk-text--ok{color:#d7c15f}.risk-text--risky{color:#e49a50}.risk-text--danger{color:#e05d4f}.queue-strip{margin-top:10px;padding:10px}.queue-title,.building-row__meta span,.raid-summary{align-items:center;color:var(--muted);display:flex;font-size:.82rem;gap:6px}.queue-strip p,.muted{font-size:.86rem;line-height:1.35;margin:6px 0 0}.army-capacity-strip{align-items:center;background:#14120e57;border:1px solid rgba(224,193,121,.14);border-radius:8px;display:flex;justify-content:space-between;margin-top:10px;padding:8px 10px}.army-capacity-strip span,.capacity-warning{color:var(--muted);font-size:.8rem}.army-capacity-strip strong{color:#f4d58f}.capacity-warning{margin:0}.queue-item{align-items:center;display:flex;font-size:.86rem;gap:8px;justify-content:space-between;margin-top:8px}.denar-queue-button{align-items:center;background:#d09a461f;border:1px solid rgba(224,193,121,.28);border-radius:999px;color:#f4d58f;cursor:pointer;display:inline-flex;flex:0 0 auto;font-size:.74rem;font-weight:850;gap:4px;min-height:26px;padding:0 8px}.denar-queue-button:disabled{cursor:default;opacity:.42}.daily-contracts-panel{display:grid;gap:10px}.contract-list{display:grid;gap:8px}.contract-card{background:#14120e57;border:1px solid rgba(224,193,121,.14);border-radius:8px;display:grid;gap:8px;padding:10px}.contract-card.is-claimed{opacity:.72}.contract-card__head{align-items:start;display:grid;gap:8px;grid-template-columns:auto minmax(0,1fr)}.contract-card__head svg{color:var(--accent-2);margin-top:2px}.contract-card__head strong,.contract-card__head span{display:block}.contract-card__head span,.contract-reward{color:var(--muted);font-size:.8rem;line-height:1.35}.contract-progress{background:#f2ead90f;border:1px solid rgba(242,234,217,.08);border-radius:999px;height:20px;overflow:hidden;position:relative}.contract-progress i{background:linear-gradient(90deg,#d09a4680,#7e9d6299);display:block;height:100%}.contract-progress span{color:#fff4dc;font-size:.72rem;font-weight:850;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.contract-reward{align-items:center;display:flex;gap:8px;justify-content:space-between}.contract-reward b{align-items:center;color:#f4d58f;display:inline-flex;gap:4px}.opportunity-time{color:#f4d58f}.building-list,.mission-list,.event-list,.unit-list{display:grid;gap:8px;margin-top:10px}.strategic-garrison-editor{background:#120f0b52;border:1px solid rgba(239,212,153,.16);border-radius:8px;display:grid;gap:8px;margin-top:10px;padding:10px}.strategic-garrison-editor__head{display:grid;gap:2px}.strategic-garrison-editor__head strong{color:var(--accent-2);font-size:.9rem}.strategic-garrison-editor__head span{color:var(--muted);font-size:.78rem}.strategic-garrison-toggle{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:10px}.strategic-garrison-hint{background:#120f0b3d;border:1px solid rgba(239,212,153,.12);border-radius:8px;padding:9px 10px}.building-row{padding:10px}.building-row__main{align-items:flex-start;display:flex;gap:8px;justify-content:space-between}.building-row h3{font-size:.95rem;margin:0 0 4px}.building-row p{color:var(--muted);font-size:.78rem;line-height:1.3;margin:0}.level-chip{background:#d09a461f;border:1px solid rgba(208,154,70,.24);border-radius:999px;color:#f1d19b;flex:0 0 auto;font-size:.72rem;padding:4px 7px}.building-row__meta,.cost-line{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:9px}.cost-line span{color:var(--muted);font-size:.72rem}.cost-line .missing{color:var(--bad)}.primary-action{align-items:center;background:linear-gradient(135deg,#b84a3a,#d09a46);border:0;border-radius:7px;color:#fff8ea;cursor:pointer;display:inline-flex;font-weight:800;gap:8px;justify-content:center;margin-top:10px;min-height:38px;padding:0 12px;width:100%}.secondary-action,.text-action{align-items:center;background:#d09a461a;border:1px solid rgba(208,154,70,.24);border-radius:7px;color:var(--text);cursor:pointer;display:inline-flex;font-weight:800;gap:8px;justify-content:center;min-height:38px;padding:0 12px;width:100%}.primary-action:disabled{background:#4a4336;color:#918875;cursor:not-allowed}.secondary-action:disabled{background:#2d2921;border-color:#f2ead914;color:#827968;cursor:not-allowed}.text-action{background:transparent;border-color:#f2ead91f;color:var(--muted);font-size:.78rem;margin-top:8px;min-height:30px}.target-actions{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:10px}.target-actions--single{grid-template-columns:1fr}.target-actions .primary-action{margin-top:0}.full-width-action{justify-content:center;margin-top:10px;width:100%}.warning-line{color:#e0c179;font-size:.82rem;line-height:1.35;margin:8px 0 0}.defense-duration{margin-top:10px}.loot-line{color:var(--muted);font-size:.84rem;line-height:1.35;margin:10px 0}.target-description{color:var(--text);font-size:.86rem;line-height:1.45;margin:8px 0 10px}.strategic-control-banner{align-items:center;background:linear-gradient(135deg,#14120edb,#231c12d1),#14120ea8;border:1px solid rgba(239,212,153,.24);border-radius:8px;box-shadow:inset 0 0 0 1px #f2ead90a,0 10px 26px #0000002e;display:grid;gap:8px;grid-template-columns:auto minmax(0,1fr) auto;margin:10px 0;overflow:hidden;padding:9px;position:relative}.strategic-control-banner:before{bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.strategic-control-banner--own{border-color:#5291ef75;box-shadow:inset 0 0 0 1px #5291ef1f,0 0 24px #5291ef1f}.strategic-control-banner--own:before{background:#5291ef}.strategic-control-banner--foreign{border-color:#e05d4f6b;box-shadow:inset 0 0 0 1px #e05d4f1f,0 0 24px #e05d4f1c}.strategic-control-banner--foreign:before{background:#e05d4f}.strategic-control-banner--free{border-color:#6fc9c261}.strategic-control-banner--free:before{background:#6fc9c2}.strategic-control-banner__mark{align-items:center;background:#d09a4624;border:1px solid rgba(208,154,70,.22);border-radius:7px;color:var(--accent-2);display:inline-flex;height:34px;justify-content:center;width:34px}.strategic-control-banner span{color:var(--muted);display:block;font-size:.68rem;font-weight:800;text-transform:uppercase}.strategic-control-banner strong{color:var(--text);display:block;font-size:.88rem;line-height:1.18;margin-top:2px}.expedition-plan{display:grid;gap:7px;grid-template-columns:repeat(3,minmax(0,1fr));margin:10px 0}.expedition-plan div{background:#14120e47;border:1px solid rgba(242,234,217,.08);border-radius:8px;min-width:0;padding:8px}.expedition-plan span{color:var(--muted);display:block;font-size:.69rem}.expedition-plan strong{display:block;font-size:.78rem;line-height:1.25;margin-top:3px}.preset-row{display:grid;gap:7px;grid-template-columns:repeat(4,minmax(0,1fr))}.preset-row button{background:#d09a461a;border:1px solid rgba(208,154,70,.24);border-radius:7px;color:var(--text);cursor:pointer;min-height:34px}.preset-row button.is-active{box-shadow:0 0 0 2px #efd49947,0 0 18px #d09a4633;filter:brightness(1.14)}.preset-row__win{background:#7e9d622e!important;border-color:#7e9d626b!important;color:#dff1c4!important;font-weight:900}.unit-row{align-items:center;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) minmax(168px,38%)}.unit-row span{display:grid;font-size:.9rem;gap:2px}.unit-stepper{display:grid;gap:4px;grid-template-columns:34px minmax(58px,1fr) 34px 46px;min-width:0}.unit-stepper button,.unit-row input{background:#0a09076b;border:1px solid rgba(242,234,217,.14);border-radius:7px;color:var(--text);min-height:36px}.unit-stepper button{cursor:pointer;font-size:1rem;font-weight:900;padding:0}.unit-stepper .unit-max-button{color:var(--accent-2);font-size:.68rem;text-transform:uppercase}.unit-list-max{justify-content:center;margin-bottom:6px;min-height:32px;width:100%}.unit-row input{padding:0 8px;text-align:center;width:100%}.expedition-risk{align-items:center;background:#14120e57;border:1px solid rgba(242,234,217,.1);border-radius:8px;display:grid;gap:5px 8px;grid-template-columns:auto minmax(0,1fr);margin-top:10px;padding:9px}.expedition-risk svg{color:var(--accent-2);grid-row:span 2}.expedition-risk span{color:var(--muted);font-size:.74rem}.expedition-risk strong{font-size:.9rem}.expedition-economy{background:#14120e57;border:1px solid rgba(242,234,217,.1);border-radius:8px;display:grid;gap:7px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:8px;padding:9px}.expedition-economy--profitable{border-color:#8fcf7247}.expedition-economy--thin{border-color:#d7c15f4d}.expedition-economy--loss,.expedition-economy--defeat{border-color:#e05d4f4d}.expedition-economy div{min-width:0}.expedition-economy span{color:var(--muted);display:block;font-size:.68rem}.expedition-economy strong{color:var(--text);display:block;font-size:.84rem;line-height:1.25;margin-top:2px}.expedition-economy--profitable div:nth-child(3) strong{color:#8fcf72}.expedition-economy--thin div:nth-child(3) strong{color:#d7c15f}.expedition-economy--loss div:nth-child(3) strong,.expedition-economy--defeat div:nth-child(3) strong{color:#e05d4f}.expedition-economy p{color:var(--muted);font-size:.74rem;grid-column:1 / -1;line-height:1.35;margin:0}.expedition-economy p b{color:var(--text)}.raid-summary{display:none}.empty-state{color:var(--muted);font-size:.9rem;line-height:1.4;padding:12px}.empty-state p{margin:0}.mission-row{align-items:flex-start;display:grid;gap:8px;grid-template-columns:auto minmax(0,1fr);padding:9px}.mission-row strong,.mission-row span,.mission-row small{display:block}.mission-row span{color:var(--muted);font-size:.82rem;margin-top:2px}.mission-row small{color:var(--faint);font-size:.74rem;margin-top:3px}.event-list{max-height:230px;overflow:auto}.event-row{display:grid;gap:6px;grid-template-columns:42px minmax(0,1fr);padding:8px}.event-row p{font-size:.82rem;line-height:1.35;margin:0}.event-row--success{border-color:#7e9d6259}.event-row--warning{border-color:#c4615361}.garrison-grid{display:grid;gap:7px;grid-template-columns:repeat(3,minmax(0,1fr))}.garrison-item,.training-row,.report-row{background:#14120e52;border:1px solid rgba(242,234,217,.08);border-radius:8px}.garrison-item{padding:9px}.garrison-item>span{align-items:center;color:var(--muted);display:inline-flex;font-size:.72rem;gap:6px}.garrison-item strong{display:block;font-size:1rem;margin-top:3px}.training-list,.report-list{display:grid;gap:8px;margin-top:10px}.history-toolbar{display:grid;gap:8px;margin-top:8px}.history-scope{border-top:1px solid rgba(242,234,217,.08);padding-top:8px}.history-summary{color:var(--muted);display:flex;flex-wrap:wrap;font-size:.72rem;gap:6px 10px;margin-top:8px}.history-summary span{background:#14120e42;border:1px solid rgba(242,234,217,.06);border-radius:999px;padding:4px 8px}.history-more-button{background:#d09a461a;border:1px solid rgba(208,154,70,.28);border-radius:8px;color:var(--accent-2);cursor:pointer;font-size:.78rem;font-weight:850;margin-top:8px;min-height:34px;padding:8px 10px;width:100%}.history-more-button:hover,.history-more-button:focus-visible{border-color:#d09a468c;color:var(--text);outline:none}.training-row,.report-row{padding:10px}.report-row{cursor:pointer}.report-row:hover,.report-row:focus-visible{border-color:#e0c17957;outline:none}.training-unit-picker{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));margin-top:10px}.training-unit-cell{display:contents}.training-unit-button{align-items:start;background:#14120e57;border:1px solid rgba(242,234,217,.08);border-radius:8px;color:var(--text);cursor:pointer;display:grid;gap:5px;grid-template-rows:52px minmax(28px,auto) auto;justify-items:center;min-height:112px;min-width:0;padding:10px 8px;position:relative;text-align:center}.training-unit-icon{align-items:center;color:var(--accent-2);display:flex;height:52px;justify-content:center;line-height:0;width:52px}.training-unit-icon .game-icon-mask,.training-unit-icon .game-icon-inline,.training-unit-icon .game-icon-img,.training-unit-icon svg{display:block;height:42px!important;max-height:100%;max-width:100%;object-fit:contain;width:42px!important}.training-unit-button:hover,.training-unit-button:focus-visible,.training-unit-button.is-active{border-color:#d09a466b;outline:none}.training-unit-button.is-active{background:#d09a461f;box-shadow:inset 0 0 0 1px #d09a4629}.training-unit-button.is-locked{opacity:.66}.training-unit-button>span:not(.training-unit-icon){color:var(--muted);font-size:.72rem;line-height:1.15;max-width:100%;overflow:hidden;text-overflow:ellipsis;width:100%;white-space:normal}.training-unit-button strong{color:var(--accent-2);font-size:.76rem;line-height:1.1}.training-unit-button>svg{color:var(--faint);position:absolute;right:7px;top:7px}.training-row--active{display:grid;gap:10px;grid-column:1 / -1;margin-top:10px}.training-row__head{align-items:flex-start;display:grid;gap:8px}.training-unit-summary{align-items:flex-start;display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr)}.training-unit-summary>div{display:grid;gap:3px;min-width:0}.training-unit-summary span,.training-unit-summary small{line-height:1.32}.training-row h3,.report-row h3{font-size:.92rem;line-height:1.15;margin:0 0 4px}.training-row span,.report-row time{color:var(--muted);font-size:.76rem}.training-controls{display:grid;gap:7px;grid-template-columns:38px minmax(68px,1fr) 38px auto}.resource-cost-grid{display:grid;gap:5px;grid-template-columns:repeat(5,minmax(0,1fr))}.resource-cost-grid>span{align-items:center;background:#14120e52;border:1px solid rgba(242,234,217,.08);border-radius:7px;color:var(--accent-2);display:grid;gap:2px;justify-content:center;justify-items:center;min-height:44px;min-width:0;padding:4px 3px}.resource-cost-grid>span.missing{background:#c461531f;border-color:#c4615366;color:var(--bad)}.resource-cost-grid>span.missing b,.resource-cost-grid>span.missing .game-icon-inline,.resource-cost-grid>span.missing .game-icon-mask{color:var(--bad)}.resource-cost-grid>span.missing .game-icon-mask{background:var(--bad)}.resource-cost-grid b{color:var(--text);font-size:.74rem;font-variant-numeric:tabular-nums;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-cost-grid .game-icon-mask,.resource-cost-grid .game-icon-inline,.resource-cost-grid .game-icon-img,.resource-cost-grid svg{flex:0 0 auto;height:18px!important;width:18px!important}.resource-cost-grid--queued{opacity:.78}.training-controls button,.training-row input{background:#0a09076b;border:1px solid rgba(242,234,217,.14);border-radius:7px;color:var(--text)}.training-controls button{align-items:center;cursor:pointer;display:inline-flex;justify-content:center;min-height:36px;padding:0 10px}.training-controls button:hover:not(:disabled),.training-controls button:focus-visible{border-color:#d09a4661;outline:none}.training-controls button:disabled{cursor:not-allowed;opacity:.45}.training-row input{min-height:36px;padding:0 8px;width:100%}.training-max-button{color:var(--accent-2);font-weight:800;text-transform:uppercase}.training-meta-grid{display:grid;gap:7px;grid-template-columns:repeat(3,minmax(0,1fr))}.training-meta-grid span{background:#f2ead90a;border:1px solid rgba(242,234,217,.08);border-radius:7px;padding:7px}.training-meta-grid strong{color:var(--accent-2);display:block;font-size:.88rem;margin-top:2px}.training-queued-cost{margin-top:0;opacity:.82}.training-row .secondary-action{margin-top:9px}.battle-simulator-entry{display:grid;gap:10px;margin-top:12px}.battle-simulator-entry>.secondary-action{justify-content:center;width:100%}.secondary-action.is-active{background:#d09a462e;border-color:#d09a466b;color:var(--text)}.battle-simulator{background:#14120e7a;border:1px solid rgba(208,154,70,.2);border-radius:8px;box-shadow:inset 0 1px #f2ead90a;display:grid;gap:10px;padding:10px}.village-interior-layout.is-battle-simulator{grid-template-columns:minmax(0,1fr)}.battle-simulator--full{min-height:min(720px,calc(100dvh - 190px));overflow:auto}.battle-sim-main-grid{display:grid;gap:12px;grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr)}.battle-sim-column{align-content:start;display:grid;gap:10px;min-width:0}.battle-sim-mode{display:grid;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr))}.battle-sim-mode button{background:#14120e80;border:1px solid rgba(242,234,217,.1);border-radius:7px;color:var(--muted);cursor:pointer;font-weight:800;min-height:34px}.battle-sim-mode button.is-active{background:#d09a4624;border-color:#d09a4661;color:var(--accent-2)}.battle-sim-editor,.battle-sim-losses section,.battle-sim-note{background:#f2ead90a;border:1px solid rgba(242,234,217,.08);border-radius:8px}.battle-sim-editor{display:grid;gap:8px;padding:8px}.battle-sim-editor header{align-items:center;display:flex;gap:8px;justify-content:space-between}.battle-sim-editor header span,.battle-sim-field span,.battle-sim-options span{color:var(--muted);font-size:.74rem;font-weight:800}.battle-sim-unit-grid{display:grid;gap:6px}.battle-sim-unit-grid label{align-items:center;display:grid;gap:7px;grid-template-columns:30px minmax(0,1fr) 116px}.battle-sim-unit-grid label>span{color:var(--text);font-size:.78rem;font-weight:800;min-width:0}.battle-sim-unit-grid label>div{display:grid;gap:4px;grid-template-columns:28px minmax(48px,1fr) 28px}.battle-sim-unit-grid button,.battle-sim-unit-grid input,.battle-sim-field input,.battle-sim-options input{background:#0c0b0985;border:1px solid rgba(242,234,217,.12);border-radius:7px;color:var(--text);font-weight:800;min-height:30px;min-width:0;text-align:center}.battle-sim-unit-grid button{align-items:center;color:var(--accent-2);cursor:pointer;display:inline-flex;justify-content:center}.battle-sim-field,.battle-sim-options{display:grid;gap:8px}.battle-sim-field{align-items:center;grid-template-columns:minmax(0,1fr) 120px}.battle-sim-options{grid-template-columns:repeat(3,minmax(0,1fr))}.battle-sim-options label{display:grid;gap:5px}.battle-sim-options .battle-sim-check{align-items:center;grid-template-columns:auto minmax(0,1fr)}.battle-sim-options .battle-sim-check input{min-height:auto}.battle-sim-result{border:1px solid rgba(242,234,217,.1);border-radius:8px;display:grid;gap:6px;grid-template-columns:repeat(4,minmax(0,1fr));padding:6px}.battle-sim-result--safe,.battle-sim-result--ok{border-color:#7e9d6252}.battle-sim-result--risky{border-color:#d09a465c}.battle-sim-result--danger{border-color:#c4615366}.battle-sim-result div{background:#0c0b0961;border-radius:7px;display:grid;gap:2px;min-width:0;padding:7px}.battle-sim-result span{color:var(--muted);font-size:.66rem;font-weight:800;text-transform:uppercase}.battle-sim-result strong{color:var(--text);font-size:.78rem;line-height:1.15}.battle-sim-losses{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.battle-sim-losses section{display:grid;gap:5px;padding:8px}.battle-sim-losses p{color:var(--text);font-size:.78rem;line-height:1.35;margin:0}.battle-sim-losses small{color:var(--accent-2);font-weight:800}.battle-sim-note{align-items:start;color:var(--muted);display:grid;font-size:.76rem;gap:7px;grid-template-columns:auto minmax(0,1fr);line-height:1.35;padding:8px}.battle-sim-note svg{color:var(--accent-2)}.battle-sim-run{justify-content:center;margin-top:2px;width:100%}.battle-sim-log{background:#0c0b0970;border:1px solid rgba(242,234,217,.08);border-radius:8px;display:grid;gap:8px;max-height:260px;min-height:150px;overflow:hidden;padding:9px}.battle-sim-log header{align-items:center;display:grid;gap:7px;grid-template-columns:auto minmax(0,1fr) auto}.battle-sim-log header svg{color:var(--accent-2)}.battle-sim-log header button{background:#f2ead90f;border:1px solid rgba(242,234,217,.1);border-radius:7px;color:var(--muted);cursor:pointer;font-weight:800;min-height:28px;padding:0 9px}.battle-sim-log ol{color:var(--muted);display:grid;font-size:.78rem;gap:5px;line-height:1.35;margin:0;overflow-y:auto;padding:0 0 0 20px}.battle-sim-log p{color:var(--muted);font-size:.82rem;line-height:1.35;margin:0}.report-row.is-new{border-color:#d09a4661}.report-row__head{align-items:flex-start;display:grid;gap:8px;grid-template-columns:auto minmax(0,1fr)}.report-row__head svg{color:var(--accent-2);margin-top:1px}.report-row p{color:var(--muted);font-size:.82rem;line-height:1.35;margin:8px 0}.report-facts{display:flex;flex-wrap:wrap;gap:6px 10px}.report-facts>span{color:var(--muted);font-size:.72rem}.report-facts__loot{align-items:center;color:var(--muted);display:flex;flex-wrap:wrap;font-size:.72rem;gap:5px}.report-facts__loot .report-resource-strip{gap:4px}.report-facts__loot .report-resource-strip>span{min-height:22px;padding:3px 6px}.report-detail-backdrop{align-items:center;background:#070806b8;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:18}.report-detail{background:#1f1c15fa;border:1px solid rgba(224,193,121,.28);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-template-rows:auto minmax(0,1fr);max-height:min(760px,calc(100dvh - 32px));max-width:min(780px,calc(100vw - 28px));overflow:hidden;width:100%}.report-detail__head{align-items:center;border-bottom:1px solid rgba(224,193,121,.16);display:flex;justify-content:space-between;padding:14px}.report-detail__head div{display:grid;gap:2px;min-width:0}.report-detail__head span{color:var(--muted);font-size:.82rem}.report-detail__body{display:grid;gap:12px;overflow-y:auto;padding:14px}.battle-result{border:1px solid rgba(242,234,217,.1);border-radius:8px;display:grid;gap:4px;padding:12px}.battle-result span{color:var(--muted);line-height:1.4}.battle-result--victory{background:#7e9d6221;border-color:#7e9d6252}.battle-result--defeat{background:#c461531f;border-color:#c461534d}.battle-result--scouted{background:#486a7124;border-color:#486a7157}.battle-score-grid{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.battle-score-grid span{background:#f2ead90d;border:1px solid rgba(242,234,217,.08);border-radius:8px;color:var(--muted);display:grid;gap:4px;min-width:0;padding:10px}.battle-score-grid b{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.battle-section{display:grid;gap:8px}.battle-section h3{font-size:.95rem;margin:0}.battle-table{border-collapse:collapse;width:100%}.battle-table th,.battle-table td{border-bottom:1px solid rgba(242,234,217,.08);padding:9px;text-align:right}.battle-table th:first-child,.battle-table td:first-child{text-align:left}.battle-table th{color:var(--muted);font-size:.76rem;font-weight:700}.battle-table td{font-size:.88rem}.battle-unit-cell{align-items:center;display:inline-flex;gap:8px;min-width:0}.battle-unit-cell b{color:var(--text);font-size:.86rem;line-height:1.15}.battle-unit-cell .game-icon-img,.battle-unit-cell .game-icon-inline,.battle-unit-cell .game-icon-mask,.battle-unit-cell svg{flex:0 0 auto}.report-resource-strip{display:flex;flex-wrap:wrap;gap:7px}.report-resource-strip>span{align-items:center;background:#14120e5c;border:1px solid rgba(242,234,217,.1);border-radius:7px;color:var(--accent-2);display:inline-flex;gap:6px;min-height:30px;padding:5px 8px}.report-resource-strip>span>b{color:var(--text);font-size:.8rem;font-variant-numeric:tabular-nums}.report-resource-strip .game-icon-mask{background:var(--accent-2)}.report-resource-strip .game-icon-inline,.report-resource-strip svg{color:var(--accent-2)}.primary-inline-button{background:var(--accent);border:1px solid rgba(255,244,220,.16);border-radius:8px;color:#fff4dc;cursor:pointer;font-weight:800;min-height:38px;padding:8px 12px;width:max-content}.quest-panel{display:grid;gap:10px}.quest-feature,.quest-row{background:#14120e52;border:1px solid rgba(242,234,217,.08);border-radius:8px}.quest-feature{display:grid;gap:8px;padding:10px}.quest-feature span,.quest-feature small,.quest-row span{color:var(--muted)}.quest-progress{background:#00000047;border-radius:999px;height:6px;overflow:hidden}.quest-progress span{background:linear-gradient(90deg,var(--accent),var(--accent-2));display:block;height:100%}.quest-list{display:grid;gap:7px}.quest-row{align-items:center;color:inherit;cursor:pointer;display:grid;gap:8px;grid-template-columns:auto minmax(0,1fr);padding:9px;text-align:left;width:100%}.quest-row div{display:grid;gap:2px}.quest-row small{color:var(--accent-2);font-size:.72rem}.quest-row.is-selected{border-color:#d09a468c;box-shadow:inset 0 0 0 1px #d09a4638}.quest-row.is-complete{border-color:#7e9d624d;opacity:.82}.toast{border-color:#d09a466b;border-radius:8px;bottom:max(14px,env(safe-area-inset-bottom));color:var(--text);left:50%;max-width:min(92vw,520px);padding:12px 14px;position:fixed;transform:translate(-50%);z-index:120}.loading-screen{align-items:center;background:var(--bg);color:var(--text);display:flex;flex-direction:column;gap:10px;justify-content:center;min-height:100dvh;padding:24px;text-align:center}.loading-screen h1,.loading-screen p{margin:0}.loading-screen span{color:var(--muted);font-size:.92rem}.auth-shell{align-items:center;background:radial-gradient(circle at 52% 18%,rgba(208,154,70,.16),transparent 24rem),linear-gradient(145deg,#151410,#241f18 55%,#14140f);display:flex;justify-content:center;min-height:100dvh;overflow:hidden;padding:max(18px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));width:100vw}.auth-panel{background:#28241beb;border:1px solid rgba(208,154,70,.22);border-radius:8px;box-shadow:var(--shadow);min-width:0;max-width:430px;padding:18px;width:min(100%,calc(100vw - 28px))}.auth-mark{align-items:center;display:block;gap:14px;margin-bottom:16px}.auth-mark svg{color:var(--accent-2);flex:0 0 auto}.auth-mark div{min-width:0}.auth-mark h1{font-size:1.55rem;line-height:1;margin:0 0 6px}.auth-mark p{color:var(--muted);line-height:1.35;margin:16px 0 0;overflow-wrap:anywhere;text-align:center;word-break:break-word}.auth-tabs{background:#0a090742;border:1px solid rgba(242,234,217,.08);border-radius:8px;display:grid;gap:4px;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;padding:4px}.auth-tabs button{align-items:center;background:transparent;border:0;border-radius:6px;color:var(--muted);cursor:pointer;display:inline-flex;gap:7px;justify-content:center;min-width:0;min-height:38px;overflow:hidden;text-overflow:ellipsis;width:100%}.auth-tabs button.is-active{background:#d09a4629;color:var(--text)}.auth-form{display:grid;gap:12px;margin-top:16px}.auth-form label{color:var(--muted);display:grid;font-size:.86rem;gap:6px}.auth-form input{background:#0a09076b;border:1px solid rgba(242,234,217,.14);border-radius:7px;color:var(--text);min-height:42px;padding:0 11px}.auth-error{background:#c461531f;border:1px solid rgba(196,97,83,.32);border-radius:7px;color:#efb5ac;font-size:.88rem;line-height:1.35;margin:0;padding:9px 10px}.auth-submit{margin-top:0}.spin{animation:spin 1.1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1120px){body{overflow:auto;overflow-x:hidden}.app-shell{height:auto;min-height:100dvh}.game-layout{grid-template-columns:1fr;height:auto;overflow:visible}.world-command-layout{gap:8px;grid-template-columns:1fr;overflow:visible;position:relative}.target-dock{bottom:12px;left:12px;max-height:min(42dvh,360px);overflow-y:auto;padding-right:0;pointer-events:none;position:absolute;right:auto;width:min(430px,calc(100% - 24px));z-index:12}.target-dock.is-floating-empty{display:none}.target-dock .target-panel{background:#18140ef0;border-color:#efd49957;box-shadow:0 18px 44px #00000057;min-height:0;overflow-y:auto;pointer-events:auto;position:relative}.world-command-layout .map-renderer-shell{order:1}.map-frame{min-height:min(72dvh,760px)}.map-renderer-shell .map-stage{height:auto}.village-interior-layout{grid-template-columns:1fr;grid-template-rows:auto auto;overflow-y:auto}.village-interior{min-height:0;order:1}.interior-building-panel{order:2;overflow:visible}.side-rail{grid-template-columns:repeat(2,minmax(0,1fr));height:auto;overflow:visible;padding-right:0}.admin-asset-grid,.admin-config-grid,.admin-ai-grid,.admin-world-grid,.admin-tabs,.battle-score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.top-bar{grid-template-columns:1fr}.top-timers{flex-wrap:wrap;justify-content:flex-start;overflow:visible;padding-bottom:2px}.top-stats{justify-content:flex-start}}@media(max-width:760px){.app-shell{gap:8px;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.top-stats{justify-content:flex-start;width:100%}.top-timers{width:100%}.timer-pill{flex:0 0 auto;min-height:30px;padding:0 8px}.timer-pill span{max-width:92px}.timer-tooltip{left:0;transform:none}.notification-popover{left:auto;min-width:min(310px,calc(100vw - 22px));right:-44px}.status-pill{font-size:.78rem;min-height:30px}.resource-bar{gap:5px;grid-template-columns:repeat(5,minmax(0,1fr))}.resource-chip:last-child{grid-column:auto}.resource-chip{display:grid;justify-items:center;min-height:52px;padding:6px 4px}.resource-chip__head{color:var(--accent-2);display:flex;justify-content:center;min-height:20px}.resource-chip__label,.resource-chip strong,.resource-chip__meta{display:none}.resource-chip__mobile-stock{align-items:center;display:grid;gap:2px;justify-items:center;margin-top:3px;min-width:0}.resource-chip__mobile-stock strong{color:var(--text);display:block;font-size:clamp(.62rem,2.45vw,.78rem);line-height:1;max-width:100%;overflow:hidden;text-overflow:ellipsis}.resource-chip__mobile-stock span{color:var(--accent-2);font-size:.58rem;font-weight:800;line-height:1}.resource-chip .meter{display:block;height:3px;margin-top:4px;width:100%}.resource-chip__meta span:last-child{display:none}.resource-chip__popover{bottom:auto;left:max(8px,env(safe-area-inset-left));max-width:calc(100vw - 16px - env(safe-area-inset-left) - env(safe-area-inset-right));min-width:0;position:fixed;right:max(8px,env(safe-area-inset-right));top:calc(max(8px,env(safe-area-inset-top)) + 118px);width:auto}.resource-chip .game-icon-img,.resource-chip .game-icon-inline,.resource-chip .game-icon-mask,.resource-chip__head svg{height:19px!important;width:19px!important}.resource-chip .game-icon-mask{background:var(--accent-2)}.game-layout,.world-command-layout{gap:8px}.target-dock{bottom:8px;left:8px;max-height:min(46dvh,360px);right:8px;width:auto}.target-dock__close{display:inline-flex;pointer-events:auto}.target-dock .target-panel{max-height:inherit;overflow-y:auto;padding:34px 10px 10px}.target-dock .target-stats,.target-dock .target-decision-card,.target-dock .target-loot-grid,.target-dock .expedition-plan{gap:5px;grid-template-columns:repeat(3,minmax(0,1fr))}.target-dock .target-loot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.target-dock .target-stats div,.target-dock .target-decision-card div,.target-dock .expedition-plan div{min-height:0;padding:6px}.target-dock .target-stats span,.target-dock .target-decision-card span,.target-dock .expedition-plan span{font-size:.64rem}.target-dock .target-stats strong,.target-dock .target-decision-card strong,.target-dock .expedition-plan strong{font-size:.74rem;line-height:1.12}.target-dock .target-loot-grid>span{min-height:34px;padding:5px 6px}.target-dock .target-loot-grid b{font-size:.82rem}.target-dock .panel-heading{margin-bottom:8px}.target-dock .target-description{display:none}.target-dock .strategic-control-banner{gap:6px;margin:8px 0;padding:7px}.target-dock .strategic-control-banner__mark{height:30px;width:30px}.target-dock .strategic-control-banner span{font-size:.59rem}.target-dock .strategic-control-banner strong{font-size:.76rem}.target-dock .unit-list{max-height:128px;overflow-y:auto}.map-chat{bottom:8px;height:176px;max-height:32dvh;min-height:132px;min-width:220px;right:8px;width:min(300px,calc(100% - 16px))}.map-chat__header{min-height:30px;padding:6px 8px}.map-chat__messages{gap:5px;padding:7px 8px}.map-chat__form{grid-template-columns:minmax(0,1fr) 32px;padding:6px}.map-intel{max-height:30dvh;right:50px;top:8px;width:min(320px,calc(100% - 58px))}.map-intel.is-collapsed{width:min(220px,calc(100% - 58px))}.map-intel__header{min-height:30px;padding:6px 8px}.map-intel__tabs{gap:5px;padding:6px}.map-intel__body{padding:0 6px 6px}.map-threat-alerts{max-height:26dvh;max-width:calc(100% - 58px);overflow-y:auto;right:50px;top:44px;width:min(320px,calc(100% - 58px))}.map-threat-alert{gap:7px;grid-template-columns:30px minmax(0,1fr) 22px;padding:8px}.map-threat-alert__icon{height:30px;width:30px}.map-threat-alert__content strong{font-size:.78rem}.map-threat-alert__content p{font-size:.7rem}.training-unit-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.training-unit-button{min-height:92px;padding:8px 5px}.training-unit-button>span:not(.training-unit-icon){display:block;font-size:.64rem}.training-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.resource-cost-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.training-controls{grid-template-columns:36px minmax(54px,1fr) 36px 52px}.battle-sim-mode,.battle-sim-main-grid,.battle-sim-losses,.battle-sim-options{grid-template-columns:1fr}.battle-simulator--full{min-height:0}.battle-sim-result{grid-template-columns:repeat(2,minmax(0,1fr))}.battle-sim-unit-grid label{grid-template-columns:28px minmax(0,1fr)}.battle-sim-unit-grid label>div{grid-column:1 / -1}.battle-sim-field{grid-template-columns:1fr}.map-frame{min-height:auto;padding:3px}.map-stage{gap:6px}.map-legend:not(.map-legend--floating){display:none}.map-legend--floating{left:8px;top:8px}.map-legend__body{grid-template-columns:1fr}.pixi-map-frame{height:auto}.pixi-map-host{aspect-ratio:4 / 5;height:auto;min-height:0;width:min(100%,calc(100vw - 16px))}.world-map{max-height:52dvh}.village-interior{min-height:0}.village-interior-stage{border-radius:0}.village-interior-layout{gap:8px;padding:8px}.village-interior-toolbar{align-items:stretch;flex-direction:column}.village-interior-toolbar__title{text-align:left}.interior-building-panel{font-size:.92rem}.interior-village-stats,.interior-building-panel__facts,.side-rail,.admin-asset-grid,.admin-config-grid,.admin-ai-grid,.admin-form-grid,.admin-world-grid,.admin-tabs,.battle-score-grid{grid-template-columns:1fr}.admin-field--wide,.admin-editor-card--wide{grid-column:auto}.panel{padding:12px}.production-grid,.target-stats,.target-decision-card,.garrison-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.building-row__main{align-items:stretch;flex-direction:column}.level-chip{width:max-content}.target-actions{grid-template-columns:1fr}.preset-row{grid-template-columns:repeat(2,minmax(0,1fr))}.unit-row{align-items:stretch;grid-template-columns:1fr}.unit-stepper{grid-template-columns:36px minmax(72px,1fr) 36px 52px}}@media(max-width:480px){.auth-panel{max-width:338px}.auth-tabs button{font-size:.88rem;gap:5px}.target-stats,.target-decision-card,.garrison-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.target-dock .expedition-plan{grid-template-columns:repeat(2,minmax(0,1fr))}.target-dock .strategic-control-banner{grid-template-columns:auto minmax(0,1fr)}.target-dock .strategic-control-banner>div:last-child{grid-column:2}.resource-bar{grid-template-columns:repeat(5,minmax(0,1fr))}}.mobile-mode-backdrop{align-items:center;background:#060504b8;display:flex;inset:0;justify-content:center;padding:18px;position:fixed;z-index:120}.mobile-mode-modal{background:linear-gradient(180deg,#362e22fa,#181611fa),var(--panel);border:1px solid rgba(208,154,70,.34);border-radius:8px;box-shadow:0 24px 80px #00000094;display:grid;gap:14px;max-width:420px;padding:18px;width:min(100%,420px)}.mobile-mode-modal__icon{align-items:center;background:#d09a4629;border:1px solid rgba(208,154,70,.35);border-radius:8px;color:var(--accent-2);display:inline-flex;height:54px;justify-content:center;width:54px}.mobile-mode-modal strong{display:block;font-size:1.1rem;margin-bottom:6px}.mobile-mode-modal p{color:var(--muted);line-height:1.45;margin:0}.mobile-mode-actions{display:grid;gap:8px;grid-template-columns:1fr}.rebalance-notice-backdrop{align-items:center;background:#060504c2;display:flex;inset:0;justify-content:center;padding:18px;position:fixed;z-index:125}.rebalance-notice-modal{background:linear-gradient(180deg,#362e22fa,#181611fa),var(--panel);border:1px solid rgba(208,154,70,.34);border-radius:8px;box-shadow:0 24px 80px #0000009e;display:grid;gap:14px;max-height:min(88vh,620px);overflow:auto;padding:22px;position:relative;width:min(100%,480px)}.rebalance-notice-close{position:absolute;right:12px;top:12px}.rebalance-notice-modal__icon{align-items:center;background:#d09a4629;border:1px solid rgba(208,154,70,.35);border-radius:8px;color:var(--accent-2);display:inline-flex;height:54px;justify-content:center;width:54px}.rebalance-notice-modal strong{display:block;font-size:1.1rem;margin-bottom:6px}.rebalance-notice-modal p{color:var(--muted);line-height:1.45;margin:0}.rebalance-notice-list{color:var(--muted);display:grid;gap:8px;line-height:1.4;margin:0;padding-left:18px}.changelog-modal{width:min(100%,620px)}.changelog-list{display:grid;gap:12px}.changelog-section{background:#fff4d60b;border:1px solid rgba(208,154,70,.14);border-radius:8px;display:grid;gap:8px;padding:12px}.changelog-section small{color:var(--muted);font-size:.72rem;font-weight:850}.changelog-section h3{color:var(--accent-2);font-size:.96rem;margin:0}.changelog-section ul{color:var(--muted);display:grid;gap:6px;line-height:1.42;margin:0;padding-left:18px}.game-update-backdrop{align-items:center;background:#060504c7;display:flex;inset:0;justify-content:center;padding:18px;position:fixed;z-index:180}.game-update-modal{background:linear-gradient(180deg,#362e22fa,#181611fa),var(--panel);border:1px solid rgba(208,154,70,.38);border-radius:8px;box-shadow:0 24px 80px #000000a3;display:grid;gap:14px;justify-items:start;max-width:min(460px,100%);padding:22px;width:100%}.game-update-modal__icon{align-items:center;border-radius:8px;display:inline-flex;height:56px;justify-content:center;width:56px}.game-update-modal__icon.is-working{background:#d09a4629;border:1px solid rgba(208,154,70,.35);color:var(--accent-2)}.game-update-modal__icon.is-complete{background:#7e9d6229;border:1px solid rgba(126,157,98,.38);color:var(--good)}.game-update-modal strong{display:block;font-size:1.12rem;margin-bottom:6px}.game-update-modal p,.game-update-modal__note{color:var(--muted);line-height:1.45;margin:0}.game-update-modal__note{font-size:.82rem}.mobile-command-bar{background:#15130feb;border:1px solid rgba(208,154,70,.18);border-radius:8px;display:grid;gap:4px;grid-template-columns:repeat(5,minmax(0,1fr));order:4;padding:5px;z-index:45}.mobile-command-bar button{align-items:center;background:transparent;border:1px solid transparent;border-radius:7px;color:var(--muted);cursor:pointer;display:grid;font-size:.68rem;gap:2px;justify-items:center;min-height:46px;padding:4px 2px}.mobile-command-bar button.is-active{background:#d09a4629;border-color:#d09a4657;color:var(--accent-2)}.app-shell--mobile .village-interior-toolbar{align-items:center;flex-direction:row;gap:6px;grid-template-columns:auto minmax(0,1fr);justify-content:space-between}.app-shell--mobile .village-interior-toolbar .secondary-action{flex:0 0 auto;min-height:40px;padding-inline:12px}.app-shell--mobile .village-interior-toolbar__title{display:none}.app-shell--mobile .village-interior-toolbar__stats{display:grid;flex:1 1 auto;gap:5px;grid-template-columns:repeat(3,minmax(0,1fr));min-width:0}.app-shell--mobile .village-interior-toolbar__stats span{align-items:center;background:#f2ead90e;border:1px solid rgba(242,234,217,.09);border-radius:7px;color:var(--muted);display:grid;gap:1px;grid-template-columns:auto minmax(0,1fr);min-width:0;padding:5px 6px}.app-shell--mobile .village-interior-toolbar__stats svg{color:var(--accent-2);grid-row:1 / 3}.app-shell--mobile .village-interior-toolbar__stats b{font-size:.58rem;font-weight:750;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.app-shell--mobile .village-interior-toolbar__stats strong{color:var(--text);font-size:.76rem;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-command-menu,.mobile-command-detail{display:grid;gap:10px}.mobile-command-menu header,.mobile-command-detail>header{align-items:center;display:flex;gap:10px;justify-content:space-between}.mobile-command-menu header,.mobile-command-detail>header div{min-width:0}.mobile-command-menu header strong,.mobile-command-detail>header strong{display:block;font-size:1rem}.mobile-command-menu header span,.mobile-command-detail>header span{color:var(--muted);display:block;font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-command-menu__grid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-command-menu__grid button{align-items:start;background:#f2ead90e;border:1px solid rgba(242,234,217,.09);border-radius:8px;color:var(--text);cursor:pointer;display:grid;gap:5px;min-height:96px;padding:10px;text-align:left}.mobile-command-menu__grid button svg{color:var(--accent-2)}.mobile-command-menu__grid button span{color:var(--muted);font-size:.72rem;line-height:1.2}.mobile-command-detail__body{max-height:calc(min(64dvh,540px) - 58px);overflow-y:auto;padding-right:2px}@media(max-width:900px),(pointer:coarse){.app-shell--mobile{gap:7px;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden;padding:max(7px,env(safe-area-inset-top)) max(7px,env(safe-area-inset-right)) max(7px,env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left))}.app-shell--mobile .top-bar{background:#161410d6;border:1px solid rgba(208,154,70,.14);border-radius:8px;display:grid;gap:6px;grid-template-columns:minmax(0,1fr) auto;min-height:0;padding:7px}.app-shell--mobile .brand-lockup{gap:7px}.app-shell--mobile .brand-lockup h1{font-size:1rem}.app-shell--mobile .brand-lockup span{display:block;font-size:.68rem;max-width:46vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell--mobile .mobile-status-toggle{align-items:center;background:#28241be0;border:1px solid rgba(208,154,70,.18);border-radius:8px;color:var(--text);cursor:pointer;display:grid;gap:4px;grid-template-columns:repeat(4,minmax(28px,1fr)) 18px;min-height:36px;min-width:min(48vw,190px);padding:4px 6px}.app-shell--mobile .mobile-status-toggle span{align-items:center;background:#f2ead90b;border-radius:6px;color:var(--muted);display:inline-flex;font-size:.66rem;gap:3px;justify-content:center;min-height:26px;min-width:0;overflow:hidden;padding:0 3px;text-overflow:ellipsis;white-space:nowrap}.app-shell--mobile .mobile-status-toggle span.has-alert{background:#c461532e;color:#ffd2c9}.app-shell--mobile .mobile-status-toggle svg{color:var(--accent-2);flex:0 0 auto}.app-shell--mobile .mobile-status-toggle>svg{justify-self:center;transition:transform .16s ease}.app-shell--mobile .mobile-status-toggle.is-open>svg{transform:rotate(180deg)}.app-shell--mobile .top-stats{background:#110f0cf0;border:1px solid rgba(208,154,70,.16);border-radius:8px;display:none;gap:6px;grid-column:1 / -1;grid-template-columns:repeat(3,minmax(0,1fr));justify-content:stretch;overflow:visible;padding:6px;scrollbar-width:none}.app-shell--mobile .top-stats.is-mobile-open{display:grid}.app-shell--mobile .top-stats::-webkit-scrollbar,.app-shell--mobile .top-timers::-webkit-scrollbar{display:none}.app-shell--mobile .status-pill,.app-shell--mobile .login-reward-pill,.app-shell--mobile .icon-action{flex:0 0 auto;justify-content:center;min-height:32px}.app-shell--mobile .top-stats .status-pill,.app-shell--mobile .top-stats .login-reward-pill,.app-shell--mobile .top-stats .icon-action{border-radius:7px;width:100%}.app-shell--mobile .top-stats .ranking-wrap,.app-shell--mobile .top-stats .notification-wrap{min-width:0;width:100%}.app-shell--mobile .status-pill span,.app-shell--mobile .login-reward-pill span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell--mobile .top-timers{grid-column:1 / -1;justify-content:flex-start;overflow-x:auto;padding-bottom:1px;width:100%}.app-shell--mobile .timer-pill{flex:0 0 auto;min-height:31px}.app-shell--mobile .timer-pill span{max-width:104px}.app-shell--mobile .resource-bar{background:#161410d1;border:1px solid rgba(208,154,70,.12);border-radius:8px;gap:4px;grid-template-columns:repeat(5,minmax(0,1fr));padding:5px}.app-shell--mobile .resource-chip{background:#f2ead90b;border-radius:7px;min-height:44px;padding:5px 3px}.app-shell--mobile .resource-chip__head{gap:0}.app-shell--mobile .resource-chip__mobile-stock strong{font-size:clamp(.58rem,2.35vw,.72rem)}.app-shell--mobile .game-layout{display:block;min-height:0;overflow:hidden;position:relative}.app-shell--mobile .world-command-layout{display:block;height:100%;min-height:0;position:relative}.app-shell--mobile .map-renderer-shell,.app-shell--mobile .map-renderer-pane,.app-shell--mobile .map-stage,.app-shell--mobile .map-frame,.app-shell--mobile .pixi-map-frame{height:100%;min-height:0}.app-shell--mobile .map-renderer-shell{border-radius:8px;overflow:hidden}.app-shell--mobile .pixi-map-host{aspect-ratio:auto;height:100%;min-height:0;width:100%}.app-shell--mobile .target-dock{bottom:8px;left:8px;max-height:min(48dvh,390px);right:8px;width:auto;z-index:52}.app-shell--mobile .target-dock.is-floating-empty,.app-shell--mobile .map-intel,.app-shell--mobile .map-chat,.app-shell--mobile .side-rail{display:none}.app-shell--mobile .mobile-tab-reports .map-intel{display:grid;inset:auto 8px 8px;max-height:min(58dvh,460px);width:auto;z-index:58}.app-shell--mobile .mobile-tab-chat .map-chat{bottom:8px;display:grid;height:min(48dvh,390px);left:8px;max-height:none;right:8px;width:auto;z-index:58}.app-shell--mobile .mobile-tab-command .side-rail{background:#15130ff5;border:1px solid rgba(208,154,70,.2);border-radius:8px;bottom:8px;box-shadow:var(--shadow);display:grid;gap:8px;left:8px;max-height:min(64dvh,540px);overflow-y:auto;padding:8px;position:absolute;right:8px;z-index:59}.app-shell--mobile .mobile-tab-command .side-rail .panel{padding:10px}.app-shell--mobile .village-interior-layout{display:grid;gap:8px;grid-template-rows:auto minmax(0,1fr);height:100%;overflow-y:auto;padding:8px}.app-shell--mobile .village-interior-layout.is-building-page{grid-template-rows:minmax(0,1fr)}.app-shell--mobile .village-interior-toolbar{align-items:center;border-radius:8px 8px 0 0;flex-direction:row;gap:6px;grid-template-columns:auto minmax(0,1fr);justify-content:space-between;margin:0;padding:8px}.app-shell--mobile .village-interior-toolbar .secondary-action{flex:0 0 auto;min-height:40px;padding:8px 12px}.app-shell--mobile .village-interior-toolbar .secondary-action span,.app-shell--mobile .village-interior-toolbar__title{display:none}.app-shell--mobile .village-interior-toolbar__stats{display:grid;flex:1 1 auto;gap:5px;grid-template-columns:repeat(3,minmax(0,1fr));min-width:0}.app-shell--mobile .village-interior-toolbar__stats span{align-items:center;background:#f2ead90e;border:1px solid rgba(242,234,217,.09);border-radius:7px;color:var(--muted);display:grid;gap:1px;grid-template-columns:auto minmax(0,1fr);min-width:0;padding:5px 6px}.app-shell--mobile .village-interior-toolbar__stats svg{color:var(--accent-2);grid-row:1 / 3}.app-shell--mobile .village-interior-toolbar__stats b{font-size:.58rem;font-weight:750;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.app-shell--mobile .village-interior-toolbar__stats strong{color:var(--text);font-size:.76rem;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell--mobile .village-interior{display:none}.app-shell--mobile .village-interior-stage{border-radius:0 0 8px 8px;min-height:0}.app-shell--mobile .interior-building-panel{border-radius:8px;max-height:none;order:2;overflow-y:auto;padding:10px}.app-shell--mobile .village-interior-layout.is-building-page .interior-building-panel{order:1}.app-shell--mobile .mobile-building-back{margin-bottom:2px}.app-shell--mobile .mobile-city-preview{height:100%;order:1}.app-shell--mobile .mobile-city-preview__scroll .village-interior{display:block;height:auto;max-width:none;min-width:860px;width:860px}.app-shell--mobile .interior-building-panel--empty{display:grid;order:2}.app-shell--mobile .mobile-building-grid{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));order:1}.app-shell--mobile .interior-building-panel .eyebrow,.app-shell--mobile .interior-building-panel>p,.app-shell--mobile .interior-village-stats{display:none}.app-shell--mobile .interior-building-panel h2{font-size:1rem;line-height:1.12}.app-shell--mobile .interior-building-panel__facts{gap:5px;grid-template-columns:repeat(3,minmax(0,1fr))}.app-shell--mobile .interior-building-panel__facts span{align-items:center;display:grid;font-size:.62rem;gap:2px;justify-items:center;line-height:1.05;min-height:42px;padding:5px 4px;text-align:center}.app-shell--mobile .interior-building-panel__facts b{font-size:.82rem}.app-shell--mobile .interior-upgrade-note,.app-shell--mobile .interior-build-progress{padding:8px}.app-shell--mobile .interior-upgrade-note span,.app-shell--mobile .interior-build-progress p{font-size:.78rem;line-height:1.28}.app-shell--mobile .toast{bottom:calc(64px + env(safe-area-inset-bottom));left:10px;max-width:calc(100vw - 20px);right:10px;text-align:center}.app-shell--mobile .ranking-popover,.app-shell--mobile .notification-popover,.app-shell--mobile .stat-info-popover{left:max(8px,env(safe-area-inset-left));max-width:none;min-width:0;position:fixed;right:max(8px,env(safe-area-inset-right));top:calc(max(8px,env(safe-area-inset-top)) + 72px);width:auto;z-index:80}.app-shell--mobile .login-reward-modal,.app-shell--mobile .denar-confirm-modal{width:min(100%,420px)}}img.game-icon-img.game-icon-img--raster-min{height:var(--game-icon-raster-size, 25px)!important;min-height:25px;min-width:25px;width:var(--game-icon-raster-size, 25px)!important}
