body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.nav-links{align-items:center;background-color:#333;box-sizing:border-box;display:flex;flex-wrap:nowrap;font-family:Uncial Antiqua,cursive;justify-content:space-between;max-height:0;overflow:hidden;padding:0;transition:max-height .3s,padding .3s}.nav-links.visible{max-height:100px;min-height:46px;min-height:var(--game-navbar-height,46px);overflow:visible;padding:5px}.nav-links.game-nav-links{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0a0a0ae6;position:relative;z-index:100}.minimal-nav .nav-links{background:#0000;max-height:100px;position:relative;z-index:100}.minimal-nav{left:0;position:absolute;right:0;top:0;z-index:100}.minimal-nav .nav-general-links{flex:1 1}.back-to-landing{background:#0000;border:0;color:#f4e4bc;cursor:pointer;font-family:IM Fell Double Pica,serif;font-size:30px;line-height:1;padding:0 8px}.back-to-landing:focus-visible,.back-to-landing:hover{color:#fff;outline:2px solid #f4e4bc;outline-offset:3px}.minimal-nav .nav-auth-links{flex:0 0 auto}.nav-general-links{align-items:center;display:flex;flex:1 1}.nav-game-name-container{display:flex;flex:1 1;justify-content:center;min-width:0}.nav-game-name{background:#0000;border:0;color:#f4e4bc;cursor:pointer;display:block;flex:0 1 auto;font-family:IM Fell Double Pica,serif;font-size:18px;max-width:100%;min-width:0;overflow:hidden;padding:0;text-align:center;text-overflow:ellipsis;white-space:nowrap}.nav-game-name:focus-visible,.nav-game-name:hover{color:#fff;outline:none;text-decoration:underline;text-underline-offset:3px}.game-metadata-modal-layer{align-items:center;background:#000000ad;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1200}.game-metadata-modal{background:#191612fa;border:1px solid #b4a477bf;border-radius:8px;box-shadow:0 12px 40px #000000a6;box-sizing:border-box;color:#f4e4bc;font-family:IM Fell Double Pica,serif;max-height:calc(100vh - 32px);overflow-y:auto;padding:20px;width:min(560px,calc(100vw - 32px))}.game-metadata-modal-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:16px}.game-metadata-modal-header h2{font-size:21px;margin:0}.game-metadata-modal-close{background:#0000;border:1px solid #b4a47780;border-radius:4px;color:inherit;cursor:pointer;flex:0 0 auto;font-size:24px;height:32px;line-height:1;padding:0;width:32px}.game-metadata-modal-close:focus-visible,.game-metadata-modal-close:hover{background:#8b4513a6;outline:2px solid #f4e4bc;outline-offset:2px}.game-metadata-grid{grid-gap:12px 20px;display:grid;gap:12px 20px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.game-metadata-grid>div{min-width:0}.game-metadata-grid dt{color:#c5b68e;font-size:13px}.game-metadata-grid dd{margin:2px 0 0;overflow-wrap:anywhere}.game-metadata-players-heading{font-size:17px;margin:20px 0 8px}.game-metadata-players{grid-gap:6px;display:grid;gap:6px;list-style:none;margin:0;padding:0}.game-metadata-players li{align-items:center;background:#ffffff0a;border:1px solid #b4a47738;border-radius:4px;display:flex;gap:8px;min-width:0;padding:7px 9px}.game-metadata-player-color{border:1px solid #f4e4bc99;border-radius:50%;flex:0 0 auto;height:11px;width:11px}.game-metadata-player-status{align-items:center;color:#c5b68e;display:inline-flex;font-size:13px;gap:6px;margin-left:auto}.game-metadata-player-active-dot{background:#0000;border-radius:50%;height:7px;width:7px}.game-metadata-player-status.is-active .game-metadata-player-active-dot{background:#39d98a;box-shadow:0 0 6px #39d98aa6}@media (max-width:520px){.game-metadata-grid{grid-template-columns:minmax(0,1fr)}}.nav-step-display{align-items:center;display:flex;flex:0 0 auto;justify-content:center;margin:0 20px}.current-step{background-color:#ffffff1a;background-color:#8b45134d;border:1px solid #fff3;border:1px solid #8b451380;border-radius:4px;color:#fff;color:#f4e4bc;font-family:IM Fell Double Pica,serif;font-size:14px;font-size:13px;font-weight:700;letter-spacing:1px;min-width:200px;padding:4px 8px;text-align:center;white-space:nowrap}.nav-game-state-icon{display:inline-block;height:14px;margin-left:7px;object-fit:contain;vertical-align:-4px;width:14px}.nav-game-state-toggle{align-items:center;background:#0000;border:0;color:inherit;cursor:pointer;display:inline-flex;margin:0;padding:0;vertical-align:-4px}.nav-game-state-toggle:focus-visible{border-radius:2px;outline:2px solid #f4e4bc;outline-offset:2px}.nav-game-state-toggle:disabled{cursor:wait}.season-icon{align-items:center;display:inline-flex}.season-icon img{display:block}.nav-season{gap:5px;vertical-align:middle}.nav-season img{height:18px;width:18px}@media (max-width:720px){.nav-step-display{margin:0 6px}.current-step{font-size:12px;letter-spacing:0;min-width:0;padding:3px 5px}.nav-season>span,.step-label{display:none}}.nav-auth-links{align-items:center;display:flex;flex:1 1;justify-content:flex-end}.nav-game-actions{align-items:center;display:flex;flex:0 0 auto;gap:6px;margin-right:12px}.nav-game-action{background:#8b451366;border:1px solid #b4a477bf;border-radius:4px;color:#f4e4bc;cursor:pointer;font-family:IM Fell Double Pica,serif;font-size:14px;padding:5px 9px}.nav-game-action:focus-visible,.nav-game-action:hover{background:#8b4513bf;color:#fff;outline:2px solid #f4e4bc;outline-offset:2px}@media (max-width:720px){.nav-game-actions{gap:3px;margin-right:5px}.nav-game-action{font-size:12px;padding:4px 6px}}.auth-menu{align-items:center;display:flex;gap:10px;position:relative}.nav-player-name{color:#f4e4bc;font-family:IM Fell Double Pica,serif;font-size:16px;font-weight:700;max-width:220px;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 3px #000000d9;white-space:nowrap}@media (max-width:720px){.nav-player-name{display:none}}.mx-2{font-family:Uncial Antiqua,cursive}.user-avatar{background:#8b45138c;border:1px solid #b4a477;border-radius:50%;color:#f4e4bc;cursor:pointer;display:grid;font-family:IM Fell Double Pica,serif;font-size:18px;font-weight:700;height:36px;padding:0;place-items:center;width:36px}.user-avatar.game-user-avatar{border-width:3px;box-sizing:border-box}.user-avatar:focus-visible,.user-avatar:hover{background:#8b4513cc;color:#fff;outline:2px solid #f4e4bc;outline-offset:2px}.user-avatar-image{border-radius:50%;height:100%;object-fit:cover;width:100%}.person-icon{display:block;height:20px;position:relative;width:20px}.person-icon:before{border:1.5px solid;border-radius:50%;height:8px;left:6px;top:0;width:8px}.person-icon:after,.person-icon:before{box-sizing:border-box;content:"";position:absolute}.person-icon:after{border:1.5px solid;border-bottom:0;border-radius:10px 10px 0 0;bottom:0;height:12px;left:2px;width:16px}.auth-menu-dropdown{background:#fff3a6;border:1px solid #b89b00;border-radius:4px;box-shadow:0 5px 12px #00000059;min-width:120px;padding:4px;position:absolute;right:0;top:calc(100% + 8px);z-index:1000}.auth-menu-dropdown a,.auth-menu-dropdown button{background:#0000;border:0;color:#000;cursor:pointer;display:block;font-family:IM Fell Double Pica,serif;font-size:13px;padding:7px 10px;text-align:left;text-decoration:none;white-space:nowrap;width:100%}.auth-menu-dropdown a:focus-visible,.auth-menu-dropdown a:hover,.auth-menu-dropdown button:focus-visible,.auth-menu-dropdown button:hover{background:#ffe66d;color:#000;outline:none}.auth-menu-dropdown .abandon-game-option{color:#8b1a1a}.auth-menu-dropdown .abandon-game-option:disabled{cursor:wait;opacity:.65}.nav-overlay-controls{align-items:center;display:flex;flex:0 0 auto;margin:0 15px;position:relative}.overlay-toggle-btn{background-color:#8b451366;border:1px solid #8b451399;border-radius:4px;color:#f4e4bc;cursor:pointer;display:grid;height:34px;padding:0;place-items:center;transition:all .2s ease;width:34px}.overlay-toggle-btn:focus-visible,.overlay-toggle-btn:hover{background-color:#8b451399;border-color:#8b4513cc;color:#fff;outline:2px solid #f4e4bc;outline-offset:2px;transform:translateY(-1px)}.guide-link{margin:0 8px}.guide-link img{display:block;height:22px;width:22px}.view-map-icon{border:1.5px solid;border-radius:1px;display:block;height:14px;position:relative;transform:skewY(-12deg);width:18px}.view-map-icon:after,.view-map-icon:before{background:currentColor;bottom:-1.5px;content:"";position:absolute;top:-1.5px;width:1.5px}.view-map-icon:before{left:5px}.view-map-icon:after{right:5px}.overlay-view-menu{background:#2d1c0ff5;border:1px solid #8b4513cc;border-radius:4px;box-shadow:0 5px 12px #00000059;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));left:0;min-width:220px;padding:4px;position:absolute;top:calc(100% + 6px);z-index:1000}.overlay-view-option{background:#0000;border:0;border-radius:2px;color:#f4e4bc;cursor:pointer;display:block;font-family:IM Fell Double Pica,serif;font-size:13px;padding:6px 10px;text-align:left;white-space:nowrap;width:100%}.overlay-view-option.active,.overlay-view-option:hover{background:#8b4513a6;color:#fff}.session-expired-toast{background-color:#b42318;border:1px solid #ff7b7b;border-radius:6px;box-shadow:0 6px 18px #00000059;color:#fff;font-size:18px;left:50%;max-width:calc(100vw - 32px);opacity:0;padding:14px 22px;pointer-events:none;position:fixed;top:24px;transform:translate(-50%,-20px);transition:opacity .25s ease,transform .25s ease;z-index:2000}.session-expired-toast.show{opacity:1;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.session-expired-toast{transition:none}}.nav-sound-menu{align-items:center;display:flex;position:relative}.nav-sound-menu-toggle{display:grid;height:34px;min-height:34px;padding:5px;place-items:center;width:34px}.nav-sound-menu-toggle img{display:block;height:20px;width:20px}.nav-sound-menu-panel{grid-gap:9px;background:#221b14fa;border:1px solid #b4a477bf;border-radius:5px;box-shadow:0 6px 20px #0000008c;box-sizing:border-box;color:#f4e4bc;display:grid;font-family:IM Fell Double Pica,serif;gap:9px;grid-template-columns:repeat(2,minmax(0,1fr));padding:12px;position:absolute;right:0;top:calc(100% + 7px);width:min(290px,calc(100vw - 24px));z-index:1100}.sound-menu-background{background:#8b45135c;border:1px solid #b4a47799;border-radius:4px;color:inherit;cursor:pointer;font:inherit;grid-column:1/-1;padding:6px;text-align:center;width:100%}.sound-menu-background:focus-visible,.sound-menu-background:hover{background:#8b4513bf;outline:2px solid #f4e4bc;outline-offset:2px}.sound-menu-sliders{grid-gap:8px;display:grid;gap:8px;grid-column:1/-1}.sound-menu-slider{grid-gap:8px;align-items:center;display:grid;font-size:13px;gap:8px;grid-template-columns:58px minmax(0,1fr) auto}.sound-menu-slider input{accent-color:#b68645;margin:0;min-width:0;width:100%}.sound-menu-slider output{font-feature-settings:"tnum";color:#d5c49c;font-variant-numeric:tabular-nums;min-width:34px;padding-left:10px;text-align:right}@media (max-width:720px){.nav-sound-menu-toggle{height:30px;min-height:30px;padding:4px;width:30px}}.page-container{flex:1 1;padding:24px;text-align:center}.landing-header,.page-container{align-items:center;justify-content:center}.landing-header{display:flex;gap:14px;margin:18px auto 8px}.landing-logo{display:block;filter:drop-shadow(0 10px 14px rgba(0,0,0,.35));height:auto;width:clamp(96px,13vw,160px)}.landing-brand{color:#f4e4bc;font-family:Uncial Antiqua,cursive;font-size:clamp(2rem,4.5vw,4rem);letter-spacing:.08em;line-height:1;margin:0;text-shadow:3px 3px 0 #222,0 8px 18px #00000059}.content-wrap{grid-gap:clamp(32px,6vw,96px);align-items:center;display:grid;gap:clamp(32px,6vw,96px);grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);margin:0 auto;width:min(1180px,100%)}.landing-copy{margin:0 auto;max-width:660px}.landing-visual{aspect-ratio:4/3;background-color:#222;border:2px solid #c6a248;border-radius:4px;box-shadow:0 12px 28px #00000047;overflow:hidden;width:100%}.landing-visual img{display:block;height:100%;object-fit:cover;width:100%}.landing-actions{display:flex;gap:16px;justify-content:center;margin:20px 0}.landing-action-button{background-color:gold;border-radius:3px;color:#000;font-family:IM Fell Double Pica,serif;font-size:1.5em;font-weight:700;padding:15px 30px;position:relative;text-align:center}.landing-action-button:hover{background-color:#b8860b}.landing-action-button:active{background-color:#b86d0b;box-shadow:0 2px 4px #0000001a}@media (max-width:760px){.page-container{padding:16px}.landing-header{gap:8px;margin-top:14px}.landing-brand{font-size:clamp(1.8rem,10vw,3rem)}.content-wrap{gap:32px;grid-template-columns:1fr}.landing-actions{flex-wrap:wrap}}.footer{background-color:#333;color:#fff;flex-shrink:0;font-family:Uncial Antiqua,cursive;height:60px;padding:0;text-align:center;width:100%}.cookie-consent{align-items:center;background:#242424;border:1px solid #6f5a32;border-radius:.5rem;bottom:1rem;box-shadow:0 .75rem 2rem #00000073;color:#fff;display:flex;gap:1.5rem;justify-content:space-between;left:1rem;margin:0 auto;max-width:68rem;padding:1rem 1.25rem;position:fixed;right:1rem;z-index:2000}.cookie-consent-copy h2{color:gold;font-family:Uncial Antiqua,cursive;font-size:1.15rem;margin:0 0 .35rem}.cookie-consent-copy p{line-height:1.45;margin:0}.cookie-consent-actions{display:flex;flex-shrink:0;gap:.75rem}.cookie-consent-actions button,.cookie-settings-button{background:#0000;border:1px solid #d4af37;border-radius:.25rem;color:#fff;cursor:pointer;font:inherit;padding:.65rem .9rem}.cookie-consent-actions button:focus-visible,.cookie-consent-actions button:hover,.cookie-settings-button:focus-visible,.cookie-settings-button:hover{border-color:gold;color:gold}.cookie-consent-actions .cookie-consent-primary{background:#d4af37;color:#161616;font-weight:700}.cookie-settings-button{border:0;margin-left:.75rem;padding:0;text-decoration:underline}@media (max-width:720px){.cookie-consent{align-items:stretch;flex-direction:column}.cookie-consent-actions{justify-content:flex-end}}.guide-page{background:#262923;box-sizing:border-box;color:#eee9db;font-family:Georgia,serif;line-height:1.75;padding:48px 24px 64px;width:100%}.guide-header,.guide-layout{margin:0 auto;max-width:1120px}.guide-header{border-bottom:1px solid #535847;padding-bottom:40px}.guide-eyebrow{color:#d5bc80;font-size:13px;letter-spacing:.18em}.guide-header h1{font-size:clamp(32px,5vw,52px);line-height:1.2;margin:12px 0 20px}.guide-header p{max-width:760px}.guide-page a,.guide-page a:visited{color:#e6cc8d}.guide-page a:hover{color:#fff2cc;text-decoration:underline}.guide-page a:focus-visible{outline:2px solid #e6cc8d;outline-offset:5px}.guide-action{border:1px solid #9f8c60;border-radius:5px;display:inline-block;margin-top:12px;padding:9px 16px}.guide-layout{grid-gap:48px;display:grid;gap:48px;grid-template-columns:230px minmax(0,1fr);padding-top:32px}.guide-contents{align-self:start;border:1px solid #535847;border-radius:8px;padding:18px;position:sticky;top:24px}.guide-contents h2{font-size:18px;margin-top:0}.guide-contents ol{margin-bottom:0;padding-left:22px}.guide-contents li{padding:4px 0}.guide-sections section{border-bottom:1px solid #535847;margin-bottom:30px;padding-bottom:24px;scroll-margin-top:24px}.guide-sections h2{color:#e6cc8d;font-size:25px;line-height:1.35;margin-top:0}.guide-sections li{margin-bottom:10px}.guide-sections strong{color:#fff5dc}.guide-sections dt{color:#fff5dc;font-weight:700;margin-top:18px}.guide-sections dd{margin:6px 0 0}.guide-table-wrap{overflow-x:auto}.guide-page table{border-collapse:collapse;font-size:14px;width:100%}.guide-page caption{color:#d5bc80;margin-bottom:10px;text-align:left}.guide-page td,.guide-page th{border:1px solid #535847;padding:10px;text-align:left}.guide-page thead{background:#34392e}@media (max-width:760px){.guide-page{padding:28px 18px 40px}.guide-layout{gap:28px;grid-template-columns:minmax(0,1fr)}.guide-contents{position:static}}.battle-backdrop{background:#000b;display:grid;inset:0;padding:6px;place-items:center;position:fixed;z-index:3000}.battle-modal{background:#20262d;border:1px solid #807660;border-radius:8px;box-shadow:0 20px 80px #0009;box-sizing:border-box;color:#f2eee5;max-height:97vh;min-width:0;overflow:auto;padding:8px;width:min(1100px,100%)}.battle-modal footer,.battle-modal header,.battle-summary{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.battle-modal h2,.battle-modal h3{margin:2px 0 4px}.battle-modal h2{font-size:18px}.battle-modal h3{font-size:13px}.battle-modal button{cursor:pointer;padding:4px 10px}.battle-modal button:disabled{cursor:not-allowed}.battle-modal footer span,.battle-modal p{color:#c3c8cc;font-size:13px}.battle-side{--side-color:#548dc4;background:#151b22;border-left:3px solid var(--side-color);margin:5px 0;padding:6px 7px}.battle-side-1{--side-color:#cb695e}.battle-summary{font-size:12px;justify-content:flex-start}.battle-side-overview{grid-gap:8px;align-items:start;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto}.battle-reserve-column{min-width:0}.battle-reserve-column .battle-line{padding-top:0}.battle-line{padding-top:4px}.battle-line-label{color:#c3c8cc;display:block;font-size:11px;margin-bottom:3px}.battle-battlefield{overflow-x:auto;position:relative}.battle-target-overlay{border-top:2.5px dashed #f04444;filter:drop-shadow(0 0 2px #000);height:0;pointer-events:none;position:absolute;transform-origin:left center;z-index:100001}.battle-target-overlay:after{border-bottom:4px solid #0000;border-left:7px solid #f04444;border-top:4px solid #0000;content:"";height:0;position:absolute;right:-1px;top:-5px;width:0}.battle-battlefield .battle-side{min-width:calc(var(--battle-width)*64px)}.battle-troops{display:flex;gap:3px;padding:1px 0 2px}.battle-slots{display:grid;grid-template-columns:repeat(var(--battle-width),minmax(0,1fr))}.battle-reserves{flex-wrap:wrap}.battle-troop{align-items:center;background:#ffffff08;border-radius:4px;display:flex;flex-direction:column;font-size:9px;gap:1px;overflow-wrap:anywhere;padding:2px 1px;text-align:center}.battle-reserves .battle-troop{width:52px}.battle-troop-main{align-items:center;display:inline-flex;gap:3px}.battle-strength-loss{color:#ff6262;font-size:9px;font-weight:700;white-space:nowrap}.battle-troop-circle{background:var(--side-color);border:2px solid #070a0c;border-radius:50%;color:#fff;display:grid;font-weight:700;height:25px;place-items:center;width:25px}.battle-troop-circle.civilian{background:#ddd;border:3px solid var(--side-color);color:#222}.battle-troop-circle{position:relative}.battle-armor,.battle-weapon{bottom:-2px;height:22px;object-fit:contain;position:absolute;width:16px}.battle-weapon{right:-8px}.battle-armor{left:-8px}.battle-troop-circle{font-size:9px}.battle-troop-vitals{align-items:center;display:inline-flex;font-size:7px;gap:5px;white-space:nowrap}.battle-troop-dice{color:#f4c36b;font-size:13px;font-weight:700;line-height:1;white-space:nowrap}.battle-troop-stat{align-items:center;display:inline-flex;gap:2px}.battle-troop-stat-icon{flex-shrink:0;height:12px;width:12px}.battle-morale-bar{align-items:flex-end;background:#000000bf;display:inline-flex;height:25px;overflow:hidden;width:5px}.battle-morale-fill{display:block;min-height:0;width:100%}.battle-modal details{margin:5px 0}.battle-troop{outline:none;position:relative}.battle-modifier-tooltip{background:#111820;border:1px solid #b8a77f;border-radius:4px;box-shadow:0 4px 14px #000b;color:#f2eee5;font-size:10px;left:calc(100% + 7px);line-height:1.35;max-width:190px;opacity:0;padding:6px 8px;pointer-events:none;position:absolute;text-align:left;top:50%;transform:translateY(-50%);transition:opacity .12s ease,transform .12s ease,visibility .12s ease;visibility:hidden;width:max-content;z-index:99999}.battle-modifier-tooltip span,.battle-modifier-tooltip strong{display:block}.battle-modifier-tooltip strong{color:#f0d58a;margin-bottom:2px}.battle-troop:focus,.battle-troop:hover{z-index:100000}.battle-troop:focus .battle-modifier-tooltip,.battle-troop:hover .battle-modifier-tooltip{opacity:1;transform:translateY(-50%);visibility:visible}.battle-slot{min-width:0;text-align:center}.battle-slot small{color:#89949e;font-size:9px}.battle-empty-slot{border:1px dashed #ffffff30;color:#8c969e;display:grid;font-size:9px;margin-top:2px;min-height:29px;place-items:center}.battle-progress-button{border:1px solid #dd8b7e;cursor:pointer;display:block;padding:0;width:100%}.battle-progress-button .movement-progress-fill{background:#d64545}@media (max-height:800px){.battle-modal{padding:6px}.battle-modal footer span,.battle-modal p{font-size:11px}.battle-side{margin:3px 0;padding:4px 6px}.battle-line{padding-top:3px}.battle-troops{padding-bottom:1px}}@media (max-width:700px){.battle-side-overview{gap:2px;grid-template-columns:1fr}}.game-notifications{display:flex;justify-content:center;left:50%;max-width:calc(100vw - 16px);pointer-events:none;position:fixed;top:54px;top:calc(var(--game-navbar-height, 46px) + 8px);transform:translateX(-50%);width:max-content;z-index:110}body:has([aria-modal=true]) .game-notifications{display:none}.game-notification-row{background:#101510df;border-radius:32px;display:flex;gap:10px;max-width:100%;overflow-x:auto;padding:10px;pointer-events:auto}.game-notification-item{flex:0 0 46px;position:relative}.game-notification{background:#40331c;border:2px solid #d3aa55;border-radius:50%;color:#ffe2a2;cursor:pointer;height:46px;padding:10px;position:relative;width:46px}.game-notification.battle{background:#482527;border-color:#ce7970;color:#ffc4ba}.game-notification.battle-won{background:#244b2d;border-color:#70c77c;color:#c7f5ce}.game-notification.battle-lost{background:#482527;border-color:#ce7970;color:#ffc4ba}.game-notification.is-read{border-color:#777}.game-notification:hover{filter:brightness(1.25)}.game-notification:focus-visible{outline:2px solid #fff;outline-offset:2px}.game-notification img{height:100%;width:100%}.game-notification-dismiss{background:#f0e6d2;border:1px solid #101510;border-radius:50%;color:#241d14;cursor:pointer;font-size:12px;font-weight:700;height:15px;line-height:12px;padding:0;position:absolute;right:-1px;top:-1px;width:15px;z-index:1}.game-notification-dismiss:hover{background:#fff}.game-notification-dismiss:focus-visible{outline:2px solid #fff;outline-offset:2px}.notification-unread{background:#fff1ba;border-radius:50%;height:8px;position:absolute;right:0;top:0;width:8px}.game-chat{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#080b0e40;border:1px solid #ffffff61;border-radius:9px;box-shadow:0 2px 12px #00000052;color:#fff;isolation:isolate;max-width:640px;pointer-events:auto;position:relative;width:100%}.game-chat-header{min-height:34px}.game-chat-toggle{align-items:center;background:#0000;border:0;border-radius:8px 8px 0 0;color:#fff;cursor:pointer;display:flex;font:inherit;font-size:13px;font-weight:700;gap:9px;min-height:34px;padding:5px 10px;text-align:left;width:100%}.game-chat.is-collapsed .game-chat-toggle{border-radius:8px}.game-chat-toggle:focus-visible,.game-chat-toggle:hover{background:#0000007a}.game-chat button:focus-visible,.game-chat input:focus-visible,.game-chat-toggle:focus-visible{outline:2px solid #e4c370;outline-offset:1px}.game-chat-players{align-items:center;display:flex;gap:4px;margin-left:2px;min-width:0;overflow:hidden}.game-chat-player-avatar{align-items:center;background:#080a0cd1;border:2px solid var(--player-color);border-radius:50%;box-sizing:border-box;color:#fff;display:inline-flex;flex:0 0 23px;font-size:9px;font-weight:800;height:23px;justify-content:center;line-height:1;position:relative;text-shadow:0 1px 2px #000;width:23px}.game-chat-player-active-dot{background:#42d46b;border:1px solid #101510;border-radius:50%;bottom:-2px;box-shadow:0 0 3px #42d46bcc;height:8px;position:absolute;right:-2px;width:8px;z-index:2}.game-chat-player-avatar-fallback{position:relative;z-index:0}.game-chat-player-avatar img{border-radius:50%;height:100%;inset:0;object-fit:cover;position:absolute;width:100%;z-index:1}.game-chat-toggle-icon{font-size:16px;margin-left:auto}.game-chat-toggle-icon.is-collapsed{border-left:2px solid;border-top:2px solid;height:9px;margin-right:2px;transform:translateY(2px) rotate(45deg);width:9px}.game-chat-unread{align-items:center;background:#d93636;border-radius:50%;color:#fff;display:inline-flex;flex:0 0 auto;font-size:11px;height:20px;justify-content:center;line-height:1;text-align:center;width:20px}.game-chat-unread.is-multiple{border-radius:10px;min-width:20px;padding:0 5px;width:auto}.game-chat-history{height:min(200px,28vh);min-height:min(90px,16vh);overflow-y:auto;overscroll-behavior:contain;padding:5px 10px 7px;scrollbar-color:#ffffff8c #00000040;scrollbar-width:thin}.game-chat-message{border-bottom:1px solid #ffffff26;overflow-wrap:anywhere;padding:5px 0 6px}.game-chat-message:last-child{border-bottom:0}.game-chat-message-meta{align-items:baseline;color:#f1d696;display:flex;flex-wrap:wrap;font-size:11px;font-weight:600;gap:0 5px;min-height:17px}.game-chat-message-meta time{color:#f4f4f4;font-weight:400;margin-left:3px}.game-chat-step{color:#e8e8e8;font-weight:400}.game-chat-player-name{background:#0000;border:0;color:#ffe0a0;cursor:pointer;font:inherit;font-weight:700;padding:0}.game-chat-player-name:hover,.game-chat-tile-link{text-decoration:underline}.game-chat-tile-link{background:none;border:0;color:#f3d478;cursor:pointer;font:inherit;padding:0;text-underline-offset:2px}.game-chat-tile-link:hover{color:#fff0b5}.game-chat-private-label{color:#f4a8dc}.game-chat-private-arrow{color:#fff}.game-chat-message p{color:#fff;font-size:13px;line-height:1.35;margin:2px 0 0;white-space:pre-wrap}.game-chat-empty{color:#fff;font-size:12px;margin:8px 0;text-align:center}.game-chat-load-older,.game-chat-new-messages{background:#0f1215e0;border:1px solid #ffffff73;border-radius:12px;color:#fff;cursor:pointer;display:block;font:inherit;font-size:11px;margin:3px auto 7px;padding:4px 9px}.game-chat-new-messages{margin:5px auto}.game-chat-composer button:disabled,.game-chat-load-older:disabled{cursor:wait;opacity:.65}.game-chat-composer{border-top:1px solid #fff3;display:flex;gap:6px;padding:7px}.game-chat-composer input{background:#080a0cdb;border:1px solid #ffffff61;border-radius:5px;color:#fff;flex:1 1 auto;font:inherit;font-size:13px;height:32px;min-width:0;padding:5px 9px}.game-chat-composer input::placeholder{color:#d1d1d1;opacity:1}.game-chat-composer button{background:#40351e;border:1px solid #dbc17b;border-radius:5px;color:#fff;cursor:pointer;flex:0 0 auto;font:inherit;font-size:12px;font-weight:700;min-width:55px;padding:4px 9px}.game-chat-composer button:hover:not(:disabled){background:#5c4a27}.game-chat-suggestions{background:#0c0e11f5;border:1px solid #ffffff73;border-radius:6px;box-shadow:0 3px 12px #0006;box-sizing:border-box;list-style:none;margin:0;max-height:150px;overflow-y:auto;padding:4px;position:absolute;width:min(240px,80%);z-index:2}.game-chat-suggestions button{background:#0000;border:0;color:#fff;cursor:pointer;font:inherit;font-size:12px;padding:6px 8px;text-align:left;width:100%}.game-chat-suggestions button:hover{background:#ffffff29}.game-chat-error{color:#ffd1cb;font-size:11px;margin:0;padding:4px 8px 6px}.game-chat .sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}@media (max-height:520px){.game-chat-history{height:min(150px,24vh);min-height:68px}}.battle-summary-backdrop{background:#000b;display:grid;inset:0;padding:20px;place-items:center;position:fixed;z-index:3010}.battle-summary-modal{background:#20262d;border:1px solid #807660;border-radius:12px;box-shadow:0 20px 80px #0009;box-sizing:border-box;color:#f2eee5;max-height:min(760px,100%);overflow:auto;padding:24px;width:min(700px,100%)}.battle-summary-modal footer,.battle-summary-modal header{align-items:center;display:flex;gap:12px;justify-content:space-between}.battle-summary-modal h2{margin:6px 0 12px}.battle-summary-modal p{color:#c3c8cc}.battle-summary-modal button{cursor:pointer;padding:8px 16px}.battle-summary-results{grid-gap:14px;display:grid;gap:14px;margin:20px 0}.battle-summary-side{grid-gap:10px;background:#151b22;border-left:4px solid #807660;display:grid;gap:10px;padding:14px}.battle-summary-side header{display:flex;gap:12px;justify-content:space-between}.battle-summary-total{grid-gap:8px;color:#f2d39a;display:grid;font-size:13px;gap:8px}.battle-summary-troops{grid-gap:6px;display:grid;gap:6px}.battle-summary-troop{grid-gap:10px;align-items:center;background:#202a32;color:#cbd3d7;display:grid;font-size:12px;gap:10px;grid-template-columns:minmax(90px,.7fr) 1fr 1fr;padding:8px 10px}.battle-summary-troop strong{color:#f2eee5}.battle-summary-side b{color:#ef9b76;font-size:18px}@media (max-width:600px){.battle-summary-troop{gap:3px;grid-template-columns:1fr}}.game{--game-navbar-height:46px;align-items:stretch;display:flex;height:auto;inset:0;justify-content:center;position:fixed;width:100%;z-index:0}.game-bottom-stack{align-items:center;bottom:max(12px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:6px;left:50%;pointer-events:none;position:absolute;transform:translateX(-50%);width:min(640px,calc(100vw - 24px));z-index:12}.game-bottom-stack>*{max-width:100%;width:100%}@media (max-width:700px){.game-bottom-stack{left:50%;width:calc(100vw - 16px)}}@media (max-width:700px){.game:has(.game-chat.is-expanded) .left-side-bar,.game:has(.game-chat.is-expanded) .right-side-bar{max-height:max(0px,calc(100vh - var(--game-navbar-height) - min(200px, 28vh) - 223px))}.game:has(.game-chat.is-collapsed) .left-side-bar,.game:has(.game-chat.is-collapsed) .right-side-bar{max-height:max(0px,calc(100vh - var(--game-navbar-height) - 158px))}}@media (max-width:700px) and (max-height:520px){.game:has(.game-chat.is-expanded) .left-side-bar,.game:has(.game-chat.is-expanded) .right-side-bar{max-height:max(0px,calc(100vh - var(--game-navbar-height) - min(150px, 24vh) - 223px))}}.left-side-bar,.right-side-bar{background-color:#0a0a0ae6;border:1px solid #fff3;bottom:auto;color:#fff;display:flex;flex-direction:column;max-height:calc(100vh - var(--game-navbar-height) - 32px);min-height:0;overflow-y:auto;padding:15px;position:absolute;top:var(--game-navbar-height);width:220px;z-index:10}.left-side-bar h3,.right-side-bar h3{border-bottom:1px solid #ffffff4d;color:#4caf50;font-size:16px;margin:0 0 15px;padding-bottom:8px}.sidebar-close-button{background:#0000;border:0;border-radius:4px;color:#fff;cursor:pointer;font-size:24px;height:28px;line-height:1;padding:0;position:absolute;right:6px;top:6px;width:28px}.sidebar-close-button:focus-visible,.sidebar-close-button:hover{background-color:#ffffff29}.sidebar-close-button:focus-visible{outline:2px solid #4caf50;outline-offset:1px}.tile-basic-info{margin-bottom:15px}.tile-basic-info label{color:#ccc;display:block;font-size:12px;margin:8px 0 3px}.environmental-data{margin-bottom:15px}.env-item{display:flex;justify-content:space-between}.env-item,.env-land-use{margin:4px 0;padding:3px 0}.env-land-use{display:block;width:100%}.land-use-bar{background:#0000;border:1px solid #ffffff2e;border-radius:4px;box-sizing:border-box;color:inherit;cursor:pointer;display:flex;font:inherit;height:24px;overflow:hidden;padding:0;text-align:left;width:100%}.land-use-bar:focus-visible{outline:2px solid #4caf50;outline-offset:2px}.land-use-bar-segment{align-items:center;border-radius:0;border-right:1px solid #000;box-sizing:border-box;container-type:inline-size;display:flex;flex:0 0 auto;height:100%;justify-content:center;min-width:0}.land-use-bar-segment-label{-webkit-text-stroke:1px grey;border-radius:2px;color:#000;display:none;font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:400;line-height:1;min-width:12px;padding:2px 4px;paint-order:stroke fill;pointer-events:none;text-align:center;white-space:nowrap}@container (min-width: 12px){.land-use-bar-segment-label{display:block}}.env-label{color:#aaa;font-size:11px}.env-value{color:gold;font-size:11px;font-weight:700}.env-value-group{font-size:11px}.env-value-group,.population-value-group{align-items:center;display:flex;gap:6px;justify-content:flex-end}.env-trend{font-weight:700;white-space:nowrap}.env-trend--up{color:#4caf50}.env-trend--down{color:#f44336}.population-trend{font-size:10px;font-weight:700;white-space:nowrap}.population-trend--up{color:#4caf50}.population-trend--down{color:#f44336}.population-section-title-button{background:#0000;border:0;color:#4caf50;cursor:pointer;display:block;font:inherit;font-size:12px;font-weight:700;margin:8px 0;padding:0;text-align:left;width:100%}.population-section-title-button:focus-visible,.population-section-title-button:hover{color:#6bcf70;outline:none;text-decoration:underline}.population-section-title-button:focus-visible{border-radius:2px;box-shadow:0 0 0 2px #4caf50a6}.population-details{background:#00000052;border:1px solid #ffd70038;border-radius:4px;font-size:10px;padding:9px}.population-condition-heading,.population-details-summary{color:#ddd;display:flex;font-weight:600;gap:8px;justify-content:space-between}.population-capacity-track{background:#ffffff1f;border-radius:999px;height:5px;margin:5px 0 9px;overflow:hidden}.population-capacity-track span{background:linear-gradient(90deg,#4caf50,gold);border-radius:inherit;display:block;height:100%}.population-stat-grid{grid-gap:5px 8px;color:#aaa;display:grid;gap:5px 8px;grid-template-columns:minmax(0,1fr) auto;padding-bottom:9px}.population-stat-grid strong{color:#eee;text-align:right;white-space:nowrap}.population-condition-heading{border-top:1px solid #ffffff1f;padding-top:8px}.population-condition-list{display:flex;flex-direction:column;gap:4px;margin-top:7px}.population-condition{grid-gap:4px;align-items:center;display:grid;gap:4px;grid-template-columns:12px minmax(0,1fr) auto;text-transform:capitalize}.population-condition.is-met,.population-positive{color:#66c96b!important}.population-condition.is-missing,.population-negative{color:#ef6c63!important}.population-warning{color:#e5bd4c}.population-food-amount{color:#aaa;text-align:right}.population-details-note{color:#888;font-size:9px;line-height:1.35;margin:9px 0 0}.building-popup.population-modal{max-height:86vh;overflow-y:auto;width:min(1200px,calc(100vw - 32px))}.population-modal-columns{grid-gap:10px;align-items:start;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.population-modal-column{display:flex;flex-direction:column;gap:7px;min-width:0}.population-modal-column>h4{color:gold;font-size:13px;margin:0}.population-modal-column .population-details,.population-modal-column .worker-task-settings{min-width:0}.population-modal .population-details{max-height:calc(80vh - 170px);overflow-y:auto}.population-raise-controls{align-items:center;display:flex;gap:8px;margin-top:4px}.population-raise-slider-control{flex:3 1;min-width:0}.population-raise-slider-control input[type=range],.population-raise-value{display:block;margin:0 auto;width:85%}.population-raise-value{text-align:center}.population-raise-controls .sidebar-button{align-self:stretch;flex:1 1;padding-bottom:0;padding-top:0}.worker-task-settings{background:#0000003d;border:1px solid #4caf5047;border-radius:6px;display:flex;flex-direction:column;gap:9px;max-height:48vh;overflow-y:auto;padding:10px}.worker-task-settings-save{flex:1 1;min-width:0}.worker-task-settings-actions{display:flex;gap:8px;width:100%}.worker-task-settings-heading{align-items:center;display:flex;gap:10px;justify-content:space-between}.worker-task-group h5,.worker-task-settings-heading h4{color:gold;font-size:12px;margin:0}.worker-task-settings-empty,.worker-task-settings-heading p,.worker-task-settings-hint,.worker-task-settings-status{color:#999;font-size:10px;margin:2px 0 0}.worker-task-group{display:flex;flex-direction:column;gap:5px}.worker-task-group h5{border-bottom:1px solid #ffd70033;padding-bottom:3px;text-transform:capitalize}.worker-task-row{grid-gap:8px;align-items:center;background:#ffffff0d;border-radius:4px;display:grid;gap:8px;grid-template-columns:minmax(150px,1fr) auto minmax(72px,auto);padding:7px 8px}.worker-task-row--clickable{cursor:pointer}.worker-task-row--clickable:hover{background:#ffffff17}.worker-task-row--inactive{opacity:.72}.worker-task-summary{display:flex;flex-direction:column;gap:2px;min-width:0}.worker-task-summary strong{color:#eee;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.worker-task-summary small,.worker-task-summary span{color:#aaa;font-size:9px}.worker-task-assignment{align-items:center;display:flex;gap:5px}.worker-task-summary small{color:#d3aa4a}.worker-task-enabled,.worker-task-priority,.worker-task-season-priorities label{align-items:center;color:#ccc;display:flex;font-size:10px;gap:4px;white-space:nowrap}.worker-task-priority input,.worker-task-season-priorities input{background:#0000006b;border:1px solid #ffffff40;border-radius:3px;color:#fff;padding:3px;text-align:center;width:42px}.worker-task-gathering-threshold{grid-gap:4px 8px;align-items:center;color:#ccc;display:grid;font-size:10px;gap:4px 8px;grid-template-columns:minmax(0,1fr) auto}.worker-task-gathering-threshold input[type=range]{accent-color:gold;cursor:pointer;grid-column:1/-1;margin:0;width:100%}.worker-task-gathering-threshold-slider{grid-column:1/-1;height:24px;margin-top:1px;position:relative}.worker-task-gathering-threshold-slider input[type=range]{appearance:none;-webkit-appearance:none;background:#0000;box-sizing:border-box;height:18px;left:0;padding:0;position:absolute;top:3px;width:100%;z-index:1}.worker-task-gathering-threshold-slider input[type=range]::-webkit-slider-runnable-track{background:#ffffff38;border-radius:2px;height:4px}.worker-task-gathering-threshold-slider input[type=range]::-moz-range-track{background:#ffffff38;border-radius:2px;height:4px}.worker-task-gathering-threshold-slider input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;background:#0000;border:0;border-radius:0;clip-path:none;cursor:pointer;height:16px;margin-top:-6px;opacity:0;width:16px}.worker-task-gathering-threshold-slider input[type=range]::-moz-range-thumb{background:#0000;border:0;border-radius:0;clip-path:none;cursor:pointer;height:16px;opacity:0;width:16px}.worker-task-gathering-threshold-slider input[type=range]:focus-visible{outline:2px solid #fff;outline-offset:2px}.worker-task-gathering-threshold-marker-track{inset:0 8px;pointer-events:none;position:absolute;z-index:2}.worker-task-gathering-threshold-marker{border-left:5px solid #0000;border-right:5px solid #0000;filter:drop-shadow(0 1px 1px rgba(0,0,0,.85));height:0;pointer-events:none;position:absolute;transform:translateX(-50%);width:0}.worker-task-gathering-threshold-marker--threshold{border-top:6px solid gold;top:6px}.worker-task-gathering-threshold-marker--current{border-bottom:6px solid #42d8ca;top:12px}.worker-task-gathering-threshold-current{align-items:center;color:#999;display:flex;font-size:9px;gap:8px;grid-column:1/-1;justify-content:space-between}.worker-task-gathering-threshold-current output{color:#42d8ca;font-size:10px;font-weight:700}.worker-task-gathering-threshold-value{color:gold;font-size:12px;font-weight:700;min-width:3ch;text-align:right}.worker-task-season-priorities{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(4,auto)}.worker-task-season-priorities label{flex-direction:column;gap:2px}.worker-task-season-icon img{height:22px;width:22px}.worker-task-season-priority-input--current{background:#d3aa4a33!important;border:2px solid #d3aa4a!important;box-shadow:0 0 0 2px #d3aa4a38,0 0 8px #d3aa4a59;color:#fff!important;font-size:11px;font-weight:700!important}.worker-task-settings-error{color:#ef6c63!important;font-size:11px!important;margin:0}@media (max-width:720px){.population-modal-columns{grid-template-columns:minmax(0,1fr)}}.building-popup.environmental-modal{max-height:86vh;overflow-y:auto;width:min(560px,calc(100vw - 32px))}.tile-name-editor{grid-gap:10px;color:#ddd;display:grid;font-size:12px;gap:10px;grid-template-columns:minmax(0,1fr);margin:0}.tile-name-editor input{box-sizing:border-box;max-width:100%;min-width:0;width:32ch}.tile-name-error{color:#ef6c63;margin:0}.building-popup.tile-rename-modal{width:min(420px,calc(100vw - 32px))}.tile-rename-modal .tile-name-editor .popup-buttons{margin-top:8px}.building-popup.resources-logistics-modal{align-items:start;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:88vh;overflow-y:auto;width:min(920px,calc(100vw - 32px))}.resources-logistics-modal>.popup-buttons,.resources-logistics-modal>h3{grid-column:1/-1}.logistics-section{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:6px;display:flex;flex-direction:column;gap:8px;padding:10px}.logistics-section h4,.trading-route-form h5{color:gold;font-size:13px;margin:0}.logistics-resource-list,.trading-route-form{display:flex;flex-direction:column;gap:6px}.logistics-resource-row,.trading-route-row{grid-gap:8px;align-items:center;background:#ffffff0f;border-radius:4px;color:#ddd;display:grid;font-size:11px;gap:8px;grid-template-columns:minmax(0,1fr) auto;padding:6px 8px}.logistics-resource-row span:last-child,.trading-route-row small{color:#aaa;text-align:right}.trading-route-row{border-left:3px solid #4caf50;grid-template-columns:minmax(90px,auto) minmax(0,1fr) auto}.trading-route-row strong{color:gold;text-transform:capitalize}.trading-route-row span{color:#ddd}.logistics-empty,.logistics-error,.logistics-note{color:#aaa;font-size:11px;line-height:1.35;margin:0}.logistics-add-resource{align-items:center;color:#ccc;display:flex;font-size:11px;gap:8px}.logistics-add-resource select{min-width:160px}.logistics-error{color:#ef6c63}.automatic-trade-policy{display:block}.automatic-trade-policy-header,.automatic-trade-values{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.automatic-trade-policy-header{justify-content:space-between}.automatic-trade-policy-header span{color:#aaa;font-size:10px}.automatic-trade-values{margin-top:6px}.trade-policy-thresholds{flex:1 1 360px;min-width:260px}.trade-policy-threshold-inputs{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.automatic-trade-values label,.trade-policy-threshold-inputs label{grid-gap:3px;align-items:center;color:#ccc;display:grid;font-size:10px;gap:3px;grid-template-columns:auto 72px}.trade-policy-slider-group{height:50px;margin:5px 7px 0;position:relative}.trade-policy-slider{background:#3a414b;border-radius:3px;height:6px;left:0;position:absolute;right:0;top:8px}.trade-policy-slider-track{background:linear-gradient(90deg,#d98955,#62bd78 52%,#6aa9d8);border-radius:inherit;height:100%;opacity:.7;width:100%}.trade-policy-slider-indicators{height:15px;left:0;pointer-events:none;position:absolute;right:0;top:0}.trade-policy-slider-indicator{pointer-events:none;position:absolute;transform:translateX(-50%);z-index:4}.trade-policy-slider-indicator--stored{border-left:6px solid #0000;border-right:6px solid #0000;border-top:9px solid #f2c94c;filter:drop-shadow(0 0 1px #20242a);height:0;top:0;width:0}.trade-policy-slider-indicator--expected,.trade-policy-slider-indicator--reserved{border-radius:1px;height:14px;top:1px;width:2px}.trade-policy-slider-indicator--reserved{background:#c084fc}.trade-policy-slider-indicator--expected{background:#69c0ff}.trade-policy-slider-handles{height:22px;left:0;pointer-events:none;position:absolute;right:0;top:0}.trade-policy-slider-handle{cursor:grab;height:32px;pointer-events:auto;position:absolute;top:-5px;touch-action:none;transform:translateX(-50%);width:32px}.trade-policy-slider-handle--demand{z-index:6}.trade-policy-slider-handle--surplus{z-index:5}.trade-policy-slider-handle:active{cursor:grabbing}.trade-policy-slider-handle-visual{border:2px solid #20242a;border-radius:50%;box-shadow:0 0 0 1px #ffffff73;height:14px;left:9px;pointer-events:none;position:absolute;top:9px;width:14px}.trade-policy-slider-handle--demand .trade-policy-slider-handle-visual{background:#d94a4a}.trade-policy-slider-handle--surplus .trade-policy-slider-handle-visual{background:#4caf6a}.trade-policy-slider-input{appearance:none;background:#0000;height:22px;left:0;margin:0;pointer-events:none;position:absolute;top:0;width:100%}.trade-policy-slider-input::-webkit-slider-runnable-track{background:#0000;height:6px}.trade-policy-slider-input::-moz-range-track{background:#0000;height:6px}.trade-policy-slider-input::-webkit-slider-thumb{appearance:none;background:#0000;border:2px solid #0000;border-radius:50%;box-shadow:none;cursor:grab;height:14px;margin-top:-4px;pointer-events:auto;width:14px}.trade-policy-slider-input::-moz-range-thumb{background:#0000;border:2px solid #0000;border-radius:50%;box-shadow:none;cursor:grab;height:10px;pointer-events:auto;width:10px}.trade-policy-slider-input:focus-visible{outline:2px solid #fff;outline-offset:2px}.trade-policy-slider-input:active::-moz-range-thumb,.trade-policy-slider-input:active::-webkit-slider-thumb{cursor:grabbing}.trade-policy-slider-input--demand{z-index:3}.trade-policy-slider-input--surplus{z-index:2}.trade-policy-slider-scale{color:#888;left:0;right:0;top:20px}.trade-policy-slider-actuals,.trade-policy-slider-scale{display:flex;font-size:9px;justify-content:space-between;pointer-events:none;position:absolute}.trade-policy-slider-actuals{color:#aaa;gap:6px;left:-7px;right:-7px;top:34px;white-space:nowrap}.automatic-trade-values input[type=number]{background:#20242a;border:1px solid #fff3;border-radius:4px;color:#fff;font:inherit;min-width:0;padding:3px 4px;width:72px}.trading-route-form label{color:#ccc;display:flex;flex-direction:column;font-size:11px;gap:3px}.trading-route-form input,.trading-route-form select{background:#202020;border:1px solid #fff3;border-radius:4px;color:#fff;font:inherit;min-width:0;padding:5px 6px}.trading-route-form-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.trading-route-form-grid:first-of-type{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:620px){.building-popup.resources-logistics-modal{grid-template-columns:1fr}.resources-logistics-modal>.popup-buttons,.resources-logistics-modal>h3{grid-column:auto}.logistics-resource-row,.trading-route-row{grid-template-columns:1fr}.logistics-resource-row span:last-child,.trading-route-row small{text-align:left}}.land-use-details{display:flex;flex-direction:column;gap:12px}.land-use-chart-layout{grid-gap:18px;align-items:center;display:grid;gap:18px;grid-template-columns:180px minmax(0,1fr)}.land-use-pie{height:180px;width:180px}.land-use-pie-segment,.land-use-pie-track{fill:none;stroke-width:28;transform:rotate(-90deg);transform-origin:70px 70px}.land-use-pie-track{stroke:#ffffff14}.land-use-pie-segment--forest,.land-use-pie-segment--forest_empty{stroke:#2e7d32}.land-use-pie-segment--forest_berries{stroke:url(#land-use-berries-pattern)}.land-use-pie-segment--forest_mushrooms{stroke:url(#land-use-mushrooms-pattern)}.land-use-pie-segment--forest_nursery_i{stroke:#c8e6c9}.land-use-pie-segment--forest_nursery_ii{stroke:#a5d6a7}.land-use-pie-segment--forest_nursery_iii{stroke:#81c784}.land-use-pie-segment--forest_nursery_iv{stroke:#66bb6a}.land-use-pie-segment--cliffs{stroke:url(#land-use-cliffs-pattern)}.land-use-pie-segment--swamp{stroke:#607d4e}.land-use-pie-segment--buildings{stroke:#9e9e9e}.land-use-pie-segment--wheat{stroke:#d6ae3b}.land-use-pie-segment--rye{stroke:#9d7b32}.land-use-pie-segment--vegetables{stroke:#7cb342}.land-use-pie-segment--flax{stroke:#8e6ccf}.land-use-pie-segment--free{stroke:#fffdf0}.land-use-pie-value{fill:#fff;font-size:14px;font-weight:700}.land-use-pie-label{fill:#aaa;font-size:9px}.land-use-legend{display:flex;flex-direction:column;gap:7px}.land-use-legend-row{grid-gap:7px;align-items:center;color:#ccc;display:grid;font-size:11px;gap:7px;grid-template-columns:11px minmax(145px,1fr) auto minmax(96px,auto)}.land-use-percent{color:#fff;text-align:right;white-space:nowrap}.land-use-swatch{border-radius:2px;height:9px;width:9px}.land-use-swatch--forest,.land-use-swatch--forest_empty,.land-use-swatch--forest_foragable{background:#2e7d32}.land-use-swatch--forest_berries{background-color:#2e7d32;background-image:radial-gradient(circle,#c75b87 0 1.1px,#0000 1.2px);background-size:5px 5px}.land-use-swatch--forest_mushrooms{background-color:#2e7d32;background-image:radial-gradient(circle,#8d6e63 0 1.1px,#0000 1.2px);background-size:5px 5px}.land-use-swatch--forest_nursery_i{background:#c8e6c9}.land-use-swatch--forest_nursery_ii{background:#a5d6a7}.land-use-swatch--forest_nursery_iii{background:#81c784}.land-use-swatch--forest_nursery_iv{background:#66bb6a}.land-use-swatch--cliffs{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='20'%3E%3Cpath fill='%235e6268' d='M0 0h30v20H0z'/%3E%3Cpath d='m1 7 2-5 2 5m6 0 2-5 2 5m6 0 2-5 2 5M6 17l2-5 2 5m6 0 2-5 2 5m6 0 2-5 2 5' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:30px 20px}.land-use-bar-segment.land-use-swatch--forest .land-use-bar-segment-label,.land-use-bar-segment.land-use-swatch--forest_berries .land-use-bar-segment-label,.land-use-bar-segment.land-use-swatch--forest_empty .land-use-bar-segment-label,.land-use-bar-segment.land-use-swatch--forest_foragable .land-use-bar-segment-label,.land-use-bar-segment.land-use-swatch--forest_mushrooms .land-use-bar-segment-label{background-color:#2e7d32}.land-use-bar-segment.land-use-swatch--cliffs .land-use-bar-segment-label{background-color:#5e6268}.land-use-swatch--swamp{background:#607d4e}.land-use-swatch--buildings{background:#9e9e9e}.land-use-swatch--wheat{background:#d6ae3b}.land-use-swatch--rye{background:#9d7b32}.land-use-swatch--vegetables{background:#7cb342}.land-use-swatch--flax{background:#8e6ccf}.land-use-swatch--free{background:#fffdf0}.land-use-trend--up{color:#66c96b;white-space:nowrap}.land-use-trend--down{color:#ef6c63;white-space:nowrap}.land-use-damage-breakdown{display:flex;flex-direction:column;gap:2px}.land-management-buttons{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}@media (max-width:520px){.land-use-chart-layout{grid-template-columns:1fr;justify-items:center}.land-use-legend{width:100%}.land-use-legend-row{grid-template-columns:11px minmax(0,1fr) auto}.land-use-legend-row>.land-use-damage-breakdown,.land-use-legend-row>.land-use-trend--down,.land-use-legend-row>.land-use-trend--up{grid-column:2/-1}}.resources-section{margin-bottom:15px}.resources-section label{color:#ccc;display:block;font-size:12px;font-weight:700;margin:8px 0}.resources-list{max-height:150px;overflow-y:auto}.natural-resources-section,.tile-units-section{flex:0 0 auto}.tile-buildings-section{display:flex;flex:1 1;flex-direction:column;min-height:0}.stored-resources-section{display:flex;flex:0 0 auto;flex-direction:column}.tile-buildings-list{flex:1 1 auto;max-height:none;min-height:0}.stored-resources-list{max-height:none;overflow:visible}.right-side-bar>ul{flex:0 0 auto}.resource-item{align-items:center;background-color:#ffffff1a;border-left:3px solid gold;border-radius:3px;display:flex;justify-content:space-between;margin:4px 0;padding:4px 8px}.resource-item.building-progress-item{align-items:stretch;display:flex;flex-direction:column;gap:5px}.building-list-header{align-items:center;display:flex;gap:7px;justify-content:space-between;min-width:0;width:100%}.building-progress-bar{background:#0000008c;border-radius:3px;color:#fff;height:18px;overflow:hidden;position:relative}.building-progress-bar-fill{background:linear-gradient(90deg,#287b37,#4caf50);inset:0 auto 0 0;position:absolute;transition:width .18s ease-out}.building-progress-bar--paused .building-progress-bar-fill{background:linear-gradient(90deg,#80661f,#c7a43b)}.building-progress-bar-label{align-items:center;color:#fff;display:flex;font-size:10px;font-weight:700;inset:0;justify-content:center;line-height:1;padding:0 5px;position:absolute;text-shadow:0 1px 2px #000,0 0 3px #000;white-space:nowrap}.building-progress-bar-label .building-progress-trend{color:#fff;font-size:inherit;margin-left:4px}.raise-progress-civilians{align-items:center;align-self:center;display:flex;flex-direction:row;gap:2px;padding:3px 0}.raise-progress-civilian{background:linear-gradient(to top,#27ae60 var(--raise-marker-progress),#00000061 var(--raise-marker-progress));background:linear-gradient(to top,var(--raise-player-color,#27ae60) var(--raise-marker-progress),#00000061 var(--raise-marker-progress));border:1px solid #000000e6;border-radius:50%;box-sizing:border-box;flex:0 0 auto;height:9px;width:9px}.resource-type{align-items:center;color:gold;display:inline-flex;font-size:11px;font-weight:700;gap:5px;text-transform:capitalize}.resource-icon{flex:0 0 auto;height:16px;image-rendering:auto;object-fit:contain;width:16px}.resource-policy-label,.unit-resource-name{align-items:center;display:inline-flex;gap:5px}.resource-policy-label input{margin:0}.resource-policy-label .resource-icon,.unit-resource-name .resource-icon{height:15px;width:15px}img.resource-icon:is([src="/raster/icons/wood.png"],[src="/raster/icons/flint.png"],[src="/raster/icons/bread.png"],[src="/raster/icons/flour.png"],[src="/raster/icons/rye-grain.png"],[src="/raster/icons/wheat-grain.png"],[src="/raster/icons/straw.png"],[src="/raster/icons/vegetables.png"],[src="/raster/icons/wheat.png"],[src="/raster/icons/rye.png"],[src="/raster/icons/berries.png"],[src="/raster/icons/meat.png"],[src="/raster/icons/hide.png"],[src="/raster/icons/leather.png"]){height:14px;width:14px}.resource-density{color:#ccc;font-size:10px}.resource-density.building-progress-paused{color:#facc15}.building-progress-pause-icon{height:10px;margin-left:3px;vertical-align:-1px;width:10px}.resource-value-group{align-items:center;display:flex;flex-wrap:wrap;font-size:10px;gap:5px;justify-content:flex-end;min-width:0;position:relative}.resource-value-group>.resource-density{color:gold;font-weight:700}.food-consumption-control{align-items:center;display:inline-flex;gap:4px;height:14px;line-height:14px;max-height:14px;min-height:14px;min-width:16px}.food-consumption-toggle{align-items:center;cursor:pointer;display:inline-flex}.food-consumption-toggle input{accent-color:#4caf50;cursor:pointer;height:14px;margin:0;width:14px}.food-consumption-toggle input:disabled{cursor:wait}.food-consumption-error,.food-consumption-pending{font-size:10px}.food-consumption-pending{color:#ccc}.food-consumption-error{color:#ff8a80}.food-consumption-control--overlay-pending .food-consumption-pending{background:#191919eb;padding:0 2px;pointer-events:none;position:absolute;right:20px;white-space:nowrap;z-index:1}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.resource-section-title-button{background:#0000;border:0;color:#4caf50;cursor:pointer;display:block;font:inherit;font-size:12px;font-weight:700;margin:8px 0;padding:0;text-align:left;width:100%}.resource-section-title-button:focus-visible,.resource-section-title-button:hover{color:#6bcf70;outline:none;text-decoration:underline}.resource-section-title-button:focus-visible{border-radius:2px;box-shadow:0 0 0 2px #4caf50a6}.resource-trend{font-weight:700;white-space:nowrap}.resource-trend--increase{color:#4caf50}.resource-trend--decrease{color:#f44336}.resource-trend--spoilage{color:#888}.resource-spoilage-label{font-weight:400}.no-resources{color:#888;font-size:11px;font-style:italic;padding:8px;text-align:center}.action-buttons{display:flex;flex-direction:column;gap:8px;margin-top:20px}.sidebar-button{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:8px 12px;transition:background-color .3s}.sidebar-button:hover{background-color:#45a049}.sidebar-button--bind-trading-post{background-color:#2e7d32}.sidebar-button--bind-trading-post:hover{background-color:#256628}.sidebar-button:disabled{background-color:#666;cursor:not-allowed;opacity:.7}.sidebar-button:disabled:hover{background-color:#666}.sidebar-button--danger{background-color:#c0392b}.sidebar-button--danger:hover{background-color:#96281b}.sidebar-button--battle{background-color:#d64545}.sidebar-button--battle:hover{background-color:#b83232}.sidebar-button--small{font-size:10px;margin-left:6px;padding:2px 7px}.left-side-bar{left:0}.right-side-bar{right:0}.owned-tiles-list,.right-side-bar>ul{list-style:none;margin:0;padding:0}.owned-tile-button{--unit-player-color:#fff;background:color-mix(in srgb,var(--unit-player-color) 12%,#0000);border:1px solid color-mix(in srgb,var(--unit-player-color) 65%,#0000);border-radius:4px;color:#fff;cursor:pointer;font:inherit;margin-bottom:7px;padding:8px;text-align:left;width:100%}.unit-list-button{align-items:stretch;display:flex;flex-direction:column;gap:7px}.unit-list-label{display:block}.unit-sidebar-markers{align-items:center;display:flex;flex-wrap:wrap;gap:3px 4px;max-width:100%;min-height:15px}.unit-sidebar-marker-wrap{display:inline-block;flex:0 0 18px;height:22px;position:relative;width:18px}.unit-sidebar-marker{background:linear-gradient(to top,var(--unit-player-color) 0 var(--unit-marker-fill),#fff3 var(--unit-marker-fill) 100%);border:1px solid #000000bf;border-radius:50%;box-sizing:border-box;display:block;flex:0 0 12px;height:12px;left:3px;position:absolute;top:5px;width:12px}.unit-sidebar-marker-icon{filter:drop-shadow(0 1px 1px rgba(0,0,0,.85));object-fit:contain;pointer-events:none;position:absolute;z-index:1}.unit-sidebar-marker-icon--weapon{bottom:-3px;height:23px;right:-5px;width:18px}.unit-sidebar-marker-icon--armor{bottom:-2px;height:21px;left:-4px;width:18px}.unit-sidebar-marker-icon--horse{height:16px;left:-2px;top:6px;width:14px}.unit-sidebar-marker-icon--cart{height:14px;left:5px;top:6px;width:16px}.unit-sidebar-marker--civilian{background:linear-gradient(to top,#ffffffd9 0 var(--unit-marker-fill),#fff3 var(--unit-marker-fill) 100%);border:2px solid var(--unit-player-color)}.owned-tile-button:focus-visible,.owned-tile-button:hover{background:color-mix(in srgb,var(--unit-player-color) 30%,#0000);outline:2px solid color-mix(in srgb,var(--unit-player-color) 75%,#fff);outline-offset:2px}.sidebar-empty-message{color:#ddd}.movement-feedback{animation:movement-feedback-in .16s ease-out;background:#462f0cf5;border:1px solid #ffd666b3;border-radius:8px;box-shadow:0 5px 18px #00000059;color:#ffe7a3;left:50%;padding:10px 18px;pointer-events:none;position:fixed;top:128px;top:calc(var(--game-navbar-height, 46px) + 82px);transform:translateX(-50%);z-index:1100}@keyframes movement-feedback-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.game-sidebars{display:contents}@media (max-width:768px){.game-sidebars{align-items:stretch;bottom:0;display:flex;flex-direction:column;left:0;overflow:visible;pointer-events:none;position:absolute;right:0;top:var(--game-navbar-height);width:auto;z-index:10}.game-sidebars .left-side-bar,.game-sidebars .right-side-bar{box-sizing:border-box;flex:0 0 auto;max-width:100%;pointer-events:auto;position:static;width:100%}.game-sidebars #hexagonCanvas{height:100%!important;inset:0;pointer-events:auto;position:absolute;width:100vw!important;z-index:1}.game-sidebars .game-map-canvas-wrap{height:100%;inset:0;position:absolute;width:100%}.game-sidebars .left-side-bar,.game-sidebars .right-side-bar{width:min(100%,151px);z-index:2}}#hexagonCanvas{flex-grow:1;position:relative;touch-action:none;z-index:1}.game-map-canvas-wrap{flex:1 1 auto;min-height:0;min-width:0;position:relative}.game-map-canvas-wrap #hexagonCanvas{display:block}.map-unit-control{pointer-events:auto;position:absolute;transform:translate(56px,-50%);width:min(190px,50vw);z-index:4}.map-unit-control .unit-item{background:#080808b3;border:1px solid color-mix(in srgb,var(--unit-player-color) 70%,#0000);border-radius:6px;box-shadow:0 2px 10px #000000bf;padding:6px}.map-unit-control .unit-item.selected-unit{background-color:#080808b3}.map-unit-control .unit-actions{display:flex;flex-wrap:wrap;gap:4px}.map-unit-control .sidebar-button{margin:0}.tile-meta{width:auto}body:has(.game){overflow:hidden}.overlay{background-color:#0000008c;height:100%;left:0;pointer-events:auto;position:fixed;top:0;width:100%;z-index:20}.popup{background-color:#0a0a0acc;box-shadow:0 0 10px #00000080;left:50%;padding:20px;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:30}.map-interaction-banner{align-items:center;background:#0f0f0ff0;border:1px solid #ffd700a6;border-radius:6px;box-shadow:0 4px 16px #00000073;color:#f5f5f5;display:flex;font-size:12px;gap:12px;left:50%;padding:9px 12px;position:fixed;top:60px;top:calc(var(--game-navbar-height, 46px) + 14px);transform:translateX(-50%);z-index:15}.map-interaction-banner strong{color:gold}.map-interaction-hint{color:#aaa;white-space:nowrap}.map-interaction-banner button{background:#c0392b;border:0;border-radius:4px;color:#fff;cursor:pointer;padding:5px 9px}.map-interaction-banner button:hover{background:#96281b}.movement-info{background-color:#000c;border-radius:4px;color:#fff;font-size:12px;margin:4px 0;padding:8px}.movement-progress{background-color:#ffffff4d;border-radius:2px;height:4px;margin:4px 0;overflow:hidden;width:100%}.movement-progress-fill{background-color:#4caf50;height:100%}.movement-controls{display:flex;gap:4px;margin-top:4px}.movement-cancel-btn{background-color:#f44336;border:none;border-radius:2px;color:#fff;cursor:pointer;font-size:10px;padding:2px 6px}.movement-cancel-btn:hover{background-color:#d32f2f}.movement-stop-btn,.unit-stop-button{background-color:#c62828;border:1px solid #9f1d1d;color:#fff}.movement-stop-btn{border-radius:2px;cursor:pointer;font-size:10px;padding:2px 6px}.movement-stop-btn:hover,.unit-stop-button:hover{background-color:#a71919}.territory-claim-list{max-height:none}.territory-claim-item{align-items:stretch;display:flex;flex-direction:column;gap:6px}.territory-claim-header{align-items:center;display:flex;justify-content:space-between;width:100%}.territory-claim-meta{color:#ccc;font-size:10px}.territory-claim-progress{background:#00000059;border-radius:999px;height:5px;overflow:hidden;width:100%}.territory-claim-progress-fill{background:linear-gradient(90deg,#f39c12,#e67e22);border-radius:999px;height:100%}.unit-in-transit{animation:transit-pulse 2s infinite;opacity:.7}@keyframes transit-pulse{0%,to{opacity:.7}50%{opacity:.4}}.unit-item{--unit-player-color:#fff;background-color:color-mix(in srgb,var(--unit-player-color) 8%,#0000);border:1px solid color-mix(in srgb,var(--unit-player-color) 55%,#0000);border-radius:4px;box-sizing:border-box;margin-bottom:10px;padding:8px;transition:all .3s ease;width:100%}.unit-overview-summary{display:flex;flex-direction:column;gap:8px}.unit-overview-heading{align-items:flex-start;display:flex;gap:8px;justify-content:space-between}.unit-overview-heading .unit-sidebar-markers{flex:1 1;min-width:0}.unit-info-button{align-items:center;background:#ffffff14;border:1px solid #ffffff3d;border-radius:4px;color:#eee;cursor:pointer;display:inline-flex;flex:0 0 auto;font:inherit;font-size:11px;gap:4px;padding:3px 6px}.unit-info-button:focus-visible,.unit-info-button:hover{border-color:#4caf50;color:#fff}.unit-info-button:focus-visible,.unit-info-modal-close:focus-visible{outline:2px solid #4caf50;outline-offset:2px}.unit-overview-metrics{grid-gap:4px;color:#ccc;display:grid;font-size:12px;gap:4px}.unit-overview-stat-pair{grid-gap:8px;color:#fff;display:grid;font-size:12px;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.unit-overview-stat{align-items:center;display:flex;gap:6px;justify-content:center;min-width:0}.unit-overview-stat .unit-troop-stat-icon{flex-shrink:0;height:14px;width:14px}.unit-overview-metrics>div{display:flex;gap:8px;justify-content:space-between}.unit-overview-metrics strong{color:#fff;text-align:right}.unit-info-modal-layer{align-items:center;background:#0000009e;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1100}.unit-info-modal{background:#0f0f0ffa;border:1px solid #ffffff47;border-radius:8px;box-shadow:0 12px 40px #000000a6;box-sizing:border-box;color:#fff;max-height:calc(100vh - 32px);min-width:480px;overflow-y:auto;padding:20px;position:relative;width:min(680px,calc(100vw - 32px))}.unit-info-modal-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:16px}.unit-info-modal-header h2{color:#4caf50;font-size:18px;margin:0}.unit-info-modal-close{background:#0000;border:0;border-radius:4px;color:#fff;cursor:pointer;font-size:24px;height:30px;line-height:1;padding:0;width:30px}.unit-info-modal-close:hover{background:#ffffff24}.unit-info-modal .unit-actions{padding-top:4px}@media (max-width:520px){.unit-info-modal{padding:16px}.unit-info-modal .unit-logistics-grid{grid-template-columns:minmax(0,1fr)}.unit-info-modal .unit-logistics-grid>.unit-food-details{padding-left:0}}.unit-details{display:flex;flex-direction:column;gap:8px}.unit-details-header,.unit-details-row,.unit-details-sections{grid-gap:12px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.unit-logistics-grid{grid-gap:10%;display:grid;gap:10%;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.unit-logistics-grid>div{min-width:0}.unit-logistics-grid>.unit-food-details{padding-left:12px}.unit-logistics-subsection{margin-top:8px}.unit-resource-line{align-items:center;display:flex;gap:8px;justify-content:space-between}.unit-food-details>div:first-child{color:#fff;font-weight:700}.unit-details-sections{gap:8px;grid-template-columns:minmax(0,1fr)}.unit-details-header,.unit-details-row{color:#ddd}.unit-details-header span:last-child,.unit-details-row span:last-child{text-align:right}.unit-status-indicator{align-items:center;display:inline-flex;margin-left:8px}.unit-status-icon{color:#ff5c5c;filter:drop-shadow(0 1px 1px rgba(0,0,0,.8));flex-shrink:0;height:15px;width:15px}.unit-details-sections>div{min-width:0}.unit-details-sections>div>div:first-child{color:#fff;font-weight:700}.unit-troop-row{display:flex;gap:5%;justify-content:space-evenly}.unit-troop-stats{align-items:center;color:#bbb;display:inline-flex;gap:8px;text-align:right;white-space:nowrap}.unit-troop-strength{align-items:center;display:inline-flex;gap:4px}.unit-troop-regeneration-icon{height:13px;width:13px}.unit-troop-stat{align-items:center;display:inline-flex;gap:3px}.unit-troop-stat-icon{flex-shrink:0;height:12px;width:12px}.unit-details-empty{color:#999}.unit-actions{display:flex;flex-wrap:wrap;gap:8px;padding-top:12px}.unit-item.selected-unit{background-color:color-mix(in srgb,var(--unit-player-color) 22%,#0000);border-color:var(--unit-player-color);box-shadow:0 0 0 1px color-mix(in srgb,var(--unit-player-color) 45%,#0000)}.unit-item.merge-target{background-color:#ff98001a;border-color:#ff9800;cursor:pointer}.unit-item.merge-target:hover{background-color:#ff980033;border-color:#ffc107}.split-popup{background:#141414f2;border:2px solid #ffffff4d;border-radius:8px;left:50%;max-width:400px;min-width:300px;padding:20px;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:1000}.split-popup-layout{box-sizing:border-box;display:flex;flex-direction:column;max-height:calc(100vh - 32px);max-width:760px;overflow:hidden;width:min(760px,calc(100vw - 32px))}.split-popup-columns{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.split-popup-column{min-width:0}.split-popup-column .split-troops-list,.split-popup-column>p:first-child{margin:8px 0}.split-popup-column .split-troop-item{gap:8px;margin:6px 0;padding:6px}.split-popup-column .troop-info{font-size:12px;overflow-wrap:anywhere}.split-popup-column .split-controls{gap:5px}.split-popup-column .split-count{box-sizing:border-box;min-width:0;width:70px}.load-unload-popup{box-sizing:border-box;display:flex;flex-direction:column;max-height:calc(100vh - 32px);max-width:760px;overflow:hidden;width:min(760px,calc(100vw - 32px))}.load-unload-popup>.popup-content,.split-popup-layout>.popup-content{display:flex;flex-direction:column;min-height:0}.unit-transfer-scroll-content{min-height:0;overflow-y:auto;overscroll-behavior:contain}.load-unload-popup .popup-buttons,.split-popup-layout .popup-buttons{border-top:1px solid #ffffff2e;flex:0 0 auto;margin-top:12px;padding-top:12px}.load-unload-columns{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.load-unload-column{min-width:0}.load-unload-column .split-troops-list,.load-unload-column>p:first-child{margin:8px 0}.load-unload-column .split-troop-item{gap:8px;margin:6px 0;padding:6px}.load-unload-column .troop-info{font-size:12px;overflow-wrap:anywhere}.load-unload-column .amount-slider-item{align-items:center;flex-direction:row}.load-unload-column .amount-slider-item>.troop-info{flex:0 1 42%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.load-unload-column .split-controls{gap:5px}.load-unload-column .split-count{box-sizing:border-box;min-width:0;width:70px}.amount-slider-controls{grid-gap:8px;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) 3.5em;width:100%}.load-unload-column .amount-slider-controls{flex:1 1;min-width:0;width:auto}.amount-slider-item{align-items:stretch;flex-direction:column;gap:6px}.amount-slider{accent-color:#4caf50;cursor:pointer;margin:0;min-width:0;width:100%}.amount-slider-controls output{font-feature-settings:"tnum";color:#eee;font-size:12px;font-variant-numeric:tabular-nums;text-align:right}.load-unload-capacity{border-top:1px solid #ffffff2e;margin-top:12px;padding-top:8px}@media (max-width:620px){.load-unload-columns,.split-popup-columns{gap:8px;grid-template-columns:minmax(0,1fr)}}.popup-content h3{color:#4caf50;margin:0 0 15px;text-align:center}.split-troops-list{margin:15px 0}.split-troop-item{align-items:center;background:#ffffff0d;border-radius:4px;display:flex;justify-content:space-between;margin:10px 0;padding:8px}.split-troop-selection{cursor:pointer}.split-troop-selection.selected,.split-troop-selection:hover{background:#4caf5033}.troop-info{color:#ccc;flex:1 1;font-size:14px}.split-controls{align-items:center;display:flex;gap:10px}.equipment-dropdown{flex:1 1 140px;min-width:0;position:relative}.equipment-controls{align-items:center;flex-wrap:wrap;gap:8px}.equipment-checkbox{grid-column-gap:6px;align-items:center;box-sizing:border-box;color:#eee;column-gap:6px;font-size:12px;grid-template-columns:16px minmax(0,1fr) 16px;margin:0;padding:0;white-space:nowrap}.equipment-checkbox,.equipment-pair{display:grid;flex:0 0 100%;min-width:0;width:100%}.equipment-pair{grid-gap:8px;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.equipment-checkbox input{grid-column:3;justify-self:end;margin:0}.equipment-checkbox .resource-icon{grid-column:1;height:16px;width:16px}.equipment-checkbox>span{grid-column:2;min-width:0}.equipment-dropdown-trigger.split-controls button,.split-controls .equipment-dropdown-trigger{align-items:center;background:#333;border:1px solid #666;border-radius:4px;color:#eee;cursor:pointer;display:flex;font-size:12px;font-weight:400;gap:7px;height:34px;overflow:hidden;padding:0 9px;text-align:left;width:100%}.equipment-dropdown.open .equipment-dropdown-trigger,.split-controls .equipment-dropdown-trigger:hover:not(:disabled){background:#444;border-color:#999}.split-controls .equipment-dropdown-trigger:disabled{background:#292929;color:#888;cursor:not-allowed}.equipment-dropdown-trigger>span:first-of-type{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.equipment-dropdown-arrow{color:#bbb;margin-left:auto}.equipment-dropdown-options{background:#242424;border:1px solid #666;border-radius:4px;box-shadow:0 5px 14px #0000008c;left:0;max-height:240px;overflow-y:auto;padding:4px;position:absolute;top:calc(100% + 3px);width:max(100%,220px);z-index:20}.split-controls .equipment-dropdown-option{align-items:center;background:#0000;border:0;border-radius:3px;color:#eee;cursor:pointer;display:flex;font-size:12px;font-weight:400;gap:8px;height:auto;min-height:32px;padding:5px 7px;text-align:left;width:100%}.split-controls .equipment-dropdown-option:hover,.split-controls .equipment-dropdown-option[aria-selected=true]{background:#ffffff1f}.equipment-dropdown-option small{color:#aaa;margin-left:auto;white-space:nowrap}.split-controls button{background:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;height:30px;width:30px}.split-controls button:hover:not(:disabled){background:#45a049}.split-controls button:disabled{background:#666;cursor:not-allowed}.split-controls .max-button,.split-controls .zero-button{background:#2196f3;font-size:12px;padding:0 8px;width:auto}.split-controls .max-button:hover,.split-controls .zero-button:hover{background:#1976d2}.split-count{background:#000;border:1px solid #555;border-radius:4px;color:#fff;font-weight:700;min-width:60px;padding:2px 6px;text-align:center}.popup-buttons{display:flex;gap:10px;justify-content:center;margin-top:20px}.cancel-button,.confirm-button{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:700;padding:10px 20px}.confirm-button{background:#4caf50;color:#fff}.confirm-button:hover{background:#45a049}.cancel-button{background:#f44336;color:#fff}.cancel-button:hover{background:#da190b}.close-button{background:#b8aa68;border:none;border-radius:4px;color:#1f1f1f;cursor:pointer;font-size:14px;font-weight:700;padding:10px 20px}.close-button:hover{background:#c8b878}.build-popup{background:#0f0f0ff7;border:2px solid #ffffff40;border-radius:10px;box-shadow:0 8px 32px #000000b3;display:flex;flex-direction:column;gap:12px;left:50%;max-height:80vh;padding:20px 24px 16px;position:fixed;top:50%;transform:translate(-50%,-50%);width:560px;z-index:1000}.build-popup h3{color:#4caf50;font-size:16px;letter-spacing:.5px;margin:0;text-align:center}.building-modal-layer{background:#00000073;z-index:1100}.building-action-confirmation-layer,.building-modal-layer{align-items:center;display:flex;inset:0;justify-content:center;position:fixed}.building-action-confirmation-layer{background:#0000009e;padding:16px;z-index:1200}.building-action-confirmation{background:#121212fa;border:1px solid #ffd7008c;border-radius:8px;box-sizing:border-box;left:auto;position:relative;top:auto;transform:none;width:min(420px,calc(100vw - 32px))}.building-action-confirmation .popup-content>p{color:#ddd;line-height:1.45;text-align:center}.building-modal-layer .building-action-confirmation .popup-buttons{flex-direction:row}.building-modal-layer .building-action-confirmation--close-right .popup-buttons{flex-direction:row-reverse}.building-deconstruction-confirm{background:#c62828;color:#fff}.building-deconstruction-confirm:hover{background:#a91f1f}.building-deconstruction-close{background:#f3dc85;color:#222}.building-deconstruction-close:hover{background:#e8cd68}.building-upgrade-confirm{background:#4caf50;color:#fff}.building-upgrade-confirm:hover{background:#45a049}.building-upgrade-close{background:#f3dc85;color:#222}.building-upgrade-close:hover{background:#e8cd68}.building-popup{background:#0f0f0ff7;border:2px solid #ffffff40;border-radius:10px;box-shadow:0 8px 32px #000000b3;display:flex;flex-direction:column;gap:14px;left:50%;max-height:min(760px,calc(100vh - 32px));overflow-y:auto;padding:20px 24px 16px;position:fixed;top:50%;transform:translate(-50%,-50%);width:340px;z-index:1000}.building-popup--farm{width:min(720px,calc(100vw - 32px))}.building-popup--worker-settings{width:min(760px,calc(100vw - 32px))}.building-popup--confirmation{width:min(520px,calc(100vw - 32px))}.building-confirmation-icon{display:block;filter:drop-shadow(0 3px 5px rgba(0,0,0,.65));height:96px;margin:0 auto -6px;object-fit:contain;width:96px}.building-popup h3{color:#4caf50;font-size:16px;letter-spacing:.5px;margin:0;text-align:center}.building-popup p{color:#ccc;font-size:13px;margin:0;text-align:center}.building-general-info{background:#ffffff0d;border-left:3px solid #4caf50bf;border-radius:4px;padding:8px 10px}.building-general-info p{line-height:1.35;text-align:left}.building-worker-settings{display:flex;flex-direction:column;gap:7px}.building-worker-settings>h4{color:gold;font-size:13px;margin:0}.building-worker-settings .worker-task-settings{max-height:min(44vh,390px);overflow-y:auto;overscroll-behavior:contain}.logging_camp-tools-control{align-items:center;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:5px;box-sizing:border-box;display:flex;gap:6px;margin:2px 0;max-width:100%;padding:4px 6px;width:100%}.recipe-worker-label{align-items:center;color:#aaa;display:inline-flex;font-size:11px;gap:3px}.logging_camp-tools-control .recipe-worker-label{flex:1 1;min-width:0}.building-tool-icon{height:22px;object-fit:contain;width:22px}.logging_camp-tools-control .building-tool-slider{accent-color:gold;cursor:pointer;flex:1 1;margin:0;min-width:0;width:auto}.building-tool-amount{color:#ddd;font-size:11px;min-width:1ch;text-align:right}.building-popup-actions,.building-tool-save-row{display:flex;justify-content:center;width:100%}.building-tool-save-row{margin-top:-4px}.building-tool-save-row .confirm-button{width:100%}.building-popup-actions{flex-wrap:wrap;gap:8px}.building-popup-actions:empty{display:none}.building-popup-close{align-self:center}.building-modal-layer .popup-buttons{flex-direction:row-reverse}.building-modal-layer .building-confirmation-buttons{flex-direction:row}.building-clickable:hover{background:#ffffff12;border-radius:4px;cursor:pointer}.build-list{display:flex;flex:1 1;flex-direction:column;gap:14px;overflow-y:auto;padding-right:4px}.build-list::-webkit-scrollbar{width:5px}.build-list::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.build-list::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.build-category{display:flex;flex-direction:column;gap:4px}.build-category-title{border-bottom:1px solid #ffd70040;color:gold;font-size:11px;font-weight:700;letter-spacing:.8px;margin-bottom:2px;padding-bottom:4px;text-transform:uppercase}.build-option{align-items:center;background:#4caf501a;border:1px solid #4caf504d;border-radius:6px;color:#fff;cursor:pointer;display:flex;gap:8px;justify-content:space-between;padding:6px 10px;text-align:left;transition:background .15s,border-color .15s;width:100%}.build-option--available{background:#4caf501a;border-color:#4caf5073}.building-modal-layer .building-popup{left:auto;position:relative;top:auto;transform:none;z-index:auto}@media (max-width:620px){.worker-task-row{grid-template-columns:minmax(0,1fr) auto}.worker-task-summary{grid-column:1/-1}.worker-task-season-priorities{grid-column:1/-1;justify-content:space-between}}.game-completed-modal-layer{z-index:1300}.game-completed-modal{border-color:#ffd700a6;width:min(420px,calc(100vw - 32px))}.game-completed-modal h2{color:gold;font-size:22px;margin:0;text-align:center}.game-completed-summary{grid-gap:7px;display:grid;gap:7px;margin:2px 0}.game-completed-summary>div{border-bottom:1px solid #ffffff1f;display:flex;gap:16px;justify-content:space-between;padding-bottom:7px}.game-completed-summary dt{color:#aaa}.game-completed-summary dd{color:#f4f4f4;font-weight:600;margin:0;text-align:right}.build-option--available:hover{background:#4caf5047;border-color:#4caf50}.build-option--unavailable{background:#91919114;border-color:#b4b4b440;color:#888}.build-option--unavailable:hover{background:#91919129;border-color:#c8c8c873}.build-option--built,.build-option--built:disabled{background:#ffd7002e;border-color:gold;box-shadow:inset 3px 0 0 gold,0 0 10px #ffd70033;color:#fff5b1;cursor:pointer;opacity:1}.build-option--built:hover{background:#ffd70047}.build-option-status{background:gold;border-radius:10px;color:#302600;font-size:10px;font-weight:700;letter-spacing:.4px;padding:2px 6px;text-transform:uppercase;white-space:nowrap}.build-option-label{flex-shrink:0;font-size:13px;font-weight:700;white-space:nowrap}.build-option-main,.building-list-name{align-items:center;display:flex;min-width:0}.build-option-main{gap:8px}.building-list-name{gap:7px}.building-tool-markers{align-items:center;display:inline-flex;flex:0 0 auto;gap:4px}.building-tool-marker{align-items:center;color:#fff5b1;display:inline-flex;white-space:nowrap}.building-tool-marker-icon.resource-icon{filter:drop-shadow(0 1px 1px rgba(0,0,0,.9));height:13px;margin-left:-8px;width:13px}.building-tool-marker-icon.resource-icon:first-child{margin-left:0}.building-icon{display:block;flex:0 0 auto;object-fit:contain}.building-icon--catalogue{height:28px;width:28px}.building-size-markers{align-items:center;display:inline-flex;flex:0 0 auto}.building-icon--size-marker{filter:drop-shadow(0 1px 1px rgba(0,0,0,.9));height:18px;margin-left:-9px;width:18px}.building-icon--size-marker:first-child{margin-left:0}.build-option-meta{align-items:center;display:flex;gap:8px;justify-content:flex-end;margin-left:auto;text-align:right}.build-option-cost{text-align:right}.build-option-cost,.build-option-time{color:currentColor;font-size:11px;opacity:.8}.build-option-time{white-space:nowrap}.build-option-land{color:currentColor;font-size:11px;opacity:.9;white-space:nowrap}.build-option-workers .worker-marker{border-radius:50%}.build-option-desc{color:#999;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upgrade-section{grid-gap:6px;align-items:stretch;border-top:1px solid #ffffff1a;display:grid;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:4px;padding-top:10px;width:100%}.upgrade-section--single{grid-template-columns:minmax(0,1fr)}.upgrade-button{align-items:flex-start!important;background:#ffa5001f!important;border:1px solid #ffa50059!important;padding:7px 10px!important}.destroy-building-button,.upgrade-button{display:flex;flex-direction:column;gap:2px;width:100%}.destroy-building-button{align-items:flex-start;text-align:left}.upgrade-button:hover{background:#ffa50040!important;border-color:orange!important}.upgrade-cost{color:#aaa;font-size:11px;font-weight:400}.build-config{display:flex;flex-direction:column;gap:10px}.build-config-desc{color:#aaa;font-size:12px;margin-top:-6px;text-align:center}.build-selector-label{color:gold;font-size:11px;font-weight:700;letter-spacing:.6px;margin-bottom:5px;text-transform:uppercase}.build-selector-row{display:flex;flex-wrap:wrap;gap:6px}.build-selector-btn{background:#ffffff14;border:1px solid #fff3;border-radius:5px;color:#ccc;cursor:pointer;font-size:12px;padding:5px 12px;transition:background .15s,border-color .15s}.build-selector-btn:hover{background:#ffffff26}.build-selector-btn--active{background:#4caf5040;border-color:#4caf50;color:#fff;font-weight:700}.build-config-costs{background:#ffffff0d;border-radius:6px;color:#ccc;display:flex;flex-direction:column;font-size:12px;gap:4px;padding:8px 12px}.build-config-cost-row{display:flex;gap:8px;justify-content:space-between}.worker-markers{align-items:center;display:flex;flex-wrap:wrap;gap:3px;justify-content:flex-end;min-height:9px}.worker-marker{background:linear-gradient(to top,#fff var(--worker-fill),#0000 0);border:1px solid #ffffffe6;box-sizing:border-box;flex:0 0 7px;height:7px;width:7px}.building-modal-layer .building-popup .worker-marker,.left-side-bar .worker-marker{border-radius:50%}.building-list-meta{justify-content:flex-end}.building-list-meta,.building-progress-line{align-items:center;display:flex;gap:7px}.building-progress-trend{color:#4caf50;font-size:10px;font-weight:700;white-space:nowrap}.building-progress-line .building-progress-trend{font-size:inherit}.building-progress-trend--idle{color:#888}.building-info{background:#ffffff0d;border-radius:5px;color:#ccc;display:flex;flex-direction:column;font-size:12px;gap:5px;padding:9px 10px}.building-recipes{background:hsla(0,0%,100%,.045);border-radius:5px;padding:10px}.building-recipes h4{color:#f3dc85;font-size:13px;margin:0 0 8px}.building-recipes ul{grid-gap:8px;display:grid;gap:8px;list-style:none;margin:0;padding:0}.building-recipe{border-top:1px solid #ffffff1a;color:#ddd;font-size:12px;padding-top:7px}.building-recipe:first-child{border-top:0;padding-top:0}.building-recipe>strong{color:#fff;display:block;margin-bottom:4px}.building-recipe-detail{align-items:center;display:flex;flex-wrap:wrap;gap:3px 7px;line-height:1.5}.building-recipe-label,.building-recipe-seasons{color:#aaa}.building-recipe-resource{align-items:center;display:inline-flex;gap:3px}.building-recipe-resource-icon{height:16px;width:16px}.building-recipe-separator{color:#999}.building-recipe-or{color:#f3dc85;font-size:11px;margin:0 3px}.building-recipe-seasons{font-size:11px;margin-top:3px}.building-warning{color:#d0a937!important}.confirm-button:disabled{background:#555;color:#999;cursor:not-allowed}.recipe-availability{text-transform:capitalize}.recipe-availability,.recipe-season{color:#9fc5a5;font-size:11px}.recipe-season--inactive{color:#d59a7a}.recipe-forecast{color:#7fd487;font-size:12px;font-weight:600;margin-top:3px}.recipe-forecast--inactive{color:#d59a7a}.admin-console{background:#171e29;border-radius:12px;color:#e4e8ef;margin:24px auto;max-width:1400px;padding:24px}.admin-console a{color:#9fc9ff}.diagnostic-heading{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.step-metrics{background:#192330;border:1px solid #354253;border-radius:10px;color:#e4e8ef;margin-bottom:24px;padding:18px}.step-metrics h3{margin:0 0 12px}.operation-chart-heading{font-size:14px;margin:16px 0 8px}.operation-chart-legend{color:#d4e0ee;display:flex;flex-wrap:wrap;font-size:12px;gap:6px 14px;margin-bottom:10px}.operation-chart-legend button{align-items:center;background:#0000;border:1px solid #0000;border-radius:4px;color:inherit;cursor:pointer;display:inline-flex;gap:5px;padding:3px 6px}.operation-chart-legend button:focus-visible,.operation-chart-legend button:hover{border-color:#9fc9ff;outline:none}.operation-chart-legend button.is-hidden{opacity:.42;text-decoration:line-through}.operation-chart-legend i{border-radius:2px;height:10px;width:10px}.operation-chart-layout{display:flex;gap:8px}.operation-chart-axis{color:#aebbce;display:grid;flex:0 0 46px;font-size:10px;grid-template-rows:repeat(5,1fr);height:170px;margin-top:10px;text-align:right}.operation-chart-axis span{transform:translateY(-50%)}.operation-chart-axis span:last-child{transform:translateY(50%)}.operation-chart{align-items:flex-end;border-bottom:1px solid #526174;display:flex;flex:1 1;gap:8px;min-height:220px;overflow-x:auto;padding:10px 4px 0}.operation-chart__column{grid-gap:4px;align-items:end;display:grid;flex:0 0 58px;font-size:11px;gap:4px;grid-template-rows:170px auto auto;text-align:center}.operation-chart__stack{background:#263447;border-radius:4px 4px 0 0;display:flex;flex-direction:column-reverse;height:170px;justify-content:flex-start;width:100%}.operation-chart__segment{cursor:help;display:block;min-height:1px;width:100%}.operation-chart__segment:focus-visible{outline:2px solid #fff;outline-offset:-2px}.operation-chart-tooltip{background:#101720;border:1px solid #65778e;border-radius:4px;box-shadow:0 3px 10px #00000059;color:#fff;font-size:11px;line-height:1.35;max-width:240px;padding:6px 8px;pointer-events:none;position:fixed;transform:translate(-50%,calc(-100% - 6px));width:max-content;z-index:1000}.operation-chart__total{font-feature-settings:"tnum";color:#d4e0ee;font-variant-numeric:tabular-nums}.operation-chart__label{color:#aebbce;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.operation-chart-empty,.operation-chart-note{color:#b5c3d5}.diagnostic-filters{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px}.diagnostic-filters label{display:flex;flex-direction:column;gap:6px}.diagnostic-filters button,.diagnostic-filters input,.diagnostic-filters select{background:#263447;border:1px solid #65778e;border-radius:5px;color:#fff;padding:9px}.diagnostic-note{color:#b5c3d5;font-size:13px}.diagnostic-table-wrap{max-height:650px;overflow:auto}.diagnostic-table{border-collapse:collapse;font-size:13px;text-align:left;width:100%}.diagnostic-table td,.diagnostic-table th{border-bottom:1px solid #354253;padding:10px;vertical-align:top}.diagnostic-table th{background:#263447;position:sticky;top:0}.diagnostic-table pre{max-height:300px;max-width:700px;overflow:auto;overflow-wrap:anywhere;white-space:pre-wrap}.admin-console summary,.step-metrics summary{cursor:pointer}.game-panel{box-sizing:border-box;flex:1 1;min-width:0;padding:20px}.panel-heading{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-top:32px}.panel-heading h2{margin:0}.game-list{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));max-height:calc(100vh - 160px);overflow-y:auto;padding:10px;scrollbar-color:#4caf50 #f0f0f0;scrollbar-width:thin}.game-list::-webkit-scrollbar{width:7px}.game-list::-webkit-scrollbar-track{background:#f0f0f0;border-radius:4px}.game-list::-webkit-scrollbar-thumb{background:#4caf50;border-radius:4px}.game-item{background-color:#f7f7f7;border:1px solid #ccc;border-radius:5px;min-width:0;padding:10px;transition:all .3s ease}.game-item.selected{border-color:#4caf50;box-shadow:0 2px 8px #4caf504d}.game-header{align-items:flex-start;border-radius:3px;cursor:pointer;display:flex;justify-content:space-between;padding:8px;transition:background-color .2s ease}.game-header:hover{background-color:#f8e4a8;box-shadow:inset 0 0 0 1px #d6ad43}.game-header-content{min-width:0}.game-header h3{color:#222;margin:0;overflow-wrap:anywhere}.game-summary{color:#555;display:grid;font-size:14px;grid-template-columns:1fr 1fr;margin-top:6px}.game-summary span:last-child{text-align:right}.expand-indicator{color:#666;font-size:12px;margin-left:10px}.game-details{border-top:1px solid #eee;margin-top:10px;padding-top:15px}.game-tabs{grid-gap:16px;display:grid;gap:16px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-bottom:15px}.game-tabs .tab-content,.game-thumbnail-column{min-width:0}.tab-content h4{border-bottom:2px solid #4caf50;color:#333;font-size:16px;margin:0 0 15px;padding-bottom:5px}.game-info-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.info-item{background-color:#f9f9f9;border-left:3px solid #4caf50;border-radius:4px;display:flex;justify-content:space-between;padding:8px 12px}.info-label{color:#555;font-weight:700;margin-right:10px}.info-value{color:#333;font-weight:400}.players-section{margin-top:20px}.players-section h4{border-bottom:1px solid #ddd;color:#333;font-size:14px;margin:0 0 10px;padding-bottom:5px}.players-list{display:flex;flex-wrap:wrap;gap:8px}.player-item{align-items:center;background-color:#f0f0f0;border-radius:15px;display:inline-flex;flex-direction:row;flex-wrap:nowrap;font-size:12px;gap:8px;padding:5px 10px}.player-name{color:#333;white-space:nowrap}.player-active-dot{background:#39d98a;border-radius:50%;box-shadow:0 0 5px #39d98aa6;flex:0 0 auto;height:8px;width:8px}.player-color{border:1px solid #ccc;border-radius:50%;height:12px;width:12px}.game-actions{border-top:1px solid #eee;display:flex;flex-wrap:nowrap;gap:8px;margin-top:15px;padding-top:10px}.panelbar-button{background-color:#f8cb5b;border:1px solid #ccc;border-radius:5px;color:#000;cursor:pointer;flex:1 1;font-size:16px;margin:0;min-width:0;padding:15px 20px;text-align:center;transition:background-color .3s ease}.panel-heading__admin-actions{display:flex;gap:8px;margin-left:auto}.panel-heading .panelbar-button--console{flex:0 0 auto;font-size:13px;padding:7px 12px;width:-moz-fit-content;width:fit-content}.new-game-backdrop{background:#000000b8;display:grid;inset:0;padding:20px;place-items:center;position:fixed;z-index:1000}.new-game-dialog{background:#171e29;border-radius:10px;box-shadow:0 18px 60px #00000080;box-sizing:border-box;color:#e4e8ef;max-height:calc(100vh - 40px);overflow:auto;padding:24px;width:min(1280px,100%)}.new-game-dialog__heading{align-items:center;display:flex;justify-content:space-between}.new-game-dialog__heading h2{margin:0}.new-game-dialog button{background:#263447;border:1px solid #65778e;border-radius:5px;color:#fff;cursor:pointer;padding:9px 14px}.new-game-dialog button:disabled{cursor:wait;opacity:.65}.new-game-dialog__content{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:minmax(430px,1fr) minmax(400px,1fr);margin:20px 0}.new-game-fields{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.new-game-fields label{color:#cbd5e2;display:flex;flex-direction:column;font-size:13px;gap:6px}.new-game-field-label{align-items:center;display:flex;gap:5px}.new-game-tooltip{border:1px solid #8fa0b5;border-radius:50%;color:#bcd5ed;cursor:help;display:inline-grid;font-size:11px;height:16px;line-height:1;place-items:center;position:relative;width:16px}.new-game-tooltip:after{background:#0d121a;border:1px solid #65778e;border-radius:5px;bottom:calc(100% + 8px);box-shadow:0 6px 18px #0006;color:#e4e8ef;content:attr(data-tooltip);font-size:12px;font-weight:400;left:50%;line-height:1.35;opacity:0;padding:8px 10px;pointer-events:none;position:absolute;transform:translateX(-50%);transition:opacity .15s ease;width:240px;z-index:5}.new-game-tooltip:focus:after,.new-game-tooltip:hover:after{opacity:1}.new-game-fields input{background:#263447;border:1px solid #65778e;border-radius:5px;box-sizing:border-box;color:#fff;padding:9px;width:100%}.new-game-dialog__actions{display:flex;gap:10px;justify-content:flex-end}.new-game-dialog__actions button[type=submit]{background:#2e7652;border-color:#8ec7a8}.new-game-error{color:#ff927e}.new-game-dialog__preview{background:#0d121a;border:1px solid #65778e;border-radius:7px;min-height:420px;padding:14px}.new-game-dialog__preview h3{font-size:16px;margin:0}.new-game-dialog__preview img{background:#0d121a;border:1px solid #65778e;border-radius:5px;display:block;margin:12px 0 8px;max-height:min(45vh,360px);object-fit:contain;width:100%}.new-game-dialog__preview p{color:#cbd5e2;font-size:13px;margin:0}.new-game-dialog__preview-empty{color:#8fa0b5!important;display:grid;min-height:350px;place-items:center;text-align:center}.new-game-dialog__add{background:#2e7652!important;border-color:#8ec7a8!important}@media (max-width:920px){.game-list,.new-game-dialog__content{grid-template-columns:1fr}.new-game-dialog__preview{min-height:0}.new-game-dialog__preview-empty{min-height:180px}}@media (max-width:560px){.new-game-fields{grid-template-columns:1fr}}.game-map-thumbnail{background:#0000;border:1px solid #333;border-radius:4px;display:block;max-height:360px;object-fit:contain;width:100%}.panelbar-button:hover{background-color:#c6a248}.panelbar-button:disabled{background-color:#ccc;border:1px solid #999;color:#666;cursor:not-allowed}.panelbar-button--danger{background-color:#e05555;border-color:#b33c3c;color:#fff}.panelbar-button--danger:hover{background-color:#b33c3c}.panelbar-button--danger:disabled{background-color:#ccc;border-color:#999;color:#666}.login-divider{align-items:center;color:#bdbdbd;display:flex;gap:12px;margin:22px 0}.login-divider:after,.login-divider:before{background:#666;content:"";flex:1 1;height:1px}.google-login-button{display:flex;justify-content:center;min-height:44px}.google-login-button.is-submitting{opacity:.65;pointer-events:none}.google-login-error{color:#ff8a80;margin:12px 0 0}.login-container{background-color:#333;box-shadow:0 4px 8px #fff6;margin:auto;max-width:300px;padding:30px;text-align:center}.login-actions,.login-container{align-items:center;justify-content:center}.login-actions{display:flex;gap:12px}.login-signup-button{background-color:gold;border-radius:4px;color:#000;display:inline-block;font-weight:700;padding:10px 20px}.login-signup-button:hover{background-color:#b8860b;color:#000}@media (max-width:360px){.login-actions{flex-wrap:wrap}}.signup-container{align-items:center;background-color:#333;box-shadow:0 4px 8px #fff6;justify-content:center;margin:auto;max-width:400px;padding:40px;text-align:center}.form-group{margin:30px}label{display:block;font-weight:700;margin-bottom:5px}input{border:1px solid #ccc;border-radius:4px;padding:10px;width:100%}.email-verification-container{background-color:#333;margin:auto;max-width:400px;padding:28px 32px 24px;text-align:center}.email-verification-instructions{line-height:1.5;margin:18px 0;overflow-wrap:anywhere}.email-verification-debug{background:#f4d35e1f;border-radius:6px;color:#f4d35e;padding:10px}.email-verification-code-group{margin:24px 0}.email-verification-code-group input{box-sizing:border-box;font-size:1.4rem;letter-spacing:.4rem;text-align:center}.email-verification-code-group small{color:#ffffffbf;display:block;margin-top:8px}.email-verification-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:18px}.email-verification-actions button:disabled{cursor:not-allowed;opacity:.6}.email-verification-actions .auth-switch-button{background:#0000;border:none;color:#f4d35e;cursor:pointer;font-weight:700}.email-verification-actions .auth-switch-button:hover:not(:disabled){text-decoration:underline}.email-verification-message{margin:16px 0 0}.email-verification-message.error{color:#ff8b8b}.email-verification-message.success{color:#8fe09b}.email-verification-message.info{color:#f4d35e}@media (max-width:480px){.email-verification-container{padding:20px 18px 18px}}.auth-modal-backdrop{align-items:center;background:#0000008c;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:2000}.auth-modal{background:#1f1f1f;border:1px solid #ffffff1f;border-radius:18px;box-shadow:0 20px 60px #00000073;max-height:90vh;overflow-y:auto;width:min(100%,360px)}.auth-modal .email-verification-container,.auth-modal .login-container,.auth-modal .signup-container{background:#0000;box-shadow:none;margin:0;max-width:none;padding:28px 32px 24px}.auth-modal .auth-form-header{align-items:center;display:flex;justify-content:center;margin-bottom:8px;position:relative}.auth-modal .auth-form-header h1{margin:0;text-align:center}.auth-modal .auth-close-button{appearance:none;background:#0000;border:none;color:#f4d35e;cursor:pointer;font-size:1.8rem;line-height:1;padding:0;position:absolute;right:0;top:50%;transform:translateY(-50%)}.auth-modal .auth-close-button:hover{color:#fff}.auth-modal .login-actions,.auth-modal .signup-actions{align-items:center;display:flex;gap:12px;justify-content:center;margin-top:18px}.auth-modal .auth-switch-button{background:#0000;border:none;color:#f4d35e;cursor:pointer;font-weight:700}.auth-modal .auth-switch-button:hover{text-decoration:underline}.auth-modal .google-login-button{margin-top:18px}@media (max-width:480px){.auth-modal-backdrop{padding:16px}.auth-modal .email-verification-container,.auth-modal .login-container,.auth-modal .signup-container{padding:20px 18px 18px}}.App{display:flex;flex-direction:column;margin:0;min-height:100vh;padding:0}.content-wrapper{display:flex;flex:1 1;flex-direction:column}.App-logo{height:40vmin;pointer-events:none}body{font-family:IM Fell Double Pica,serif}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}body{background-color:#444;color:#fff}.notification{border-radius:5%;color:#fff;font-size:22px;left:50%;opacity:0;padding:20px;position:fixed;text-shadow:2px 2px 3px #000000b3;top:-50px;transform:translate(-50%);transition:top .5s ease-out,opacity .5s ease-out;z-index:1000}.notification.show{opacity:1;top:40px}.notification.error{background-color:#a53200}.notification.warning{background-color:#ff0;color:#000}.notification.success{background-color:#329b00}.grecaptcha-badge{visibility:hidden}a{color:#3f3f3f;text-decoration:none}a:hover{color:orange}a:visited{color:#2f2f2f}a:active{color:#03dac6}.form-group input{color:#fff}.form-group input,.form-group input:focus{background-color:#222}input:-webkit-autofill,input:-webkit-autofill:focus{-webkit-transition:background-color 0s 600000s,color 0s 600000s;transition:background-color 0s 600000s,color 0s 600000s}.signup-button{background-color:gold;border:none;border-radius:4px;color:#000;cursor:pointer;font-weight:700;padding:10px 20px}.signup-button:hover{background-color:#b8860b}.signup-button:active{background-color:#b86d0b;box-shadow:0 2px 4px #0000001a}.signup-button:disabled{background-color:#979797}@font-face{font-family:Uncial Antiqua;src:url(/static/media/UncialAntiqua-Regular.47d8269b6e7e7ec41fe9.ttf) format("truetype")}@font-face{font-family:IM Fell Double Pica;src:url(/static/media/IMFellDoublePica-Regular.7d8fdaba2762d4cb6d9e.ttf) format("truetype")}