:root{color:#403c36;font-synthesis:none;text-rendering:optimizelegibility;--color-ink:#403c36;--color-ink-soft:#70685f;--color-line:#cfc4b5;--color-paper:#fff9ed;--color-paper-deep:#f3e9d8;--color-map:#e9e2d5;--color-leaf:#b7d2a6;--color-leaf-deep:#71916a;--color-water:#b9d8e8;--color-coral:#dc8d7d;--color-focus:#3e6d78;--color-progress-health:#ffd24a;--terrain-plain:#c9dda7;--terrain-forest:#94bd91;--terrain-mountain:#b7b1a8;--terrain-river:#9bc7d5;--terrain-sea:#83b6c8;--function-agriculture:#d8b27a;--function-residential:#d99a9d;--function-business:#8cb5d0;--function-industrial:#aaa9b5;--function-military:#89a88d;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--panel-width:360px;--topbar-height:84px;--motion-fast:.1s;--motion-normal:.18s;--ease-soft:cubic-bezier(.2, .8, .2, 1);--shadow-small:0 2px 5px #4a443e1f;--shadow-medium:0 6px 16px #4a443e24;background:#dce8d8;font-family:Pretendard,SUIT,Malgun Gothic,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100vh}html[data-text-scale=LARGE] .app-shell,html[data-text-scale=LARGE] .app-error-boundary{zoom:1.125}html[data-contrast=HIGH]{--color-ink:#171512;--color-ink-soft:#38322b;--color-line:#5c554d;--color-paper:#fffef8;--color-paper-deep:#e5ddce;--color-focus:#00566f}html[data-contrast=HIGH] body{color:var(--color-ink);background:#fffef8}html[data-motion=REDUCED]{--motion-fast:0s;--motion-normal:0s}html[data-motion=REDUCED] *,html[data-motion=REDUCED] :before,html[data-motion=REDUCED] :after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}button,input,select,textarea{font:inherit}button{color:inherit}.app-shell button,.ui-modal button{min-height:36px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-sm);color:var(--color-ink);background:var(--color-paper);box-shadow:none;cursor:pointer;transition:border-color var(--motion-fast) var(--ease-soft), background var(--motion-fast) var(--ease-soft), box-shadow var(--motion-fast) var(--ease-soft);font-weight:800;line-height:1.2}.app-shell button:not(:disabled):hover,.ui-modal button:not(:disabled):hover{background:#fffdf7;background:var(--color-paper-deep);border-color:#9c8f7f;box-shadow:0 2px 5px #4a443e1f}.app-shell button:not(:disabled):active,.ui-modal button:not(:disabled):active{box-shadow:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.56}.app-shell{min-height:100vh}.app-shell[data-route=game]{min-height:0;position:fixed;inset:0;overflow:hidden}.app-error-boundary{min-height:100vh;padding:var(--space-5);background:linear-gradient(135deg,#dcebd8,#b8d7e4);place-items:center;display:grid}.app-error-boundary__card{border:2px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-paper);width:min(100%,620px);box-shadow:var(--shadow-medium);padding:clamp(24px,5vw,48px)}.app-error-boundary__card h1{margin:var(--space-2) 0 var(--space-3)}.app-error-boundary__card>p:not(.region-label){color:var(--color-ink-soft);line-height:1.65}.app-error-boundary__actions{gap:var(--space-2);margin:var(--space-5) 0;flex-wrap:wrap;display:flex}.app-error-boundary__actions button{min-height:42px;padding:0 var(--space-4);border:2px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-paper-deep);cursor:pointer;font-weight:900}.app-error-boundary__card details{color:var(--color-ink-soft)}.app-error-boundary__card summary{cursor:pointer;font-weight:800}.app-error-boundary__card pre{max-height:180px;padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-paper-deep);white-space:pre-wrap;overflow:auto}.skip-link{z-index:100;top:var(--space-3);left:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);color:#fff;background:var(--color-focus);transition:transform var(--motion-fast) var(--ease-soft);position:fixed;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.menu-screen,.setup-screen{background:radial-gradient(circle at 78% 18%,#fff9edb8 0 9rem,#0000 9.1rem),linear-gradient(135deg,#dcebd8,#c8dfdc 55%,#b8d7e4);place-items:center;min-height:100vh;padding:clamp(24px,5vw,72px);display:grid;position:relative;overflow:hidden}.eyebrow,.region-label{color:#9b5d56;letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:12px;font-weight:800}.menu-actions{gap:var(--space-3);display:grid}.menu-actions button,.primary-action,.text-action{border:2px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-paper-deep);cursor:pointer;min-height:48px;transition:transform var(--motion-fast) var(--ease-soft), box-shadow var(--motion-fast) var(--ease-soft), background var(--motion-fast) var(--ease-soft);font-weight:800}.menu-actions button:not(:disabled):hover,.primary-action:hover,.text-action:hover{transform:translateY(-2px)}.menu-actions .primary-action,.primary-action{color:#233724;background:#b9d7a7;border-color:#597558;box-shadow:0 5px #789b71}.session-load-form{gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-4);border-top:2px solid var(--color-line);display:grid}.session-load-form>label{color:var(--color-ink-soft);font-size:12px;font-weight:800}.session-load-form>div{gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;display:grid}.session-load-form input{min-width:0;padding:var(--space-2) var(--space-3);border:2px solid var(--color-line);border-radius:var(--radius-sm);font:inherit;letter-spacing:.08em;text-transform:uppercase}.session-load-form p{color:#a14743;margin:0;font-size:12px}.text-action{min-height:36px;margin-bottom:var(--space-5);padding:0 var(--space-3);background:0 0;border-color:#0000}.new-game-form,.settings-form{gap:var(--space-4);margin-top:var(--space-5);display:grid}.settings-form>label:not(.settings-form__check){gap:var(--space-1);color:var(--color-ink-soft);font-size:13px;font-weight:800;display:grid}.settings-form select,.settings-form>button{min-height:42px;padding:var(--space-2) var(--space-3);border:2px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-paper-deep);color:var(--color-ink)}.settings-form__check{align-items:center;gap:var(--space-2);font-weight:800;display:flex}.settings-form__check input{width:20px;height:20px;accent-color:var(--color-focus)}.settings-card__message{color:var(--color-ink-soft);font-size:13px;font-weight:800;margin-bottom:0!important}.new-game-form fieldset{gap:var(--space-3);min-width:0;padding:var(--space-4);border:2px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-paper-deep);display:grid}.new-game-form legend{padding:0 var(--space-2);font-weight:900}.new-game-form label{gap:var(--space-1);color:var(--color-ink-soft);font-size:13px;font-weight:700;display:grid}.new-game-form input,.new-game-form select{width:100%;min-height:42px;padding:var(--space-2) var(--space-3);border:2px solid var(--color-line);border-radius:var(--radius-sm);color:var(--color-ink);background:var(--color-paper);font:inherit}.new-game-form fieldset>p{color:var(--color-ink-soft);margin:0;font-size:13px}.external-screen{--external-ink:#26342e;--external-muted:#26342ead;--external-accent:#8f6223;--external-line:#36484040;--external-field:#fffdf68a;min-height:100vh;color:var(--external-ink);background:0 0;padding:0;display:block;position:relative;overflow:hidden auto}.app-shell:not([data-route=game]){background:#dce8e1}.menu-map-backdrop{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.menu-map-backdrop__drift{filter:brightness(1.06)saturate(.9)contrast(.98);transform-origin:50%;animation:48s ease-in-out infinite alternate menu-map-drift;position:absolute;inset:0}.menu-map-backdrop .hex-map-viewport{border-radius:0}.menu-map-backdrop .hex-map{cursor:default}.menu-map-backdrop__shade{background:linear-gradient(90deg,#f8f6ede6 0,#f8f6edbd 24%,#f8f6ed40 57%,#f8f6ed0a 100%),linear-gradient(#0000 42%,#f1f4ed38);position:absolute;inset:0}@keyframes menu-map-drift{0%{transform:scale(2.4)translate(-3.2%,-1.6%)}50%{transform:scale(2.58)translate(1.4%,-2.4%)}to{transform:scale(2.48)translate(3%,2%)}}.external-screen__content{z-index:1;flex-direction:column;justify-self:start;align-items:flex-start;width:min(680px,100%);min-height:100vh;margin:0 auto 0 0;padding:clamp(64px,9vh,108px) clamp(36px,4.5vw,72px) clamp(48px,7vh,84px);display:flex;position:relative;inset-inline-start:0}.menu-screen__content{text-align:left;width:min(760px,100%);margin-left:0;position:relative;left:0}.menu-title,.setup-screen__content>h1{width:max-content;max-width:none;color:var(--external-ink);letter-spacing:-.065em;text-shadow:0 2px 18px #ffffffb8;white-space:nowrap;margin:0;font-size:clamp(56px,7vw,100px);font-weight:850;line-height:.98}.menu-actions{flex-direction:column;align-items:flex-start;gap:2px;margin-top:auto;display:flex}.app-shell button.external-text-action,.app-shell button.external-back-action,.app-shell button.external-inline-action,.app-shell button.external-submit-action{color:inherit;box-shadow:none;text-align:left;white-space:nowrap;background:0 0;border:0;border-radius:0;position:relative}.app-shell button.external-text-action:not(:disabled):hover,.app-shell button.external-back-action:not(:disabled):hover,.app-shell button.external-inline-action:not(:disabled):hover,.app-shell button.external-submit-action:not(:disabled):hover{color:var(--external-ink);box-shadow:none;background:0 0;border:0}.app-shell button.external-text-action{letter-spacing:-.025em;white-space:nowrap;min-width:min(420px,82vw);min-height:64px;padding:9px 18px 9px 8px;font-size:clamp(28px,2.8vw,40px);font-weight:720}.external-text-action:before{background:var(--external-accent);content:"";opacity:0;width:10px;height:2px;transition:width var(--motion-fast) var(--ease-soft), opacity var(--motion-fast) var(--ease-soft), transform var(--motion-fast) var(--ease-soft);position:absolute;top:50%;left:-12px;transform:translate(-6px,-50%)}.external-text-action:hover:before,.external-text-action:focus-visible:before{opacity:1;width:18px;transform:translateY(-50%)}.app-shell button.external-back-action{min-height:42px;color:var(--external-muted);margin:-12px 0 clamp(28px,5vh,56px);padding:8px 18px 8px 0;font-size:15px;font-weight:760}.external-back-action span{transition:transform var(--motion-fast) var(--ease-soft);margin-right:8px;display:inline-block}.external-back-action:hover span{transform:translate(-4px)}.setup-screen__content>p{max-width:520px;color:var(--external-muted);margin:20px 0 0;font-size:15px;line-height:1.65}.external-form{width:min(520px,100%);margin-top:clamp(34px,6vh,64px)}.setup-screen__body{width:min(520px,100%);margin-top:clamp(34px,5vh,52px)}.new-game-screen{height:100vh;min-height:0;overflow:hidden}.new-game-screen__content{width:min(1040px,100%);height:100vh;min-height:0}.new-game-screen .new-game-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 34px;width:min(900px,100%);margin-top:clamp(30px,4vh,44px);display:grid}.new-game-screen .new-game-form fieldset{gap:10px;padding:12px 0 14px}.new-game-form__opponent-settings,.new-game-screen .external-submit-action{grid-column:1/-1}.new-game-form__opponent-layout{grid-template-columns:minmax(210px,.85fr) minmax(0,2.15fr);gap:28px;display:grid}.new-game-form__opponent-controls{gap:10px;min-width:0;display:grid}.new-game-form__opponent-names{grid-template-columns:minmax(0,1fr);align-content:start;gap:18px;min-width:0;display:grid}.new-game-form__opponent-names[data-opponent-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.new-game-form__opponent-names[data-opponent-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.new-game-screen .external-submit-action{margin-top:0}@media (height<=760px){.new-game-screen .new-game-form{gap:6px 28px;margin-top:22px}.new-game-screen .new-game-form fieldset{gap:8px;padding:10px 0 11px}.new-game-screen .new-game-form input,.new-game-screen .new-game-form select{min-height:38px;padding-block:5px}.new-game-screen .external-submit-action{min-height:42px;padding-block:5px}.new-game-form__opponent-layout,.new-game-form__opponent-controls{gap:8px 20px}}.new-game-form fieldset{border:0;border-top:1px solid var(--external-line);background:0 0;border-radius:0;gap:18px;min-width:0;margin:0;padding:26px 0 30px;display:grid}.new-game-form legend{color:var(--external-ink);padding:0 18px 0 0;font-size:18px;font-weight:820}.new-game-form label,.settings-form__section>label:not(.settings-form__check),.session-load-form>label{color:var(--external-muted);letter-spacing:.035em;gap:7px;font-size:12px;font-weight:760;display:grid}.new-game-form input,.new-game-form select,.settings-form select,.session-load-form input{border:0;border-bottom:1px solid var(--external-line);width:100%;min-height:44px;color:var(--external-ink);background:var(--external-field);box-shadow:none;font:inherit;border-radius:0;padding:8px 3px}.new-game-form input:focus,.new-game-form select:focus,.settings-form select:focus,.session-load-form input:focus{border-bottom-color:var(--external-accent);background:#fffdf6c7}.new-game-form select option,.settings-form select option{color:var(--external-ink);background:#f8f6ef}.app-shell button.external-submit-action{min-height:52px;color:var(--external-accent);margin-top:12px;padding:9px 24px 9px 0;font-size:20px;font-weight:850}.external-submit-action:after{content:"→";transition:transform var(--motion-fast) var(--ease-soft);margin-left:12px;display:inline-block}.external-submit-action:hover:after{transform:translate(5px)}.settings-form{gap:24px}.settings-form.setup-screen__body{margin-top:clamp(34px,5vh,52px)}.settings-form__section,.setup-screen__section{border:0;border-top:1px solid var(--external-line);gap:16px;min-width:0;margin:0;padding:22px 0 24px;display:grid}.settings-form__section legend,.setup-screen__section legend{color:var(--external-ink);letter-spacing:-.015em;margin:0;padding:0 18px 0 0;font-size:18px;font-weight:820}.settings-form__range{color:var(--external-muted);letter-spacing:.035em;gap:9px;font-size:12px;font-weight:760;display:grid}.settings-form__range-control{grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:14px;display:grid}.settings-form__range input{width:100%;accent-color:var(--external-accent)}.settings-form__range output{color:var(--external-ink);text-align:right;font-size:14px;font-weight:800}.settings-form__check{color:var(--external-ink)}.app-shell button.external-inline-action{min-height:42px;color:var(--external-accent);text-underline-offset:5px;padding:7px 18px 7px 0;font-weight:820;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.app-shell button.external-inline-action:hover{text-decoration-color:currentColor}.external-inline-action--arrow:after{content:"→";transition:transform var(--motion-fast) var(--ease-soft);margin-left:10px;display:inline-block}.external-inline-action--arrow:hover:after{transform:translate(5px)}.settings-card__message,.session-load-form p,.continue-local-backup{color:var(--external-muted)}.continue-local-backup{margin-top:0}.continue-local-backup p{margin:0}.continue-screen__body{gap:8px;display:grid}.setup-screen__section>p{color:var(--external-muted);margin:0;font-size:14px;line-height:1.55}.session-load-form{border-top:0;gap:14px;margin-top:0;padding:0}.session-load-form>div{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px;display:grid}html[data-motion=REDUCED] .menu-map-backdrop__drift{animation:none;transform:scale(2.5)}@media (prefers-reduced-motion:reduce){.menu-map-backdrop__drift{animation:none;transform:scale(2.5)}}@media (width<=640px){.menu-map-backdrop__shade{background:#f8f6edb8}.menu-title,.setup-screen__content>h1{font-size:clamp(40px,12vw,56px)}.external-screen__content{padding-inline:26px}.session-load-form>div{grid-template-columns:1fr}}.game-screen{grid-template:"topbar" var(--topbar-height) "map" minmax(0, 1fr) / minmax(0, 1fr);background:var(--color-map);width:100%;height:100%;min-height:0;display:grid;position:relative;overflow:hidden}.game-topbar{z-index:20;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-line);background:var(--color-paper);grid-area:topbar;grid-template-columns:max-content minmax(0,1fr);align-items:center;display:grid;overflow:visible;box-shadow:0 3px 12px #493f3514}.turn-context{gap:var(--space-2);grid-auto-columns:max-content;grid-auto-flow:column;min-width:0;margin:0;display:grid}.game-topbar>div.turn-context{min-width:180px;min-height:62px;padding:var(--space-2) var(--space-3);background:#f5ecdc;border:1px solid #74695b3d;border-radius:6px;grid-auto-flow:row;align-content:center;justify-items:center;gap:0}.game-topbar>div.turn-context span{color:var(--color-ink-soft);font-size:12px;font-weight:800}.topbar-metrics{scrollbar-width:thin;grid-template-columns:repeat(5,minmax(148px,1fr));justify-self:stretch;gap:0;width:100%;min-width:0;max-width:100%;margin:0;display:grid;overflow:visible}.topbar-resources{grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:8px;min-width:0;display:grid;position:relative}.topbar-resource-info{color:#514b42;cursor:help;width:36px;height:36px;font:inherit;background:#fff9ed;border:2px solid #746b62;border-radius:50%;place-items:center;padding:0;font-size:18px;font-weight:950;line-height:1;display:inline-grid;box-shadow:0 2px 6px #2d29241f}.topbar-resource-info:hover,.topbar-resource-info:focus-visible{color:#31442e;background:#f3f7eb;border-color:#536c4f;outline:none}.topbar-resource-breakdowns{z-index:40;opacity:0;pointer-events:none;visibility:hidden;width:min(860px,100% - 52px);transition:opacity var(--motion-fast) var(--ease-soft), visibility 0s linear var(--motion-fast);grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:10px;display:grid;position:absolute;top:calc(100% + 10px);left:0}.topbar-resource-info:hover+.topbar-resource-breakdowns,.topbar-resource-info:focus-visible+.topbar-resource-breakdowns{opacity:1;visibility:visible;transition-delay:.18s}.topbar-resource-breakdown{box-sizing:border-box;min-width:0;min-height:92px;color:var(--color-paper);box-shadow:var(--shadow-small);background:#4d4944;border:2px solid #746b62;border-radius:8px;align-content:start;gap:5px;padding:11px 13px;line-height:1.35;display:grid;overflow:visible}.topbar-resource-breakdown strong{font-size:13px;font-weight:900}.topbar-resource-breakdown span{overflow-wrap:anywhere;min-width:0;font-size:12px;font-weight:700}.topbar-metric{min-width:0;min-height:62px;padding:var(--space-2) var(--space-3);box-shadow:none;background:0 0;border:0;border-left:1px solid #74695b38;border-radius:0;align-content:center;display:grid}.topbar-metric dt{color:var(--color-ink-soft);letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;font-size:10px;font-weight:800;display:flex;overflow:hidden}.topbar-metric dd{font-variant-numeric:tabular-nums;justify-items:start;margin:0;font-size:13px;font-weight:900;display:grid}.turn-context .topbar-metric{padding-inline:var(--space-4);align-items:center;display:flex}.turn-context .topbar-metric dd{align-items:center;display:flex}.topbar-metrics .topbar-metric{min-height:56px;padding:var(--space-2) var(--space-3);grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:8px}.topbar-metrics .topbar-metric dd{justify-content:flex-start;align-items:center;gap:4px;min-width:0;display:flex}.topbar-metrics .topbar-metric dt{letter-spacing:-.015em;gap:7px;font-size:15px;font-weight:950}.topbar-metrics .topbar-metric__value{text-overflow:clip;align-items:center;min-width:5.5ch;font-size:17px;line-height:1.2;display:inline-flex;overflow:visible}.topbar-metrics .topbar-metric__change{text-align:right;align-items:center;min-height:26px;margin-left:auto;line-height:1.2;display:inline-flex}.topbar-metric__value{text-overflow:ellipsis;white-space:nowrap;font-size:18px;line-height:1.05;overflow:hidden}.topbar-metric__icon{width:26px;min-width:26px;height:26px;overflow:visible}.topbar-metric[data-metric=ROUND],.topbar-metric[data-metric=TURN]{background:#f5ecdc}.topbar-metric[data-metric=ROUND]{min-width:104px}.topbar-metric[data-metric=TURN]{min-width:168px}.topbar-metric__change{color:var(--color-ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:15px;font-weight:950;line-height:1}.topbar-metric__change[data-direction=UP]{color:#3e7250}.topbar-metric__change[data-direction=DOWN]{color:#a14743}.topbar-metric[data-tone=WARNING] dd{color:#9a6429}.topbar-metric[data-tone=DANGER] dd{color:#a14743}.topbar-metric__tone{border:1px solid;border-radius:50%;place-items:center;min-width:1.25em;min-height:1.25em;margin-left:3px;font-size:9px;line-height:1;display:inline-grid}.turn-notification-feed{z-index:8;top:var(--space-3);left:var(--space-3);width:min(560px, calc(100% - var(--space-6)));pointer-events:none;flex-direction:column;gap:6px;max-height:min(72vh,680px);display:flex;position:absolute;overflow:hidden}.turn-start-banner{z-index:9;color:#263423;letter-spacing:-.02em;pointer-events:none;white-space:nowrap;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:turn-start-banner-show 2.6s var(--ease-soft) both;background:#fff9edeb;border:1px solid #3544307a;border-radius:999px;padding:14px 30px;font-size:22px;font-weight:950;position:absolute;top:72px;left:50%;transform:translate(-50%);box-shadow:0 5px 18px #26231f3d}@keyframes turn-start-banner-show{0%{opacity:0;transform:translate(-50%,-8px)}12%,76%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-4px)}}.turn-notification-feed__entry{color:#25231f;text-overflow:ellipsis;text-shadow:0 1px #fffffff5,0 0 3px #ffffffd6;white-space:nowrap;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);width:fit-content;max-width:100%;animation:turn-notification-enter .26s var(--ease-soft) both, turn-notification-fade .7s var(--ease-soft) forwards;animation-delay:var(--notification-enter-delay), var(--notification-fade-delay);background:#fffbf1d1;border-left:4px solid #5f7356;border-radius:4px 9px 9px 4px;flex:none;margin:0;padding:7px 11px;font-size:14px;font-weight:850;line-height:1.35;overflow:hidden;box-shadow:0 2px 8px #26231f2e}.turn-notification-feed__entry[data-tone=POSITIVE],.turn-notification-feed__entry[data-tone=SUCCESS]{background:#e7f4e0d6;border-left-color:#3f754c}.turn-notification-feed__entry[data-tone=NEGATIVE],.turn-notification-feed__entry[data-tone=WARNING]{background:#ffefcce0;border-left-color:#a26b28}.turn-notification-feed__entry[data-tone=CRITICAL]{color:#742f2c;background:#fbded8e6;border-left-color:#a4433f}.turn-notification-feed__entry[data-tone=SYSTEM]{background:#e7eee2e6;border-left-color:#3e5945;font-weight:950}@keyframes turn-notification-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes turn-notification-fade{0%{opacity:1}to{opacity:0}}@keyframes drawer-enter-right{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}.map-stage{background:linear-gradient(#ffffff1f 1px, transparent 1px), linear-gradient(90deg, #ffffff1f 1px, transparent 1px), var(--color-map);background-size:32px 32px;grid-area:map;min-width:0;min-height:0;position:relative;overflow:hidden}.map-placeholder{place-items:center;width:100%;height:100%;min-height:0;display:grid;position:relative;overflow:hidden}.map-placeholder p{z-index:1;max-width:260px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);color:var(--color-ink-soft);text-align:center;background:#fff9edd1;border:2px solid #74695b40}.game-map{grid-template-columns:minmax(0,1fr);width:100%;height:100%;min-height:0;display:grid;position:relative}.game-map[data-panel-open=true]{grid-template-columns:minmax(0,1fr)}.game-map__canvas{min-width:0;min-height:0;position:relative}.map-overlay-dock{z-index:8;top:var(--space-3);width:min(720px, calc(100% - var(--space-6)));gap:8px;display:grid;position:absolute;left:50%;transform:translate(-50%)}.map-state-overlays{justify-content:center;gap:6px;padding:0;display:flex}.map-overlay-summary{color:#39352f;text-align:center;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);pointer-events:none;background:#fff9ede0;border-radius:9px;justify-self:center;gap:2px;max-width:min(620px,96%);padding:7px 13px;display:grid;box-shadow:0 3px 12px #2d292424}.map-overlay-summary strong{font-size:15px}.map-overlay-summary span{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:750;overflow:hidden}.tile-management-panel{z-index:12;top:var(--space-3);right:var(--space-3);bottom:var(--space-3);width:clamp(360px,27vw,430px);max-width:calc(100% - var(--space-6));color:#2f2c27;scrollbar-width:thin;scrollbar-color:#4c5b4675 transparent;background:linear-gradient(#fffcf5fa,#f4eee2fa);border:1px solid #3f3a3333;border-radius:14px;min-width:0;min-height:0;position:absolute;overflow:auto;box-shadow:0 10px 30px #26221c2e}.tile-management-panel__header{z-index:2;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#fffcf5f0;border-bottom:1px solid #3f3a3321;justify-content:flex-start;align-items:center;gap:16px;padding:18px 18px 12px;display:flex;position:sticky;top:0}.tile-management-panel__header>div{width:100%;min-width:0}.tile-management-panel__header span{color:#6e675d;font-size:14px;font-weight:800}.tile-management-panel__header h2{margin:3px 0 0;font-size:21px}.tile-management-panel__tile-nav{color:#536c4f;flex:none;font-size:28px;font-weight:800;line-height:1}.formation-name-editor{justify-content:space-between;align-items:center;gap:10px;min-width:0;min-height:32px;display:flex}.formation-name-editor h2{box-sizing:border-box;text-overflow:ellipsis;white-space:nowrap;min-width:0;min-height:29px;line-height:26px;overflow:hidden}.formation-name-editor input{box-sizing:border-box;color:#2f2c27;width:100%;min-width:0;height:29px;font:inherit;background:0 0;border:0;border-bottom:1px solid #3f3a3359;border-radius:0;outline:0;margin-top:3px;padding:0 0 3px;font-size:21px;font-weight:800;line-height:26px}.formation-name-editor input:focus{border-bottom-color:#536c4f}.formation-name-editor button{color:#536c4f;cursor:pointer;background:0 0;border:0;border-radius:50%;flex:0 0 32px;place-items:center;width:32px;height:32px;padding:0;font-size:18px;font-weight:900;display:grid}.formation-name-editor button:disabled{cursor:not-allowed;opacity:.35}.formation-name-editor__pencil{display:inline-block;transform:scaleX(-1)}.management-panel__facts{background:#50483d17;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;padding:12px 18px;display:grid}.management-panel__facts>div{background:#fffcf5b8;gap:2px;padding:8px 9px;display:grid}.management-panel__facts dt{color:#756d62;font-size:12px;font-weight:850}.management-panel__facts dd{margin:0;font-size:14px;font-weight:800}.management-copy-lines{gap:2px;display:grid}.management-copy-lines>span{display:block}.management-tile-detail{padding-bottom:12px}.tile-management-panel__locked{background:#cfb07126;border-left:3px solid #99773d;margin:10px 18px 0;padding:9px 11px;font-size:13px;font-weight:750}.tile-management-panel__tabs{z-index:1;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#fffcf5f0;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;padding:10px 18px 0;display:grid;position:sticky;top:72px}.tile-management-panel__tabs button{color:#6e675d;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #48423a29;padding:10px 6px;font-size:14px;font-weight:850}.tile-management-panel__tabs button[aria-selected=true]{color:#30412d;border-color:#536c4f}.management-panel__section{gap:12px;padding:17px 18px 28px;display:grid}.management-panel__section h3{margin:0;font-size:16px}.management-panel__empty{color:#756d62;font-size:14px}.management-panel__facts{border-radius:10px;padding:0;overflow:hidden}.formation-detail-block{gap:10px;display:grid}.formation-composition-list,.formation-history-list{gap:7px;margin:0;padding:0;list-style:none;display:grid}.formation-composition-list li{background:#fffcf5b8;border:1px solid #45514126;border-radius:8px;padding:9px 11px;font-size:14px;font-weight:800}.formation-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.formation-history-list li{background:#50483d12;border-left:3px solid #75866e;border-radius:7px;grid-template-columns:auto 1fr;gap:3px 9px;padding:10px 11px;display:grid}.formation-history-list li[data-kind=ATTACK]{border-left-color:#a74d3d}.formation-history-list li[data-kind=DEFENSE]{border-left-color:#55769a}.formation-history-list li[data-kind=RECONNAISSANCE]{border-left-color:#9a7a36}.formation-history-list span{color:#756d62;font-size:11px;font-weight:800}.formation-history-list strong{font-size:13px}.formation-history-list p{color:#665f55;grid-column:1/-1;margin:0;font-size:12px}.management-tab-part{gap:8px;display:grid}.management-tab-part .management-panel__facts{grid-template-columns:minmax(0,1fr)}.management-tab-part--divided{border-top:1px solid #3f3a3324;padding-top:12px}.management-tab-part--danger{border-top:1px solid #913e3029;margin-top:8px;padding-top:16px}.management-facilities{gap:8px;padding-top:12px}.management-tab-action,.management-build-list button,.management-formation-builder button,.management-formation-detail>button,.management-single-task>.management-tab-part>button,.management-panel__inline-confirm button{color:#354232;cursor:pointer;background:#f7f3e9;border:1px solid #45514147;border-radius:8px;min-height:34px;padding:7px 12px;font-size:14px;font-weight:800}.management-tab-action:disabled,.management-build-list button:disabled,.management-formation-builder button:disabled,.management-formation-detail>button:disabled,.management-single-task>.management-tab-part>button:disabled{cursor:not-allowed;opacity:.42}.management-tab-action{justify-self:start}.management-panel__danger{color:#933e30!important;border-color:#913e3052!important}.management-panel__inline-confirm{background:#aa4d3917;border-radius:9px;flex-wrap:wrap;flex:100%;align-items:center;gap:7px;padding:10px;display:flex}.management-panel__inline-confirm p{flex:100%;margin:0;font-size:13px}.management-facility-list,.management-build-list,.management-formation-builder ul{gap:7px;margin:0;padding:0;list-style:none;display:grid}.management-facility-list>li,.management-build-list>li,.management-formation-builder{background:#fffdf8c2;border:1px solid #46403829;border-radius:11px;gap:9px;padding:12px;display:grid}.management-facility-list>li{background:0 0;border:0;border-radius:0;gap:5px;padding:0}.management-build-list>li{background:0 0;border:0;border-top:1px solid #3f3a3324;border-radius:0;gap:7px;padding:12px 0 0}.management-facility-list header strong{font-size:15px}.management-facility-list header,.management-build-list>li{justify-content:space-between;align-items:center;gap:10px;display:flex}.management-facility-list header span,.management-build-list small{color:#746c61;font-size:13px;font-weight:750}.management-facility-list__effect{color:#585148;margin:0;font-size:14px;line-height:1.35}.management-facility-list__metrics{justify-content:space-between;align-items:center;gap:10px;font-size:14px;font-weight:800;display:flex}.management-stepper{text-align:center;grid-template-columns:28px minmax(48px,auto) 28px;align-items:center;display:grid}.management-formation-builder li button{min-width:32px;min-height:32px;box-shadow:none;cursor:pointer;background:0 0;border:0;border-radius:0;padding:0;font-size:20px;font-weight:900}.management-stepper button{appearance:none;outline-offset:1px;cursor:pointer;justify-content:center;align-items:center;width:28px;min-width:28px;height:28px;min-height:28px;padding:0;font-size:20px;font-weight:900;line-height:1;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important}.management-stepper__symbol{width:14px;height:14px;display:block;position:relative}.management-stepper__symbol:before,.management-stepper__symbol[data-kind=increase]:after{content:"";background:currentColor;border-radius:999px;width:13px;height:2.5px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.management-stepper__symbol[data-kind=increase]:after{transform:translate(-50%,-50%)rotate(90deg)}.management-stepper button:hover:not(:disabled),.management-stepper button:active:not(:disabled){box-shadow:none;background:0 0;border:0}.management-facility-list__upgrade{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.management-facility-list__management{border-top:1px solid #4640381f;gap:8px;margin-top:2px;padding-top:9px;display:grid}.management-facility-list__upgrade dl{gap:4px;margin:0;display:grid}.management-facility-list__upgrade dl>div{grid-template-columns:104px minmax(0,1fr);gap:7px;display:grid}.management-facility-list__upgrade dt{color:#756d62;font-size:12px;font-weight:800}.management-facility-list__upgrade dd{margin:0;font-size:14px;font-weight:750}.management-facility-list__footer>button,.management-facility-list__demolition>button{color:#354232;cursor:pointer;background:#f7f3e9;border:1px solid #45514147;border-radius:7px;min-height:28px;padding:4px 9px;font-size:13px;font-weight:800}.management-facility-list__footer>button:disabled,.management-facility-list__demolition>button:disabled{cursor:not-allowed;opacity:.42}.management-facility-list__footer{justify-content:space-between;align-items:flex-end;gap:8px;display:flex}.management-facility-list__demolition{justify-content:flex-end;min-width:0;display:flex}.management-facility-list__demolition .management-panel__inline-confirm{width:100%}.management-facility-list__demolition:has(.management-panel__inline-confirm){flex:100%}.management-build-list button{border-radius:7px;min-height:28px;padding:4px 9px;font-size:13px}.management-stepper button:first-child,.management-formation-builder li button:first-of-type{color:#a84638}.management-stepper button:last-child,.management-formation-builder li button:last-child{color:#3e7c49}.management-stepper button:disabled,.management-formation-builder li button:disabled{opacity:.25}.management-build-list>li>div{gap:3px;display:grid}.management-build-list__cost{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.management-build-list span{color:#575147;font-size:13px}.management-single-task{gap:12px;display:grid}.management-single-task__progress header{justify-content:space-between;align-items:center;gap:10px;display:flex}.management-single-task__progress header span{color:#746c61;font-size:13px;font-weight:800}.management-single-task progress{accent-color:#617c5c;width:100%;height:7px}.management-single-task .management-panel__facts,.management-formation-builder .management-panel__facts{grid-template-columns:minmax(0,1fr)}.management-single-task__refund-copy{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.management-resource-cost{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.management-resource-cost__item{color:#3f493b;align-items:center;gap:3px;display:inline-flex}.management-resource-cost__item svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2px;width:18px;height:18px;overflow:visible}.management-resource-cost__item svg circle{fill:currentColor;stroke:none}.management-resource-cost__item strong{font-size:14px;font-weight:900}.management-formation-builder label,.management-formation-detail label{gap:5px;font-size:13px;font-weight:800;display:grid}.management-formation-builder input,.management-formation-detail input{background:#fffdf8;border:1px solid #4741393d;border-radius:7px;min-height:36px;padding:7px 9px}.management-formation-builder li{grid-template-columns:1fr 34px 36px 34px;align-items:center;min-height:36px;display:grid}.management-formation-builder output{text-align:center;font-weight:850}.management-panel__section>.management-formation-builder{background:0 0;border:0;border-radius:0;padding:0}.app-shell .tile-management-panel button{box-sizing:border-box;min-height:34px;box-shadow:none;text-align:center;justify-content:center;align-items:center;padding:7px 12px;line-height:1.15;display:inline-flex}.app-shell .tile-management-panel .formation-name-editor button{width:32px;min-width:32px;height:32px;min-height:32px;box-shadow:none;background:0 0;border:0;border-radius:0;flex:0 0 32px;padding:0}.app-shell .tile-management-panel .formation-name-editor button:hover:not(:disabled),.app-shell .tile-management-panel .formation-name-editor button:active:not(:disabled),.app-shell .tile-management-panel .management-stepper button:hover:not(:disabled),.app-shell .tile-management-panel .management-stepper button:active:not(:disabled),.app-shell .tile-management-panel .management-formation-builder li button:hover:not(:disabled),.app-shell .tile-management-panel .management-formation-builder li button:active:not(:disabled),.app-shell .tile-management-panel .tile-management-panel__tile-nav:hover:not(:disabled),.app-shell .tile-management-panel .tile-management-panel__tile-nav:active:not(:disabled){box-shadow:none;background:0 0;border-color:#0000}.app-shell .tile-management-panel .management-stepper button{width:28px;min-width:28px;height:28px;min-height:28px;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;line-height:1}.app-shell .tile-management-panel .management-formation-builder li button{min-width:0;min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;padding:4px 6px;line-height:1}.app-shell .tile-management-panel .tile-management-panel__tile-nav{background:0 0;border:0;border-radius:0;width:28px;min-width:28px;min-height:40px;padding:0}.app-shell .tile-management-panel .tile-management-panel__tabs button{background:0 0;border:0;border-bottom:2px solid #48423a29;border-radius:0;min-height:40px;padding:9px 6px}.app-shell .tile-management-panel .tile-management-panel__tabs button[aria-selected=true]{background:0 0;border-bottom-color:#536c4f}.app-shell .tile-management-panel .management-facility-list__footer>button,.app-shell .tile-management-panel .management-facility-list__demolition>button,.app-shell .tile-management-panel .management-build-list button{min-height:30px;padding:5px 10px}.tile-management-panel button:focus-visible,.tile-management-panel input:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.task-progress-layer,.tile-status-indicator-layer,.status-indicator-tooltip-layer{pointer-events:none}.tile-status-indicator-marker{pointer-events:auto;cursor:help;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.tile-status-indicator-tooltip-object{pointer-events:none;opacity:0;transition:opacity .1s;overflow:visible}.tile-status-indicator-tooltip-object[data-visible=true]{opacity:1}.map-selection-popover.tile-status-indicator-tooltip{color:#28251f;text-align:center;white-space:nowrap;background:#fff9edf5;border-color:#4d463e75;border-radius:5px;gap:2px;width:fit-content;min-width:0;margin:0 auto;padding:4px 7px;font-size:9px;font-weight:850;line-height:1.15;display:grid;box-shadow:0 2px 6px #2d29242e}.task-progress-marker__track,.task-progress-marker__value{fill:none;stroke-linejoin:round}.task-progress-marker__track{stroke:#36322c3d}.task-progress-marker__value{stroke:var(--color-progress-health);stroke-linecap:round}.task-progress-marker__start{fill:var(--color-progress-health);stroke:none}.task-progress-marker__label{fill:#fff7de;paint-order:stroke fill;stroke:#2d2822e0;stroke-width:3px;text-anchor:middle;font-size:9px;font-weight:900}.tile-status-indicator-marker circle{fill:#b64b38;stroke:none}.tile-status-indicator-marker text{fill:#fff;text-anchor:middle;font-size:9px;font-weight:950}.tile-status-indicator-marker:focus-visible{outline:none}.tile-status-indicator-marker:focus-visible circle{stroke:var(--color-focus);stroke-width:3px}.map-state-overlays button{color:#514b42;cursor:pointer;background:0 0;border:0;border-radius:8px;min-height:40px;padding:7px 14px;font-size:15px;font-weight:850}.map-state-overlays button[aria-pressed=true]{color:#fff;background:#536c4f;box-shadow:0 2px 6px #2d3d2a3d}.hex-map-viewport{border-radius:var(--radius-md);width:100%;height:100%;min-height:0;position:relative;overflow:hidden}.hex-map{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;min-height:0;display:block;overflow:visible}.hex-map:active{cursor:grabbing}.hex-map:focus-visible{outline:3px solid var(--color-focus);outline-offset:-4px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.hex-tile__shadow{fill:#4a443e21;transform:translateY(3px)}.hex-tile__surface{fill:var(--terrain-plain);stroke:#fff9edeb;stroke-linejoin:round;stroke-width:2px;vector-effect:non-scaling-stroke}.hex-tile[data-terrain=FOREST] .hex-tile__surface{fill:var(--terrain-forest)}.hex-tile[data-terrain=MOUNTAIN] .hex-tile__surface{fill:var(--terrain-mountain)}.hex-tile[data-terrain=RIVER] .hex-tile__surface{fill:var(--terrain-river)}.hex-tile[data-terrain=SEA] .hex-tile__surface{fill:var(--terrain-sea)}.hex-tile__terrain-pattern{opacity:.34;pointer-events:none}.hex-tile__hover{fill:#0000;pointer-events:none;stroke:#0000;stroke-linejoin:round;stroke-width:4px;vector-effect:non-scaling-stroke;transition:fill .1s,stroke .1s}#terrain-plain circle{fill:#6f895d}#terrain-forest circle{fill:#527b59}#terrain-mountain path{fill:none;stroke:#716f6d;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.4px}#terrain-river path,#terrain-sea path{fill:none;stroke:#477f94;stroke-linecap:round;stroke-width:1.2px}.hex-tile__function{fill:currentColor;fill-opacity:.2;stroke:currentColor;stroke-linejoin:round;stroke-width:4.5px;vector-effect:non-scaling-stroke}.hex-tile__facility-background{opacity:.32;pointer-events:none}[data-function=CAPITAL]{color:#765c1f}[data-function=AGRICULTURE]{color:#754817}[data-function=RESIDENTIAL]{color:#8b3d48}[data-function=BUSINESS]{color:#2e668c}[data-function=INDUSTRIAL]{color:#504d63}[data-function=MILITARY]{color:#315f3c}[data-map-layer=functions],[data-map-layer=ownership],[data-map-layer=bridges],[data-map-layer=bridge-preview],[data-map-layer=fire-support-targets]{pointer-events:none}.bridge-marker__road-surface{fill:#5f6664;stroke:none}.bridge-marker__long-edges,.bridge-marker__end-edges{fill:none;stroke-linejoin:round;vector-effect:non-scaling-stroke}.bridge-marker__long-edges{stroke:#684d34;stroke-linecap:butt}.bridge-marker__end-edges{stroke:#fff9edeb;stroke-linecap:square}.bridge-marker__road-centerline{fill:none;stroke:#fff1bf;stroke-linecap:butt}.bridge-marker--preview{opacity:.52}.bridge-marker--preview[data-enabled=true] .bridge-marker__road-surface{fill:#54b56c}.bridge-marker--preview[data-enabled=true] .bridge-marker__long-edges,.bridge-marker--preview[data-enabled=true] .bridge-marker__end-edges,.bridge-marker--preview[data-enabled=true] .bridge-marker__road-centerline{stroke:#1f6f38}.bridge-marker--preview[data-enabled=false] .bridge-marker__road-surface{fill:#d85b55}.bridge-marker--preview[data-enabled=false] .bridge-marker__long-edges,.bridge-marker--preview[data-enabled=false] .bridge-marker__end-edges,.bridge-marker--preview[data-enabled=false] .bridge-marker__road-centerline{stroke:#8f2723}.formation-token-layer{pointer-events:none}.formation-token{cursor:pointer;pointer-events:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.formation-token__body{fill:var(--color-paper);stroke-width:4px;vector-effect:non-scaling-stroke}.formation-token__number{fill:var(--color-ink);paint-order:stroke;stroke:var(--color-paper);stroke-width:2px;text-anchor:middle;vector-effect:non-scaling-stroke;font-family:inherit;font-size:12px;font-weight:900}.formation-token__defense-track,.formation-token__defense-value{fill:none;stroke-width:4px;vector-effect:non-scaling-stroke}.formation-token__defense-track{stroke:#1d1b18b8}.formation-token__defense-value{filter:drop-shadow(0 0 .8px #181512f2);stroke:var(--color-progress-health);stroke-linecap:round}.formation-token__supply-status{fill:#3b9a56;stroke:var(--color-paper);stroke-width:2px;vector-effect:non-scaling-stroke}.formation-token__supply-status[data-supplied=false]{fill:#c94f43}.formation-token[data-formation-kind=ENEMY] .formation-token__body{fill:#f3e1db}.formation-token[data-last-known=true]{opacity:.58}.formation-token[data-last-known=true] .formation-token__body{stroke-dasharray:4 3}.formation-token[data-exposed=true] .formation-token__body{stroke-width:5px}.map-camera[data-zoom-level=FAR] .formation-token-layer{display:none}.formation-intel-popup-layer{pointer-events:none}.formation-intel-popup-object{pointer-events:none;overflow:visible}.map-selection-popover.tile-status-indicator-tooltip.formation-intel-popup{border-color:#4d463e8a;gap:3px;min-width:112px;padding:6px 9px;animation:.16s ease-out both formation-intel-popup-in;box-shadow:0 3px 9px #2d29243d}.formation-intel-popup__detail{color:#3a352e;white-space:nowrap;font-size:9px;font-weight:800;line-height:1.2;display:block}.map-camera[data-zoom-level=FAR] .formation-intel-popup-layer{display:none}@keyframes formation-intel-popup-in{0%{opacity:0;translate:0 4px}to{opacity:1;translate:0}}.movement-range{pointer-events:none}.movement-range[data-interactive=true]{cursor:pointer;pointer-events:auto}.movement-range:focus{outline:none}.movement-range--move .movement-range__tile{fill:#5baeca42;stroke:#2f7892;stroke-dasharray:4 3;stroke-linejoin:round;stroke-width:2px;vector-effect:non-scaling-stroke}.movement-range--move .movement-range__marker{fill:#fff9edf5;stroke:#2f7892;stroke-width:2.5px;vector-effect:non-scaling-stroke}.movement-range--move[data-interactive=true]:hover .movement-range__tile,.movement-range--move[data-interactive=true]:focus .movement-range__tile{fill:#5baeca66;stroke:var(--color-focus);stroke-width:3px}.movement-range--deploy .movement-range__tile{fill:#669a6e42;stroke:#3f7850;stroke-dasharray:2 3;stroke-linejoin:round;stroke-width:2px;vector-effect:non-scaling-stroke}.movement-range--deploy .movement-range__marker{fill:#f7fbf0f5;stroke:#3f7850;stroke-width:2.5px;vector-effect:non-scaling-stroke}.movement-range__deploy-icon{fill:none;stroke:#315f3f;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4px;vector-effect:non-scaling-stroke}.movement-range--deploy[data-interactive=true]:hover .movement-range__tile,.movement-range--deploy[data-interactive=true]:focus .movement-range__tile{fill:#669a6e6b;stroke:var(--color-focus);stroke-width:3px}.movement-range--airlift .movement-range__tile{fill:#569daa47;stroke:#347481;stroke-dasharray:2 3;stroke-linejoin:round;stroke-width:2px;vector-effect:non-scaling-stroke}.movement-range--airlift .movement-range__marker{fill:#f3fcfcf5;stroke:#347481;stroke-width:2.5px;vector-effect:non-scaling-stroke}.movement-range__airlift-icon{fill:none;stroke:#285c66;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4px;vector-effect:non-scaling-stroke}.movement-range--airlift[data-interactive=true]:hover .movement-range__tile,.movement-range--airlift[data-interactive=true]:focus .movement-range__tile{fill:#569daa70;stroke:var(--color-focus);stroke-width:3px}.movement-range--attack polygon{fill:#d77e782e;stroke:#a95754;stroke-dasharray:5 3;stroke-linejoin:round;stroke-width:3px;vector-effect:non-scaling-stroke}.movement-range--attack path{fill:none;stroke:#8d4543;stroke-linecap:round;stroke-width:3px;vector-effect:non-scaling-stroke}.movement-range--attack[data-interactive=true]:focus polygon{stroke:var(--color-focus);stroke-width:4px}.movement-range--recon polygon{fill:#65d9ff3d;stroke:#65d9ff;stroke-width:3px;stroke-dasharray:6 4}.target-selection{--target-color:#2f7892;--target-fill:#5baeca42;--target-marker-fill:#fff9edf5}.target-selection--attack{--target-color:#a95754;--target-fill:#d77e783d}.target-selection--recon{--target-color:#2583a0;--target-fill:#65d9ff38}.target-selection--fire-support{--target-color:#9b5d56;--target-fill:#d69a693d}.target-selection__tile,.movement-range--attack .target-selection__tile,.movement-range--recon .target-selection__tile,.movement-range--fire-support .target-selection__tile{fill:var(--target-fill);stroke:var(--target-color);stroke-dasharray:4 3;stroke-linejoin:round;stroke-width:2px;vector-effect:non-scaling-stroke}.target-selection__marker,.movement-range--move .target-selection__marker{fill:var(--target-marker-fill);stroke:var(--target-color);stroke-width:2.5px;vector-effect:non-scaling-stroke}.target-selection__icon,.movement-range--attack .target-selection__icon{fill:none;stroke:var(--target-color);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.6px;vector-effect:non-scaling-stroke}.target-selection__distance{fill:var(--target-color);paint-order:stroke;stroke:var(--target-marker-fill);stroke-width:2px;text-anchor:middle;vector-effect:non-scaling-stroke;font-family:inherit;font-size:13px;font-weight:950}.target-selection[data-reserved=true] .target-selection__marker{fill:color-mix(in srgb, var(--target-color) 28%, white);stroke-width:4px}.target-selection[data-interactive=true]:hover .target-selection__tile,.target-selection[data-interactive=true]:focus .target-selection__tile{fill:color-mix(in srgb, var(--target-color) 38%, transparent);stroke:var(--color-focus);stroke-width:3px}.combat-animation-layer,.formation-movement-animation-layer{pointer-events:none}.formation-movement-animation-token{offset-distance:0%;offset-rotate:0deg;filter:drop-shadow(0 2px 3px #1e1c183d);animation-name:formation-movement-follow-path;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes formation-movement-follow-path{to{offset-distance:100%}}.formation-movement-animation-token circle{fill:#f7f0df;stroke-width:4px;vector-effect:non-scaling-stroke}.formation-movement-animation-token text{fill:#1e2928;text-anchor:middle;font-size:14px;font-weight:900}.combat-animation-token circle{fill:#f7f0df;stroke-width:4px;vector-effect:non-scaling-stroke}.combat-animation-token text{fill:#1e2928;text-anchor:middle;font-size:14px;font-weight:900}.combat-animation-token--attacker{animation:1.65s ease-in-out forwards combat-attacker}.combat-animation-token--defender{animation:1.65s ease-in-out forwards combat-defender}.combat-animation-token--loser{animation-name:combat-attacker-loser}.combat-animation-token--defender.combat-animation-token--loser{animation-name:combat-defender-loser}@keyframes combat-attacker{0%{translate:0}32%{translate:var(--combat-dx) var(--combat-dy)}46%{translate:calc(var(--combat-dx) + 8px) var(--combat-dy)}58%{translate:calc(var(--combat-dx) - 8px) var(--combat-dy)}70%,to{translate:var(--combat-dx) var(--combat-dy)}}@keyframes combat-attacker-loser{0%{opacity:1;translate:0}32%{translate:var(--combat-dx) var(--combat-dy)}46%{translate:calc(var(--combat-dx) + 8px) var(--combat-dy)}58%{translate:calc(var(--combat-dx) - 8px) var(--combat-dy)}72%{translate:var(--combat-dx) var(--combat-dy);opacity:1}to{translate:var(--combat-dx) var(--combat-dy);opacity:0}}@keyframes combat-defender{0%,34%{translate:0}46%{translate:-8px}58%{translate:8px}70%,to{translate:0}}@keyframes combat-defender-loser{0%,34%{opacity:1;translate:0}46%{translate:-8px}58%{translate:8px}72%{opacity:1;translate:0}to{opacity:0;translate:0}}.movement-cancel{pointer-events:auto}.map-overlay-layer,.map-overlay-marker{pointer-events:none}.map-overlay-marker__tile{fill:#44535129;stroke:#3b4543b8;stroke-linejoin:round;stroke-width:2px;vector-effect:non-scaling-stroke}.map-overlay-marker__glyph{fill:var(--color-ink);paint-order:stroke;stroke:#fff9ede6;stroke-width:3px;text-anchor:middle;vector-effect:non-scaling-stroke;font-family:inherit;font-size:13px;font-weight:900}.map-overlay-marker__progress-track,.map-overlay-marker__progress-value{fill:none;stroke-width:5.5px;vector-effect:non-scaling-stroke}.map-overlay-marker__progress-track{stroke:#403c3647}.map-overlay-marker__progress-value{fill:none;stroke:#477f94;stroke-linecap:round}.map-overlay-marker__progress-zero{fill:#477f94;stroke:none}.map-overlay-layer[data-overlay=TASKS] .map-overlay-marker__progress-zero,.map-overlay-layer[data-overlay=LABOR] .map-overlay-marker__progress-zero{fill:var(--color-progress-health)}.map-overlay-layer[data-overlay=TERRAIN] .map-overlay-marker__tile{fill:none;stroke-width:4px}.map-overlay-layer[data-overlay=TERRAIN] [data-overlay-variant=PLAIN] .map-overlay-marker__tile{stroke:#668050}.map-overlay-layer[data-overlay=TERRAIN] [data-overlay-variant=FOREST] .map-overlay-marker__tile{stroke:#3f7250;stroke-dasharray:2 3}.map-overlay-layer[data-overlay=TERRAIN] [data-overlay-variant=MOUNTAIN] .map-overlay-marker__tile{stroke:#625f61;stroke-dasharray:8 2}.map-overlay-layer[data-overlay=TERRAIN] [data-overlay-variant=RIVER] .map-overlay-marker__tile,.map-overlay-layer[data-overlay=TERRAIN] [data-overlay-variant=SEA] .map-overlay-marker__tile{stroke:#34738e;stroke-dasharray:5 3}.map-overlay-layer[data-overlay=OWNERSHIP] .map-overlay-marker__tile{fill-opacity:.72;stroke:#fff9eddb;stroke-width:2.5px}.map-overlay-layer[data-overlay=FUNCTION] .map-overlay-marker__tile{fill:#fff9ed9e;stroke:#7b6754;stroke-dasharray:4 2}.map-overlay-layer[data-overlay=POPULATION] .map-overlay-marker__tile{fill:none;stroke:none}.map-overlay-layer[data-overlay=POPULATION] .map-overlay-marker__glyph{stroke-width:4px;font-size:14px}.map-overlay-layer[data-overlay=TASKS] .map-overlay-marker__tile,.map-overlay-layer[data-overlay=LABOR] .map-overlay-marker__tile,.map-overlay-layer[data-overlay=PRODUCTION] .map-overlay-marker__tile{fill:none;stroke:none}.map-overlay-layer[data-overlay=TASKS] .map-overlay-marker__progress-value{stroke:var(--color-progress-health)}.map-overlay-layer[data-overlay=TASKS] .map-overlay-marker__glyph{stroke-width:4px;font-size:9px}.map-overlay-layer[data-overlay=LABOR] .map-overlay-marker__progress-value{stroke:var(--color-progress-health)}.map-overlay-layer[data-overlay=LABOR] .map-overlay-marker__glyph{stroke-width:4px;font-size:11px}.map-overlay-marker__metrics{paint-order:stroke;stroke:#fff9edf0;stroke-width:3px;vector-effect:non-scaling-stroke}.map-overlay-marker__metric-icon{fill:none;stroke:var(--color-ink);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.2px;text-anchor:middle;vector-effect:non-scaling-stroke}.map-overlay-marker__metric-icon circle{fill:var(--color-ink);stroke:none}.map-overlay-marker__metric-value{fill:var(--color-ink);stroke:#fff9edf0;stroke-width:2.5px;text-anchor:middle;vector-effect:non-scaling-stroke;font-family:inherit;font-size:11px;font-weight:950}.map-overlay-layer[data-overlay=SUPPLY] [data-overlay-variant=SOURCE] .map-overlay-marker__tile{fill:#4f7e7152;stroke:#3f6d62;stroke-width:4px}.map-overlay-layer[data-overlay=SUPPLY] [data-overlay-variant=SUPPLIED] .map-overlay-marker__tile{fill:#6e97675c;stroke:#567c50}.map-overlay-layer[data-overlay=ZONE_OF_CONTROL] .map-overlay-marker__tile{fill:#b9504b2e;stroke:#9d4a47;stroke-dasharray:3 3;stroke-width:3px}.map-overlay-layer[data-overlay=FIRE_SUPPORT] [data-overlay-variant=PROVIDER] .map-overlay-marker__tile{fill:#e2b86a52;stroke:#8c6934;stroke-width:4px}.map-overlay-layer[data-overlay=FIRE_SUPPORT] [data-overlay-variant=COVERED] .map-overlay-marker__tile{fill:#e2b86a26;stroke:#9b7840;stroke-dasharray:6 3}.map-overlay-layer[data-overlay=DETECTION] [data-overlay-variant=CURRENT] .map-overlay-marker__tile{fill:#477f9438;stroke:#3c7287;stroke-width:4px}.map-overlay-layer[data-overlay=DETECTION] [data-overlay-variant=LAST_KNOWN] .map-overlay-marker__tile{fill:#477f941a;stroke:#5c7e8b;stroke-dasharray:4 4}.hex-tile[role=button]{cursor:pointer}.hex-tile[role=button]:hover .hex-tile__hover{fill:#373e473d;stroke:#34495e}.hex-tile__border{stroke-linecap:round;stroke-width:5px;vector-effect:non-scaling-stroke}.map-selection-popover-anchor{pointer-events:none}.map-selection-popover-host{width:100%}.map-selection-popover{color:#28251f;background:#fff9edf0;border:1px solid #4d463e75;border-radius:8px;gap:10px;width:100%;padding:12px 14px;font-size:12px;line-height:1.35;display:grid;box-shadow:0 4px 12px #2d292433}.map-selection-popover header,.map-selection-popover section{gap:2px;min-width:0;display:grid}.map-selection-popover header strong,.map-selection-popover section strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:950;overflow:hidden}.map-selection-popover header span,.map-selection-popover section span,.map-selection-popover dt{color:#625b51}.map-selection-popover dd{margin:0;font-weight:850}.map-selection-popover section{border-top:1px solid #4d463e2e;padding-top:6px}.tile-quick-menu{pointer-events:auto}.tile-quick-menu__action,.tile-quick-menu__close{cursor:pointer;outline:none}.tile-quick-menu__action polygon,.tile-quick-menu__close polygon{fill:#fff9ed;stroke:#746b62;stroke-width:2px;filter:drop-shadow(0 3px 4px #403c3638);transition:fill var(--motion-fast) var(--ease-soft), stroke var(--motion-fast) var(--ease-soft), transform var(--motion-fast) var(--ease-soft)}.tile-quick-menu__action[data-quick-action=INFO] polygon,.tile-quick-menu__action[data-quick-action=RECON] polygon{fill:#dcecf2}.tile-quick-menu__action[data-quick-action=INFO][data-active=true] polygon{fill:#b8dce8;stroke:#315d75;stroke-width:3px}.tile-quick-menu__action[data-quick-action=FUNCTION] polygon,.tile-quick-menu__action[data-quick-action=INCORPORATE] polygon,.tile-quick-menu__action[data-quick-action^=FUNCTION_] polygon{fill:#dce8c9}.tile-quick-menu__action[data-quick-action=FACILITY] polygon,.tile-quick-menu__action[data-quick-action^=FACILITY_] polygon{fill:#f0dfc4}.tile-quick-menu__action[data-quick-action=FORMATION] polygon,.tile-quick-menu__action[data-quick-action=MOVE] polygon,.tile-quick-menu__action[data-quick-action^=FORMATION_] polygon{fill:#d8e2d4}.tile-quick-menu__action[data-quick-action=FIRE_SUPPORT] polygon,.tile-quick-menu__action[data-quick-action=ATTACK] polygon,.tile-quick-menu__action[data-quick-action=COMBAT_PREVIEW] polygon,.tile-quick-menu__action[data-quick-action=FORMATION_ATTACK] polygon,.tile-quick-menu__action[data-quick-action^=FORMATION_DISBAND] polygon,.tile-quick-menu__action[data-quick-action^=FACILITY_DEMOLISH\:] polygon{fill:#efd2cc}.tile-quick-menu__action:not(.tile-quick-menu__action--split)[data-enabled=true]:hover polygon,.tile-quick-menu__action:not(.tile-quick-menu__action--split)[data-enabled=true]:focus polygon,.tile-quick-menu__close:hover polygon,.tile-quick-menu__close:focus polygon{stroke:var(--color-focus);stroke-width:3px;transform:scale(1.06)}.tile-quick-menu__action[data-enabled=false]{cursor:not-allowed}.tile-quick-menu__action[data-enabled=false] polygon{fill:#e7e1d8;stroke:#a79d91;filter:none;opacity:.72}.tile-quick-menu__label,.tile-quick-menu__close text{fill:var(--color-ink);pointer-events:none;text-anchor:middle;font-family:inherit;font-weight:900}.tile-quick-menu__function-icon,.tile-quick-menu__icon,.tile-quick-menu__close-icon{fill:none;pointer-events:none;stroke:var(--color-ink);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;vector-effect:non-scaling-stroke}.tile-quick-menu__action[data-enabled=false] .tile-quick-menu__function-icon,.tile-quick-menu__action[data-enabled=false] .tile-quick-menu__icon{stroke:#847b70}.tile-quick-menu__close-icon{stroke-width:2.4px}.tile-quick-menu__label{letter-spacing:-.04em;font-size:9px}.tile-quick-menu__action[data-enabled=false] text{fill:#847b70}.tile-quick-menu__split-base,.tile-quick-menu__split-controls{transition:opacity var(--motion-fast) var(--ease-soft)}.tile-quick-menu__split-controls,.tile-quick-menu__action--split[data-split-active=true] .tile-quick-menu__split-base{pointer-events:none;opacity:0}.tile-quick-menu__action--split[data-split-active=true] .tile-quick-menu__split-controls{pointer-events:auto;opacity:1}.tile-quick-menu__split-action{cursor:pointer}.tile-quick-menu__split-action polygon{stroke:#6d665d;stroke-width:2px;vector-effect:non-scaling-stroke}.tile-quick-menu__split-action[data-position=top] polygon{fill:#b9dfbf}.tile-quick-menu__split-action[data-position=bottom] polygon{fill:#efb9b1}.tile-quick-menu__split-action text{fill:#28251f;pointer-events:none;text-anchor:middle;font-family:inherit;font-size:19px;font-weight:950}.tile-quick-menu__split-action[data-enabled=true]:hover polygon{stroke:var(--color-focus);stroke-width:3px}.tile-quick-menu__split-action[data-enabled=false]{cursor:not-allowed}.tile-quick-menu__split-action[data-enabled=false] polygon{fill:#d7d1c8;stroke:#a79d91;filter:none}.tile-quick-menu__split-action[data-enabled=false] text{fill:#847b70}.tile-quick-menu__close polygon{fill:#fff9ed}.tile-quick-menu__close text{font-size:23px}.tile-quick-menu__tooltip-object{pointer-events:none;overflow:visible}.tile-quick-menu__tooltip{border-radius:var(--radius-sm);color:var(--color-paper);box-shadow:var(--shadow-small);text-align:center;background:#403c36f5;border:1px solid #746b62;padding:8px 10px;font-size:11px;font-weight:750;line-height:1.35}.tile-quick-menu__tooltip[data-disabled=true]{white-space:nowrap}.tile-quick-menu__tooltip[data-disabled=true] .tile-quick-menu__resource-status{flex-wrap:nowrap}.tile-quick-menu__resource-status{flex-wrap:wrap;justify-content:center;gap:3px 10px;display:flex}.tile-quick-menu__resource-status span{white-space:nowrap}.tile-quick-menu__resource-status strong{font-variant-numeric:tabular-nums}.tile-quick-menu__resource-status [data-sufficient=true] strong{color:#7ee08b}.tile-quick-menu__resource-status [data-sufficient=false] strong{color:#ff817b}.tile-quick-menu__tooltip>span{color:#ddd4c7;margin-top:3px;font-size:10px;display:block}.ui-panel__header{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.ui-panel__header h2{margin:var(--space-1) 0 0;letter-spacing:-.025em;font-size:20px}.ui-panel__actions{align-items:center;gap:var(--space-2);display:flex}.ui-panel__actions button{min-height:34px;padding:0 var(--space-3);border:2px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-paper-deep);font-size:12px;font-weight:800}.ui-panel__footer{margin-top:var(--space-5);padding-top:var(--space-4);border-top:2px solid var(--color-line)}.ui-tooltip{align-items:center;max-width:100%;display:inline-flex;position:relative}.ui-tooltip>button{width:100%}.ui-tooltip__content{z-index:30;width:max-content;max-width:min(300px,100vw - 24px);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-paper);box-shadow:var(--shadow-small);opacity:0;pointer-events:none;visibility:hidden;transition:opacity var(--motion-fast) var(--ease-soft), visibility 0s linear var(--motion-fast);background:#4d4944;border:2px solid #746b62;font-size:13px;font-weight:650;line-height:1.45;position:absolute}.ui-tooltip__content--portal{z-index:10000;opacity:1;visibility:visible;transition:none;position:fixed}.ui-tooltip:hover .ui-tooltip__content{opacity:1;visibility:visible;transition-delay:.3s}.ui-tooltip:focus-visible .ui-tooltip__content,.ui-tooltip:focus-within .ui-tooltip__content{opacity:1;visibility:visible;transition-delay:0s}.ui-tooltip[data-placement=top] .ui-tooltip__content{bottom:calc(100% + var(--space-2))}.ui-tooltip[data-placement=bottom] .ui-tooltip__content{top:calc(100% + var(--space-2))}.ui-tooltip[data-placement=left] .ui-tooltip__content{right:calc(100% + var(--space-2))}.ui-tooltip[data-placement=right] .ui-tooltip__content{left:calc(100% + var(--space-2))}.ui-tooltip[data-placement=top][data-align=center] .ui-tooltip__content,.ui-tooltip[data-placement=bottom][data-align=center] .ui-tooltip__content{left:50%;transform:translate(-50%)}.ui-tooltip[data-placement=top][data-align=start] .ui-tooltip__content,.ui-tooltip[data-placement=bottom][data-align=start] .ui-tooltip__content{left:0}.ui-tooltip[data-placement=top][data-align=end] .ui-tooltip__content,.ui-tooltip[data-placement=bottom][data-align=end] .ui-tooltip__content{right:0}.ui-tooltip[data-placement=left] .ui-tooltip__content,.ui-tooltip[data-placement=right] .ui-tooltip__content{top:50%;transform:translateY(-50%)}.ui-modal__backdrop{z-index:50;padding:var(--space-5);background:#403c3661;place-items:center;display:grid;position:fixed;inset:0}.ui-modal{background:var(--color-paper);width:min(560px,100%);max-height:calc(100vh - 48px);box-shadow:var(--shadow-medium);border:1px solid #8b837a;border-radius:12px;overflow:auto}.ui-modal__header,.ui-modal__footer{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);display:flex}.game-tutorial{gap:var(--space-3);display:grid}.game-tutorial__progress{width:max-content;padding:var(--space-1) var(--space-2);background:var(--color-paper-deep);color:var(--color-ink);border-radius:999px;margin:0;font-size:12px;font-weight:900}.game-tutorial>p:not(.game-tutorial__progress){margin:0;line-height:1.65}.game-tutorial ul{gap:var(--space-2);padding-left:var(--space-5);color:var(--color-ink-soft);margin:0;line-height:1.55;display:grid}.game-tutorial__actions{justify-content:flex-end;gap:var(--space-2);flex:1;display:flex}.game-tutorial__actions button{min-width:84px}.ui-modal__header{border-bottom:1px solid var(--color-line)}.ui-modal__header h2{margin:0;font-size:22px}.ui-modal__close{aspect-ratio:1;border:2px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-paper-deep);cursor:pointer;place-items:center;width:36px;min-width:36px;font-size:22px;display:grid}.ui-modal__body{padding:var(--space-5);color:var(--color-ink-soft);line-height:1.65}.ui-modal__footer{border-top:1px solid var(--color-line);background:var(--color-paper-deep);justify-content:flex-end}.game-runtime-status{z-index:20;bottom:calc(var(--space-4) + 76px + var(--space-2));left:var(--space-4);align-items:center;gap:var(--space-2);max-width:min(520px,100% - 280px);padding:var(--space-2) var(--space-3);box-shadow:var(--shadow-small);color:var(--color-ink-soft);background:#fff9edf0;border:1px solid #74695b52;border-radius:999px;font-size:13px;display:flex;position:absolute}.game-runtime-status>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-runtime-status[data-runtime-status=CANCELLED] .status-dot{background:#e8c77f;border-color:#a67a3d}.game-runtime-status[data-runtime-status=ERROR] .status-dot{background:#df8e86;border-color:#9b4a45}.game-corner-actions{z-index:21;left:var(--space-4);bottom:var(--space-4);align-items:flex-end;gap:var(--space-3);display:flex;position:absolute}.game-end-turn-action{z-index:21;left:calc(var(--space-4) + 76px + var(--space-3));bottom:var(--space-4);height:76px;position:absolute}.game-end-turn-action .ui-tooltip{height:76px;display:block}.game-utility-menu{position:relative}.game-utility-menu>summary{border:2px solid var(--color-line);width:76px;height:76px;box-shadow:var(--shadow-medium);cursor:pointer;background:#fff9edf5;border-radius:50%;place-items:center;font-size:22px;font-weight:900;list-style:none;display:grid}.game-utility-menu>summary::-webkit-details-marker{display:none}.game-utility-menu>summary:focus-visible,.game-utility-menu[open]>summary{outline:3px solid var(--color-focus);outline-offset:2px}.game-utility-menu__panel{left:0;bottom:calc(100% + var(--space-2));gap:var(--space-2);width:220px;padding:var(--space-3);border:2px solid var(--color-line);border-radius:var(--radius-md);box-shadow:var(--shadow-medium);background:#fff9edfa;display:grid;position:absolute}.game-utility-menu__heading{padding:0 var(--space-1) var(--space-2);border-bottom:1px solid var(--color-line);gap:2px;display:grid}.game-utility-menu__heading small{color:var(--color-ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.game-utility-menu__panel button{min-height:40px;padding:0 var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-paper-deep);cursor:pointer;font:inherit;text-align:left;font-size:14px;font-weight:800}.game-utility-menu__panel .ui-tooltip{display:flex}.game-utility-menu__danger{color:#943f3b}.game-end-turn{box-sizing:border-box;min-width:212px;height:76px;padding:var(--space-2) var(--space-5);color:#fff;cursor:pointer;text-align:center;background:#c65328;border:2px solid #74301f;border-radius:16px 13px 17px 14px;justify-content:center;align-items:center;display:flex;box-shadow:0 5px 16px #74301f52}.game-end-turn strong{font-size:24px;line-height:1.15;display:block}.game-end-turn:not(:disabled):hover{background:#a84222;box-shadow:0 7px 18px #74301f61}.game-end-turn:disabled{box-shadow:none;color:#3c3935;cursor:not-allowed;background:#d2ccc3;border-color:#928b7f}.status-dot{aspect-ratio:1;background:#b9d7a7;border:2px solid #788e6f;border-radius:50%;width:9px}.ai-turn-progress{accent-color:#667c5e;width:72px;height:8px}.fire-support-target circle{fill:#fff9ede0;stroke:#9b5d56;stroke-width:3px}.fire-support-target path{fill:none;stroke:#9b5d56;stroke-linecap:round;stroke-width:3px}.fire-support-target[data-reserved=true] circle{fill:#efb3aa;stroke-width:5px}.enemy-turn-summary{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.enemy-turn-summary li{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-paper-deep);border-left:5px solid #9b5d56;grid-template-columns:1fr auto;display:grid}.enemy-turn-summary li[data-summary-kind=MOVEMENT]{border-left-color:#477f94}.enemy-turn-summary li[data-summary-kind=CAPTURE],.enemy-turn-summary li[data-summary-kind=ELIMINATION]{border-left-color:#b65e42}.enemy-turn-summary li span{color:var(--color-ink-soft);font-size:12px}.player-alerts>.ui-panel__body>ol{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.player-alerts li{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-paper-deep);border-left:5px solid #d4aa58;grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.player-alerts li[data-alert-severity=CRITICAL]{background:#f7dfd7;border-left-color:#b65e42}.player-alerts li[data-alert-severity=INFO]{background:#e1eef0;border-left-color:#477f94}.player-alerts li[data-alert-read=true]{opacity:.6}.player-alerts li>div:first-child{gap:var(--space-1);display:grid}.player-alerts li>div:first-child span,.player-alerts__actions>span{color:var(--color-ink-soft);font-size:12px}.player-alerts__actions{gap:var(--space-2);align-items:center;display:flex}.player-alerts__actions button{border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-paper);cursor:pointer;min-height:36px;font-weight:800}.game-result{gap:var(--space-4);display:grid}.game-result__headline{padding:var(--space-5);border-radius:var(--radius-md);text-align:center;background:#dfeeda;border:2px solid #597558;margin:0;font-size:24px;font-weight:900}.game-result>p:not(.game-result__headline),.game-result section,.game-result section p,.game-result h3{margin:0}.game-result dl{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.game-result dl div{padding:var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-paper-deep)}.game-result dt{color:var(--color-ink-soft);font-size:12px}.game-result dd{margin:var(--space-1) 0 0;font-size:18px;font-weight:900}@media (width<=1100px){.topbar-metrics{grid-template-columns:repeat(5,154px)}}@media (width<=760px){.game-screen{min-width:0}.game-map[data-panel-open=true]{grid-template-columns:minmax(0,1fr)}.tile-management-panel{z-index:20;border-top:1px solid #3f3a3338;border-left:0;border-radius:18px 18px 0 0;width:auto;max-width:none;max-height:min(62%,560px);position:absolute;inset:auto 0 0;box-shadow:0 -12px 30px #26221c2e}.tile-management-panel__tabs{top:70px}.game-topbar{padding:var(--space-2)}.topbar-metrics{grid-template-columns:repeat(5,148px);overflow:auto hidden}.topbar-metric[data-metric=ROUND]{min-width:92px}.topbar-metric[data-metric=TURN]{min-width:144px}.turn-notification-feed{top:var(--space-2);left:var(--space-2);width:calc(100% - var(--space-4));max-height:64vh}.turn-start-banner{max-width:calc(100% - var(--space-4));text-overflow:ellipsis;padding:11px 20px;font-size:18px;top:64px;overflow:hidden}.game-runtime-status{right:var(--space-2);bottom:calc(var(--space-2) + 68px + var(--space-2));left:var(--space-2);max-width:none}.game-corner-actions{left:var(--space-2);bottom:var(--space-2)}.game-end-turn-action{left:calc(var(--space-2) + 68px + var(--space-2));bottom:var(--space-2);height:68px}.game-end-turn{min-width:188px;height:68px}.game-end-turn-action .ui-tooltip{height:68px}.game-utility-menu>summary{width:68px;height:68px}.map-overlay-dock{top:var(--space-2);width:calc(100% - var(--space-4));left:50%;right:auto}.map-state-overlays{max-width:calc(100% - var(--space-4));overflow-x:auto}.map-state-overlays button{flex:none}}@media (prefers-reduced-motion:reduce){:root{--motion-fast:0s;--motion-normal:0s}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
