.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:not(.is-empty) > span.world-city-plot-slot,
.world-city-plot:not(.is-empty) > span:first-child {
  display: none !important;
}
.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-compound-underlay-host{display:none;pointer-events:none}
.world-landscape.has-pad-art>.world-compound-underlay-host{display:block;position:absolute;inset:0;width:1200px;height:720px;z-index:1;pointer-events:none}
.world-landscape.has-pad-art>.world-compound-underlay-host .settlement-compound-underlay{display:block;width:100%;height:100%;pointer-events:none}
.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 + 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>.world-field[data-field-type="1"]::after{box-shadow:inset 0 0 0 1.5px #4ade8099}
.world-landscape.has-pad-art>.world-field[data-field-type="2"]::after{box-shadow:inset 0 0 0 1.5px #fb923c99}
.world-landscape.has-pad-art>.world-field[data-field-type="3"]::after{box-shadow:inset 0 0 0 1.5px #38bdf899}
.world-landscape.has-pad-art>.world-field[data-field-type="4"]::after{box-shadow:inset 0 0 0 1.5px #a3e63599}
.world-landscape.has-pad-art>.world-city-plot[data-plot-role="command"]::after,.world-landscape.has-pad-art>.world-city-plot[data-plot-role="wonder"]::after,.world-landscape.has-pad-art>.world-city-plot[data-plot-role="wall"]::after{box-shadow:inset 0 0 0 1.5px #f59e0bb3}
.world-landscape.has-pad-art>.world-city-plot[data-plot-role="rally"]::after{box-shadow:inset 0 0 0 1.5px #2dd4bfb3}
.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{clip-path:none;border-radius:50%;background:radial-gradient(ellipse at 50% 50%,#53f2de66 0%,#0ea5e924 52%,transparent 75%);box-shadow:none;filter:blur(4px)}
.world-landscape.has-pad-art>:is(.world-field,.world-city-plot).is-building::after{clip-path:none;border-radius:50%;background:radial-gradient(ellipse at 50% 50%,#f5a62373 0%,#f59e0b29 52%,transparent 75%);box-shadow:none;filter:blur(4px)}
.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)}
.world-landscape.has-pad-art>:is(.world-field,.world-city-plot,.world-resource-core,.world-city-perimeter)::before,.world-landscape.has-pad-art>:is(.world-field,.world-city-plot,.world-resource-core,.world-city-perimeter)::after,.world-landscape.has-pad-art .world-growth-massing,.world-landscape.has-pad-art>:is(.world-field,.world-city-plot,.world-resource-core,.world-city-perimeter)>:is(strong,span,small,img){opacity:0;transition:opacity .16s ease}
.world-landscape.has-pad-art>:is(.world-field,.world-city-plot,.world-resource-core,.world-city-perimeter):is(:hover,:focus-visible)>:is(strong,span,small){opacity:1}
: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)}
/* ==========================================================================
   Webgame Best-Practice UI Upgrade (TravianZ + Vallorium + Parabellum + Pillage First + ADR-015 OCD)
   ========================================================================== */
#world-game .world-hud-sticky{position:sticky;top:0;z-index:80;width:100%;max-width:100%;box-sizing:border-box;background:rgba(12,22,33,.96);backdrop-filter:blur(8px);border:1px solid #385872;border-top:2px solid #c69b4c;box-shadow:inset 0 1px 0 rgba(198,155,76,.35),0 8px 18px rgba(0,0,0,.65);display:flex;flex-direction:column;gap:.45rem;padding:.55rem .9rem;margin:14px 0}
.world-panel,.world-panel h2{scroll-margin-top:175px}
@media(max-width:900px){#world-game .world-hud-sticky{position:relative;padding:.5rem .65rem;overflow-x:hidden}.world-panel,.world-panel h2{scroll-margin-top:24px}}
@media(max-width:390px){#world-game .world-hud-sticky{padding:.4rem .5rem;gap:.35rem}}
.world-resources-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;width:100%;box-sizing:border-box;margin-top:0}
@media(max-width:650px){.world-resources-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}}
.world-resource{position:relative;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(180deg,#132334 0%,#0a1420 100%);border:1px solid #2b4760;border-top:1px solid rgba(140,229,242,.45);clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px);padding:.4rem .55rem .4rem 2.45rem;min-width:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 2px 6px rgba(0,0,0,.45)}
.world-resource::before{content:"";position:absolute;left:.4rem;top:50%;transform:translateY(-50%);width:26px;height:26px;background-position:center;background-repeat:no-repeat;background-size:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.7))}
.world-resource:nth-child(1)::before{background-image:url('/assets/runtime/ui-icon/energy.png')}
.world-resource:nth-child(2)::before{background-image:url('/assets/runtime/ui-icon/materials.png')}
.world-resource:nth-child(3)::before{background-image:url('/assets/runtime/ui-icon/intelligence.png')}
.world-resource:nth-child(4)::before{background-image:url('/assets/runtime/ui-icon/credits.png')}
.world-resource__head{display:flex;align-items:center;gap:.4rem;font-size:.75rem;font-weight:600;color:#b8cad8;text-transform:uppercase;letter-spacing:.04em;line-height:1}
.world-resource__head span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#b8cad8}
.world-resource__head .o1-micro-ring,.world-resource__head svg.o1-ring{width:20px;height:20px;flex-shrink:0;transform:rotate(-90deg)}
.world-resource__head .o1-ring__track{stroke:#1e3347;stroke-width:2.5;fill:none}
.world-resource__head .o1-ring__progress{stroke:#c69b4c;stroke-width:2.5;stroke-linecap:round;fill:none}
.world-resource strong{font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:700;color:#f8fafc;line-height:1.2;margin-top:.2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.world-resource small{font-variant-numeric:tabular-nums;font-size:.72rem;color:#b8cad8;line-height:1.2}
.world-resource__bar{position:relative;width:100%;height:4px;background:#172837;border-radius:2px;margin-top:.3rem;overflow:hidden}
.world-resource__bar-fill{height:100%;width:0%;background:#38bdf8;border-radius:2px;transition:width .3s ease,background-color .2s ease}
.world-resource__bar[data-fill-state="warn"] .world-resource__bar-fill{background:#eab308}
.world-resource__bar[data-fill-state="crit"] .world-resource__bar-fill{background:#ef4444;box-shadow:0 0 6px #ef4444}
.world-live-queue-ribbon{display:flex;align-items:center;gap:.45rem;width:100%;box-sizing:border-box;overflow-x:auto;white-space:nowrap;padding:.15rem 0;scrollbar-width:thin;scrollbar-color:#385872 #0c1621}
.world-queue-lane{display:inline-flex;align-items:center;gap:.38rem;background:#101e2b;border:1px solid #243c52;border-radius:3px;padding:.22rem .5rem;font-size:.74rem;color:#e2e8f0;flex-shrink:0}
.world-queue-lane__title{font-weight:700;color:#b8cad8;text-transform:uppercase;font-size:.66rem;letter-spacing:.03em}
.world-queue-lane__timer{font-variant-numeric:tabular-nums;font-weight:600;color:#f8fafc}
.o2-led-dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0;background-color:#64748b}
.o2-led-dot.ready{background-color:#22c55e;box-shadow:0 0 6px rgba(34,197,94,.75)}
.o2-led-dot.busy{background-color:#f59e0b;box-shadow:0 0 6px rgba(245,158,11,.75)}
.o2-led-dot.moving{background-color:#38bdf8;box-shadow:0 0 7px rgba(56,189,248,.85)}
.world-workspace-switcher{display:flex;flex-wrap:wrap;gap:.3rem;width:100%;box-sizing:border-box;padding-top:.3rem;border-top:1px solid #1c2e40}
.world-stage-btn{appearance:none;background:#0f1c29;border:1px solid #28445e;border-radius:2px;color:#b8cad8;font-size:.73rem;font-weight:600;padding:.28rem .52rem;cursor:pointer;white-space:nowrap;letter-spacing:.02em;user-select:none}
.world-stage-btn:hover{background:#172a3d;color:#f8fafc;border-color:#3b6185}
.world-stage-btn.is-active{background:linear-gradient(180deg,#243545 0%,#172433 100%);color:#fce7b2;border-color:#c69b4c;box-shadow:inset 0 1px 0 #e5b869,0 0 8px rgba(198,155,76,.35)}
.world-stage-btn:focus-visible{outline:2px solid #38bdf8;outline-offset:1px}
.world-panel[data-stage-hidden="true"]{display:none!important}
#world-campaign-dialogue-list,#world-unit-dialogue-list{list-style:none;margin:10px 0;padding:0;display:grid;gap:.65rem}
.world-dialogue-card,.world-unit-comms-card,#world-campaign-dialogue-list>li,#world-unit-dialogue-list>li{position:relative;background:#0f1c29;border:1px solid #28445e;border-left:3px solid #c69b4c;border-radius:3px;padding:.7rem .85rem;display:flex;flex-direction:column;gap:.45rem;box-shadow:0 4px 10px rgba(0,0,0,.35);box-sizing:border-box}
.world-comms-card__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}
.world-comms-card__actor{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.unit-o5-radar{width:36px;height:36px;flex-shrink:0;background:#08111a;border:1px solid #2c4c6a;border-radius:50%;position:relative;display:inline-flex;align-items:center;justify-content:center;overflow:hidden}
.unit-o5-radar svg{width:100%;height:100%}
.scene-exchange-chip{display:inline-flex;align-items:center;gap:.3rem;background:#172837;border:1px solid #385872;border-radius:12px;padding:.15rem .5rem;font-size:.68rem;font-weight:600;color:#e2e8f0;letter-spacing:.02em}
.world-dialogue-card__text,.world-unit-comms-card__text{font-size:.84rem;line-height:1.45;color:#e2e8f0;margin:0}
.unit-bark-triggers{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.2rem}
.unit-bark-btn{appearance:none;background:#152433;border:1px solid #385872;border-radius:14px;color:#e2e8f0;font-size:.71rem;font-weight:600;padding:.22rem .6rem;cursor:pointer}
.unit-bark-btn:hover,.unit-bark-btn.is-active{background:#20354b;border-color:#c69b4c;color:#fce7b2}
.unit-bark-btn:focus-visible{outline:2px solid #38bdf8;outline-offset:1px}
.unit-bark-live-line{font-size:.78rem;color:#fce7b2;margin:0;font-style:italic}
.world-operation-visual-card{display:flex;align-items:center;gap:.65rem;margin-top:.55rem;padding:.55rem .7rem;background:#0b1722;border:1px solid #28445e;border-left:3px solid #38bdf8;border-radius:3px;box-sizing:border-box}
.world-operation-visual-card[data-building-active="true"]{border-left-color:#f59e0b;box-shadow:inset 0 0 12px rgba(245,158,11,.15)}
.world-operation-visual__radar{width:46px;height:46px;flex-shrink:0;border-radius:50%;overflow:hidden;border:1px solid #385872;background:#07131d}
.op-visual-svg{display:block;width:100%;height:100%}
.op-visual-svg__sweep{transform-origin:32px 32px;animation:opRadarSweepSpin 4.5s linear infinite}
@keyframes opRadarSweepSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.world-operation-visual__body{display:flex;flex-direction:column;gap:.32rem;min-width:0;flex:1}
.world-operation-visual__title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#aef3fc}
.op-visual-mechanism-badge{font-size:.69rem;font-weight:600;color:#fce7b2;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.world-operation-visual__chips{display:flex;flex-wrap:wrap;gap:.35rem}
.op-visual-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .45rem;background:#101f2e;border:1px solid #243c52;border-radius:10px;font-size:.68rem;font-weight:600;color:#e2e8f0;white-space:nowrap}
.world-landscape.has-pad-art>:is(.world-field,.world-city-plot).is-building>:is(span,small){opacity:1}
.world-city-plot,.world-field{position:relative;overflow:visible}
.building-op-vfx-overlay{position:absolute;inset:-26px;z-index:4;pointer-events:none;overflow:visible;display:flex;align-items:center;justify-content:center}
.world-landscape.has-pad-art>:is(.world-field,.world-city-plot) .building-op-vfx-overlay img.vfx-construction-rig-art,.building-op-vfx-overlay img.vfx-construction-rig-art{position:absolute;width:68px;height:68px;object-fit:contain;opacity:1!important;visibility:visible!important;z-index:3;filter:drop-shadow(0 6px 12px rgba(0,0,0,.72)) drop-shadow(0 0 10px rgba(245,158,11,.38));animation:gdConstructionBob 2.8s ease-in-out infinite}
.vfx-dust-cloud{position:absolute;width:64px;height:64px;background:url('/assets/vfx/ui/construction-dust.png') center/contain no-repeat;mix-blend-mode:screen;opacity:0;z-index:4}
.vfx-dust-a{animation:gdDustPlumeA 3.2s ease-out infinite}
.vfx-dust-b{animation:gdDustPlumeB 3.2s ease-out -1.6s infinite}
.vfx-work-pulse{position:absolute;width:76px;height:76px;background:url('/assets/vfx/ui/command-pulse.png') center/contain no-repeat;mix-blend-mode:screen;opacity:.55;z-index:1;animation:gdWorkPulse var(--vfx-dur,2.8s) ease-in-out infinite}
.vfx-work-pulse.is-command{width:84px;height:48px;filter:hue-rotate(-10deg) saturate(1.25)}
.vfx-atmo-glow{position:absolute;width:72px;height:42px;border-radius:50%;mix-blend-mode:screen;filter:blur(8px);z-index:1;animation:gdAtmoBreathe var(--vfx-dur,3.2s) ease-in-out infinite}
.vfx-atmo-glow.is-amber{background:radial-gradient(ellipse at center,rgba(251,191,36,.46) 0%,rgba(245,158,11,.16) 55%,transparent 75%)}
.vfx-atmo-glow.is-furnace{background:radial-gradient(ellipse at center,rgba(249,115,22,.56) 0%,rgba(234,88,12,.22) 55%,transparent 75%)}
.vfx-atmo-glow.is-cyan{background:radial-gradient(ellipse at center,rgba(56,189,248,.44) 0%,rgba(14,165,233,.15) 55%,transparent 75%)}
.vfx-atmo-glow.is-bio{background:radial-gradient(ellipse at center,rgba(52,211,153,.42) 0%,rgba(56,189,248,.14) 55%,transparent 75%)}
.vfx-furnace-glow{position:absolute;width:34px;height:20px;border-radius:50%;background:radial-gradient(circle,rgba(254,240,138,.82) 0%,rgba(249,115,22,.48) 50%,transparent 75%);mix-blend-mode:screen;filter:blur(3px);z-index:2;animation:gdFurnaceFlicker 1.35s ease-in-out infinite alternate}
.vfx-smoke-plume{position:absolute;width:48px;height:48px;background:url('/assets/vfx/ui/construction-dust.png') center/contain no-repeat;mix-blend-mode:screen;filter:brightness(1.12) contrast(.92);opacity:0;z-index:3}
.vfx-smoke-a{animation:gdSmokeRiseA var(--vfx-dur,3.2s) ease-out infinite}
.vfx-smoke-b{animation:gdSmokeRiseB var(--vfx-dur,3.2s) ease-out calc(var(--vfx-dur,3.2s)*-.5) infinite}
.vfx-ember-motes{position:absolute;inset:0;z-index:4}
.vfx-ember-motes i{position:absolute;left:50%;top:52%;width:5px;height:5px;border-radius:50%;background:radial-gradient(circle,#fff 0%,#fde68a 45%,rgba(245,158,11,0) 100%);mix-blend-mode:screen;filter:blur(.4px);opacity:0}
.vfx-ember-motes.is-cyan i{background:radial-gradient(circle,#fff 0%,#7dd3fc 45%,rgba(56,189,248,0) 100%)}
.vfx-ember-motes.is-bio i{background:radial-gradient(circle,#fff 0%,#6ee7b7 45%,rgba(52,211,153,0) 100%)}
.vfx-ember-motes i:nth-child(1){margin-left:-10px;animation:gdMoteFloatA var(--vfx-dur,2.8s) ease-out infinite}
.vfx-ember-motes i:nth-child(2){margin-left:8px;animation:gdMoteFloatB var(--vfx-dur,2.8s) ease-out -.9s infinite}
.vfx-ember-motes i:nth-child(3){margin-left:0;animation:gdMoteFloatA var(--vfx-dur,2.8s) ease-out -1.8s infinite}
.settlement-compound-underlay .living-operation-visual,.settlement-compound-underlay .living-core-operation-fx,.settlement-compound-underlay .living-city-role-fx,.settlement-compound-underlay .living-building-mechanism{mix-blend-mode:screen}
@keyframes gdConstructionBob{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-2px) scale(1.03)}}
@keyframes gdDustPlumeA{0%{transform:translate(-8px,6px) scale(.55);opacity:0}30%{opacity:.68}100%{transform:translate(-20px,-22px) scale(1.32);opacity:0}}
@keyframes gdDustPlumeB{0%{transform:translate(8px,6px) scale(.55);opacity:0}30%{opacity:.62}100%{transform:translate(22px,-24px) scale(1.36);opacity:0}}
@keyframes gdSmokeRiseA{0%{transform:translate(-4px,-2px) scale(.45);opacity:0}35%{opacity:.52}100%{transform:translate(-14px,-34px) scale(1.25);opacity:0}}
@keyframes gdSmokeRiseB{0%{transform:translate(6px,0) scale(.45);opacity:0}35%{opacity:.46}100%{transform:translate(16px,-36px) scale(1.28);opacity:0}}
@keyframes gdWorkPulse{0%,100%{transform:scale(.84);opacity:.26}50%{transform:scale(1.12);opacity:.68}}
@keyframes gdAtmoBreathe{0%,100%{transform:scale(.88);opacity:.42}50%{transform:scale(1.14);opacity:.86}}
@keyframes gdFurnaceFlicker{0%{transform:scale(.9);opacity:.52}100%{transform:scale(1.16);opacity:.95}}
@keyframes gdMoteFloatA{0%{transform:translate(0,4px) scale(.6);opacity:0}25%{opacity:.92}100%{transform:translate(-8px,-28px) scale(1.1);opacity:0}}
@keyframes gdMoteFloatB{0%{transform:translate(0,4px) scale(.6);opacity:0}25%{opacity:.88}100%{transform:translate(9px,-26px) scale(1.1);opacity:0}}
@media(prefers-reduced-motion:reduce){.op-visual-svg__sweep,.building-op-vfx-overlay,.building-op-vfx-overlay *{animation:none!important}}


/* ═══════════════════════════════════════════════════════════════════════════
   GRAY DOOM /world — Travian T4 GPack × Sci-Fi RTS 3D Medallion Rollout
   ═══════════════════════════════════════════════════════════════════════════ */
.world-panel{position:relative;background:linear-gradient(168deg,rgba(19,27,38,.96) 0%,rgba(10,16,24,.98) 100%),url('/assets/runtime/ui-shell/build-panel.png') center/cover no-repeat;border:1px solid rgba(198,155,76,.26);box-shadow:inset 0 1px 0 rgba(229,184,105,.24),inset 0 -1px 0 rgba(0,0,0,.65),0 6px 18px rgba(0,0,0,.58)}
.world-panel::before{content:'';position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,transparent 0%,#c69b4c 28%,#38bdf8 50%,#c69b4c 72%,transparent 100%);opacity:.65;pointer-events:none}
.world-panel h2{position:relative;display:inline-flex;align-items:center;gap:.5rem}
.world-panel h2::before{content:'';width:22px;height:22px;flex-shrink:0;background-size:contain;background-repeat:no-repeat;background-position:center;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.75),0 0 0 1px rgba(198,155,76,.35);background-image:url('/assets/runtime/ui-icon/construction.png')}
.world-panel[data-workspace-group="resources"] h2::before{background-image:url('/assets/runtime/ui-icon/materials.png')}
.world-panel[data-workspace-group="city"] h2::before{background-image:url('/assets/runtime/ui-icon/construction.png')}
.world-panel[data-workspace-group="map"] h2::before{background-image:url('/assets/runtime/map-marker/victory-beacon.png')}
.world-panel[data-workspace-group="military"] h2::before{background-image:url('/assets/runtime/unit-state/atlantic-coalition-combat-report.png')}
.world-panel[aria-labelledby="world-alliance-title"] h2::before{background-image:url('/assets/runtime/communication/diplomatic-proposal.png')}
.world-panel[aria-labelledby="world-trade-title"] h2::before{background-image:url('/assets/runtime/report-icon/convoy-success.png')}
.world-panel[aria-labelledby="world-quest-title"] h2::before{background-image:url('/assets/runtime/report-icon/quest-available.png')}
.world-panel[data-workspace-group="campaign"] h2::before{background-image:url('/assets/runtime/communication/rare-artefact.png')}
.world-panel[aria-labelledby="world-movements-title"] h2::before{background-image:url('/assets/runtime/report-icon/scout-report.png')}
.world-panel[aria-labelledby="world-mail-title"] h2::before{background-image:url('/assets/runtime/communication/direct-message.png')}
.world-panel[aria-labelledby="world-ranking-title"] h2::before{background-image:url('/assets/runtime/communication/victory-medal.png')}
.world-training,.world-crop-finder,.world-scout-reports{background:linear-gradient(180deg,#12202e 0%,#0b141e 100%);border:1px solid rgba(198,155,76,.22);border-radius:4px;box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 3px 10px rgba(0,0,0,.45)}
.world-campaign-objectives>li{position:relative;padding-left:28px;background:rgba(15,28,41,.85);border:1px solid rgba(198,155,76,.2);border-radius:3px;margin-bottom:6px;padding:6px 10px 6px 32px;list-style:none}
.world-campaign-objectives>li::before{content:'';position:absolute;left:7px;top:50%;transform:translateY(-50%);width:18px;height:18px;background:url('/assets/runtime/report-icon/quest-progress.png') center/contain no-repeat;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.7)}
.world-ranking-table{border:1px solid rgba(198,155,76,.25);background:#0c1621;box-shadow:0 4px 12px rgba(0,0,0,.5)}
.world-ranking-table th{background:linear-gradient(180deg,#1c2d40 0%,#121f2d 100%);color:#fce7b2;border-bottom:1px solid rgba(198,155,76,.35)}


/* ═══════════════════════════════════════════════════════════════════════════
   GOLD UI & GOLD 2.5D GAME ART UNIFICATION (/world.html === /index.html)
   Eliminates visual divergence between Demo (/) and Registered World (/world)
   ═══════════════════════════════════════════════════════════════════════════ */

/* 1. Unify Top Header & Sticky Command Bridge HUD with Gold GPack Chrome */
body.world-page {
  background: radial-gradient(circle at 50% 0%, #132232 0%, #070d14 65%);
}

body.world-page > .public-header {
  position: relative;
  background:
    linear-gradient(180deg, rgba(16, 26, 38, 0.96) 0%, rgba(8, 14, 21, 0.98) 100%),
    url('/assets/runtime/ui-shell/top-navigation.png') center / cover no-repeat;
  border-bottom: 2px solid #c9a84c;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.72), inset 0 -1px 0 rgba(74, 240, 225, 0.22);
  padding: 10px 24px;
}

body.world-page > .public-header nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

body.world-page > .public-header nav a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  font: 700 0.74rem/1.1 var(--font-display);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #d8e4f0;
  text-decoration: none;
  background: linear-gradient(180deg, #243042 0%, #121824 100%);
  border: 1px solid rgba(201, 168, 76, 0.28);
  border-radius: 999px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 2px 6px rgba(0, 0, 0, 0.55);
  transition: border-color 0.16s ease, box-shadow 0.16s ease, color 0.16s ease, transform 0.16s ease;
}

body.world-page > .public-header nav a:hover {
  color: #fce7b2;
  border-color: #c9a84c;
  box-shadow: 0 0 12px rgba(201, 168, 76, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.18);
  transform: translateY(-1px);
}

body.world-page > .public-header nav a.is-active,
body.world-page > .public-header nav a[aria-current="page"] {
  color: #ffffff;
  border-color: #58c7d8;
  background: radial-gradient(ellipse at 50% 100%, rgba(88, 199, 216, 0.35) 0%, rgba(20, 35, 50, 0.96) 100%);
  box-shadow: 0 0 12px rgba(88, 199, 216, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

body.world-page > .public-header nav a.public-header__cta {
  background: linear-gradient(135deg, #d89b3c 0%, #aa721c 100%);
  border-color: #f3c26b;
  color: #070e16;
  font-weight: 800;
  box-shadow: 0 0 12px rgba(216, 155, 60, 0.45);
}

body.world-page > .public-header nav a.public-header__cta:hover {
  background: linear-gradient(135deg, #f3c26b 0%, #d89b3c 100%);
  color: #05090f;
  box-shadow: 0 0 18px rgba(243, 194, 107, 0.7);
}

#world-game .world-hud-sticky {
  background:
    linear-gradient(180deg, rgba(16, 25, 36, 0.96) 0%, rgba(9, 14, 22, 0.98) 100%),
    url('/assets/runtime/ui-shell/top-navigation.png') center / cover no-repeat;
  border: 1px solid rgba(201, 168, 76, 0.35);
  border-top: 2px solid #c9a84c;
  border-radius: 6px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    0 10px 28px rgba(0, 0, 0, 0.75);
}

/* 2. Gold GPack 3D Medallion Stage Switcher (Matching dorf1/dorf2/dorf3/dorf4 in /) */
.world-workspace-switcher {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding-top: 6px;
  border-top: 1px solid rgba(201, 168, 76, 0.22);
}

.world-stage-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px 6px 32px;
  font: 700 0.74rem/1.15 var(--font-display);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #c8d6e5;
  background: linear-gradient(180deg, #253042 0%, #141b26 100%);
  border: 1px solid rgba(201, 168, 76, 0.25);
  border-radius: 999px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 2px 5px rgba(0, 0, 0, 0.55);
  transition: all 0.16s ease;
}

.world-stage-btn::before {
  content: '';
  position: absolute;
  left: 7px;
  top: 50%;
  transform: translateY(-50%);
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.8), 0 0 0 1px rgba(201, 168, 76, 0.38);
  background-image: url('/assets/runtime/ui-icon/settlement.png');
}

.world-stage-btn[data-world-stage="all"]::before {
  background-image: url('/assets/runtime/ui-icon/settlement.png');
}
.world-stage-btn[data-world-stage="resources"]::before {
  background-image: url('/assets/runtime/ui-icon/materials.png');
}
.world-stage-btn[data-world-stage="city"]::before {
  background-image: url('/assets/runtime/ui-icon/construction.png');
}
.world-stage-btn[data-world-stage="map"]::before {
  background-image: url('/assets/runtime/ui-icon/world-map.png');
}
.world-stage-btn[data-world-stage="military"]::before {
  background-image: url('/assets/runtime/unit-state/atlantic-coalition-combat-report.png');
}
.world-stage-btn[data-world-stage="social"]::before {
  background-image: url('/assets/runtime/ui-icon/alliance.png');
}
.world-stage-btn[data-world-stage="campaign"]::before {
  background-image: url('/assets/runtime/communication/rare-artefact.png');
}

.world-stage-btn:hover {
  color: #ffffff;
  border-color: #c9a84c;
  box-shadow: 0 0 10px rgba(201, 168, 76, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

.world-stage-btn.is-active {
  background: linear-gradient(180deg, #32435a 0%, #1a2536 100%);
  color: #fce7b2;
  border-color: #e2c044;
  box-shadow: inset 0 1px 0 #f7e98e, 0 0 12px rgba(226, 192, 68, 0.45);
}

/* 3. Unify /world.html 40-Slot 2.5D Settlement Canvas with Gold Sprites & Medallions */
.world-landscape.has-pad-art {
  border: 2px solid rgba(201, 168, 76, 0.38);
  border-radius: 8px;
  box-shadow:
    inset 0 0 40px rgba(0, 0, 0, 0.72),
    0 10px 30px rgba(0, 0, 0, 0.68);
  overflow: hidden;
}

/* Always display 3D Painted Building Sprites & Gold Level Medallions (never opacity:0) */
.world-landscape.has-pad-art .world-growth-massing,
.world-landscape.has-pad-art > :is(.world-field, .world-city-plot, .world-resource-core, .world-city-perimeter) > :is(span, small, img) {
  opacity: 1 !important;
}

.world-landscape.has-pad-art > :is(.world-field, .world-city-plot, .world-resource-core, .world-city-perimeter) > strong {
  opacity: 0.94 !important;
  text-shadow: 0 1px 4px #000, 0 0 8px #000;
}

/* Hide legacy wireframe box pieces when 3D painted sprite is present */
.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: 0 !important;
}

/* Subtle tactical lot ring on all plots, glowing on hover/selected/building */
.world-landscape.has-pad-art > :is(.world-field, .world-city-plot, .world-resource-core, .world-city-perimeter)::after {
  opacity: 0.72 !important;
}

.world-landscape.has-pad-art > :is(.world-field, .world-city-plot, .world-resource-core, .world-city-perimeter):is(:hover, .is-selected, .is-building)::after {
  opacity: 1 !important;
}

/* Gold GPack Embossed Slot & Level Medallions on /world 2.5D Canvas */
.world-landscape.has-pad-art > :is(.world-field, .world-city-plot) > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 4px;
  border-radius: 999px;
  background: radial-gradient(ellipse at 35% 25%, rgba(255, 255, 255, 0.22) 0%, transparent 55%),
              linear-gradient(160deg, #323a48 0%, #171c26 55%, #0b0e14 100%);
  border: 1.5px solid #c9a84c;
  color: #fce7b2;
  font: 800 9.5px/1 var(--font-display);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.85), 0 0 6px rgba(201, 168, 76, 0.3);
}

.world-landscape.has-pad-art > :is(.world-field, .world-city-plot) > small {
  padding: 2px 6px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(20, 28, 40, 0.94) 0%, rgba(10, 14, 22, 0.98) 100%);
  border: 1px solid rgba(74, 240, 225, 0.45);
  color: #aef3fc;
  font: 700 8.5px/1.1 var(--font-display);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.85);
}

/* Inspector Sidebar Card in /world matching .dorf-telemetry-card in / */
.world-field-detail {
  position: relative;
  background:
    linear-gradient(168deg, rgba(22, 28, 39, 0.95) 0%, rgba(11, 15, 22, 0.98) 100%),
    url('/assets/runtime/ui-shell/build-panel.png') center / cover no-repeat;
  border: 1px solid rgba(201, 168, 76, 0.28);
  border-radius: 6px;
  box-shadow:
    inset 0 1px 0 rgba(201, 168, 76, 0.25),
    0 6px 18px rgba(0, 0, 0, 0.65);
}
