.world-layout{width:min(1620px,96vw);margin:0 auto;padding:36px 0 70px}.world-panel{border:1px solid var(--line);background:linear-gradient(140deg,#10212f,#0a141d);padding:24px;margin:22px 0}.world-login{max-width:540px;margin:5vh auto 8vh}.world-login h1{font-size:clamp(2.2rem,6vw,4rem)}.world-heading{display:flex;justify-content:space-between;align-items:start;gap:18px}.world-heading h1{font-size:clamp(2rem,5vw,4rem)}.world-heading p{margin:0}.world-scope{border-left:3px solid var(--amber);padding:10px 16px;background:#3a291b66;color:#ebcda1}.world-resources{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:24px}.world-resource{border:1px solid var(--line);background:#0b1720;padding:14px;display:grid;gap:4px}.world-resource span{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.world-resource strong{font:700 1.6rem var(--font-display);color:var(--cyan)}.world-resource small{color:var(--muted)}.world-update-time{font-size:.78rem;margin:8px 0}.world-order{min-height:1.4em;color:var(--amber);font-weight:700}.world-atlas{display:grid;grid-template-columns:minmax(1200px,1fr) minmax(260px,330px);gap:14px}.world-field-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.world-field{position:relative;min-width:0;min-height:112px;display:grid;justify-items:center;align-content:center;gap:3px;padding:7px;background:#0d2230;color:var(--ink);border:1px solid #3b5769;text-align:center;letter-spacing:normal}.world-field:hover,.world-field.is-selected{border-color:var(--cyan);background:#19404b;box-shadow:inset 0 0 0 1px var(--cyan)}.world-field.is-building{border-color:var(--amber)}.world-field img{width:min(70px,100%);height:70px;object-fit:contain;filter:drop-shadow(0 5px 8px #000a)}.world-field span{position:absolute;top:5px;left:6px;font-size:.65rem;color:var(--cyan)}.world-field small{font-size:.67rem;color:var(--muted)}.world-field-detail{border:1px solid var(--line);background:#081923;padding:20px;display:grid;align-content:start;gap:12px}.world-field-detail h3{margin:0;font:700 1.4rem var(--font-display);text-transform:uppercase}.world-field-detail p{margin:0;font-size:.86rem}.world-field-detail dl{display:grid;grid-template-columns:1fr auto;gap:8px;margin:0}.world-field-detail dt{color:var(--muted)}.world-field-detail dd{margin:0;font-weight:700}.world-field-detail button{width:100%}.world-field-detail button:disabled{opacity:.5;cursor:not-allowed}.world-field-detail .field-reason{color:var(--amber)}#world-message{min-height:1.5em}#world-login-error{min-height:1.4em}
@media(max-width:1599px){.world-atlas{grid-template-columns:1fr}.world-field-detail{min-height:0}}
@media(max-width:650px){.world-resources{grid-template-columns:repeat(2,minmax(0,1fr))}.world-field-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.world-heading{flex-wrap:wrap}.world-panel{padding:16px}.world-field{min-height:100px}}
.world-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.world-tabs a{padding:8px 12px;border:1px solid var(--line);color:var(--cyan);text-decoration:none}.world-village-switch{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.world-village-switch label{display:grid;gap:5px}.world-village-switch select{max-width:min(100%,360px);padding:8px;background:#081923;color:var(--ink);border:1px solid var(--line)}.world-village-switch p{margin:0;color:var(--muted)}.world-map-note{color:var(--muted);font-size:.9rem}.world-map-jump{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin:16px 0}.world-map-jump label{display:grid;gap:4px}.world-map-jump input{width:110px}.world-map-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,300px);gap:18px}.world-map-navigation{display:grid;justify-items:center;gap:6px}.world-map-navigation>button,.world-map-middle>button{min-width:44px;min-height:44px}.world-map-middle{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px;align-items:center;width:100%}.world-map-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.world-map-tile{min-width:0;aspect-ratio:1;background:#152831;border:1px solid #365468;padding:2px;display:grid;place-content:center;gap:1px;text-align:center;color:#d4e2e4;letter-spacing:normal}.world-map-tile strong{font:700 clamp(1rem,2.2vw,1.6rem) var(--font-display)}.world-map-tile small{font-size:clamp(.48rem,1.1vw,.67rem);white-space:nowrap}.world-map-tile.kind-village{background:#143345;border-color:#668b9d}.world-map-tile.kind-tutorial-npc{background:#384033;border-color:#b1a973}.world-map-tile.kind-oasis{background:#27483f;border-color:#87a68a}.world-map-tile.kind-unmapped{background:#17202a;color:#8da0a8}.world-map-tile.is-home{box-shadow:inset 0 0 0 2px var(--amber)}.world-map-tile.is-selected{outline:2px solid var(--cyan);outline-offset:-2px}.world-map-detail{border:1px solid var(--line);background:#081923;padding:20px}.world-map-detail h3{margin:0 0 18px;font:700 1.3rem var(--font-display);text-transform:uppercase}.world-map-detail dl{display:grid;grid-template-columns:1fr auto;gap:8px;margin:0}.world-map-detail dt{color:var(--muted)}.world-map-detail dd{margin:0;text-align:right}.world-map-detail p{color:var(--amber);font-size:.84rem}
.world-primary-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:8px}.world-primary-tabs a{display:grid;place-items:center;min-height:54px;text-align:center;background:#102d3b;border-color:#547d8d;font-weight:700}.world-primary-tabs a:hover,.world-primary-tabs a:focus-visible{background:#19404b;border-color:var(--cyan)}.world-more-workspaces{margin:0 0 18px}.world-more-workspaces summary{width:max-content;max-width:100%;cursor:pointer;color:var(--cyan);padding:6px 0}.world-more-workspaces .world-tabs{margin:6px 0 0}.world-view-actions{display:flex;flex-wrap:wrap;gap:8px}.world-view-actions .ghost{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 12px;text-decoration:none}
@media(max-width:650px){.world-primary-tabs{grid-template-columns:1fr 1fr}.world-primary-tabs a:last-child{grid-column:1/-1}.world-view-actions{width:100%}.world-view-actions .ghost{flex:1 1 130px}}
@media(max-width:900px){.world-map-layout{grid-template-columns:1fr}}
@media(max-width:650px){.world-map-middle{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.world-map-middle>button{order:-1}.world-map-grid{width:100%;gap:2px}.world-map-tile small{font-size:.57rem}.world-map-detail{padding:16px}}
.world-map-identity{display:flex;align-items:center;gap:10px;margin:-6px 0 18px;color:var(--cyan);font-weight:700}.world-map-identity img{width:32px;height:32px;object-fit:contain}
.world-map-settlement-art{display:block;width:min(100%,64px);height:clamp(28px,4vw,50px);object-fit:contain;margin:auto;filter:drop-shadow(0 2px 3px #0009)}
@media(min-width:901px){.world-map-tile{position:relative;isolation:isolate;border-bottom-width:4px;box-shadow:inset 0 1px 0 #e4ffff2b,0 3px 5px #0008}.world-map-tile::before{content:'';position:absolute;left:16%;right:16%;bottom:17%;height:28%;background:linear-gradient(145deg,#b7d4d28c,#467782a6 55%,#193c4eaa);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);transform:scale(var(--map-depth));transform-origin:center bottom;pointer-events:none}.world-map-tile.kind-unmapped::before{opacity:.35}.world-map-tile :is(strong,img,small){position:relative;z-index:1}.world-map-tile :is(strong,img){transform:scale(var(--map-depth));transform-origin:center bottom}}

.world-main-detail{display:grid;grid-template-columns:minmax(100px,180px) minmax(0,1fr);align-items:center;gap:18px}.world-main-detail img{width:100%;max-height:150px;object-fit:contain}.world-main-detail dl{display:grid;grid-template-columns:1fr auto;gap:4px 12px;max-width:420px}.world-main-detail dd{margin:0;text-align:right}.world-main-detail button{margin-top:10px}.world-main-detail button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:650px){.world-main-detail{grid-template-columns:1fr}.world-main-detail img{max-width:150px}}
.world-main-detail.is-text-only{grid-template-columns:minmax(0,1fr)}
.world-storage-picker{display:grid;gap:6px;max-width:420px;margin:14px 0 20px}.world-storage-picker select{width:100%;min-width:0}.world-storage-reason{color:var(--amber)}
.world-training{display:grid;gap:10px;max-width:620px;margin-top:24px}.world-training label{display:grid;gap:5px}.world-training select,.world-training input{width:100%;min-width:0}.world-training button{justify-self:start}.world-training button:disabled{opacity:.5;cursor:not-allowed}
.world-battle-composition{border:1px solid var(--line);padding:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;min-width:0}.world-battle-composition legend{padding:0 6px;color:var(--cyan);font-weight:700}.world-battle-composition label{min-width:0}
.world-construction-cancel{display:inline-block;margin:.55rem 0 .1rem;padding:.42rem .7rem;font-size:.82rem;line-height:1.2;border:1px solid var(--amber);background:transparent;color:var(--amber)}.world-construction-cancel:disabled{opacity:.55;cursor:not-allowed}
.world-ranking-filter{display:grid;gap:6px;max-width:360px;margin:16px 0}.world-ranking-filter[hidden]{display:none}.world-ranking-filter select{width:100%;min-width:0}.world-ranking-wrap{overflow-x:auto}.world-ranking-table{width:100%;border-collapse:collapse;min-width:540px}.world-ranking-table th,.world-ranking-table td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left}.world-ranking-table td:nth-last-child(-n+2),.world-ranking-table th:nth-last-child(-n+2){text-align:right}.world-ranking-table td img{width:26px;height:26px;object-fit:contain;vertical-align:middle;margin-right:8px}.world-ranking-table tr.is-self{background:#1a435099}.world-ranking-pages{display:flex;align-items:center;gap:12px;margin-top:16px;flex-wrap:wrap}.world-ranking-pages button:disabled{opacity:.5;cursor:not-allowed}
.world-ranking-mobile-emblem,.world-ranking-mobile-meta{display:none}@media(max-width:650px){.world-ranking-table{min-width:0;table-layout:fixed}.world-ranking-table th,.world-ranking-table td{padding:9px 5px}.world-ranking-table th:nth-child(1),.world-ranking-table td:nth-child(1){width:48px}.world-ranking-table th:nth-child(3),.world-ranking-table td:nth-child(3),.world-ranking-table th:nth-child(4),.world-ranking-table td:nth-child(4){display:none}.world-ranking-table th:nth-child(5),.world-ranking-table td:nth-child(5){width:90px;text-align:right}.world-ranking-table td:nth-child(2){overflow-wrap:anywhere}.world-ranking-table td img.world-ranking-mobile-emblem{display:inline-block;width:20px;height:20px;margin-right:5px}.world-ranking-mobile-meta{display:block;font-size:.7rem;color:var(--muted);line-height:1.3}}

.world-scout-reports{margin-top:20px;border-top:1px solid var(--line);padding-top:16px}.world-scout-reports .section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.world-scout-reports .section-heading h3{margin:0}.world-scout-reports .section-heading div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}#world-scout-report-list{list-style:none;margin:10px 0;padding:0;display:grid;gap:10px}#world-scout-report-list li{min-width:0;border:1px solid var(--line);background:#0b1b26;padding:12px;overflow-wrap:anywhere}#world-scout-report-list .world-scout-report-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}#world-scout-report-list img{width:22px;height:22px;object-fit:contain}#world-scout-report-list p{margin:7px 0}#world-scout-report-list .world-scout-report-actions{display:flex;gap:8px;flex-wrap:wrap}.world-scout-report-pager{display:flex;gap:8px;justify-content:flex-end}#world-scout-report-status{color:var(--muted);font-size:.85rem}
:is(#world-scout-report-list,#world-battle-report-list){list-style:none;margin:10px 0;padding:0;display:grid;gap:10px}:is(#world-scout-report-list,#world-battle-report-list) li{min-width:0;border:1px solid var(--line);background:#0b1b26;padding:12px;overflow-wrap:anywhere}:is(#world-scout-report-list,#world-battle-report-list) .world-scout-report-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}:is(#world-scout-report-list,#world-battle-report-list) img{width:22px;height:22px;object-fit:contain}:is(#world-scout-report-list,#world-battle-report-list) p{margin:7px 0}:is(#world-scout-report-list,#world-battle-report-list) .world-scout-report-actions{display:flex;gap:8px;flex-wrap:wrap}#world-battle-report-status{color:var(--muted);font-size:.85rem}
.world-mail-compose{display:grid;gap:12px;max-width:640px;margin:18px 0}.world-mail-compose label{display:grid;gap:5px}.world-mail-compose input,.world-mail-compose textarea{width:100%;min-width:0;background:#081923;color:var(--ink);border:1px solid var(--line);padding:10px;font:inherit}.world-mail-compose textarea{resize:vertical}.world-mail-compose button{justify-self:start}.world-mail-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:16px}.world-mail-head label{display:flex;align-items:center;gap:8px}.world-mail-pages{display:flex;gap:10px}.world-mail-detail{border:1px solid var(--line);background:#081923;padding:16px;margin-top:14px}.world-mail-detail[hidden]{display:none}.world-mail-detail p{white-space:pre-wrap;overflow-wrap:anywhere}#world-mail-list{list-style:none;margin:10px 0;padding:0;display:grid;gap:8px}#world-mail-list li{border:1px solid var(--line);background:#0b1b26;padding:12px;overflow-wrap:anywhere}#world-mail-list li.is-unread{border-color:var(--cyan)}#world-mail-list li p{margin:4px 0}#world-mail-list li .world-mail-actions{display:flex;gap:8px;flex-wrap:wrap}#world-mail-list li button{font-size:.78rem}

#world-village-rename-form{display:flex;align-items:end;gap:.75rem;flex-wrap:wrap;margin:0 0 1rem}#world-village-rename-form label{display:grid;gap:.35rem;min-width:12rem}#world-village-rename-form input{width:100%;max-width:22rem}#world-village-rename-status{flex-basis:100%;margin:0;color:var(--muted)}

.world-landscape{padding:clamp(12px,2.6vw,28px);background-color:#102734;background-size:cover;background-position:center;border:1px solid #527282;box-shadow:inset 0 0 0 1px #071923b0;align-content:center}
.world-landscape[data-backdrop-mode="schematic"]{--terrain-ground:#23423f;--terrain-water:#1b5363;--terrain-road:#8297938c;background-image:linear-gradient(180deg,#07192355,#07192388),var(--pad-ground-art,none),radial-gradient(ellipse at 50% 60%,#426c6855 0 36%,transparent 68%),linear-gradient(140deg,transparent 46%,var(--terrain-road) 47%,var(--terrain-road) 50%,transparent 51%),linear-gradient(38deg,transparent 47.5%,var(--terrain-road) 48.5%,var(--terrain-road) 50.5%,transparent 51.5%),radial-gradient(ellipse at 0% 55%,var(--terrain-water) 0 24%,transparent 24.5%),linear-gradient(180deg,#1b343b,var(--terrain-ground))}
.world-landscape[data-backdrop-mode="schematic"][data-faction="northern-federation"]{--terrain-ground:#465657;--terrain-water:#315766}
.world-landscape[data-backdrop-mode="schematic"][data-faction="eastern-directorate"]{--terrain-ground:#315847;--terrain-water:#266564}
.world-landscape .world-field{background:#0a1e2bd9;backdrop-filter:blur(2px);min-height:118px}
.world-landscape .world-field strong{font-size:.68rem;line-height:1.15;overflow-wrap:anywhere;text-shadow:0 1px 5px #000}
.world-landscape .world-field:is(:hover,.is-selected){background:#123543ee}
.world-landscape .world-field:focus-visible,.world-city-plot:focus-visible{outline:3px solid #f8ce7c;outline-offset:2px}
.world-city-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.world-city-plot{position:relative;min-width:0;min-height:112px;display:grid;justify-items:center;align-content:center;gap:3px;padding:9px 5px;color:#f1f7f7;text-align:center;letter-spacing:normal;background:#0a1e2bdc;border:1px solid #6e8793;backdrop-filter:blur(2px)}
.world-city-plot:hover,.world-city-plot.is-selected{background:#133a47f2;border-color:var(--cyan);box-shadow:inset 0 0 0 1px var(--cyan)}
.world-city-plot.is-building{border-color:var(--amber)}
.world-city-plot>span{position:absolute;top:5px;left:8px;color:#9ee7f0;font:700 .7rem var(--font-display)}
.world-city-plot img{height:48px;width:min(70px,90%);object-fit:contain;filter:drop-shadow(0 3px 5px #000b)}
.world-city-plot strong{font-size:.7rem;line-height:1.15;overflow-wrap:anywhere}
.world-city-plot small{font-size:.65rem;color:#d0dddf}
@media(max-width:650px){.world-city-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.world-city-plot{min-height:98px}.world-city-plot img{height:40px}.world-landscape{padding:12px}}
.world-field-grid::before,.world-city-grid::before{grid-column:1/-1;display:flex;align-items:end;min-height:clamp(130px,19vw,210px);padding:18px;color:#f3f8f7;font:700 clamp(1rem,2vw,1.5rem) var(--font-display);letter-spacing:.09em;text-shadow:0 2px 8px #000,0 0 16px #000}
.world-field-grid::before{content:'OUTSIDE PERIMETER · RESOURCE SITES'}
.world-city-grid::before{content:'CIVIC CENTER · CITY PLOTS'}
.world-city-plot.is-empty{min-height:88px;background:#08202a80;border-style:dashed;backdrop-filter:blur(1px)}
.world-city-plot.is-empty strong{font-size:1.35rem;line-height:1;color:#bcebf0;text-shadow:0 1px 5px #000}
.world-city-plot.is-empty small{font-size:.65rem;color:#e5f1f2;text-shadow:0 1px 5px #000}
.world-city-plot.is-empty:hover,.world-city-plot.is-empty.is-selected{background:#123543e8}
.world-map-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin:8px 0 14px;color:#d4e2e4;font-size:.78rem}.world-map-legend span{display:inline-flex;align-items:center;gap:6px}.world-map-legend i{display:inline-block;width:17px;height:17px;background:#152831;border:1px solid #365468}.world-map-legend i.kind-village{background:#143345;border-color:#668b9d}.world-map-legend i.kind-oasis{background:#27483f;border-color:#87a68a}.world-map-legend i.kind-free-valley{background:#152831}.world-map-legend i.is-owned,.world-map-tile.is-owned{border-color:#f8ce7c}.world-map-legend i.is-owned{border-style:double;border-width:3px}.world-map-legend i.is-home{box-shadow:inset 0 0 0 2px var(--amber)}.world-map-legend i.is-selected{outline:2px solid var(--cyan);outline-offset:1px}.world-map-tile:focus-visible{outline:3px solid #f8ce7c;outline-offset:2px}
.world-map-filter{display:flex;align-items:end;flex-wrap:wrap;gap:8px 16px;margin-bottom:14px}.world-map-filter label{display:grid;gap:5px;font-size:.8rem;color:#d4e2e4}.world-map-filter select{padding:7px;background:#081923;color:var(--ink);border:1px solid var(--line)}.world-map-filter span{font-size:.8rem;color:var(--muted)}.world-map-tile.is-filtered-out:not(.is-selected){opacity:.7}.world-map-tile.is-filtered-out:is(:hover,:focus-visible){opacity:1}
.world-map-search-pager{display:flex;gap:8px;margin:8px 0 18px}#world-map-search-results{display:grid;gap:5px;max-height:260px;overflow:auto;padding-left:22px}#world-map-search-results button{width:100%;text-align:left}#world-map-search-status{min-height:1.2em;color:var(--muted);font-size:.8rem}
.world-map-tools{display:grid;gap:12px;margin:10px 0 12px;padding:12px;border:1px solid var(--line);background:#0a1b25}.world-map-tools form{margin:0}.world-map-tools .world-map-filter{margin:0;align-content:start}.world-map-tools .world-map-jump{min-width:0}.world-map-tools #world-map-jump{display:grid;grid-template-columns:65px 65px minmax(130px,1fr);align-items:end}.world-map-tools #world-map-village-search{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end}.world-map-tools :is(label,input,button){min-width:0}.world-map-tools input{width:100%}.world-map-tools #world-map-search-status{margin:3px 0}.world-map-tools #world-map-search-results{margin:5px 0;padding-left:18px}.world-map-tools .world-map-search-pager{margin:5px 0 0}#world-map-search-results[hidden],.world-map-search-pager[hidden]{display:none}@media(min-width:901px){.world-map-tools{grid-template-columns:minmax(180px,.75fr) minmax(280px,1.2fr) minmax(250px,1fr);align-items:start}}@media(max-width:650px){.world-map-tools #world-map-jump{grid-template-columns:1fr 1fr}.world-map-tools #world-map-jump button{grid-column:1/-1}.world-map-tools #world-map-village-search{grid-template-columns:1fr}.world-map-tools #world-map-village-search button{justify-self:start}}
.world-map-tools .world-map-search-scope{grid-column:1/-1}.world-map-tools .world-map-search-scope select{width:100%;min-width:0;padding:8px;background:#081923;color:var(--ink);border:1px solid var(--line)}
.world-crop-finder{margin:12px 0 18px;padding:12px;border:1px solid var(--line);background:#0a1b25}.world-crop-finder h3{margin:0 0 7px;font:700 1rem var(--font-display)}.world-crop-finder p{margin:0 0 8px;color:var(--muted);font-size:.82rem}.world-crop-finder form{display:flex;align-items:end;flex-wrap:wrap;gap:9px}.world-crop-finder label{display:grid;gap:5px;font-size:.8rem}.world-crop-finder :is(select,input){min-width:105px;padding:8px;background:#081923;color:var(--ink);border:1px solid var(--line)}.world-crop-finder ol{max-height:310px;overflow:auto;padding-left:25px}.world-crop-finder li{margin:5px 0}.world-crop-finder li button{width:100%;text-align:left}.world-crop-finder [hidden]{display:none}
@media(pointer:fine){.world-map-grid{cursor:grab}.world-map-grid.is-dragging{cursor:grabbing;user-select:none}.world-map-grid.is-dragging .world-map-tile{pointer-events:none}}
@media(max-width:650px){.world-city-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.world-city-plot{min-height:78px;padding:8px 2px}.world-city-plot.is-empty{min-height:74px}.world-city-plot img{height:30px}.world-city-plot strong{font-size:.58rem}.world-city-plot small{font-size:.55rem}.world-city-plot>span{font-size:.58rem;top:3px;left:4px}.world-field-grid::before,.world-city-grid::before{min-height:130px;padding:12px;font-size:.9rem}}
#world-city-detail button[data-city-open]{margin-top:4px}
.world-map-owned-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 4px}.world-map-owned-actions button{flex:1 1 140px}.world-map-owned-actions button:disabled{opacity:.5;cursor:wait}
.world-map-report-link{color:var(--cyan);font-weight:700;text-underline-offset:3px}
.world-resource-core{position:relative;display:grid;justify-items:center;align-content:center;min-height:100px;padding:8px;color:var(--cyan);background:#0a1e2bd9;border:1px solid #527282;text-align:center;text-decoration:none;font-size:.72rem}
.world-resource-core img{height:50px;width:65px;object-fit:contain}
.world-field-grid>.world-resource-core[data-visual-stage="empty"]{border-style:dashed;background:#18343a}
.world-field-grid>.world-resource-core[data-visual-stage="foundation"]{border-color:#83a398;background:#244c4d}
.world-field-grid>.world-resource-core[data-visual-stage="established"]{border-color:#94aead;background:#28525a}
.world-field-grid>.world-resource-core[data-visual-stage="advanced"]{border-color:#a5c9c7;background:#2b636c}
.world-field-grid>.world-resource-core[data-visual-stage="landmark"]{border-color:#e7d398;background:#655638;color:#fff0bb}
.world-field-grid>.world-resource-core[data-visual-stage] img:not([hidden]){scale:var(--stage-scale,1);transform-origin:center bottom}
.world-field-grid>.world-resource-core[data-visual-stage="foundation"]{--stage-scale:.78}
.world-field-grid>.world-resource-core[data-visual-stage="established"]{--stage-scale:.9}
.world-field-grid>.world-resource-core[data-visual-stage="landmark"]{--stage-scale:1.1}
.world-field-grid>.world-resource-core small{font-size:.65rem;color:inherit}
@media(max-width:900px){.world-resource-core{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:10px;min-height:64px}.world-resource-core img{height:45px;width:55px}}
@media(min-width:901px){
  .world-field-grid,.world-city-grid{grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:minmax(130px,auto) repeat(5,minmax(90px,auto));align-content:stretch}
  .world-field-grid::before,.world-city-grid::before{grid-row:1}
  .world-field-grid>.world-field,.world-city-grid>.world-city-plot{grid-column:var(--site-column);grid-row:var(--site-row);min-height:110px}
  .world-field-grid>.world-field img{height:52px;width:min(60px,100%)}
  .world-city-grid>.world-city-plot img{height:39px;width:min(60px,90%)}
  .world-field-grid>.world-field,.world-city-grid>.world-city-plot,.world-field-grid>.world-resource-core,.world-city-grid>.world-city-perimeter{isolation:isolate;z-index:calc(var(--site-row) * 2);background:transparent;border:0;box-shadow:none;backdrop-filter:none;align-content:end;gap:1px;padding:5px 3px 8px;text-shadow:0 1px 5px #000,0 2px 9px #000}
  .world-field-grid>.world-field::before,.world-city-grid>.world-city-plot::before,.world-field-grid>.world-resource-core::before,.world-city-grid>.world-city-perimeter::before{content:'';position:absolute;inset:auto 0 2px;height:58px;z-index:-2;clip-path:polygon(50% 0,98% 26%,98% 56%,50% 100%,2% 56%,2% 26%);background:linear-gradient(180deg,#60828a 0 45%,#1c3c49 46% 68%,#0a2029 100%);filter:drop-shadow(0 5px 5px #000a);transform:scale(var(--site-depth));transform-origin:center bottom}
  .world-field-grid>.world-field::after,.world-city-grid>.world-city-plot::after,.world-field-grid>.world-resource-core::after,.world-city-grid>.world-city-perimeter::after{content:'';position:absolute;inset:auto 5% 24px;height:31px;z-index:-1;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:linear-gradient(145deg,#83949b,#416471 55%,#263f4c);transform:scale(var(--site-depth));transform-origin:center bottom}
  .world-field-grid>.world-field:is(:hover,.is-selected),.world-city-grid>.world-city-plot:is(:hover,.is-selected){background:transparent;border:0;box-shadow:none}
  .world-field-grid>.world-field:is(:hover,.is-selected)::after,.world-city-grid>.world-city-plot:is(:hover,.is-selected)::after,.world-field-grid>.world-resource-core:hover::after{background:linear-gradient(145deg,#bcf3f1,#4cb3c1 55%,#286371)}
  .world-field-grid>.world-field.is-building::after,.world-city-grid>.world-city-plot.is-building::after{background:linear-gradient(145deg,#ffdfa0,#c9893e 55%,#715125)}
  .world-field-grid>.world-field.is-selected,.world-city-grid>.world-city-plot.is-selected{outline:2px solid #a4f6ff;outline-offset:1px;border-radius:3px}
  .world-field-grid>.world-field.is-building small,.world-city-grid>.world-city-plot.is-building small{color:#ffdc9b;font-weight:700}
  .world-field-grid>.world-field img,.world-city-grid>.world-city-plot img,.world-field-grid>.world-resource-core img{position:relative;z-index:1;transform:scale(var(--site-depth));transform-origin:center bottom;filter:drop-shadow(0 5px 3px #000b)}
  .world-field-grid>.world-field :is(span,strong,small),.world-city-grid>.world-city-plot :is(span,strong,small){z-index:1}
  .world-city-grid>.world-city-plot.is-empty{background:transparent;border:0;backdrop-filter:none;align-content:center}
  .world-city-grid>.world-city-plot.is-empty:is(:hover,.is-selected){background:transparent}
  .world-city-grid>.world-city-plot.is-empty strong{margin-top:25px}
  .world-field-grid>.world-resource-core{grid-column:4;grid-row:4;min-height:110px;display:grid;justify-items:center;align-content:end;color:#f1f7f7;text-align:center;text-decoration:none;font-size:.72rem;text-transform:uppercase}
  .world-field-grid>.world-resource-core img{height:50px;width:65px;object-fit:contain}
  .world-field-grid>.world-resource-core strong{z-index:1}
  .world-field-grid>.world-resource-core:focus-visible{outline:3px solid #f8ce7c;outline-offset:2px}
  .world-city-grid>.world-city-perimeter{grid-column:4;grid-row:4;min-height:110px;display:grid;justify-items:center;align-content:end;color:#f1f7f7;text-align:center;text-decoration:none;font-size:.72rem;text-transform:uppercase}
  .world-city-grid>.world-city-perimeter strong{z-index:1}
  .world-city-grid>.world-city-perimeter:hover::after{background:linear-gradient(145deg,#bcf3f1,#4cb3c1 55%,#286371)}
  .world-city-grid>.world-city-perimeter:focus-visible{outline:3px solid #f8ce7c;outline-offset:2px}
}
#world-recovery-code{display:block;overflow-wrap:anywhere;user-select:all}
.world-first-signal-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin:14px 0}
.world-first-signal-facts button{min-height:46px;text-align:left}
.world-first-signal-facts button:disabled,#world-first-signal-hub:disabled{opacity:.65;cursor:default}
.world-campaign-objectives{display:grid;gap:8px;margin:12px 0;padding:0;list-style:none}
.world-campaign-objectives li{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #527282;background:#0a1e2b}
.world-campaign-objectives .world-campaign-led{width:7px;height:7px;border-radius:50%;background:#829096;flex:none}
.world-campaign-objectives li[data-state="complete"] .world-campaign-led{background:#79d8ab}
.world-campaign-objectives li[data-state="blocked"] .world-campaign-led{background:#d7a864}
.world-campaign-objectives small{margin-left:auto;color:#c9d8d8}
.world-field[data-visual-stage="foundation"],.world-city-plot[data-visual-stage="foundation"]{--stage-scale:.78}
.world-field[data-visual-stage="established"],.world-city-plot[data-visual-stage="established"]{--stage-scale:.9}
.world-field[data-visual-stage="advanced"],.world-city-plot[data-visual-stage="advanced"]{--stage-scale:1}
.world-field[data-visual-stage="landmark"],.world-city-plot[data-visual-stage="landmark"]{--stage-scale:1.1}
.world-field[data-visual-stage="empty"],.world-city-plot[data-visual-stage="empty"]{--stage-scale:1;border-style:dashed}
.world-field[data-visual-stage] img:not([hidden]),.world-city-plot[data-visual-stage] img:not([hidden]){scale:var(--stage-scale);transform-origin:center bottom}
.world-field[data-visual-stage="landmark"] small,.world-city-plot[data-visual-stage="landmark"] small{color:#f7d788;font-weight:700}
.world-field,.world-city-plot{position:relative}
.world-growth-massing{position:absolute;top:2px;right:2px;width:40px;height:34px;transform:scale(.65);transform-origin:top right;pointer-events:none;z-index:1;filter:drop-shadow(0 2px 2px #00131bbd)}
.world-growth-massing::before{content:'';position:absolute;inset:-10px -10px 4px;background:var(--site-art,none) center bottom/contain no-repeat;z-index:2;filter:drop-shadow(0 3px 4px #000c);pointer-events:none}
.world-field[data-visual-stage="empty"]>strong::before{content:'';display:block;width:42px;height:34px;margin:0 auto 2px;background:var(--field-art,none) center bottom/contain no-repeat;opacity:.82;filter:drop-shadow(0 3px 4px #000b);pointer-events:none}
@media(min-width:901px){
  .world-field-grid>.world-resource-core[data-visual-stage]{background:transparent;border:0}
}
.world-growth-massing[data-stage="foundation"]{top:13px;right:auto;left:50%;transform:translateX(-50%) scale(var(--site-depth,1));transform-origin:center bottom}
.world-growth-massing:is([data-stage="established"],[data-stage="advanced"]){top:10px;right:auto;left:50%;transform:translateX(-50%) scale(var(--site-depth,1));transform-origin:center top}
.world-growth-massing[data-stage="landmark"]{top:5px;right:auto;left:50%;transform:translateX(-50%) scale(var(--site-depth,1));transform-origin:center top}
.world-growth-shell{position:absolute;left:8px;bottom:2px;width:24px;height:calc(18px + var(--level-rise,0px));border:2px solid #b8d8d2;border-top:3px solid #d8e8dd;background:transparent}
.world-growth-shell::before,.world-growth-shell::after{content:'';position:absolute;top:-8px;width:11px;height:2px;background:#d8e8dd}
.world-growth-shell::before{left:-2px;transform:rotate(-25deg);transform-origin:left center}
.world-growth-shell::after{right:-2px;transform:rotate(25deg);transform-origin:right center}
.world-growth-wing,.world-growth-spire{display:none;position:absolute}
.world-growth-massing[data-stage="established"] .world-growth-shell,.world-growth-massing[data-stage="advanced"] .world-growth-shell,.world-growth-massing[data-stage="landmark"] .world-growth-shell{height:calc(21px + var(--level-rise,0px));background:linear-gradient(120deg,#608d8d,#244d5b);border-color:#b8dcda}
.world-growth-massing[data-stage="advanced"] .world-growth-shell,.world-growth-massing[data-stage="landmark"] .world-growth-shell{width:28px;height:calc(24px + var(--level-rise,0px));left:6px}
.world-growth-massing[data-stage="advanced"] .world-growth-wing,.world-growth-massing[data-stage="landmark"] .world-growth-wing{display:block;right:0;bottom:2px;width:10px;height:13px;border:2px solid #b8dcda;background:#315c62}
.world-growth-massing[data-stage="landmark"] .world-growth-shell{height:calc(27px + var(--level-rise,0px));background:linear-gradient(120deg,#c6b47b,#735d40);border-color:#f3d99a}
.world-growth-massing[data-stage="landmark"] .world-growth-wing{height:18px;background:#947a4b;border-color:#f3d99a}
.world-growth-massing[data-stage="landmark"] .world-growth-spire{display:block;left:16px;bottom:calc(28px + var(--level-rise,0px));width:8px;height:9px;border:2px solid #f3d99a;border-bottom:0;background:#947a4b}
.world-growth-massing[data-kind="production"] .world-growth-shell{left:5px;width:29px;height:calc(15px + var(--level-rise,0px));border-radius:2px 2px 0 0}
.world-growth-massing[data-kind="production"][data-stage="advanced"] .world-growth-shell,.world-growth-massing[data-kind="production"][data-stage="landmark"] .world-growth-shell{left:3px;width:32px;height:calc(19px + var(--level-rise,0px))}
.world-growth-massing[data-kind="production"] .world-growth-spire{left:24px;width:5px;height:11px}
.world-growth-massing[data-kind="storage"] .world-growth-shell{left:3px;width:34px;height:calc(16px + var(--level-rise,0px));border-radius:6px 6px 0 0}
.world-growth-massing[data-kind="storage"][data-stage="landmark"] .world-growth-shell{height:calc(21px + var(--level-rise,0px))}
.world-growth-massing[data-kind="storage"] .world-growth-wing,.world-growth-massing[data-kind="storage"] .world-growth-spire{display:none}
.world-growth-massing[data-kind="storage"] .world-growth-shell::before,.world-growth-massing[data-kind="storage"] .world-growth-shell::after,.world-growth-massing[data-kind="perimeter"] .world-growth-shell::before,.world-growth-massing[data-kind="perimeter"] .world-growth-shell::after{display:none}
.world-growth-massing[data-kind="civic"] .world-growth-shell{left:10px;width:20px;height:calc(24px + var(--level-rise,0px))}
.world-growth-massing[data-kind="civic"][data-stage="landmark"] .world-growth-shell{height:calc(29px + var(--level-rise,0px))}
.world-growth-massing[data-kind="perimeter"] .world-growth-shell{left:1px;width:38px;height:calc(12px + var(--level-rise,0px))}
.world-growth-massing[data-kind="perimeter"][data-stage="landmark"] .world-growth-shell{height:calc(16px + var(--level-rise,0px))}
.world-growth-massing[data-kind="perimeter"] .world-growth-wing,.world-growth-massing[data-kind="perimeter"] .world-growth-spire{display:none}
.world-growth-progress{position:absolute;left:7px;bottom:3px;width:26px;height:5px;z-index:3;border:1px solid #d8e8dd;background:repeating-linear-gradient(90deg,transparent 0 5px,#102c38 5px 6px),linear-gradient(90deg,#d8e8dd 0 var(--stage-progress,0%),#173a48 var(--stage-progress,0%) 100%);box-shadow:0 1px 2px #00131b}
.world-growth-massing[data-stage="landmark"] .world-growth-progress{border-color:#f3d99a;background:repeating-linear-gradient(90deg,transparent 0 5px,#3c3528 5px 6px),linear-gradient(90deg,#f3d99a 0 var(--stage-progress,0%),#473d2b var(--stage-progress,0%) 100%)}
@media(max-width:650px){.world-growth-massing{transform:scale(.52)}.world-growth-massing[data-stage="foundation"]{top:7px;transform:translateX(-50%) scale(.8)}.world-growth-massing:is([data-stage="established"],[data-stage="advanced"]){top:5px;transform:translateX(-50%) scale(.8)}.world-growth-massing[data-stage="landmark"]{top:2px;transform:translateX(-50%) scale(.8)}}
@media(min-width:901px){
  .world-field-grid>.world-field[data-visual-stage="empty"]::after,.world-city-grid>.world-city-plot[data-visual-stage="empty"]::after{background:linear-gradient(145deg,#41575a,#243d47 60%,#1a3038)}
  .world-field-grid>.world-field[data-visual-stage="foundation"]::after,.world-city-grid>.world-city-plot[data-visual-stage="foundation"]::after{background:linear-gradient(145deg,#83a398,#426b6b 60%,#28474d)}
  .world-field-grid>.world-field[data-visual-stage="established"]::after,.world-city-grid>.world-city-plot[data-visual-stage="established"]::after{background:linear-gradient(145deg,#94aead,#4c7982 60%,#30515a)}
  .world-field-grid>.world-field[data-visual-stage="advanced"]::after,.world-city-grid>.world-city-plot[data-visual-stage="advanced"]::after{background:linear-gradient(145deg,#a5c9c7,#5b8f96 60%,#37616a)}
  .world-field-grid>.world-field[data-visual-stage="landmark"]::after,.world-city-grid>.world-city-plot[data-visual-stage="landmark"]::after{background:linear-gradient(145deg,#e7d398,#a88b52 60%,#5f593c)}
}
.world-Detail-preview-art,.world-detail-preview-art{display:block;width:min(100%,144px);height:112px;object-fit:contain;margin:0 auto 4px;filter:drop-shadow(0 5px 10px #000a)}
.world-pad-viewport{min-width:0;max-width:100%;overflow:auto;scrollbar-color:#6faeb5 #163b43}
.world-landscape.has-pad-art{position:relative;display:block;box-sizing:border-box;width:1200px;height:720px;min-height:720px;margin:0 auto;padding:0;background-image:var(--pad-ground-art,none);background-size:100% 100%;background-position:center;background-repeat:no-repeat}
.world-landscape.has-pad-art::before{content:none;display:none}
.world-landscape.has-pad-art>.world-field,.world-landscape.has-pad-art>.world-city-plot,.world-landscape.has-pad-art>.world-resource-core,.world-landscape.has-pad-art>.world-city-perimeter{position:absolute;display:block;box-sizing:border-box;left:calc(var(--pad-x,600)*1px - 56px);top:calc(var(--pad-y,335)*1px - 30px);width:112px;height:60px;min-height:60px;padding:0;background:transparent;border:0;box-shadow:none;backdrop-filter:none;isolation:isolate;z-index:calc(var(--site-row,4) * 2);text-shadow:0 1px 4px #000,0 0 8px #000}
.world-landscape.has-pad-art>:is(.world-field,.world-city-plot,.world-resource-core,.world-city-perimeter)::before{content:'';position:absolute;inset:2px 4px;z-index:-2;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:#06172026;border:0;transform:none;filter:none;pointer-events:none}
.world-landscape.has-pad-art>:is(.world-field,.world-city-plot,.world-resource-core,.world-city-perimeter)::after{content:'';position:absolute;inset:5px 8px;z-index:-1;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:transparent;box-shadow:inset 0 0 0 1px #9ee7f059;transform:none;pointer-events:none}
.world-landscape.has-pad-art>:is(.world-field,.world-city-plot):is(:hover,.is-selected){background:transparent;border:0;box-shadow:none;outline:0}
.world-landscape.has-pad-art>:is(.world-field,.world-city-plot,.world-resource-core,.world-city-perimeter):is(:hover,.is-selected)::after{background:#1ccad82e;box-shadow:inset 0 0 0 2px #9ff6ff,0 0 12px #36d6e780}
.world-landscape.has-pad-art>:is(.world-field,.world-city-plot).is-building::after{background:#f0a83b36;box-shadow:inset 0 0 0 2px #ffd27d,0 0 12px #f0a83b8c}
.world-landscape.has-pad-art>:is(.world-field,.world-city-plot)>span{position:absolute;top:auto;left:4px;bottom:4px;z-index:4;padding:1px 4px;border-radius:2px;background:#061822d8;border:1px solid #63b5c188;color:#aef3fc;font:700 9px/1.1 var(--font-display)}
.world-landscape.has-pad-art>:is(.world-field,.world-city-plot)>small{position:absolute;right:4px;bottom:4px;z-index:4;max-width:74px;padding:1px 4px;border-radius:2px;background:#061822d8;border:1px solid #527c8880;color:#d8ecee;font-size:8.5px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.world-landscape.has-pad-art>:is(.world-field,.world-city-plot).is-building>small{border-color:#f6ba5eb3;color:#ffe29e;font-weight:700}
.world-landscape.has-pad-art>:is(.world-field,.world-city-plot)[data-visual-stage="landmark"]>small{border-color:#f3d99ab3;color:#f7d788;font-weight:700}
.world-landscape.has-pad-art>:is(.world-field,.world-city-plot)>strong{position:absolute;left:-12px;right:-12px;bottom:-12px;z-index:4;margin:0;color:#eff9fa;font:700 9.5px/1.1 var(--font-display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
.world-landscape.has-pad-art>.world-city-plot.is-empty>strong{position:absolute;left:0;right:0;top:14px;bottom:auto;margin:0;font-size:18px;line-height:1;color:#aef3fc}
.world-landscape.has-pad-art>.world-field[data-visual-stage="empty"]>strong{overflow:visible}
.world-landscape.has-pad-art>.world-field[data-visual-stage="empty"]>strong::before{content:'';position:absolute;left:50%;bottom:24px;width:68px;height:56px;margin:0;transform:translateX(-50%);background:var(--field-art,none) center bottom/contain no-repeat;opacity:.92;filter:drop-shadow(0 4px 6px #000d);pointer-events:none}
.world-landscape.has-pad-art>:is(.world-resource-core,.world-city-perimeter)>strong{position:absolute;left:-14px;right:-14px;bottom:4px;z-index:4;color:#aef3fc;font:700 9.5px/1.1 var(--font-display);text-transform:uppercase;white-space:nowrap}
.world-landscape.has-pad-art>.world-resource-core>small{position:absolute;left:-18px;right:-18px;bottom:-10px;z-index:4;color:#d8ecee;font-size:8.5px;line-height:1.1;white-space:nowrap}
.world-landscape.has-pad-art .world-growth-massing{top:auto;right:auto;left:50%;bottom:16px;width:40px;height:34px;transform:translateX(-50%) scale(var(--site-depth,1));transform-origin:center bottom}
.world-landscape.has-pad-art :is(.world-field,.world-city-plot,.world-resource-core)[style*="--site-art"] .world-growth-massing>:is(.world-growth-shell,.world-growth-wing,.world-growth-spire){opacity:.12}
.world-landscape.has-pad-art .world-growth-massing::before{inset:auto;left:50%;bottom:-2px;width:104px;height:90px;z-index:3;transform:translateX(-50%) scale(var(--stage-scale,1));transform-origin:center bottom;background:var(--site-art,var(--field-art,none)) center bottom/contain no-repeat;filter:drop-shadow(0 5px 8px #000d)}
.world-landscape.has-pad-art .world-growth-progress{z-index:4}
.world-landscape.has-pad-art>:is(.world-field,.world-city-plot,.world-resource-core)>img:not([hidden]){position:absolute;left:50%;bottom:14px;width:118px;height:96px;max-width:none;scale:1;transform:translateX(-50%) scale(var(--stage-scale,1));transform-origin:center bottom;object-fit:contain;z-index:2;pointer-events:none;filter:drop-shadow(0 5px 8px #000d)}
:is(#world-research-roster,#world-smithy-roster){list-style:none;margin:14px 0;padding:0;display:grid;gap:8px}
.world-unit-roster-item{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);background:#0b1b26}
.world-unit-roster-portrait{width:52px;height:52px;object-fit:contain;background:#07131b;border:1px solid #355264;padding:3px}
.world-unit-roster-copy{min-width:0;font-size:.86rem;line-height:1.4;overflow-wrap:anywhere}
.world-unit-roster-copy strong{color:var(--cyan)}
.world-unit-roster-status{color:var(--amber)}
#world-training-detail{display:flex;align-items:center;gap:12px;margin:10px 0}
@media(max-width:650px){.world-unit-roster-item{grid-template-columns:44px minmax(0,1fr)}.world-unit-roster-portrait{width:44px;height:44px}.world-unit-roster-item button{grid-column:1/-1;width:100%}}
/* Coordinate-stable shared relief adds Art without asserting a biome or game rule. */
.world-map-tile{--terrain-wash:#10293275;background-image:linear-gradient(var(--terrain-wash),var(--terrain-wash)),url('/assets/runtime/world-map-terrain-tile/world-neutral-periodic-v1.png');background-size:700% 700%;background-repeat:repeat;background-blend-mode:normal;border-color:#6c99917a;box-shadow:inset 0 1px 0 #e4ffff29,0 2px 5px #0007}
.world-map-tile.kind-village{--terrain-wash:#103a4970}
.world-map-tile.kind-tutorial-npc{--terrain-wash:#57523b80}
.world-map-tile.kind-oasis{--terrain-wash:#28544875}
.world-map-tile.kind-unmapped{--terrain-wash:#0b1921bb}
.world-map-tile::before{content:none}
.world-map-tile .world-map-settlement-art{width:min(100%,90px);height:clamp(46px,7vw,76px)}
