/* Natural, stable world positions. Logical site IDs are retained for saves. */
.map-grid{display:block;position:relative;grid-template-columns:none;grid-auto-rows:unset;gap:0}
.map-tile,.map-tile:nth-child(3n),.map-tile:nth-child(7n){position:absolute;width:160px;height:160px}
.map-tile .tile-name{font-size:11px;white-space:normal}
.alliance-flag.world-banner{background:none;left:0;top:14px;width:35px;height:45px;animation:banner-sway 3s ease-in-out infinite;transform-origin:50% 5%}
.alliance-flag svg{display:block;width:100%;height:100%;overflow:visible}
.alliance-standard{width:108px;height:137px;margin:16px auto 4px;filter:drop-shadow(3px 7px 5px #0008)}
.alliance-standard svg{width:100%;height:100%}
.flag-fieldset{padding:0;margin:15px 0;border:0;min-width:0}.flag-fieldset legend{font-size:12px;color:#c7c5a4;margin-bottom:9px}
.flag-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.flag-option{display:flex;flex-direction:column;align-items:center;gap:5px;padding:8px 3px;border:1px solid #71815a;background:#1c3023;font-size:12px;color:#d1c7a0;cursor:pointer}.flag-option:has(input:checked){border-color:#e1c777;background:#3a4c2e;box-shadow:inset 0 0 0 1px #c1aa6655}.flag-option input{accent-color:#bba269;width:16px;height:16px;min-width:0;padding:0}.flag-mini{display:block;width:46px;height:58px}.flag-mini svg{width:100%;height:100%}.flag-preview{height:150px;display:flex;justify-content:center;padding:10px;margin:14px 0;background:radial-gradient(ellipse,#405337,#182a1e 70%);border:1px solid #66794e}.flag-preview svg{height:100%;width:auto;filter:drop-shadow(3px 6px 4px #0007)}
.map-tile.burning{z-index:5}.burn-layer{position:absolute;inset:0;pointer-events:none;z-index:5}.castle-fire{position:absolute;left:17%;top:12%;width:66%;height:64%;pointer-events:none;isolation:isolate}.fire-tongue{position:absolute;left:var(--flame-x);bottom:10%;width:24px;height:51px;transform-origin:50% 100%;border-radius:65% 35% 40% 40%;background:radial-gradient(ellipse at 50% 95%,#fff4ab 0 13%,#ffd24a 30%,#fc7d14 55%,#b82908bb 70%,transparent 82%);filter:drop-shadow(0 -1px 5px #ff740b88);animation:castle-flame .68s ease-in-out var(--flame-delay) infinite alternate;mix-blend-mode:screen;clip-path:polygon(42% 100%,0 74%,14% 45%,30% 62%,54% 0,61% 39%,85% 24%,98% 64%,85% 100%)}.fire-tongue:after{content:'';position:absolute;inset:45% 25% 0;background:linear-gradient(transparent,#fff3a6);border-radius:70% 30% 45% 45%}.smoke{position:absolute;left:30%;bottom:35%;width:38px;height:36px;background:#24251bbb;border-radius:50%;filter:blur(7px);animation:castle-smoke 2.3s linear infinite}.smoke-two{left:55%;animation-delay:-1.2s;width:30px;height:30px}.burn-glow{position:absolute;left:10%;right:5%;bottom:2%;height:20%;background:radial-gradient(ellipse,#ff7b2655,transparent 70%);animation:castle-glow .9s ease-in-out infinite alternate;z-index:-1}.burn-timer{position:absolute;top:2px;left:50%;transform:translateX(-50%);font-size:10px;color:#ffe4a1;background:linear-gradient(#7c351fc9,#471d12c9);padding:2px 6px;border:1px solid #c17b3d;white-space:nowrap;text-shadow:0 1px #311607}
@keyframes castle-flame{0%{transform:translateX(-50%) scale(calc(var(--flame-scale) * .72),.65) rotate(-7deg);opacity:.8}45%{transform:translateX(-50%) scale(var(--flame-scale),1.12) rotate(6deg);opacity:1}100%{transform:translateX(-50%) scale(calc(var(--flame-scale) * .86),.85) rotate(-3deg);opacity:.9}}
@keyframes castle-smoke{0%{transform:translate(-20%,0) scale(.6);opacity:0}20%{opacity:.65}100%{transform:translate(35%,-95px) scale(1.9);opacity:0}}
@keyframes castle-glow{from{opacity:.5}to{opacity:1}}
@keyframes banner-sway{0%,100%{transform:rotate(-2deg) skewX(-1deg)}50%{transform:rotate(3deg) skewX(2deg)}}
@media(prefers-reduced-motion:reduce){.fire-tongue,.smoke,.burn-glow,.alliance-flag.world-banner{animation:none}.smoke{opacity:.3;transform:translateY(-20px)}}
@media(max-width:640px){.flag-options{gap:5px}.flag-option{font-size:11px}.flag-mini{width:40px;height:51px}.world-toolbar .text-action{font-size:10px;white-space:normal;text-align:left}}
