#releaseStrip{display:flex;justify-content:space-between;align-items:center;padding:5px 22px;background:#fff3d3;border-bottom:1px solid #dfc791;color:#785d2b;font-size:10px;letter-spacing:1.4px;font-weight:700}#releaseStrip button{padding:2px 10px;background:#ffffff99;font-size:10px;color:#785d2b;border-color:#d7c38d}
.roster-card .hero-art.hero-art-fullbody,.formation-grid .hero-art.hero-art-fullbody{height:clamp(300px,28vw,430px);background:linear-gradient(0deg,#def2ee66,#ffffff05 65%),url('/assets/perf-v523/scene.webp') 65% center/cover no-repeat;border-color:#9bc5d6}
.hero-art-fullbody>.hero-fullbody{inset:30px 6px 56px}.hero-gallery-canvas{display:block;width:100%;height:100%;cursor:default}.hero-skill-caption{position:absolute;left:6px;right:6px;bottom:37px;text-align:center;font-size:10px;color:#173f5b;text-shadow:0 1px 3px #fff;font-weight:700;pointer-events:none}.hero-skill-caption.casting{color:#155c71}.hero-art .hero-preview-button{position:absolute;bottom:7px;left:50%;transform:translateX(-50%);width:auto!important;max-width:95%;padding:5px 10px!important;margin:0!important;background:#fff8deee;color:#5e471e;border:1px solid #cfb674;font-size:10px!important;white-space:nowrap;box-shadow:0 2px 7px #214c6422}.hero-art .hero-preview-button:hover{transform:translateX(-50%) translateY(-1px)}
#scene{height:clamp(330px,43vw,650px);aspect-ratio:auto;min-height:330px;background:#acd9eb}#world{width:100%;height:100%}.world-controls{position:absolute;left:12px;bottom:12px;display:flex;gap:5px}.world-controls button{background:#f4fcffed;border-color:#90b8c9;color:#305a73;padding:5px 10px;font-size:12px;font-weight:700;box-shadow:0 2px 8px #183e5b22}.scene-badge{pointer-events:none}.scene-badge #islandBuildingCount{color:#3b7b62}.scene-hint{right:10px;bottom:13px;font-size:9px;max-width:53%;text-align:right}.building-controls{max-height:95px;overflow:auto}
@media(max-width:560px){.hero-roster{grid-template-columns:1fr}.formation-grid:has(.hero-art){grid-template-columns:1fr}.roster-card .hero-art.hero-art-fullbody,.formation-grid .hero-art.hero-art-fullbody{height:clamp(330px,65vh,430px)}.hero-art-fullbody>.hero-fullbody{inset:30px 10px 56px}.hero-skill-caption{font-size:11px}.hero-art .hero-preview-button{font-size:11px!important}#scene{height:350px;min-height:350px}#releaseStrip{padding:4px 12px}.world-controls{left:9px;bottom:10px}.world-controls button{font-size:11px;padding:5px 8px}.scene-hint{font-size:8px;max-width:47%;bottom:12px}}
@media(orientation:landscape) and (max-height:520px){.roster-card .hero-art.hero-art-fullbody,.formation-grid .hero-art.hero-art-fullbody{height:280px}#scene{height:400px}}
.scene-badge #islandBuildingCount{display:inline!important;margin-left:8px;color:#397b60;font-size:9px}

/* v5.2.1: fixed-aspect assets, isolated poses, and one active preview. */
.hero-art-fullbody{overflow:hidden;contain:layout paint}.hero-fullbody{overflow:hidden}.hero-still{display:block;width:100%;height:100%;object-fit:contain}.hero-gallery-canvas{position:absolute;inset:0;width:100%;height:100%}.hero-gallery-canvas[hidden]{display:none}.preview-active .hero-still{visibility:hidden}
.district-card .building-thumbnail{display:block;width:100%;height:auto!important;aspect-ratio:4/3;object-fit:contain;max-height:180px;flex:none;border-radius:5px;margin:0 auto 7px}.district-card.locked .building-thumbnail{filter:grayscale(1);opacity:.6}dialog .building-thumbnail{display:block;width:min(260px,90%);height:190px;object-fit:contain;margin:auto}
.unit .unit-art{display:block;width:80px;height:80px;object-fit:contain;border-radius:7px;margin:0 auto 5px}.formation-grid .unit-art{display:block;width:min(100%,230px);height:auto;aspect-ratio:1;object-fit:contain;border-radius:9px;margin:auto}
@media(max-width:720px){.district-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.district-card .building-thumbnail{aspect-ratio:1;max-height:165px}}

/* 5.2.3 performance: static map surface + small independent animated overlay. */
#worldFx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}#worldFx[hidden]{display:none!important}.scene-badge{backdrop-filter:none}.unowned .hero-art{filter:none}.performance-controls{display:inline-flex;gap:7px;align-items:center;margin-left:auto;margin-right:10px;font-size:10px;letter-spacing:0}.performance-controls select{background:#fffaf0;border:1px solid #d7c38d;border-radius:5px;padding:3px;color:#5e471e}.performance-controls button{letter-spacing:0}body[data-quality="light"] .hero-art{box-shadow:none}body[data-quality="light"] button:hover{filter:none}
@media(max-width:560px){.performance-controls{gap:4px;margin-right:5px}.performance-controls label{display:none}#releaseStrip{letter-spacing:.4px;font-size:9px}.performance-controls select{font-size:10px}.performance-controls button{font-size:9px!important;padding:3px 5px!important}}

header,dialog::backdrop{backdrop-filter:none!important}

.hero-fullbody{container-type:size}.hero-poster{position:absolute;inset:0;overflow:hidden}.hero-poster-cell{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(100cqw,100cqh);height:min(100cqw,100cqh);overflow:hidden}.hero-poster-cell>img{position:absolute;left:0;top:0;width:400%;height:200%;max-width:none;max-height:none;object-fit:fill;display:block}

.hero-fullbody{isolation:isolate}.hero-still{position:relative;z-index:0}.hero-gallery-canvas{z-index:1}.hero-fx-canvas{position:absolute;inset:0;z-index:2;width:100%;height:100%;pointer-events:none}.hero-fx-canvas[hidden]{display:none}.hero-skill-caption,.hero-preview-button{z-index:3}

/* Fit the entire inline performance on short screens, with the original scenery. */
.roster-card .hero-art.hero-art-fullbody,.formation-grid .hero-art.hero-art-fullbody{height:clamp(220px,55svh,430px);scroll-margin-block:8px;background-image:linear-gradient(0deg,#def2ee44,#ffffff00 65%),url('/assets/sefer-10plus.png')}
.job-list580{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:12px 0}.job-row580,.shield-status,.job-report580{padding:12px;border:1px solid #a5c9dc;border-radius:12px;background:#f1f9ff;margin-bottom:8px}.job-row580{display:grid;gap:6px;margin:0}.job-row580 strong{font-size:12px}.job-row580 progress{width:100%;height:8px;accent-color:#2b8bb9}.shield-status{color:#17698a;background:#e2f8ff}.world-grid{position:relative}.march-overlay580{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:4;overflow:hidden}.march-overlay580 path{stroke:#e6a331;stroke-width:.5;stroke-dasharray:1 1;fill:none}.march-overlay580 circle{fill:#fff0a0;stroke:#276382;stroke-width:.4}.world-shield580{position:absolute;inset-inline-end:0;top:0;font-size:12px;z-index:2}
.admin-search581,.admin-editor581,.admin-history581{padding:20px;margin-bottom:16px}.admin-search581>div,.admin-vip581{display:flex;align-items:end;gap:10px;margin:10px 0 18px}.admin-search581 input{flex:1;min-width:0}.admin-wallet581{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:18px 0}.admin-editor581 label{display:grid;gap:7px;font-weight:600}.admin-editor581 input,.admin-editor581 textarea,.admin-editor581 select,.admin-search581 input{width:100%;box-sizing:border-box;border:1px solid #99bfd5;border-radius:9px;padding:12px;background:#f7fbff;color:#234e68;font:inherit}.admin-editor581 textarea{resize:vertical;margin:8px 0 12px}.admin-vip581 select{min-width:110px}.admin-history581 details{padding:12px 0;border-bottom:1px solid #cee1eb}.admin-history581 summary{cursor:pointer}.admin-history581 p{line-height:1.8}.admin-search581 [role=alert]{color:#a32a34}
.admin-search581>div{flex-wrap:wrap}.admin-search581 input{flex:1 1 160px;min-width:80px}.admin-search581>div>button{width:auto;flex:0 0 auto}

#modal:has(.skill-preview-dialog){width:min(96vw,680px);max-width:96vw;max-height:94svh;padding:16px;overflow:auto}.skill-preview-dialog h2{margin:0;padding-inline-end:24px}.skill-preview-title{margin:6px 0}.hero-skill-stage{position:relative;isolation:isolate;height:clamp(210px,55svh,500px);width:100%;overflow:hidden;border:1px solid #b1d0de;border-radius:12px;background:url(/assets/sefer-10plus.png) center/cover}.hero-skill-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}.hero-skill-stage .skill-body{z-index:1}.hero-skill-stage .skill-fx{z-index:2}.skill-preview-status{min-height:20px;margin:7px 0;text-align:center;font-weight:600}.skill-preview-dialog [data-replay-skill]{margin:0}@media(max-height:520px){#modal:has(.skill-preview-dialog){padding:9px}.hero-skill-stage{height:42svh;min-height:140px}.skill-preview-dialog h2{font-size:19px}.skill-preview-title,.skill-preview-status{margin:3px 0}}

.job-row580 .rush-button582{width:100%;padding:9px 12px;font-size:12px;background:#fff3cf;border-color:#d6b768;color:#74501e;cursor:pointer}.rush-button582:disabled{opacity:.55}#rushDialog582 p{line-height:1.7}

.hospital-head583,.hospital-start583,.defense-notice583{padding:18px;margin-bottom:16px}.hospital-head583 p{line-height:1.7}.hospital-ward583{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-bottom:16px}.hospital-unit583{display:flex;align-items:center;gap:10px;padding:12px;cursor:pointer}.hospital-unit583>input{width:18px;height:18px;flex:0 0 18px;accent-color:#2b8bb9}.hospital-unit583 .unit-art{width:75px;height:75px;object-fit:contain;flex:0 0 75px}.hospital-unit583 span{display:grid;gap:7px}.hospital-unit583 small{line-height:1.5}.loss-summary583{display:grid;gap:6px;padding:12px;margin:8px 0;background:#f2f8fa;border:1px solid #b9d5e0;border-radius:10px}.loss-summary583 small{color:#9b4636}.defense-notice583>small{display:block;margin-top:8px}.hospital-start583 #healingQuote583{line-height:1.7;font-weight:600}

.march-formation584 image{filter:drop-shadow(0 .25px .2px #173e5288)}.march-return584 path{stroke:#377ca7;stroke-dasharray:1.4 .7}.march-outbound584 path{stroke:#c59632;stroke-dasharray:1 .8}

.world-grid:not(.world-overview585){grid-template-columns:repeat(var(--world-columns585,11),minmax(0,1fr))}.world-zoom585{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin:12px 0}.world-zoom585 button{padding:8px 12px;font-size:12px}.world-zoom585>span{font-size:11px;color:#38677e}.world-grid.world-overview585{display:block;aspect-ratio:1;padding:0;overflow:hidden}.world-density585{display:block;width:100%;height:100%;aspect-ratio:1}.world-density585 [role=button]{cursor:pointer;outline:none}.world-density585 rect{stroke:#8bb9cd;stroke-width:.05}.world-density585 [role=button]:hover>rect,.world-density585 [role=button]:focus>rect{stroke:#b58626;stroke-width:.2;fill-opacity:.85}.world-density585 text{font:600 .8px system-ui;text-anchor:middle;fill:#214e68;pointer-events:none}.world-density585 .overview-npc585{fill:#9a482e;font-size:.65px}.world-density585 .overview-node585{fill:#8a671f;font-size:.65px}.world-density585 .overview-self585{stroke:#d9a025;stroke-width:.2}

.siege-fire588{position:absolute;bottom:30%;left:25%;width:50%;height:48%;display:flex;align-items:flex-end;justify-content:center;pointer-events:none;z-index:6;gap:1px}.siege-fire588 i{display:block;width:28%;height:72%;background:radial-gradient(ellipse at 50% 85%,#fffbd0 0 12%,#ffc337 28%,#ef6813 55%,#d73514aa 70%,transparent 74%);border-radius:65% 30% 60% 40%;transform-origin:50% 100%;animation:siege-flicker588 1.1s ease-in-out infinite alternate}.siege-fire588 i:nth-child(2){height:100%;animation-delay:-.4s}.siege-fire588 i:nth-child(3){height:80%;animation-delay:-.7s}.siege-large588{left:38%;bottom:35%;width:24%;height:28%}.siege-notice588{padding:10px 14px;border:1px solid #dfad6d;border-radius:10px;background:#fff2d9;color:#8f411d;font-size:12px}@keyframes siege-flicker588{from{transform:scale(.85,.9) rotate(-6deg);opacity:.85}to{transform:scale(1.07,1.1) rotate(6deg);opacity:1}}@media(prefers-reduced-motion:reduce){.siege-fire588 i{animation:none}}

.world-cell .world-shield580{inset:3px 3px 14px;display:flex;align-items:flex-start;justify-content:flex-end;border:2px solid #77d9ff;border-radius:50% 50% 42% 42%;background:radial-gradient(ellipse at 30% 20%,#ecffffb0,transparent 48%),radial-gradient(ellipse at center,#74cfff14 35%,#4fbcf66b 82%,#e6fcffb0);box-shadow:inset 0 0 9px #8eeaff,0 0 7px #379edca0;color:#07608f;font-size:14px;line-height:1;z-index:3;pointer-events:none}.world-cell .tile-name{z-index:4}

.world-cell .world-shield580{font-size:0;border-color:#28bfff;background-color:#48bfff22}.world-cell .world-shield580::after{content:"\1F6E1";position:absolute;right:0;top:0;display:grid;place-items:center;width:17px;height:17px;font-size:12px;color:white;background:#087bb9;border:1px solid #eaffff;border-radius:50%;box-shadow:0 1px 4px #13557caa}

.scout-control592{margin-top:12px}.scout-control592 small{display:block;margin-top:6px}.scout-summary592{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:8px;margin:14px 0}.scout-summary592>div{padding:10px;border:1px solid #afd1df;border-radius:9px;background:#ecf8fc}.scout-summary592 small,.scout-summary592 strong{display:block}.scout-summary592 strong{font-size:20px;margin-top:5px}.scout-classes592{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.scout-classes592 .card{padding:10px;min-width:0}.scout-classes592 h3{display:flex;align-items:center;gap:5px}.scout-classes592 img{object-fit:contain}.scout-classes592 table{width:100%;font-size:11px;border-collapse:collapse}.scout-classes592 td,.scout-classes592 th{text-align:start;padding:5px 3px;border-bottom:1px solid #d4e5ed}@media(max-width:560px){.scout-classes592{grid-template-columns:1fr}}

.march-scout593>path{stroke:#148779;stroke-width:.65;stroke-dasharray:1 .6}.march-scout593.march-return584>path{stroke:#5869b0}.notices-list593{display:grid;gap:8px;max-height:55vh;overflow:auto;margin:12px 0}.notices-list593 .card{padding:12px}.notices-list593 p{margin:0 0 6px}.notice-new593{border-color:#dea945!important;background:#fff6dd!important}#noticesBell593{min-width:38px;padding:8px}

.war-table594{width:100%;border-collapse:collapse;margin:14px 0}.war-table594 td,.war-table594 th{text-align:start;padding:12px 6px;border-bottom:1px solid #c9dfe9}.war-table594 small{display:block;margin-top:5px}.notices-list593 button{margin-top:8px}

.loot-box595{padding:12px;border:1px solid #d9b25b;border-radius:10px;background:#fff5d9;margin:12px 0}.loot-box595 p{font-weight:700;margin:8px 0}.loot-box595 small{display:block;font-size:11px}.loot-summary595{font-weight:700;color:#93661b}

.warehouse-next596{padding:10px;border:1px solid #a7cddf;border-radius:8px;background:#ebf8fd;font-size:12px}
