:root{
  color-scheme: dark;
  --ink: #0a0e10;
  --night: #101719;
  --slate: #172124;
  --panel: #1b2629;
  --panel-2: #202e31;
  --panel-3: #26373a;
  --line: rgba(205, 190, 154, .14);
  --line-bright: rgba(220, 190, 119, .34);
  --parchment: #ded4ba;
  --muted: #928f82;
  --bronze: #c7924f;
  --bronze-bright: #edbd70;
  --ember: #d26938;
  --ember-bright: #f18b4f;
  --teal: #4da3a2;
  --violet: #9c7bd4;
  --danger: #c7584d;
  --success: #6da67a;
  --info: #5999a9;
  --radius: 5px;
  --shadow: 0 18px 60px rgba(0, 0, 0, .42);
  --topbar: 72px;
  --sidebar: 220px;
  --rail: 296px;
  --base: /;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

*{ box-sizing: border-box; }
html, body{ min-height: 100%; }
body{ margin: 0; background: var(--ink); color: var(--parchment); font-size: 14px; overflow-x: hidden; }
button, input, select, textarea{ font: inherit; }
button{ color: inherit; }
button, a{ -webkit-tap-highlight-color: transparent; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, a:focus-visible{ outline: 2px solid var(--bronze-bright); outline-offset: 2px; }
[hidden]{ display: none !important; }
svg{ width: 1em; height: 1em; fill: none; }

::-webkit-scrollbar{ width: 9px; height: 9px; }
::-webkit-scrollbar-track{ background: rgba(0,0,0,.16); }
::-webkit-scrollbar-thumb{ background: #344345; border: 2px solid #182124; border-radius: 10px; }
::-webkit-scrollbar-thumb:hover{ background: #48595a; }

.boot-screen{ position: fixed; inset: 0; z-index: 999; display: grid; place-content: center; gap: 22px; text-align: center; background: radial-gradient(circle at 50% 45%, #202828, #0a0e10 60%); color: var(--muted); letter-spacing: .09em; text-transform: uppercase; font-size: 11px; }
.boot-sigil{ position: relative; width: 68px; height: 68px; margin: auto; border: 1px solid rgba(199,146,79,.22); border-radius: 50%; animation: sigil-turn 5s linear infinite; }
.boot-sigil::before, .boot-sigil::after{ content: ""; position: absolute; inset: 9px; border: 1px solid rgba(199,146,79,.55); transform: rotate(45deg); }
.boot-sigil::after{ inset: 22px; background: var(--ember); border: 0; box-shadow: 0 0 22px var(--ember); }
.boot-sigil span{ position: absolute; width: 5px; height: 5px; border-radius: 50%; background: var(--bronze-bright); left: calc(50% - 2px); transform-origin: 2px 34px; }
.boot-sigil span:nth-child(1){ transform: rotate(0deg); }.boot-sigil span:nth-child(2){ transform: rotate(120deg); }.boot-sigil span:nth-child(3){ transform: rotate(240deg); }
.boot-sigil.small{ width: 42px; height: 42px; }.boot-sigil.small::before{ inset: 7px; }.boot-sigil.small::after{ inset: 14px; }.boot-sigil.small span{ transform-origin: 2px 21px; }
@keyframes sigil-turn { to { transform: rotate(360deg); } }

.auth-scene{ position: relative; min-height: 100vh; overflow: hidden; isolation: isolate; background: #11191d url("../images/ashfall-realm.png?v=20260819.7170") center/cover fixed; }
.auth-scene::before{ content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(7,11,13,.89) 0%, rgba(9,13,15,.66) 42%, rgba(6,9,11,.36) 65%, rgba(6,9,11,.68) 100%), linear-gradient(0deg, #090d0f 0%, transparent 35%, rgba(5,8,9,.4)); }
.auth-atmosphere{ position: absolute; inset: 0; z-index: -1; opacity: .35; background-image: radial-gradient(circle at 20% 74%, rgba(218,101,41,.28), transparent 20%), radial-gradient(circle at 73% 43%, rgba(132,87,184,.22), transparent 16%); animation: atmosphere 9s ease-in-out infinite alternate; }
@keyframes atmosphere { to { opacity: .58; transform: scale(1.025); } }
.landing-header, .landing-footer{ position: relative; display: flex; align-items: center; justify-content: space-between; max-width: 1420px; margin: auto; padding: 27px 5vw; }
.landing-header{ border-bottom: 1px solid rgba(222,212,186,.12); }
.wordmark{ display: inline-flex; align-items: center; gap: 11px; color: var(--parchment); text-decoration: none; }
.wordmark-mark{ width: 43px; height: 43px; color: var(--bronze-bright); filter: drop-shadow(0 0 10px rgba(199,146,79,.25)); }
.wordmark span{ display: flex; flex-direction: column; line-height: 1; letter-spacing: .13em; }
.wordmark b{ font-family: Georgia, "Times New Roman", serif; font-size: 19px; font-weight: 500; }.wordmark small{ margin-top: 5px; color: var(--bronze); font-size: 8px; letter-spacing: .38em; }
.world-status{ display: inline-flex; align-items: center; gap: 9px; padding: 9px 13px; border: 1px solid rgba(222,212,186,.12); background: rgba(11,16,18,.46); color: #aaa898; font-size: 11px; letter-spacing: .05em; backdrop-filter: blur(12px); }
.world-status i{ width: 7px; height: 7px; border-radius: 50%; background: var(--success); box-shadow: 0 0 10px var(--success); }
.landing-grid{ position: relative; display: grid; grid-template-columns: minmax(0,1.25fr) minmax(350px,430px) minmax(310px,350px); align-items: center; gap: clamp(24px,3vw,54px); min-height: calc(100vh - 170px); max-width: 1720px; margin: auto; padding: 55px 4vw 70px; }
.landing-copy{ max-width: 720px; text-shadow: 0 3px 20px rgba(0,0,0,.75); }
.eyebrow, .view-eyebrow{ margin: 0 0 20px; color: var(--bronze-bright); font-size: 11px; font-weight: 700; letter-spacing: .28em; }
.landing-copy h1{ margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(48px, 6.1vw, 86px); font-weight: 400; line-height: .98; letter-spacing: -.035em; }
.landing-copy h1 em{ color: var(--bronze-bright); font-style: normal; }
.landing-lede{ max-width: 630px; margin: 28px 0 30px; color: #bbb8aa; font-family: Georgia, serif; font-size: clamp(17px, 1.7vw, 21px); line-height: 1.6; }
.feature-runes{ display: flex; flex-wrap: wrap; gap: 10px; }.feature-runes > span{ display: inline-flex; align-items: center; gap: 8px; padding: 9px 12px; border: 1px solid rgba(222,212,186,.13); background: rgba(10,15,17,.48); color: #b4b1a3; font-size: 11px; letter-spacing: .04em; backdrop-filter: blur(8px); }.feature-runes > span > .ui-icon{ width: 20px; height: 20px; padding: 0; border: 0; background-color: transparent; color: var(--bronze-bright); backdrop-filter: none; }
.panel-cut{ clip-path: polygon(0 13px,13px 0,calc(100% - 13px) 0,100% 13px,100% calc(100% - 13px),calc(100% - 13px) 100%,13px 100%,0 calc(100% - 13px)); }
.auth-card{ position: relative; background: linear-gradient(145deg, rgba(31,43,45,.96), rgba(15,22,24,.98)); border: 1px solid var(--line-bright); box-shadow: 0 35px 90px rgba(0,0,0,.55); backdrop-filter: blur(20px); }
.auth-card::before{ content: ""; position: absolute; inset: 7px; pointer-events: none; border: 1px solid rgba(222,212,186,.06); clip-path: inherit; }
.discord-community{ position:relative;width:100%;max-width:350px;justify-self:end;padding:18px;border:1px solid rgba(119,126,188,.32);background:radial-gradient(circle at 85% 10%,rgba(93,89,166,.17),transparent 38%),linear-gradient(150deg,rgba(26,31,43,.97),rgba(9,15,18,.98));box-shadow:0 30px 75px rgba(0,0,0,.45) }
.discord-community::before{ content:"";position:absolute;inset:7px;pointer-events:none;border:1px solid rgba(162,166,214,.08);clip-path:inherit }
.discord-community>header{ position:relative;z-index:1;display:flex;align-items:center;gap:10px;margin:0 0 8px }
.discord-community>header>.ui-icon{ width:32px;height:32px;color:#b8b5e3 }
.discord-community>header>span:last-child{ display:flex;min-width:0;flex-direction:column;gap:3px }
.discord-community>header small{ color:#9895ce;font-size:10px;font-weight:800;letter-spacing:.14em }
.discord-community>header b{ color:#ded8c4;font-family:Georgia,serif;font-size:16px;font-weight:400;line-height:1.25 }
.discord-community>p{ position:relative;z-index:1;margin:0 0 13px;color:#969b9f;font-size:11px;line-height:1.5 }
.discord-signal{ position:relative;z-index:1;display:flex;align-items:center;gap:12px;padding:13px;border:1px solid rgba(173,169,221,.18);background:linear-gradient(90deg,rgba(100,95,164,.12),rgba(7,12,15,.28));box-shadow:inset 0 0 24px rgba(103,96,171,.05) }
.discord-signal-sigil{ display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border:1px solid rgba(175,170,225,.28);transform:rotate(45deg);background:radial-gradient(circle,rgba(132,124,201,.2),rgba(9,14,18,.65) 70%);box-shadow:0 0 22px rgba(93,88,165,.12) }
.discord-signal-sigil .ui-icon{ width:31px;height:31px;transform:rotate(-45deg);color:#c4bfe8 }
.discord-signal-copy{ display:flex;min-width:0;flex-direction:column;gap:3px }
.discord-signal-copy>small{ color:#777ba3;font-size:10px;font-weight:800;letter-spacing:.13em }
.discord-signal-copy>b{ overflow:hidden;color:#d8d3c2;font-family:Georgia,serif;font-size:17px;font-weight:400;text-overflow:ellipsis;white-space:nowrap }
.discord-presence{ display:flex;align-items:center;gap:5px;color:#929b98;font-size:10px }
.discord-presence i{ width:7px;height:7px;border-radius:50%;background:#778080;box-shadow:0 0 8px rgba(119,128,128,.45) }
.discord-community[data-state="ready"] .discord-presence i{ background:#78c39d;box-shadow:0 0 9px rgba(120,195,157,.75) }
.discord-community[data-state="unavailable"] .discord-presence i{ background:#a96961;box-shadow:0 0 8px rgba(169,105,97,.55) }
.discord-presence strong{ color:#d4cdaF;font-size:13px;font-variant-numeric:tabular-nums }
.discord-benefits{ position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:6px;margin:12px 0 0;padding:0;list-style:none }
.discord-benefits li{ display:flex;align-items:center;gap:8px;min-width:0;padding:7px 9px;border:1px solid rgba(222,212,186,.08);background:rgba(0,0,0,.12);color:#999c96;font-size:10px }
.discord-benefits .ui-icon{ flex:0 0 18px;width:18px;height:18px;color:#aaa7d2 }
.discord-community .discord-community-join{ position:relative;z-index:1;margin-top:12px;text-decoration:none }
.discord-community .discord-community-join .ui-icon{ width:19px;height:19px }
.discord-link-unavailable{ pointer-events:none;opacity:.5 }
.discord-privacy-note{ position:relative;z-index:1;display:flex;align-items:flex-start;gap:7px;margin-top:11px;color:#6f7879;font-size:10px;line-height:1.45 }
.discord-privacy-note .ui-icon{ flex:0 0 16px;width:16px;height:16px;margin-top:1px;color:#748e89 }
.ai-disclosure{ grid-column:1/-1;width:min(100%,1040px);justify-self:center;border:1px solid rgba(199,146,79,.2);background:linear-gradient(135deg,rgba(23,33,35,.96),rgba(10,16,18,.96));box-shadow:0 22px 55px rgba(0,0,0,.28) }
.ai-disclosure details{ position:relative }
.ai-disclosure summary{ display:grid;grid-template-columns:42px minmax(0,1fr) 20px;align-items:center;gap:12px;padding:13px 17px;cursor:pointer;list-style:none }
.ai-disclosure summary::-webkit-details-marker{ display:none }
.ai-disclosure summary>span:nth-child(2){ display:flex;min-width:0;flex-direction:column;gap:3px }
.ai-disclosure summary small{ color:var(--bronze);font-size:10px;font-weight:800;letter-spacing:.15em }
.ai-disclosure summary b{ color:#d8d1bd;font-family:Georgia,serif;font-size:17px;font-weight:400 }
.ai-disclosure-sigil{ display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(199,146,79,.28);transform:rotate(45deg);background:rgba(199,146,79,.07) }
.ai-disclosure-sigil .ui-icon{ width:24px;height:24px;transform:rotate(-45deg);color:var(--bronze-bright) }
.ai-disclosure-chevron{ width:16px;height:16px;color:#827c6f;transition:transform .18s }
.ai-disclosure details[open] .ai-disclosure-chevron{ transform:rotate(180deg) }
.ai-disclosure-body{ display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:16px 28px;padding:3px 19px 19px;border-top:1px solid rgba(222,212,186,.08);color:#969c96 }
.ai-disclosure-body>p{ margin:15px 0 0;font-size:11px;line-height:1.65 }
.ai-disclosure-body h3{ margin:15px 0 8px;color:#b7b1a1;font-family:Georgia,serif;font-size:15px;font-weight:400 }
.ai-disclosure-body ul{ display:grid;gap:5px;margin:0;padding-left:18px;font-size:10px;line-height:1.45 }
.ai-disclosure-body li::marker{ color:var(--bronze) }
.ai-disclosure-assurance{ grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px }
.ai-disclosure-assurance p{ display:flex;align-items:flex-start;gap:8px;margin:0;padding:9px 10px;border:1px solid rgba(109,166,122,.13);background:rgba(109,166,122,.035);color:#87958d;font-size:10px;line-height:1.45 }
.ai-disclosure-assurance .ui-icon{ flex:0 0 17px;width:17px;height:17px;color:#79a889 }
.auth-tabs{ display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid var(--line); }.auth-tab{ border: 0; padding: 18px 10px 15px; background: rgba(0,0,0,.17); color: #8d8c82; font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; cursor: pointer; }.auth-tab.active{ position: relative; background: transparent; color: var(--bronze-bright); }.auth-tab.active::after{ content: ""; position: absolute; left: 22%; right: 22%; bottom: -1px; height: 2px; background: var(--bronze-bright); box-shadow: 0 0 10px var(--bronze); }
.auth-form{ position: relative; padding: 30px 34px 28px; }.form-heading{ display: flex; flex-direction: column; margin-bottom: 24px; }.form-heading span{ font-family: Georgia, serif; font-size: 22px; }.form-heading small{ margin-top: 6px; color: var(--muted); }
label{ display: flex; flex-direction: column; gap: 7px; color: #a8a596; font-size: 11px; font-weight: 600; letter-spacing: .04em; }
label + label{ margin-top: 16px; }
input, select, textarea{ width: 100%; border: 1px solid rgba(222,212,186,.16); border-radius: 2px; padding: 12px 13px; background: rgba(7,11,12,.65); color: var(--parchment); transition: border .18s, box-shadow .18s, background .18s; }
input:hover, select:hover, textarea:hover{ border-color: rgba(222,212,186,.28); } input:focus, select:focus, textarea:focus{ border-color: var(--bronze); box-shadow: 0 0 0 3px rgba(199,146,79,.1); background: rgba(7,11,12,.86); outline: 0; }
textarea{ min-height: 110px; resize: vertical; line-height: 1.5; } select{ appearance: none; background-image: linear-gradient(45deg,transparent 50%,#898679 50%),linear-gradient(135deg,#898679 50%,transparent 50%); background-position: calc(100% - 17px) 52%,calc(100% - 12px) 52%; background-size: 5px 5px; background-repeat: no-repeat; }
.btn{ display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 40px; padding: 10px 16px; border: 1px solid rgba(222,212,186,.18); border-radius: 2px; background: #273336; color: var(--parchment); font-size: 11px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; transition: transform .16s, border-color .16s, filter .16s, background .16s; }.btn:hover{ border-color: rgba(222,212,186,.38); filter: brightness(1.08); }.btn:active{ transform: translateY(1px); }.btn.primary{ border-color: #d79e55; background: linear-gradient(180deg,#cf8c48,#a75a32); color: #170f0b; box-shadow: inset 0 1px rgba(255,255,255,.18),0 5px 20px rgba(191,91,42,.18); }.btn.primary:hover{ background: linear-gradient(180deg,#e3a458,#bd6839); }.btn.secondary{ border-color: rgba(199,146,79,.42); background: rgba(199,146,79,.1); color: var(--bronze-bright); }.btn.danger{ border-color: rgba(199,88,77,.6); background: rgba(199,88,77,.15); color: #ef9a90; }.btn.ghost{ background: transparent; }.btn.small{ min-height: 31px; padding: 7px 10px; font-size: 9px; }.btn.wide{ width: 100%; margin-top: 24px; padding: 14px; }.btn svg{ width: 16px; height: 16px; }.btn:disabled{ opacity: .42; filter: grayscale(.5); cursor: not-allowed; }
.form-note{ margin: 18px 0 0; color: #77786f; text-align: center; font-size: 10px; }.landing-footer{ padding-top: 15px; padding-bottom: 18px; border-top: 1px solid rgba(222,212,186,.08); color: #656a67; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }

.game-shell{ min-height: 100vh; padding-top: var(--topbar); padding-left: var(--sidebar); padding-right: var(--rail); background: radial-gradient(circle at 55% 0,#1a2729 0,transparent 34%),#101719; }
.topbar{ position: fixed; z-index: 60; inset: 0 0 auto 0; height: var(--topbar); display: flex; align-items: stretch; border-bottom: 1px solid var(--line); background: rgba(13,19,21,.97); box-shadow: 0 8px 30px rgba(0,0,0,.22); backdrop-filter: blur(16px); }
.topbar .wordmark{ width: var(--sidebar); flex: 0 0 var(--sidebar); padding-left: 22px; border-right: 1px solid var(--line); }.wordmark.compact .wordmark-mark{ width: 35px; height: 35px; }.wordmark.compact b{ font-size: 15px; }.wordmark.compact small{ font-size: 7px; }
.city-picker{ display: flex; align-items: center; gap: 10px; width: 215px; padding: 0 17px; border: 0; border-right: 1px solid var(--line); background: transparent; cursor: pointer; text-align: left; }.city-picker:hover{ background: rgba(255,255,255,.025); }.city-picker > svg{ width: 27px; height: 27px; color: var(--bronze); }.city-picker span{ flex: 1; min-width: 0; display: flex; flex-direction: column; }.city-picker small{ margin-bottom: 3px; color: #6f7774; font-size: 8px; letter-spacing: .14em; }.city-picker b{ overflow: hidden; color: #d5ceba; font-family: Georgia,serif; font-size: 14px; font-weight: 400; text-overflow: ellipsis; white-space: nowrap; }.city-picker .chevron{ width: 12px; height: 12px; color: var(--muted); }
.resource-bar{ flex: 1; display: flex; align-items: stretch; min-width: 0; }.resource-chip{ position: relative; display: flex; align-items: center; gap: 8px; min-width: 92px; padding: 0 14px; border-right: 1px solid var(--line); cursor: default; }.resource-chip svg{ width: 22px; height: 22px; color: var(--resource-color,var(--bronze)); }.resource-chip span{ display: flex; flex-direction: column; min-width: 0; }.resource-chip b{ font-size: 13px; font-variant-numeric: tabular-nums; }.resource-chip small{ margin-top: 2px; color: #707875; font-size: 8px; }.resource-chip .cap-line{ position: absolute; right: 0; bottom: 0; left: 0; height: 2px; background: rgba(255,255,255,.04); }.resource-chip .cap-line i{ display: block; height: 100%; max-width: 100%; background: var(--resource-color,var(--bronze)); box-shadow: 0 0 7px var(--resource-color,var(--bronze)); }.resource-chip.capped b{ color: #e08772; }
.top-actions{ display: flex; align-items: center; margin-left: auto; }.icon-button{ display: inline-grid; place-items: center; width: 38px; height: 38px; border: 1px solid transparent; border-radius: 3px; background: transparent; color: #9d9c92; cursor: pointer; }.icon-button:hover{ border-color: var(--line); background: rgba(255,255,255,.035); color: var(--bronze-bright); }.icon-button svg{ width: 19px; height: 19px; }.top-actions > .icon-button{ width: 45px; height: 100%; border-left: 1px solid var(--line); border-radius: 0; }
.badge-wrap{ position: relative; }.badge{ position: absolute; display: grid; place-items: center; min-width: 16px; height: 16px; padding: 0 4px; border-radius: 8px; background: var(--ember); color: white; font-size: 8px; font-style: normal; font-weight: 800; box-shadow: 0 0 0 2px var(--night); }.top-actions .badge{ top: 14px; right: 7px; }
.profile-chip{ display: flex; align-items: center; gap: 10px; min-width: 175px; height: 100%; padding: 0 18px; border: 0; border-left: 1px solid var(--line); background: transparent; cursor: pointer; text-align: left; }.profile-chip:hover{ background: rgba(255,255,255,.025); }.avatar{ display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid var(--bronze); transform: rotate(45deg); background: linear-gradient(135deg,#523425,#222b2d); color: var(--bronze-bright); font-family: Georgia,serif; }.avatar::first-letter{ transform: rotate(-45deg); }.profile-chip > span:last-child{ display: flex; flex-direction: column; }.profile-chip b{ font-size: 11px; }.profile-chip small{ margin-top: 3px; color: #777c78; font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }
.mobile-menu{ display: none; }

.sidebar{ position: fixed; z-index: 50; top: var(--topbar); bottom: 0; left: 0; width: var(--sidebar); display: flex; flex-direction: column; padding: 18px 12px 14px; border-right: 1px solid var(--line); background: linear-gradient(180deg,#141d1f,#0f1517); overflow-y: auto; transition: transform .2s; }
.sidebar nav{ flex: 1; }.nav-label{ margin: 16px 11px 7px; color: #59615f; font-size: 8px; font-weight: 800; letter-spacing: .18em; }.nav-item{ position: relative; display: flex; align-items: center; gap: 12px; width: 100%; min-height: 40px; margin: 2px 0; padding: 7px 11px; border: 1px solid transparent; border-radius: 2px; background: transparent; color: #878c88; cursor: pointer; text-align: left; transition: .16s; }.nav-item svg{ width: 19px; height: 19px; flex: 0 0 auto; }.nav-item span{ font-size: 11px; font-weight: 600; letter-spacing: .025em; }.nav-item:hover{ background: rgba(255,255,255,.025); color: #c6c2b3; }.nav-item.active{ border-color: rgba(199,146,79,.15); background: linear-gradient(90deg,rgba(199,146,79,.14),rgba(199,146,79,.025)); color: var(--bronze-bright); }.nav-item.active::before{ content: ""; position: absolute; top: 7px; bottom: 7px; left: -12px; width: 2px; background: var(--bronze-bright); box-shadow: 0 0 10px var(--bronze); }.nav-badge{ top: 11px; right: 9px; }.nav-pulse{ position: absolute; right: 12px; width: 7px; height: 7px; border-radius: 50%; background: var(--ember); box-shadow: 0 0 8px var(--ember); }
.season-card{ display: flex; align-items: center; gap: 10px; padding: 13px 10px; border: 1px solid rgba(154,117,200,.17); background: linear-gradient(135deg,rgba(112,76,153,.09),rgba(0,0,0,.1)); }.season-sigil{ display: grid; place-items: center; width: 34px; height: 34px; color: var(--violet); }.season-sigil svg{ width: 28px; height: 28px; }.season-card > span{ display: flex; flex-direction: column; }.season-card small{ color: #796b89; font-size: 7px; letter-spacing: .1em; }.season-card b{ margin-top: 3px; color: #b6a7c7; font-size: 10px; font-variant-numeric: tabular-nums; }

.main-content{ min-height: calc(100vh - var(--topbar)); padding: 26px clamp(18px,2.2vw,36px) 60px; background-image: linear-gradient(rgba(207,194,153,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(207,194,153,.018) 1px,transparent 1px); background-size: 36px 36px; }
.right-rail{ position: fixed; z-index: 40; top: var(--topbar); right: 0; bottom: 0; width: var(--rail); padding: 18px 16px; border-left: 1px solid var(--line); background: #121a1c; overflow-y: auto; }
.rail-section{ padding-bottom: 19px; margin-bottom: 18px; border-bottom: 1px solid var(--line); }.rail-section:last-child{ border: 0; }.rail-section > header{ display: flex; align-items: center; justify-content: space-between; min-height: 28px; margin-bottom: 10px; }.rail-section header > span{ display: inline-flex; align-items: center; gap: 7px; color: #9d9c90; font-size: 9px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }.rail-section header svg{ width: 15px; height: 15px; color: var(--bronze); }.text-button{ padding: 3px; border: 0; background: transparent; color: #777d79; font-size: 9px; cursor: pointer; }.text-button:hover{ color: var(--bronze-bright); }
.active-orders{ display: grid; gap: 7px; }.queue-mini{ position: relative; padding: 10px; border: 1px solid var(--line); background: rgba(255,255,255,.018); overflow: hidden; }.queue-mini > div{ display: flex; align-items: center; gap: 9px; }.queue-mini .order-icon{ display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid rgba(199,146,79,.24); color: var(--bronze); }.queue-mini svg{ width: 16px; height: 16px; }.queue-mini span{ min-width: 0; display: flex; flex: 1; flex-direction: column; }.queue-mini b{ overflow: hidden; color: #bcb8aa; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }.queue-mini small{ margin-top: 2px; color: #686f6c; font-size: 8px; }.queue-mini time{ color: var(--bronze-bright); font-size: 9px; font-variant-numeric: tabular-nums; }.mini-progress{ height: 2px; margin: 8px -10px -10px; background: rgba(255,255,255,.04); }.mini-progress i{ display: block; height: 100%; background: linear-gradient(90deg,var(--bronze),var(--ember)); }
.event-rail{ position: relative; }.event-visual{ min-height: 120px; padding: 14px; border: 1px solid rgba(154,117,200,.18); background: linear-gradient(0deg,rgba(16,14,24,.92),rgba(16,14,24,.18)),url("../images/ashfall-realm.png?v=20260819.7170") 55% 37%/cover; }.event-visual small{ color: var(--violet); font-size: 8px; letter-spacing: .1em; }.event-visual h4{ margin: 6px 0; font-family: Georgia,serif; font-size: 17px; font-weight: 400; }.event-visual p{ margin: 0; color: #898494; font-size: 9px; line-height: 1.5; }.quest-mini{ padding: 10px 0; }.quest-mini + .quest-mini{ border-top: 1px solid var(--line); }.quest-mini header{ display: flex; justify-content: space-between; }.quest-mini b{ color: #aaa89d; font-size: 10px; }.quest-mini span{ color: var(--bronze); font-size: 9px; }.quest-mini .progress{ margin-top: 8px; }
.mobile-nav{ display: none; }

.view-loading{ display: grid; gap: 16px; }.skeleton-view span{ height: 110px; border: 1px solid var(--line); background: linear-gradient(90deg,#182225 20%,#202d30 40%,#182225 60%); background-size: 200% 100%; animation: skeleton 1.4s infinite; }.skeleton-view span:first-child{ height: 170px; }.skeleton-view span:nth-child(2){ width: 65%; }.skeleton-view span:nth-child(3){ width: 82%; }
@keyframes skeleton { to { background-position: -200% 0; } }
.view-header{ display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 22px; }.view-title h1{ margin: 2px 0 0; font-family: Georgia,serif; font-size: clamp(26px,2.6vw,38px); font-weight: 400; letter-spacing: -.02em; }.view-title p{ max-width: 700px; margin: 8px 0 0; color: #7f8580; line-height: 1.55; }.view-eyebrow{ margin: 0; font-size: 8px; }.view-actions{ display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.panel{ border: 1px solid var(--line); background: linear-gradient(145deg,rgba(31,44,47,.86),rgba(22,31,34,.92)); box-shadow: 0 8px 30px rgba(0,0,0,.12); }.panel-inner{ padding: 17px; }.section-heading{ display: flex; align-items: center; justify-content: space-between; gap: 15px; min-height: 44px; padding: 0 15px; border-bottom: 1px solid var(--line); background: rgba(0,0,0,.1); }.section-heading > span, .section-heading h2, .section-heading h3{ margin: 0; color: #aaa99d; font-size: 10px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }.section-heading em{ color: #707774; font-size: 9px; font-style: normal; font-weight: 400; letter-spacing: 0; text-transform: none; }
.city-hero{ position: relative; min-height: 210px; margin-bottom: 20px; overflow: hidden; border: 1px solid var(--line-bright); background: linear-gradient(90deg,rgba(10,15,17,.92),rgba(10,15,17,.28) 65%,rgba(10,15,17,.55)),url("../images/ashfall-realm.png?v=20260819.7170") center 58%/cover; box-shadow: var(--shadow); }.city-hero::after{ content: ""; position: absolute; inset: auto 0 0; height: 40%; background: linear-gradient(transparent,rgba(10,15,17,.82)); pointer-events: none; }.city-hero-content{ position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: flex-end; min-height: 210px; max-width: 580px; padding: 28px; }.city-hero .view-eyebrow{ color: var(--bronze-bright); }.city-hero h1{ margin: 7px 0 5px; font-family: Georgia,serif; font-size: clamp(32px,4vw,50px); font-weight: 400; }.city-hero p{ margin: 0; color: #aaa99e; }.city-meta{ display: flex; flex-wrap: wrap; gap: 17px; margin-top: 20px; }.city-meta span{ display: flex; align-items: center; gap: 6px; color: #898e88; font-size: 10px; }.city-meta svg{ width: 15px; height: 15px; color: var(--bronze); }
.city-overview-grid{ display: grid; grid-template-columns: minmax(0,1.55fr) minmax(280px,.75fr); gap: 18px; align-items: start; }.building-grid{ display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; padding: 12px; }.building-card{ position: relative; min-height: 132px; padding: 12px; overflow: hidden; border: 1px solid rgba(222,212,186,.11); background: linear-gradient(145deg,rgba(255,255,255,.03),rgba(0,0,0,.12)); cursor: pointer; transition: .17s; }.building-card:hover{ z-index: 1; border-color: var(--line-bright); background: linear-gradient(145deg,rgba(199,146,79,.09),rgba(0,0,0,.13)); transform: translateY(-2px); box-shadow: 0 10px 25px rgba(0,0,0,.2); }.building-card.locked{ filter: saturate(.3); opacity: .58; }.building-art{ position: absolute; right: -9px; bottom: -10px; width: 86px; height: 86px; color: rgba(199,146,79,.13); transform: rotate(-7deg); }.building-icon{ display: grid; place-items: center; width: 35px; height: 35px; border: 1px solid rgba(199,146,79,.24); color: var(--bronze); background: rgba(0,0,0,.15); }.building-icon svg{ width: 21px; height: 21px; }.building-card h3{ max-width: 70%; margin: 11px 0 4px; color: #bab7aa; font-family: Georgia,serif; font-size: 14px; font-weight: 400; }.building-card p{ max-width: 72%; margin: 0; color: #68706d; font-size: 9px; line-height: 1.35; }.level-badge{ position: absolute; top: 10px; right: 10px; min-width: 28px; padding: 4px 6px; border: 1px solid rgba(199,146,79,.28); color: var(--bronze-bright); font-size: 8px; text-align: center; }.building-card.locked .level-badge{ color: #797e7a; border-color: var(--line); }
.city-side{ display: grid; gap: 18px; }.population-card{ padding: 15px; }.population-head{ display: flex; align-items: center; justify-content: space-between; }.population-ledger-link{width:100%;padding:2px 0 5px;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left}.population-ledger-link:hover b,.population-ledger-link:focus-visible b{color:var(--bronze-bright)}.population-ledger-link:focus-visible{outline:1px solid rgba(207,164,89,.5);outline-offset:4px}.population-head span{ display: flex; align-items: center; gap: 8px; color: #aaa99e; font-size: 10px; }.population-head svg{ width: 20px; height: 20px; color: var(--bronze); }.population-head b{ font-variant-numeric: tabular-nums; }.progress{ height: 5px; overflow: hidden; background: rgba(255,255,255,.055); }.progress i{ display: block; height: 100%; max-width: 100%; background: linear-gradient(90deg,var(--bronze),var(--ember)); box-shadow: 0 0 10px rgba(210,105,56,.3); }.population-card .progress{ margin-top: 12px; }.unit-list{ max-height: 500px; overflow: auto; }.unit-row{ display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 8px 12px; border-bottom: 1px solid var(--line); }.unit-row:last-child{ border: 0; }.unit-portrait{ display: grid; place-items: center; width: 35px; height: 35px; border: 1px solid rgba(222,212,186,.11); background: rgba(0,0,0,.15); color: #9b8060; }.unit-portrait svg{ width: 22px; height: 22px; }.unit-row > span{ display: flex; flex: 1; flex-direction: column; min-width: 0; }.unit-row b{ color: #aaa99e; font-size: 10px; }.unit-row small{ margin-top: 3px; color: #646b68; font-size: 8px; text-transform: capitalize; }.unit-row strong{ color: var(--parchment); font-size: 14px; font-variant-numeric: tabular-nums; }
.cost-row{ display: flex; flex-wrap: wrap; gap: 7px; }.cost{ display: inline-flex; align-items: center; gap: 4px; color: #9a9a91; font-size: 9px; font-variant-numeric: tabular-nums; }.cost svg{ width: 13px; height: 13px; color: var(--resource-color,var(--bronze)); }.cost.insufficient{ color: #d67668; }.cost.insufficient svg{ color: var(--danger); }
.stat-grid{ display: grid; grid-template-columns: repeat(auto-fit,minmax(100px,1fr)); gap: 8px; }.stat-box{ padding: 11px; border: 1px solid var(--line); background: rgba(0,0,0,.12); }.stat-box small{ display: block; color: #686f6c; font-size: 8px; letter-spacing: .06em; text-transform: uppercase; }.stat-box b{ display: block; margin-top: 5px; color: #bdb8aa; font-size: 14px; }
.tabs{ display: flex; gap: 2px; margin-bottom: 16px; border-bottom: 1px solid var(--line); overflow-x: auto; }.tab{ position: relative; flex: 0 0 auto; padding: 11px 15px; border: 0; background: transparent; color: #777d79; font-size: 9px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; cursor: pointer; }.tab:hover{ color: #b2b0a6; }.tab.active{ color: var(--bronze-bright); }.tab.active::after{ content: ""; position: absolute; right: 8px; bottom: -1px; left: 8px; height: 2px; background: var(--bronze-bright); }

.map-layout{ display: grid; grid-template-columns: minmax(0,1fr) 260px; min-height: calc(100vh - 170px); border: 1px solid var(--line); background: #11191b; }.map-shell{ position: relative; min-height: 650px; overflow: hidden; border-right: 1px solid var(--line); }.world-map{ position: absolute; inset: 0; overflow: hidden; background: linear-gradient(rgba(9,15,17,.32),rgba(9,15,17,.4)),url("../images/ashfall-realm.png?v=20260819.7170") center/cover; cursor: grab; }.world-map:active{ cursor: grabbing; }.world-map::before{ content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(220,210,177,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(220,210,177,.08) 1px,transparent 1px); background-size: 7.1428% 10%; mask-image: linear-gradient(to bottom,transparent,black 13%,black 87%,transparent); }.map-vignette{ position: absolute; inset: 0; pointer-events: none; box-shadow: inset 0 0 100px #070b0d; }.map-marker{ position: absolute; z-index: 3; display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid rgba(222,212,186,.36); border-radius: 50% 50% 50% 0; transform: translate(-50%,-50%) rotate(-45deg); background: #202c2e; color: var(--bronze-bright); box-shadow: 0 5px 15px rgba(0,0,0,.45); cursor: pointer; transition: transform .16s,filter .16s; }.map-marker svg{ width: 20px; height: 20px; transform: rotate(45deg); }.map-marker:hover, .map-marker.selected{ z-index: 5; filter: brightness(1.25); transform: translate(-50%,-50%) rotate(-45deg) scale(1.15); }.map-marker.own{ border-color: #7eb2a2; background: #24403d; color: #8fd2bd; }.map-marker.hostile{ border-color: #b4655d; background: #432929; color: #e48475; }.map-marker.npc_village{ border-color: #c19a62; }.map-marker.ruin{ border-color: #777b77; color: #989d99; }.map-marker.shrine{ border-color: var(--violet); color: #bea5eb; background: #302941; box-shadow: 0 0 22px rgba(154,117,200,.38); }.map-marker.fort{ border-radius: 2px; transform: translate(-50%,-50%); }.map-marker.fort svg{ transform: none; }.map-marker.fort:hover,.map-marker.fort.selected{ transform: translate(-50%,-50%) scale(1.15); }.map-label{ position: absolute; z-index: 2; transform: translate(-50%,24px); padding: 3px 6px; border-radius: 2px; background: rgba(7,11,12,.72); color: #cac4b3; font-size: 8px; white-space: nowrap; pointer-events: none; text-shadow: 0 1px 3px #000; }.map-controls{ position: absolute; z-index: 10; top: 14px; left: 14px; display: flex; gap: 5px; padding: 4px; border: 1px solid var(--line); background: rgba(12,18,20,.85); backdrop-filter: blur(8px); }.map-controls button{ width: 32px; height: 32px; border: 0; background: rgba(255,255,255,.03); color: #aaa; cursor: pointer; }.map-controls button:hover{ color: var(--bronze-bright); background: rgba(255,255,255,.07); }.map-coordinates{ position: absolute; z-index: 10; right: 14px; bottom: 14px; padding: 7px 10px; border: 1px solid var(--line); background: rgba(12,18,20,.8); color: #8f958f; font-size: 9px; font-variant-numeric: tabular-nums; }.map-inspector{ padding: 17px; background: #151e20; }.map-inspector.empty{ display: grid; place-content: center; color: #626a67; text-align: center; }.inspector-icon{ display: grid; place-items: center; width: 64px; height: 64px; margin: 0 auto 13px; border: 1px solid var(--line); color: #68716f; }.inspector-icon svg{ width: 34px; height: 34px; }.map-inspector h2{ margin: 0 0 5px; font-family: Georgia,serif; font-size: 23px; font-weight: 400; }.map-inspector .owner{ color: var(--bronze); font-size: 10px; }.map-inspector .coordinate-line{ margin: 12px 0; color: #7b827e; font-size: 9px; }.map-inspector .btn{ width: 100%; margin-top: 8px; }

.card-grid{ display: grid; grid-template-columns: repeat(auto-fit,minmax(250px,1fr)); gap: 12px; }.content-card{ position: relative; padding: 16px; border: 1px solid var(--line); background: linear-gradient(145deg,rgba(255,255,255,.025),rgba(0,0,0,.1)); }.content-card:hover{ border-color: rgba(222,212,186,.2); }.content-card header{ display: flex; align-items: flex-start; gap: 11px; }.content-card header > span{ flex: 1; }.content-card h3{ margin: 0; color: #b9b5a8; font-family: Georgia,serif; font-size: 16px; font-weight: 400; }.content-card header small{ display: block; margin-top: 4px; color: #69716d; font-size: 8px; text-transform: uppercase; letter-spacing: .06em; }.content-card p{ min-height: 38px; margin: 12px 0; color: #7e837e; font-size: 10px; line-height: 1.5; }.content-card footer{ display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); }
.movement-list{ display: grid; gap: 9px; }.movement-card{ display: grid; grid-template-columns: 48px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 13px; border: 1px solid var(--line); background: rgba(255,255,255,.018); }.movement-icon{ display: grid; place-items: center; width: 43px; height: 43px; border: 1px solid rgba(199,146,79,.23); color: var(--bronze); }.movement-icon.hostile{ border-color: rgba(199,88,77,.4); color: #df786c; }.movement-icon svg{ width: 24px; height: 24px; }.movement-route{ min-width: 0; }.movement-route h3{ margin: 0 0 5px; overflow: hidden; color: #b2b0a4; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }.movement-route p{ margin: 0; color: #676f6b; font-size: 9px; }.movement-route .progress{ margin-top: 9px; }.movement-time{ min-width: 76px; text-align: right; }.movement-time time{ display: block; color: var(--bronze-bright); font-size: 13px; font-variant-numeric: tabular-nums; }.movement-time small{ display: block; margin-top: 3px; color: #68706d; font-size: 8px; }
.tech-tree{ display: grid; grid-template-columns: repeat(4,minmax(220px,1fr)); gap: 14px; overflow-x: auto; }.tech-column{ min-width: 220px; }.tech-column > h2{ margin: 0 0 11px; color: var(--category,var(--bronze)); font-size: 9px; letter-spacing: .11em; text-transform: uppercase; }.tech-card{ position: relative; min-height: 188px; margin-bottom: 10px; padding: 15px; border: 1px solid var(--line); background: linear-gradient(145deg,rgba(255,255,255,.025),rgba(0,0,0,.12)); }.tech-card::before{ content: ""; position: absolute; top: -11px; left: 29px; width: 1px; height: 11px; background: var(--line-bright); }.tech-card:first-of-type::before{ display:none; }.tech-card.unavailable{ opacity: .48; filter: saturate(.3); }.tech-icon{ display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid color-mix(in srgb,var(--category,var(--bronze)) 45%,transparent); color: var(--category,var(--bronze)); }.tech-icon svg{ width: 23px; height: 23px; }.tech-level{ position: absolute; top: 15px; right: 15px; color: var(--category,var(--bronze)); font-size: 9px; }.tech-card h3{ margin: 11px 0 5px; font-family: Georgia,serif; font-size: 15px; font-weight: 400; }.tech-card p{ min-height: 42px; margin: 0 0 11px; color: #6f7672; font-size: 9px; line-height: 1.45; }.tech-card .btn{ width: 100%; margin-top: 12px; }
.market-layout{ display: grid; grid-template-columns: minmax(270px,.55fr) minmax(0,1.45fr); gap: 18px; }.exchange-wheel{ padding: 18px; }.exchange-arrow{ display: grid; place-items: center; width: 32px; height: 32px; margin: 10px auto; border: 1px solid var(--line); transform: rotate(90deg); color: var(--bronze); }.exchange-arrow svg{ width: 17px; height: 17px; }.rate-preview{ margin: 15px 0; padding: 12px; border: 1px solid var(--line); background: rgba(0,0,0,.12); color: #838985; font-size: 10px; text-align: center; }.trade-table, .data-table{ width: 100%; border-collapse: collapse; }.trade-table th,.trade-table td,.data-table th,.data-table td{ padding: 11px 12px; border-bottom: 1px solid var(--line); text-align: left; }.trade-table th,.data-table th{ color: #646c69; font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }.trade-table td,.data-table td{ color: #a6a499; font-size: 10px; }.trade-table tr:hover td,.data-table tr:hover td{ background: rgba(255,255,255,.018); }
.quest-list{ display: grid; gap: 10px; }.quest-card{ display: grid; grid-template-columns: 58px minmax(0,1fr) auto; align-items: center; gap: 14px; padding: 14px; border: 1px solid var(--line); background: rgba(255,255,255,.018); }.quest-card.complete{ border-color: rgba(109,166,122,.32); background: rgba(109,166,122,.04); }.quest-icon{ display: grid; place-items: center; width: 52px; height: 52px; border: 1px solid rgba(199,146,79,.24); color: var(--bronze); }.quest-icon svg{ width: 28px; height: 28px; }.quest-card h3{ margin: 0 0 4px; font-family: Georgia,serif; font-size: 16px; font-weight: 400; }.quest-card p{ margin: 0 0 9px; color: #717873; font-size: 9px; }.quest-progress{ display: flex; align-items: center; gap: 9px; }.quest-progress .progress{ flex: 1; }.quest-progress span{ color: #7b817e; font-size: 8px; }.reward-row{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }.reward{ padding: 3px 6px; border: 1px solid var(--line); color: #99998f; font-size: 8px; }
.report-list{ display: grid; gap: 8px; }.report-row{ display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 12px; border: 1px solid var(--line); background: rgba(255,255,255,.016); cursor: pointer; }.report-row:hover{ border-color: var(--line-bright); }.report-outcome{ display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--line); }.report-outcome.attacker{ color: var(--success); border-color: rgba(109,166,122,.3); }.report-outcome.defender,.report-outcome.failed{ color: var(--danger); border-color: rgba(199,88,77,.3); }.report-outcome svg{ width: 21px; height: 21px; }.report-row h3{ margin: 0 0 4px; color: #afada1; font-size: 11px; }.report-row p{ margin: 0; color: #676e6b; font-size: 8px; }.report-row time{ color: #727976; font-size: 8px; }
.message-layout{ display: grid; grid-template-columns: minmax(280px,.7fr) minmax(300px,1.3fr); min-height: 560px; }.message-list{ border-right: 1px solid var(--line); }.message-item{ display: block; width: 100%; padding: 13px; border: 0; border-bottom: 1px solid var(--line); background: transparent; text-align: left; cursor: pointer; }.message-item:hover,.message-item.active{ background: rgba(255,255,255,.025); }.message-item.unread{ border-left: 2px solid var(--bronze); }.message-item h3{ margin: 0; overflow: hidden; color: #aaa89e; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }.message-item p{ margin: 5px 0 0; color: #686f6b; font-size: 8px; }.message-view{ padding: 21px; }.message-view h2{ margin: 0; font-family: Georgia,serif; font-size: 23px; font-weight: 400; }.message-meta{ margin: 7px 0 20px; color: #737976; font-size: 9px; }.message-body{ color: #a4a297; font-size: 11px; line-height: 1.7; white-space: pre-wrap; }
.alliance-hero{ display: grid; grid-template-columns: 90px minmax(0,1fr) auto; align-items: center; gap: 18px; padding: 22px; margin-bottom: 18px; }.alliance-crest{ display: grid; place-items: center; width: 78px; height: 78px; border: 1px solid var(--bronze); transform: rotate(45deg); background: radial-gradient(circle,#3b2b24,#162022); color: var(--bronze-bright); }.alliance-crest svg{ width: 46px; height: 46px; transform: rotate(-45deg); }.alliance-hero h1{ margin: 0; font-family: Georgia,serif; font-size: 30px; font-weight: 400; }.alliance-hero p{ margin: 5px 0 0; color: #747b77; }.alliance-chat{ height: 440px; overflow-y: auto; padding: 14px; }.chat-line{ display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 9px; margin: 0 0 13px; }.chat-avatar{ display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--line);color:var(--bronze);font-size:9px}.chat-line h4{ margin: 0 0 3px; color: #a7a59a; font-size: 9px; }.chat-line h4 time{ margin-left: 6px; color: #5e6563; font-weight: 400; }.chat-line p{ margin: 0; color: #888d87; font-size: 10px; line-height: 1.45; }.chat-form{ display: flex; gap: 7px; padding: 11px; border-top: 1px solid var(--line); }.chat-form input{ flex:1; }
.hero-grid{ display: grid; grid-template-columns: repeat(auto-fit,minmax(310px,1fr)); gap: 14px; }.hero-card{ position: relative; min-height: 280px; padding: 19px; overflow: hidden; }.hero-card::after{ content:"";position:absolute;right:-40px;bottom:-60px;width:220px;height:220px;border:1px solid rgba(199,146,79,.08);transform:rotate(45deg);box-shadow:0 0 0 30px rgba(199,146,79,.025),0 0 0 60px rgba(199,146,79,.015)}.hero-head{ position:relative;z-index:1;display:flex;align-items:center;gap:13px}.hero-portrait{ display:grid;place-items:center;width:66px;height:66px;border:1px solid var(--bronze);background:linear-gradient(145deg,#3c3029,#182224);color:var(--bronze-bright)}.hero-portrait svg{width:40px;height:40px}.hero-head h2{margin:0;font-family:Georgia,serif;font-size:23px;font-weight:400}.hero-head p{margin:4px 0 0;color:#777e79;font-size:9px;text-transform:capitalize}.hero-level{margin-left:auto;text-align:center}.hero-level b{display:block;color:var(--bronze-bright);font-size:21px}.hero-level small{font-size:7px;color:#6c736f;text-transform:uppercase}.skill-list{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:18px}.skill{display:flex;align-items:center;justify-content:space-between;padding:8px;border:1px solid var(--line);background:rgba(0,0,0,.12);font-size:9px}.skill b{color:var(--bronze)}
.ranking-podium{ display: grid; grid-template-columns: repeat(3,1fr); align-items: end; gap: 10px; max-width: 620px; margin: 20px auto 30px; }.podium{ padding: 18px 10px; border: 1px solid var(--line); background: rgba(255,255,255,.02); text-align: center; }.podium:first-child{ order: 2; min-height: 150px; border-color: rgba(199,146,79,.35); }.podium:nth-child(2){ order: 1; min-height: 120px; }.podium:nth-child(3){ order: 3; min-height: 100px; }.podium strong{ display: block; color: var(--bronze-bright); font-family: Georgia,serif; font-size: 26px; }.podium b{ display:block;margin-top:10px;color:#b4b1a5 }.podium small{ color:#6f7672 }
.empty-state{ display: grid; place-content: center; min-height: 230px; padding: 30px; color: #666d69; text-align: center; }.empty-state svg{ width: 48px; height: 48px; margin: 0 auto 12px; color: #4f5957; }.empty-state h3{ margin: 0 0 6px; color: #8d918b; font-family: Georgia,serif; font-size: 17px; font-weight: 400; }.empty-state p{ max-width: 360px; margin: 0 auto 14px; font-size: 10px; line-height: 1.5; }

.popover{ position: fixed; z-index: 100; width: 285px; border: 1px solid var(--line-bright); background: rgba(22,31,33,.98); box-shadow: var(--shadow); backdrop-filter: blur(18px); }.city-popover{ top: 65px; left: calc(var(--sidebar) + 12px); }.notification-popover{ top: 65px; right: 15px; width: 340px; max-height: min(560px,calc(100vh - 80px)); overflow-y: auto; }.popover-header{ display:flex;align-items:center;justify-content:space-between;padding:12px;border-bottom:1px solid var(--line);color:#9d9b90;font-size:9px;font-weight:700;text-transform:uppercase}.city-option,.notification-item{ display:flex;width:100%;gap:10px;padding:12px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;cursor:pointer}.city-option:hover,.notification-item:hover{ background:rgba(255,255,255,.025) }.city-option.active{ color:var(--bronze-bright);background:rgba(199,146,79,.06)}.city-option svg{width:24px;height:24px;color:var(--bronze)}.city-option span,.notification-item span{display:flex;flex:1;flex-direction:column}.city-option b,.notification-item b{color:#a9a69b;font-size:10px}.city-option small,.notification-item small{margin-top:3px;color:#676e6b;font-size:8px}.notification-item.unread{border-left:2px solid var(--ember)}.notification-item svg{width:21px;height:21px;color:var(--bronze)}
.tooltip{ position: fixed; z-index: 150; max-width: 260px; padding: 7px 9px; border: 1px solid rgba(199,146,79,.3); background: rgba(7,11,12,.96); color: #aaa89d; box-shadow: 0 7px 20px rgba(0,0,0,.4); font-size: 9px; line-height: 1.4; pointer-events: none; }
.toast-stack{ position: fixed; z-index: 250; right: 18px; bottom: 18px; display: grid; gap: 8px; width: min(360px,calc(100vw - 30px)); }.toast{ display: grid; grid-template-columns: 27px 1fr auto; align-items: start; gap: 9px; padding: 12px; border: 1px solid var(--line-bright); background: rgba(25,35,37,.98); box-shadow: var(--shadow); animation: toast-in .22s ease-out; }.toast.success{border-color:rgba(109,166,122,.4)}.toast.error{border-color:rgba(199,88,77,.45)}.toast svg{width:22px;height:22px;color:var(--bronze)}.toast.success svg{color:var(--success)}.toast.error svg{color:var(--danger)}.toast b{display:block;color:#b7b4a8;font-size:10px}.toast p{margin:3px 0 0;color:#727976;font-size:9px;line-height:1.4}.toast button{border:0;background:transparent;color:#737a76;cursor:pointer}@keyframes toast-in{from{opacity:0;transform:translateX(18px)}}
.modal{ width: min(640px,calc(100vw - 24px)); max-height: calc(100vh - 30px); padding: 0; border: 0; background: transparent; color: var(--parchment); }.modal::backdrop{ background: rgba(4,7,8,.76); backdrop-filter: blur(4px); }.modal-frame{ margin:0;border:1px solid var(--line-bright);background:linear-gradient(145deg,#202d30,#141d1f);box-shadow:0 30px 100px rgba(0,0,0,.65)}.modal-frame > header{ display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line)}.modal-frame header small{display:block;color:var(--bronze);font-size:8px;letter-spacing:.1em;text-transform:uppercase}.modal-frame h2{margin:3px 0 0;font-family:Georgia,serif;font-size:24px;font-weight:400}.modal-body{max-height:calc(100vh - 200px);padding:18px;overflow-y:auto}.modal-frame > footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:13px 18px;border-top:1px solid var(--line);background:rgba(0,0,0,.1)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label+label{margin-top:0}.form-grid .full{grid-column:1/-1}.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:7px}.choice{position:relative;display:flex;align-items:center;gap:8px;padding:10px;border:1px solid var(--line);background:rgba(0,0,0,.12);cursor:pointer}.choice:hover{border-color:var(--line-bright)}.choice input{width:auto}.choice svg{width:20px;height:20px;color:var(--bronze)}.army-picker{display:grid;gap:6px}.army-input{display:grid;grid-template-columns:35px 1fr 100px;align-items:center;gap:9px;padding:8px;border:1px solid var(--line)}.army-input svg{width:24px;height:24px;color:var(--bronze)}.army-input span{display:flex;flex-direction:column}.army-input b{font-size:10px}.army-input small{font-size:8px;color:#666e6a}.army-input input{padding:8px}.action-loader{position:fixed;z-index:300;inset:0;display:grid;place-content:center;gap:13px;background:rgba(6,9,10,.7);backdrop-filter:blur(3px);color:#a3a095;text-align:center;text-transform:uppercase;font-size:9px;letter-spacing:.1em}
.pagination{display:flex;justify-content:center;gap:6px;margin-top:16px}.pagination button{min-width:32px;height:32px;border:1px solid var(--line);background:rgba(255,255,255,.02);color:#858a85;cursor:pointer}.pagination button.active{border-color:var(--bronze);color:var(--bronze-bright)}

@media (max-width: 1480px) and (min-width: 761px){
  .landing-grid{ grid-template-columns:minmax(0,1fr) minmax(350px,440px);max-width:1180px;align-items:center }
  .discord-community{ grid-column:1/-1;justify-self:center;max-width:720px }
  .discord-benefits{ grid-template-columns:repeat(3,1fr) }
}
@media (max-width: 1240px){
  :root{ --rail: 0px; }
  .right-rail{ display: none; }
  .resource-chip{ min-width: 76px; padding: 0 9px; }.resource-chip small{ display:none }.profile-chip{ min-width: auto; }.profile-chip > span:last-child{ display:none }
}
@media (max-width: 980px){
  :root{ --sidebar: 0px; --topbar: 64px; }
  .topbar .wordmark{ display:none }.mobile-menu{ display:grid; width:50px;height:100%;border-right:1px solid var(--line);border-radius:0 }.sidebar{ width:220px;transform:translateX(-100%);box-shadow:20px 0 50px rgba(0,0,0,.45) }.sidebar.open{ transform:translateX(0) }.city-picker{ width:190px }.resource-chip:nth-child(4),.resource-chip:nth-child(5){ display:none }.city-overview-grid{ grid-template-columns:1fr }.building-grid{ grid-template-columns:repeat(3,1fr) }.map-layout{ grid-template-columns:1fr }.map-inspector{ position:absolute;z-index:15;right:10px;bottom:10px;width:250px;max-height:60%;overflow:auto;border:1px solid var(--line-bright);box-shadow:var(--shadow) }.market-layout{ grid-template-columns:1fr }.tech-tree{ grid-template-columns:repeat(4,230px) }
}
@media (max-width: 760px){
  body{ font-size:13px }.auth-scene{ overflow:auto;background-attachment:scroll }.landing-header{ padding:18px 20px }.world-status{ display:none }.landing-grid{ display:block;min-height:auto;padding:68px 20px 80px }.landing-copy{ text-align:center }.landing-copy h1{ font-size:48px }.landing-lede{ font-size:16px }.feature-runes{ justify-content:center }.auth-card{ max-width:450px;margin:50px auto 0 }.discord-community,.ai-disclosure{ max-width:450px;margin:24px auto 0 }.ai-disclosure-body{ grid-template-columns:1fr }.ai-disclosure-assurance{ grid-template-columns:1fr }.landing-footer{ display:none }
  .game-shell{ padding-bottom:64px }.topbar{ overflow:visible }.city-picker{ width:auto;min-width:145px;flex:1 }.city-picker > svg{ display:none }.resource-bar{ flex:0 0 auto }.resource-chip{ display:none!important }.resource-chip[data-resource="essence"]{ display:flex!important;min-width:82px }.top-actions > .icon-button:first-child{ display:none }.profile-chip{ display:none }.main-content{ padding:18px 12px 35px }.mobile-nav{ position:fixed;z-index:70;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(5,1fr);height:62px;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line);background:rgba(13,19,21,.98);backdrop-filter:blur(15px) }.mobile-nav button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;border:0;background:transparent;color:#717976;font-size:8px}.mobile-nav svg{width:19px;height:19px}.mobile-nav button.active{color:var(--bronze-bright)}
  .view-header{ align-items:flex-start;flex-direction:column }.view-actions{ justify-content:flex-start }.city-hero,.city-hero-content{ min-height:190px }.city-hero-content{ padding:20px }.city-hero h1{ font-size:35px }.building-grid{ grid-template-columns:repeat(2,1fr);padding:8px }.building-card{ min-height:125px }.map-layout{ min-height:0 }.map-shell{ min-height:min(620px,calc(100vh - 190px));border-right:0 }.map-inspector{ position:relative;z-index:auto;inset:auto;width:auto;max-height:none;overflow:visible;border:0;border-top:1px solid var(--line-bright);box-shadow:none }.map-inspector.empty{ min-height:120px }.movement-card{ grid-template-columns:40px minmax(0,1fr); }.movement-time{ grid-column:2;text-align:left;display:flex;gap:8px;align-items:center }.quest-card{ grid-template-columns:45px minmax(0,1fr) }.quest-icon{ width:42px;height:42px }.quest-card > .btn{ grid-column:1/-1;width:100% }.message-layout{ grid-template-columns:1fr }.message-list{ border-right:0 }.message-view{ display:none }.message-view.open{ position:fixed;z-index:80;inset:64px 0 62px;display:block;background:#151e20;overflow:auto }.alliance-hero{ grid-template-columns:64px minmax(0,1fr) }.alliance-crest{ width:58px;height:58px }.alliance-hero>.btn{ grid-column:1/-1 }.form-grid{ grid-template-columns:1fr }.form-grid .full{ grid-column:auto }.notification-popover{ right:8px;left:8px;width:auto }.city-popover{ top:58px;left:8px }.toast-stack{ right:8px;bottom:72px }.modal-body{ padding:14px }.trade-table{ min-width:600px }.table-scroll{ overflow-x:auto }
}
@media (max-width: 430px){
  .landing-copy h1{ font-size:40px }.landing-lede{ font-size:15px }.feature-runes span{ font-size:9px }.auth-form{ padding:25px 22px }.auth-tab{ font-size:8px }.city-picker{ min-width:120px;padding:0 10px }.city-picker b{ font-size:12px }.top-actions>.icon-button{ width:40px }.building-grid{ grid-template-columns:1fr 1fr }.building-card h3,.building-card p{ max-width:78% }.content-card footer{ align-items:flex-start;flex-direction:column }.card-grid,.hero-grid{ grid-template-columns:1fr }.ranking-podium{ gap:4px }.podium{ padding:12px 4px }.podium b{ font-size:9px }
}
/* Illustrated content and readable action requirements. */
.landing-actions{ display:flex;align-items:center;gap:10px }.language-switch{ display:grid;place-items:center;min-width:38px;height:34px;padding:0 9px;border:1px solid var(--line-bright);background:rgba(13,20,22,.72);color:var(--bronze-bright);font-size:9px;font-weight:800;letter-spacing:.08em;cursor:pointer }.language-switch:hover{ border-color:var(--bronze);background:rgba(199,146,79,.1) }.language-switch.compact{ height:38px;align-self:center }
.asset-art{ display:block;background-image:var(--asset-image);background-repeat:no-repeat;background-size:var(--asset-size-x) var(--asset-size-y);background-position:var(--asset-x) var(--asset-y);background-color:#172124 }.asset-art.fallback{ display:grid;place-items:center;color:var(--bronze) }.asset-art.fallback svg{ width:55%;height:55% }
.resource-glyph{ display:grid!important;place-items:center;flex:0 0 auto;width:27px;height:27px;border:1px solid color-mix(in srgb,var(--resource-color,var(--bronze)) 42%,transparent);border-radius:50%;background:color-mix(in srgb,var(--resource-color,var(--bronze)) 12%,transparent);box-shadow:inset 0 0 12px rgba(0,0,0,.22) }.resource-glyph svg{ width:17px!important;height:17px!important;color:var(--resource-color,var(--bronze)) }.cost .resource-glyph{ width:22px;height:22px }.cost b{ font-size:10px }.cost small{ display:grid;place-items:center }.cost small svg{ width:11px;height:11px }.cost.sufficient{ color:#83c2a5 }.cost.sufficient>svg,.cost.sufficient small svg{ color:#83c2a5 }.cost.insufficient{ color:#e17a70 }.cost-row.compact{ gap:5px }
.requirement-summary{ display:flex;flex-wrap:wrap;gap:6px }.requirement{ display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border:1px solid var(--line);background:rgba(0,0,0,.14);color:#838985;font-size:8px }.requirement svg{ width:12px;height:12px }.requirement b{ margin-left:3px;font-variant-numeric:tabular-nums }.requirement.met{ border-color:rgba(100,174,145,.35);background:rgba(61,132,105,.1);color:#83c2a5 }.requirement.missing{ border-color:rgba(218,102,92,.35);background:rgba(142,52,45,.12);color:#e17a70 }.requirement-block{ margin:18px 0 }.requirement-block h3,.modal-body>h3{ margin:18px 0 9px;color:#aaa99e;font-size:10px;text-transform:uppercase;letter-spacing:.06em }.action-warning,.population-check{ display:flex;align-items:center;gap:7px;margin:10px 0;color:#d8786e;font-size:9px }.action-warning svg,.population-check svg{ width:14px;height:14px }.population-check.sufficient{ color:#83c2a5 }.population-check.insufficient{ color:#e17a70 }
.building-grid{ grid-template-columns:repeat(auto-fit,minmax(220px,1fr)) }.building-card{ display:flex;flex-direction:column;min-height:245px;padding:0;background:#121b1d }.building-card .building-card-art{ position:absolute;inset:0 0 auto;width:100%;height:128px;background-size:var(--asset-size-x) var(--asset-size-y);filter:saturate(.82) contrast(1.03);transition:filter .2s,transform .25s }.building-card .building-card-art::after{ content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,#121b1d 100%) }.building-card:hover .building-card-art{ filter:saturate(1.05) brightness(1.05);transform:scale(1.025) }.building-card>.building-icon{ position:absolute;z-index:2;top:92px;left:12px;background:#172124 }.building-card>.level-badge{ z-index:3;background:rgba(12,18,20,.84);backdrop-filter:blur(6px) }.building-card .building-copy{ position:relative;z-index:2;margin-top:126px;padding:0 12px }.building-card h3,.building-card p{ max-width:none }.building-card h3{ margin:9px 0 4px;font-size:16px }.building-card p{ min-height:36px;line-height:1.5 }.building-card footer{ position:relative;z-index:2;margin-top:auto;padding:9px 12px 12px;border-top:1px solid var(--line) }.building-card footer>.requirement-summary{ margin-top:8px }.building-card.unaffordable{ border-color:rgba(201,96,85,.2) }.building-card.locked{ filter:none;opacity:.64 }.building-modal-head{ display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;align-items:start }.building-modal-art{ width:150px;height:115px;border:1px solid var(--line-bright) }.building-modal-head p{ margin:0 0 12px;color:#96978d;line-height:1.6 }.level-badge.static{ position:static;display:inline-block }
.unit-row>.asset-art{ display:block;flex:0 0 46px;width:46px;height:46px;border:1px solid var(--line) }.unit-row>.asset-art+span{ flex:1 }.unit-catalog-grid{ display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:10px }.unit-detail-card{ display:grid;grid-template-columns:84px minmax(0,1fr) auto;gap:13px;align-items:center;padding:11px;border:1px solid var(--line);background:rgba(0,0,0,.1) }.unit-detail-art{ width:84px;height:84px;border:1px solid rgba(199,146,79,.2) }.unit-detail-card h3{ margin:0;color:#beb8a8;font-family:Georgia,serif;font-weight:400 }.unit-detail-card p{ margin:5px 0;color:#727975;font-size:9px;line-height:1.45 }.unit-detail-card>strong{ color:var(--bronze-bright);font-size:20px }.unit-stats{ display:flex;flex-wrap:wrap;gap:6px }.unit-stats span{ display:flex;align-items:center;gap:3px;color:#8b918c;font-size:8px }.unit-stats svg{ width:12px;height:12px;color:var(--bronze) }.army-tabs{ margin-top:4px }.army-tab-panel{ min-height:260px }.army-tab-panel>.panel-inner{ padding:13px }.reinforcement-list{ display:grid;gap:8px }.reinforcement-card{ display:grid;grid-template-columns:56px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:9px;border:1px solid var(--line);background:rgba(0,0,0,.12) }.reinforcement-card .asset-art{ width:56px;height:56px }.reinforcement-card h3{ margin:0;color:#b9b5a8;font-family:Georgia,serif;font-weight:400 }.reinforcement-card p{ margin:4px 0;color:#777f7a;font-size:9px }.reinforcement-card small{ color:#59615e;font-size:8px }.reinforcement-card>strong{ color:var(--bronze-bright) }
.modal:has(#recruitForm){ width:min(1000px,calc(100vw - 24px)) }.recruit-controls{ position:sticky;z-index:5;top:-18px;display:grid;grid-template-columns:190px minmax(0,1fr);gap:16px;align-items:end;margin:-18px -18px 15px;padding:15px 18px;border-bottom:1px solid var(--line);background:rgba(20,29,31,.97);backdrop-filter:blur(12px) }.recruit-preview{ min-height:58px }.recruit-preview>small{ display:block;margin-bottom:5px;color:#777e79;font-size:8px;text-transform:uppercase }.recruit-preview .population-check{ display:inline-flex;margin:7px 12px 0 0 }.recruit-unit-grid{ display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:9px;margin:0;padding:0;border:0 }.recruit-unit-grid legend{ position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0) }.recruit-unit-card{ position:relative;display:grid;grid-template-columns:92px minmax(0,1fr);min-height:142px;overflow:hidden;border:1px solid var(--line);background:rgba(0,0,0,.1);cursor:pointer }.recruit-unit-card:hover{ border-color:var(--line-bright) }.recruit-unit-card:has(input:checked){ border-color:var(--bronze);box-shadow:inset 0 0 0 1px rgba(199,146,79,.2);background:rgba(199,146,79,.06) }.recruit-unit-card.locked{ opacity:.55;cursor:not-allowed }.recruit-unit-art{ width:92px;height:100% }.recruit-unit-card>input{ position:absolute;top:8px;left:8px;accent-color:var(--bronze) }.unit-choice-copy{ display:flex;flex-direction:column;padding:10px }.unit-choice-copy>b{ color:#bcb7a8;font-family:Georgia,serif;font-weight:400 }.unit-choice-copy>small{ margin-top:3px;color:#727a76;font-size:8px }.unit-choice-copy>em{ flex:1;margin:7px 0;color:#767d78;font-size:9px;font-style:normal;line-height:1.4 }.unit-choice-copy .requirement-summary{ margin-top:7px }
.hero-portrait-art{ flex:0 0 86px;width:86px;height:86px;border:1px solid var(--bronze);box-shadow:0 7px 20px rgba(0,0,0,.35) }.hero-equipment{ position:relative;z-index:1;display:grid;gap:5px;margin-top:15px }.hero-equipment>small{ color:#6e7571;font-size:8px;text-transform:uppercase }.equipment{ display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:7px;align-items:center;padding:6px 8px;border:1px solid var(--line);color:#737a76;font-size:8px }.equipment.equipped{ border-color:rgba(156,123,212,.35);background:rgba(156,123,212,.07);color:#bba8df }.equipment svg{ width:15px;height:15px }.equipment em{ font-style:normal;text-transform:uppercase }.hero-footer{ position:relative;z-index:1;display:block;margin-top:15px;color:#777d79;font-size:9px }.spell-card.locked{ opacity:.65 }.spell-card .requirement-summary,.tech-card .requirement-summary{ margin:9px 0 }

/* Deterministic terrain canvas, map modes, movement routes, and real pan/zoom. */
.world-map{ touch-action:none;background:#142124 }.world-map::before{ z-index:2;pointer-events:none;background-size:64px 64px;opacity:.24 }.world-map.dragging{ cursor:grabbing }.world-map canvas,.map-movement-layer,.map-marker-layer{ position:absolute;inset:0;width:100%;height:100% }.world-map canvas{ z-index:0 }.map-movement-layer{ z-index:2;overflow:visible;pointer-events:none }.map-marker-layer{ z-index:3 }.map-vignette{ z-index:7 }.map-route line{ stroke:var(--route-color);stroke-width:3;stroke-dasharray:11 8;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px rgba(0,0,0,.9));animation:route-flow 1.2s linear infinite }.map-route.hostile line{ stroke-width:4 }.map-route .route-origin{ fill:#182326;stroke:var(--route-color);stroke-width:3;vector-effect:non-scaling-stroke }.map-route .route-unit{ fill:var(--route-color);stroke:#efe2c2;stroke-width:2;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 7px var(--route-color)) }.map-style-switch{ display:flex;justify-content:flex-end;gap:3px;margin:-8px 0 10px }.map-style-switch button{ display:flex;align-items:center;gap:5px;padding:7px 10px;border:1px solid var(--line);background:#11191b;color:#747c78;font-size:8px;text-transform:uppercase;cursor:pointer }.map-style-switch button.active{ border-color:var(--bronze);background:rgba(199,146,79,.09);color:var(--bronze-bright) }.map-style-switch svg{ width:14px;height:14px }.map-controls{ flex-wrap:wrap;width:124px }.map-controls button{ flex:0 0 32px }.map-legend{ position:absolute;z-index:10;right:14px;top:14px;display:flex;gap:10px;padding:7px 9px;border:1px solid var(--line);background:rgba(12,18,20,.82);backdrop-filter:blur(8px);font-size:8px }.map-legend span{ display:flex;align-items:center;gap:4px }.map-legend span::before{ content:"";width:7px;height:7px;border-radius:50%;background:#a49a7a }.map-legend .own::before{ background:#79c3aa }.map-legend .hostile::before{ background:#dc776d }.map-legend .movement::before{ background:#d2a65d;box-shadow:0 0 6px #d2a65d }
@keyframes route-flow { to { stroke-dashoffset:-19 } }

@media (max-width:760px){
  .landing-actions .world-status{ display:none }.language-switch.compact{ min-width:32px;padding:0 6px }.building-grid{ grid-template-columns:1fr 1fr }.building-card{ min-height:220px }.building-card .building-card-art{ height:108px }.building-card .building-copy{ margin-top:107px }.building-card>.building-icon{ top:74px }.building-card footer{ display:none }.recruit-controls{ grid-template-columns:1fr;top:-14px;margin:-14px -14px 12px;padding:12px 14px }.recruit-unit-grid{ grid-template-columns:1fr }.map-style-switch{ justify-content:flex-start;overflow-x:auto }.map-legend{ display:none }.map-controls{ width:84px }.map-controls button:nth-child(n+3){ display:none }.unit-catalog-grid{ grid-template-columns:1fr }.reinforcement-card{ grid-template-columns:48px minmax(0,1fr) auto }.reinforcement-card .asset-art{ width:48px;height:48px }.reinforcement-card .btn{ grid-column:2/-1 }.hero-head{ align-items:flex-start }.hero-portrait-art{ flex-basis:74px;width:74px;height:74px }
}
@media (max-width:440px){
  .building-grid{ grid-template-columns:1fr }.building-card{ min-height:225px }.building-card footer{ display:block }.building-modal-head{ grid-template-columns:1fr }.building-modal-art{ width:100%;height:170px }.unit-detail-card{ grid-template-columns:68px minmax(0,1fr) }.unit-detail-art{ width:68px;height:68px }.unit-detail-card>strong{ grid-column:2 }.recruit-unit-card{ grid-template-columns:76px minmax(0,1fr) }.recruit-unit-art{ width:76px }.map-style-switch button{ flex:1;justify-content:center }.hero-head{ display:grid;grid-template-columns:74px minmax(0,1fr) auto }
}

/* Square source art stays aspect-correct at every responsive size. */
.asset-art{ aspect-ratio:1/1 }
.asset-art.ship-unit-art{ background-color:transparent }
.building-card .building-card-art{ inset:0 0 auto auto;width:128px;height:128px;aspect-ratio:1/1 }
.building-card .building-card-art::after{ background:linear-gradient(135deg,transparent 48%,#121b1d 98%) }

/* Resource images, consistent construction cards, and compact upgrade dialogs. */
.resource-glyph.resource-art{ width:34px;height:34px;border-radius:8px;background-image:var(--asset-image);background-repeat:no-repeat;background-size:contain;background-position:center;background-color:#10191b;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--resource-color,var(--bronze)) 32%,transparent),0 3px 9px rgba(0,0,0,.3) }
.resource-glyph.silver-glyph{ background-image:var(--asset-image);background-repeat:no-repeat;background-size:contain;background-position:center;background-color:#10191b }
.cost .resource-glyph.resource-art{ width:27px;height:27px;border-radius:6px }
.building-grid{ grid-auto-rows:286px;align-items:stretch }
.building-card{ width:100%;height:286px;min-height:286px;max-height:286px }
.building-card .building-copy p{ display:-webkit-box;min-height:43px;max-height:43px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3 }
.building-card footer{ min-height:70px;box-sizing:border-box }
.building-upgrade-modal{ width:min(860px,calc(100vw - 24px));max-height:none;overflow:visible }
.building-upgrade-modal .modal-frame{ overflow:visible }
.building-upgrade-modal .modal-body{ position:relative;z-index:1;max-height:none;overflow:visible }
.building-upgrade-modal .modal-frame>footer{ position:relative;z-index:5;background:#141d1f }
.building-upgrade-layout{ display:grid;grid-template-columns:minmax(330px,.9fr) minmax(340px,1.1fr);gap:22px;align-items:start }
.building-upgrade-layout .building-modal-head{ grid-template-columns:150px minmax(0,1fr);gap:15px }
.building-upgrade-layout .building-modal-art{ position:relative;z-index:0;width:150px;height:150px;aspect-ratio:1/1 }
.building-upgrade-layout .requirement-block{ margin:0 0 14px }
.building-upgrade-layout .building-upgrade-details>h3{ margin:14px 0 8px }
.building-time{ display:flex;align-items:center;gap:8px;margin-top:11px;padding:8px;border:1px solid var(--line);background:rgba(0,0,0,.14) }
.building-time>svg{ width:19px;height:19px;color:var(--bronze) }
.building-time span{ display:flex;flex-direction:column;gap:2px }
.building-time small{ color:#737b77;font-size:8px;text-transform:uppercase }
.building-time b{ color:#c7c0ae;font-size:12px;font-variant-numeric:tabular-nums }

/* Persisted alliance crest designer. */
.alliance-crest-design{ position:relative;isolation:isolate;display:grid;place-items:center;flex:0 0 auto;width:78px;height:88px;padding:5px;overflow:hidden;background:var(--crest-accent);color:var(--crest-accent);clip-path:polygon(8% 5%,92% 5%,96% 65%,50% 98%,4% 65%);filter:drop-shadow(0 8px 12px rgba(0,0,0,.35)) }
.alliance-crest-design>i{ position:absolute;z-index:0;inset:4px;background:var(--crest-primary);clip-path:inherit }
.alliance-crest-design.pattern-split>i{ background:linear-gradient(135deg,var(--crest-primary) 0 49%,color-mix(in srgb,var(--crest-primary) 70%,#000) 50% 100%) }
.alliance-crest-design.pattern-stripe>i{ background:linear-gradient(90deg,var(--crest-primary) 0 31%,var(--crest-accent) 32% 43%,var(--crest-primary) 44% 56%,var(--crest-accent) 57% 68%,var(--crest-primary) 69%) }
.alliance-crest-design.pattern-sunburst>i{ background:conic-gradient(from 22.5deg,var(--crest-primary) 0 12.5%,color-mix(in srgb,var(--crest-primary) 60%,#000) 12.5% 25%,var(--crest-primary) 25% 37.5%,color-mix(in srgb,var(--crest-primary) 60%,#000) 37.5% 50%,var(--crest-primary) 50% 62.5%,color-mix(in srgb,var(--crest-primary) 60%,#000) 62.5% 75%,var(--crest-primary) 75% 87.5%,color-mix(in srgb,var(--crest-primary) 60%,#000) 87.5%) }
.alliance-crest-design.shape-diamond{ width:74px;height:74px;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%) }
.alliance-crest-design.shape-round{ width:78px;height:78px;border-radius:50%;clip-path:circle(50%) }
.alliance-crest-design.shape-banner{ clip-path:polygon(5% 0,95% 0,95% 82%,72% 68%,50% 100%,28% 68%,5% 82%) }
.alliance-crest-design>svg{ position:relative;z-index:2;width:46%;height:46%;transform:none!important;filter:drop-shadow(0 2px 2px rgba(0,0,0,.55)) }
.alliance-crest-design.alliance-crest{ width:78px;height:88px;border:0;transform:none;background:var(--crest-accent) }
.alliance-designer-modal{ width:min(820px,calc(100vw - 24px)) }
.crest-designer{ display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;margin-bottom:18px;padding:16px;border:1px solid var(--line);background:rgba(0,0,0,.13) }
.crest-preview-stage{ display:grid;place-items:center;align-content:center;min-height:245px;border:1px solid var(--line);background:radial-gradient(circle,rgba(199,146,79,.12),transparent 64%),#101719 }
.crest-preview-stage>small{ margin-bottom:16px;color:#777f7b;font-size:8px;text-transform:uppercase;letter-spacing:.08em }
.crest-preview-stage>b{ margin-top:12px;color:var(--bronze-bright);letter-spacing:.14em }
.alliance-crest-design.large{ width:112px;height:126px }
.crest-controls{ display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px }
.crest-controls>label:first-child{ grid-column:1/-1 }
.crest-palette{ display:flex;gap:7px;margin:0;padding:0;border:0 }
.crest-palette legend{ margin-bottom:7px;color:#777f7b;font-size:8px;text-transform:uppercase }
.crest-palette label{ cursor:pointer }
.crest-palette input{ position:absolute;width:1px;height:1px;opacity:0;pointer-events:none }
.crest-palette label>span{ display:block;width:27px;height:27px;border:2px solid transparent;border-radius:50%;background:var(--swatch);box-shadow:0 0 0 1px var(--line) }
.crest-palette label:has(input:checked)>span{ border-color:#e7ddc2;box-shadow:0 0 0 2px var(--bronze),0 0 12px var(--swatch) }

@media (max-width:700px){
  .building-grid{ grid-auto-rows:246px }
  .building-card{ height:246px;min-height:246px;max-height:246px }
  .building-upgrade-layout{ grid-template-columns:1fr;gap:14px }
  .building-upgrade-layout .building-modal-head{ grid-template-columns:112px minmax(0,1fr) }
  .building-upgrade-layout .building-modal-art{ width:112px;height:112px }
  .crest-designer{ grid-template-columns:1fr;gap:10px;margin-bottom:10px;padding:10px }
  .crest-preview-stage{ min-height:140px }
  .alliance-crest-design.large{ width:82px;height:92px }
  .crest-controls{ gap:8px }
  .crest-palette{ min-width:0;gap:3px }
  .crest-palette label>span{ width:19px;height:19px }
}
.building-modal-art{ width:150px;height:150px;aspect-ratio:1/1 }
.recruit-unit-art{ align-self:center;width:92px;height:92px;aspect-ratio:1/1 }
.map-legend .river::before{ border-radius:1px;background:#2d7683 }
.map-legend .ocean::before{ border-radius:1px;background:#173f55;box-shadow:inset 0 0 0 1px rgba(104,179,192,.35) }
.map-legend .mountain::before{ border-radius:1px;background:#aaa393;clip-path:polygon(50% 0,100% 100%,0 100%) }
.map-legend .vale::before{ background:#587253 }
.terrain-note{ color:#737c77;font-size:9px;line-height:1.5 }
.route-terrain-preview{ display:flex;align-items:center;gap:10px;margin-top:14px;padding:10px;border:1px solid rgba(45,118,131,.38);background:rgba(27,70,80,.13) }.route-terrain-preview>svg{ width:24px;height:24px;color:#5d9aa3 }.route-terrain-preview>span{ display:grid;gap:3px }.route-terrain-preview small{ color:#728c8f;font-size:8px;text-transform:uppercase }.route-terrain-preview b{ color:#a7b9b5;font-weight:500 }.route-terrain-preview em{ color:#687672;font-size:8px;font-style:normal }
.hero-vitals{ display:flex;justify-content:space-between;gap:12px;margin:14px 0 6px;color:#747b77 }.hero-vitals span{ display:flex;gap:6px }.hero-vitals small{ text-transform:uppercase }.hero-vitals b{ color:#aaa99e;font-size:9px }.hero-status-alert{ display:flex;align-items:center;gap:8px;margin-top:12px;padding:9px;border:1px solid rgba(218,102,92,.35);background:rgba(142,52,45,.12);color:#e17a70;font-size:9px }.hero-status-alert svg{ width:15px;height:15px }.active-mission{ display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:9px;align-items:center;margin-top:12px;padding:9px;border:1px solid rgba(156,123,212,.3);background:rgba(102,74,145,.1) }.active-mission>div{ display:grid;gap:3px }.active-mission small{ color:#837694;font-size:8px;text-transform:uppercase }.active-mission b{ color:#c1b1db;font-family:Georgia,serif;font-weight:400 }.active-mission time{ color:#b6a3d3;font-size:9px }.active-mission .progress{ margin:2px 0 0 }.hero-footer{ display:flex;align-items:center;justify-content:space-between;gap:10px }.mission-option-copy{ display:grid;gap:6px }.mission-option-copy>b{ color:#bbb6a8;font-family:Georgia,serif;font-weight:400 }.mission-option-copy>em{ color:#767d78;font-size:9px;font-style:normal;line-height:1.45 }
.alliance-score{ display:grid;justify-items:end }.alliance-score b{ color:var(--bronze-bright);font-size:21px }.alliance-score small{ color:#737a76;font-size:8px;text-transform:uppercase }.alliance-dashboard{ display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:14px;margin-top:14px }.alliance-dashboard>.panel{ min-width:0 }.alliance-wide{ grid-column:1/-1 }.alliance-chat-panel{ grid-row:span 2 }.alliance-member-list{ display:grid;max-height:410px;overflow:auto }.alliance-member{ display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:9px 12px;border-bottom:1px solid var(--line) }.alliance-member>div{ display:grid;gap:3px }.alliance-member b{ color:#aaa99e }.alliance-member small{ color:#6e7571;font-size:8px }.alliance-member>strong{ color:var(--bronze-bright);font-size:10px }.icon-button.small{ width:29px;height:29px }.alliance-operation-grid{ display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px }.operation-card footer{ display:flex;gap:7px }.diplomacy-list{ display:grid;gap:7px }.diplomacy-row{ display:grid;grid-template-columns:36px minmax(0,1fr) auto auto;gap:7px;align-items:center;padding:8px;border:1px solid var(--line);background:rgba(0,0,0,.1) }.diplomacy-row>div{ display:grid;gap:3px }.diplomacy-row b{ color:#aaa99e }.diplomacy-row small{ color:#6e7571;font-size:8px }.permission-grid{ display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:13px;padding:12px;border:1px solid var(--line) }.permission-grid legend{ color:#858c87;font-size:8px;text-transform:uppercase }
@media (max-width:760px){
  .building-card .building-card-art{ width:108px;height:108px }
  .alliance-dashboard{ grid-template-columns:1fr }.alliance-wide{ grid-column:auto }.alliance-chat-panel{ grid-row:auto }.alliance-score{ grid-column:1/-1;justify-items:start }
}
@media (max-width:440px){
  .building-modal-art{ width:min(100%,220px);height:auto;aspect-ratio:1/1 }
  .recruit-unit-art{ width:76px;height:76px }
  .hero-footer{ align-items:stretch;flex-direction:column }.hero-footer .btn{ width:100% }.permission-grid{ grid-template-columns:1fr }.diplomacy-row{ grid-template-columns:32px minmax(0,1fr) }.diplomacy-row .btn{ grid-column:2 }
}

/* Persistent world sites, boss health, and caravan orders. */
.map-marker.site{ width:32px;height:32px;border-radius:4px;transform:translate(-50%,-50%) rotate(45deg);background:#2d3028 }
.map-marker.site svg{ width:17px;height:17px;transform:rotate(-45deg) }
.map-marker.site:hover,.map-marker.site.selected{ transform:translate(-50%,-50%) rotate(45deg) scale(1.17) }
.map-marker.site.woodcutter_camp{ border-color:#9f7750;color:#c38f5e }
.map-marker.site.stone_quarry{ border-color:#9b9d96;color:#c0c2ba }
.map-marker.site.iron_mine{ border-color:#758c9c;color:#9eb5c5 }
.map-marker.site.farm{ border-color:#b4a152;color:#d1bd63 }
.map-marker.site.bandit_village{ border-color:#b65e55;color:#e27c70;background:#402725 }
.map-marker.site.season_monster{ width:44px;height:44px;border-radius:50%;transform:translate(-50%,-50%);border-color:#be735a;color:#ff9b77;background:radial-gradient(circle,#673327,#251a1b);box-shadow:0 0 0 4px rgba(180,70,50,.06),0 0 18px rgba(220,79,55,.34);animation:boss-pulse 2s ease-in-out infinite }
.map-marker.site.season_monster svg{ width:25px;height:25px;transform:none }
.map-marker.site.season_monster:hover,.map-marker.site.season_monster.selected{ transform:translate(-50%,-50%) scale(1.15) }
.site-label{ color:#d0bd98 }
.map-legend .outpost::before{ border-radius:1px;background:#c19a62;transform:rotate(45deg) }
.map-legend .monster::before{ background:#ef785d;box-shadow:0 0 8px #e85d46 }
@keyframes boss-pulse { 50% { box-shadow:0 0 0 6px rgba(180,70,50,.025),0 0 24px rgba(220,79,55,.42);filter:brightness(1.08) } }
.site-storage,.boss-health{ margin-top:14px;padding:10px;border:1px solid var(--line);background:rgba(0,0,0,.14) }
.site-storage>div:first-child{ display:flex;align-items:center;gap:9px }
.site-storage>div:first-child>span:last-child{ display:grid;gap:2px }
.site-storage small,.boss-health small{ color:#707874;font-size:8px }
.site-storage b,.boss-health b{ color:#bbb6a8;font-size:10px }
.site-storage .progress,.boss-health .progress{ margin:8px 0 6px }
.boss-health{ border-color:rgba(221,98,75,.32);background:rgba(112,42,32,.13) }
.boss-health header{ display:flex;justify-content:space-between;gap:8px;color:#c77968;font-size:9px }
.boss-health .progress i{ background:#cb604e;box-shadow:0 0 8px rgba(222,86,65,.7) }
.site-icon.season_monster{ color:#e47a64;border-color:#a65345 }
.site-command-summary{ display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;padding:10px;border:1px solid var(--line);background:rgba(0,0,0,.12) }
.site-command-summary>span:last-child{ display:grid;gap:4px }
.site-command-summary b{ color:#bcb6a7;font-family:Georgia,serif;font-weight:400 }
.site-command-summary small{ color:#707874;font-size:8px }
.army-input{ grid-template-columns:46px minmax(0,1fr) 100px }
.army-input .army-unit-art{ display:block;width:44px;height:44px;border:1px solid var(--line) }
.siege-recall-origin{display:flex!important;flex-flow:row wrap!important;align-items:center;gap:4px!important;color:#7f8b85!important}.siege-recall-origin>.ui-icon{width:14px!important;height:14px!important;color:var(--bronze)}.siege-recall-origin strong{color:#b9aa8e;font-weight:600}.siege-recall-input{border-color:rgba(199,146,79,.2)}

/* GPU-only map previews keep dragging and wheel zoom independent from API work. */
.map-viewport{ position:absolute;inset:0;contain:strict;will-change:auto;transform-origin:center;transition:none }
.world-map.dragging .map-viewport{ transition:none }
.map-viewport>canvas,.map-viewport>.map-movement-layer,.map-viewport>.map-marker-layer{ position:absolute;inset:0;width:100%;height:100% }

/* Hero training, army assignment, and narrative reports. */
.hero-modifiers{ display:flex;flex-wrap:wrap;gap:5px;margin-top:10px }
.hero-modifiers span{ display:flex;align-items:center;gap:4px;padding:4px 6px;border:1px solid var(--line);color:#89938d;font-size:8px }
.hero-modifiers svg{ width:12px;height:12px;color:#c7924f }
.hero-modifiers .signature{ color:#bba672;border-color:rgba(199,146,79,.28) }
.skill{ gap:8px;color:#959b96 }
.skill>span{ display:flex;align-items:center;justify-content:space-between;min-width:0;flex:1;gap:7px }
.skill small{ overflow:hidden;text-overflow:ellipsis;text-transform:uppercase }
.skill-plus{ display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;padding:0;border:1px solid var(--bronze);border-radius:50%;background:rgba(199,146,79,.12);color:var(--bronze-bright);font-size:19px;line-height:1;cursor:pointer }
.skill-plus:hover:not(:disabled){ background:var(--bronze);color:#11191b;transform:scale(1.06) }
.skill-plus:disabled{ opacity:.3;cursor:not-allowed }
.active-mission.army{ border-color:rgba(199,146,79,.3);background:rgba(199,146,79,.08) }
.hero-army-picker{ display:grid;gap:6px;margin-top:12px;padding:11px;border:1px solid rgba(199,146,79,.3);background:rgba(199,146,79,.07) }
.hero-army-picker>span{ color:#b9aa85;font-size:8px;text-transform:uppercase }
.hero-army-picker small{ color:#747d77;font-size:8px;line-height:1.45 }
.hero-army-picker.disabled{ opacity:.58 }
.hero-skill-level{ display:flex;align-items:center;gap:12px;padding:13px;border:1px solid var(--line);background:rgba(0,0,0,.14) }
.hero-skill-level>span{ flex:1;color:#bcb7a8;font-family:Georgia,serif;font-size:18px }
.hero-skill-level>b{ color:var(--bronze-bright);font-size:18px }.hero-skill-level i{ color:#6f7772;font-style:normal }
.hero-skill-level small{ color:#727a75;font-size:8px }
.skill-simulation{ display:grid;grid-template-columns:1fr 1fr;gap:8px }
.skill-simulation>span{ display:grid;gap:5px;padding:12px;border:1px solid rgba(91,155,136,.3);background:rgba(62,116,99,.1) }
.skill-simulation small,.modifier-comparison small{ color:#77817b;font-size:8px;text-transform:uppercase }
.skill-simulation b{ color:#92c4af;font-size:14px }
.modifier-comparison{ display:grid;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:6px;margin-top:9px }
.modifier-comparison>span{ display:grid;grid-template-columns:16px 1fr;gap:3px 6px;padding:8px;border:1px solid var(--line) }
.modifier-comparison svg{ grid-row:1/3;width:15px;height:15px;color:#727a75 }.modifier-comparison b{ color:#919890;font-size:9px }
.modifier-comparison .improved{ border-color:rgba(91,155,136,.38);background:rgba(62,116,99,.09) }.modifier-comparison .improved b{ color:#86c0a6 }
.mission-story{ display:grid;gap:9px;margin-top:15px }
.story-brick{ display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:11px;border:1px solid var(--line);background:rgba(0,0,0,.12) }
.story-brick>span{ display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(199,146,79,.3);color:var(--bronze-bright) }.story-brick svg{ width:16px;height:16px }
.story-brick small{ color:#887755;font-size:8px;text-transform:uppercase }.story-brick p{ margin:4px 0 0;color:#96988e;line-height:1.55 }
.hero-report-status{ display:flex;gap:8px;align-items:center;padding:11px;border:1px solid rgba(91,155,136,.35);background:rgba(62,116,99,.1);color:#8bc3aa }.hero-report-status.failed{ border-color:rgba(204,91,78,.35);background:rgba(125,43,36,.11);color:#db7468 }.hero-report-status svg{ width:20px;height:20px }

/* Merchant logistics, alliance aid, and caravan routes. */
.alliance-crest-design>svg{ color:var(--crest-symbol) }
.logistics-summary{ display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:14px;align-items:center;margin-bottom:16px;padding:12px 16px;border:1px solid var(--line);background:linear-gradient(90deg,rgba(199,146,79,.09),rgba(21,30,32,.94)) }
.logistics-caravan-art{ width:72px;height:72px;border:1px solid rgba(199,146,79,.28) }
.logistics-summary>div:nth-child(2){ display:grid;gap:4px }.logistics-summary small{ color:#747b77;font-size:8px;text-transform:uppercase }.logistics-summary b{ color:#c8c1ae;font-family:Georgia,serif;font-size:17px;font-weight:400 }.logistics-summary span{ color:#818a84;font-size:9px }
.resource-field{ min-width:0 }.resource-select{ display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;border:1px solid #313a3b;background:#11191b }.resource-select:focus-within{ border-color:#8d693e;box-shadow:0 0 0 1px rgba(199,146,79,.15) }.resource-select>i{ display:grid;place-items:center;width:40px;height:38px;border-right:1px solid var(--line);font-style:normal }.resource-select .resource-glyph{ width:30px;height:30px }.resource-select select{ height:38px;border:0;background:transparent;box-shadow:none }.resource-select select:focus{ box-shadow:none }
.caravan-requirement{ display:flex;align-items:center;gap:7px;margin:10px 0;padding:9px;border:1px solid var(--line);color:#7d8580;font-size:9px }.caravan-requirement svg{ width:16px;height:16px }.caravan-requirement span{ flex:1 }.caravan-requirement.met{ border-color:rgba(91,155,136,.35);color:#84baa3;background:rgba(62,116,99,.07) }.caravan-requirement.missing{ border-color:rgba(204,91,78,.35);color:#d57469;background:rgba(125,43,36,.07) }
.trade-table td>small{ display:block;margin-top:4px;color:#626966;font-size:8px }.trade-table .cost-row{ flex-wrap:nowrap }
.reinforcement-card .temporary-return{ display:flex;align-items:center;gap:5px;margin-top:5px;color:#c49a57 }.reinforcement-card .temporary-return time{ color:#d5b16d;font-variant-numeric:tabular-nums }
.quest-card.locked{ opacity:.68;background:rgba(0,0,0,.12) }.quest-card.locked .quest-icon{ color:#666d69;border-color:var(--line) }.quest-kind{ display:block;margin-bottom:4px;color:#8c714d;font-size:8px;letter-spacing:.06em;text-transform:uppercase }
.map-marker.cargo-route-marker{ z-index:6;width:31px;height:31px;border-radius:50%;transform:translate(-50%,-50%);background:#463a25;color:#f0c66e;box-shadow:0 0 0 4px rgba(224,183,101,.09),0 5px 14px rgba(0,0,0,.48) }.map-marker.cargo-route-marker svg{ width:17px;height:17px;transform:none }.map-marker.cargo-route-marker:hover,.map-marker.cargo-route-marker.selected{ transform:translate(-50%,-50%) scale(1.18) }.map-marker.cargo-route-marker.allied{ border-color:#79c3aa;background:#24413b;color:#91d5bc }.map-marker.cargo-route-marker.hostile{ border-color:#dc776d;background:#482927;color:#ef897c }.inspector-icon.cargo{ color:#e0b765;border-color:rgba(224,183,101,.38) }.cargo-manifest{ margin:12px 0 }.cargo-manifest h3{ margin-top:0 }.cargo-manifest>small{ color:#767e79;font-size:8px }
.alliance-request-grid{ display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:9px }.alliance-request-card>header{ grid-template-columns:38px minmax(0,1fr) auto }.alliance-request-card time{ color:#b08c58;font-size:9px }.alliance-request-card.complete{ opacity:.72;border-color:rgba(91,155,136,.32) }.request-lines{ display:grid;gap:8px;margin:12px 0 }.request-lines>div{ display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 9px;align-items:center }.request-lines>div>span:first-child{ display:flex;align-items:center;gap:7px;min-width:0 }.request-lines .resource-glyph,.request-unit-art{ width:28px;height:28px }.request-lines b{ overflow:hidden;color:#a9aa9f;font-size:9px;text-overflow:ellipsis;white-space:nowrap }.request-lines>div>span:nth-child(2){ color:#828985;font-size:8px }.request-lines .progress{ grid-column:1/-1 }.alliance-request-card footer{ display:flex;gap:7px;align-items:center }.operation-goal{ display:grid;gap:4px;margin:10px 0;padding:9px;border-left:2px solid var(--bronze);background:rgba(199,146,79,.06) }.operation-goal small{ color:#786c56;font-size:8px;text-transform:uppercase }.operation-goal b{ color:#b4b0a3;font-size:10px }
.forum-board{ display:grid;gap:5px }.forum-thread-row{ display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:5px;align-items:center;border-bottom:1px solid var(--line) }.forum-thread-row .message-item{ border:0 }.forum-thread-row h3 svg{ width:13px;height:13px;color:var(--bronze) }.forum-category,.forum-thread-meta{ display:flex;align-items:center;gap:5px;color:#927b57;font-size:8px;text-transform:uppercase }.forum-category svg{ width:12px;height:12px }.forum-thread-meta{ justify-content:space-between;margin-bottom:12px;padding:8px;border:1px solid var(--line) }.forum-post .message-body{ margin-top:12px;white-space:pre-wrap }.forum-post+ .forum-post{ margin-top:7px } #allianceForumPostForm{ margin-top:18px }

@media (max-width:700px){
  .alliance-crest-design.alliance-crest{ width:58px;height:66px }
  .logistics-summary{ grid-template-columns:58px minmax(0,1fr) }.logistics-caravan-art{ width:56px;height:56px }.logistics-summary>.requirement{ grid-column:1/-1 }
  .alliance-request-grid{ grid-template-columns:1fr }
  .army-input{ grid-template-columns:42px minmax(0,1fr) 72px }
  .army-input .army-unit-art{ width:40px;height:40px }
  .skill-simulation{ grid-template-columns:1fr }
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{ scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important }
}

/* Building production, demolition forecast, and unified active-task ledger. */
.building-grid{grid-auto-rows:310px}
.building-card{height:310px;min-height:310px;max-height:310px}
.building-card>.building-icon{display:none}
.building-card .building-copy{margin-top:112px}
.building-production{position:relative;z-index:2;display:grid;gap:5px;margin:7px 12px 0;padding:7px 0 0;border-top:1px solid var(--line)}
.building-production>small{color:#69716d;font-size:8px;letter-spacing:.06em;text-transform:uppercase}
.building-production>div{display:flex;flex-wrap:wrap;gap:6px}
.building-production>div>span:not(.no-production){display:flex;align-items:center;gap:5px;padding:3px 6px 3px 3px;border:1px solid color-mix(in srgb,var(--resource-color) 28%,var(--line));background:color-mix(in srgb,var(--resource-color) 7%,transparent);color:#a9b4ad;font-size:9px}
.building-production .resource-glyph{width:23px;height:23px}
.building-production .resource-glyph svg{width:14px!important;height:14px!important}
.building-production .no-production{color:#606965;font-size:8px;font-style:italic}
.building-card footer{min-height:69px}
.queue-mini>div:first-child{display:grid;grid-template-columns:minmax(0,1fr) auto 24px;gap:8px;align-items:center}
.queue-mini .task-copy{display:grid;min-width:0;gap:2px}
.queue-mini .task-copy b{overflow:hidden;color:#aaa99e;text-overflow:ellipsis;white-space:nowrap}
.queue-mini .task-copy small{color:#69726d;font-size:8px}
.queue-mini.expanded .task-copy b{white-space:normal}
.all-task-list{display:grid;gap:8px}
.all-task-list .queue-mini{margin:0}
.task-overview-modal{width:min(720px,calc(100vw - 24px))}
.building-order>span{display:grid;grid-template-columns:1fr;gap:3px;min-width:0}
.building-order b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.demolition-modal{width:min(760px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:hidden}
.demolition-modal .modal-frame{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:calc(100vh - 24px);overflow:hidden}
.demolition-modal .modal-body{max-height:none;overflow:visible;padding:18px}
.demolition-confirm{grid-template-columns:150px minmax(0,1fr);gap:18px;align-items:start}
.demolition-art{position:relative!important;right:auto!important;bottom:auto!important;width:150px;height:150px;transform:none!important;border:1px solid rgba(202,95,83,.32)}
.demolition-confirm p{margin:0 0 10px;line-height:1.45}
.demolition-confirm h3{margin:12px 0 7px;color:#aaa99e;font-size:9px;letter-spacing:.06em;text-transform:uppercase}
.demolition-production{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.demolition-production>span{display:grid;grid-template-columns:25px minmax(0,1fr);gap:1px 6px;align-items:center;min-width:0;padding:5px;border:1px solid var(--line);background:rgba(0,0,0,.12)}
.demolition-production .resource-glyph{grid-row:1/3;width:25px;height:25px}
.demolition-production small{overflow:hidden;color:#747c77;font-size:7px;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}
.demolition-production b{color:#9ba39e;font-size:8px;font-variant-numeric:tabular-nums;white-space:nowrap}
.demolition-production .lowered{border-color:rgba(202,95,83,.34);background:rgba(121,42,35,.1)}
.demolition-production .lowered b{color:#df756b}
.demolition-production .raised{border-color:rgba(91,155,136,.35)}
.demolition-production .raised b{color:#83c2a5}
.demolition-production .steady{opacity:.62}

@media (max-width:760px){
  .building-grid{grid-auto-rows:270px}
  .building-card{height:270px;min-height:270px;max-height:270px}
  .building-card .building-copy{margin-top:102px}
  .demolition-modal .modal-body{overflow-y:auto}
  .demolition-confirm{grid-template-columns:110px minmax(0,1fr);gap:12px}
  .demolition-art{width:110px;height:110px}
  .demolition-production{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:440px){
  .building-grid{grid-auto-rows:310px}
  .building-card{height:310px;min-height:310px;max-height:310px}
  .demolition-confirm{grid-template-columns:1fr}
  .demolition-art{display:none}
}

/* Command planning, selectable portraits, and consistent task controls. */
.queue-mini>div:first-child>span:nth-child(2){min-width:0}.queue-stop{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;padding:0;border:1px solid rgba(202,95,83,.32);background:rgba(121,42,35,.12);color:#cb7167;cursor:pointer}.queue-stop:hover{border-color:#cb7167;background:rgba(121,42,35,.28)}.queue-stop svg{width:12px;height:12px}
.building-card{height:265px;min-height:265px}.building-active-orders{margin-top:14px;padding-top:11px;border-top:1px solid var(--line)}.building-active-orders>h3{margin:0 0 7px}.building-order{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:7px;border:1px solid var(--line);background:rgba(0,0,0,.12)}.building-order+.building-order{margin-top:5px}.building-order>span{display:grid;grid-template-columns:18px 1fr;gap:2px 7px;align-items:center}.building-order svg{grid-row:1/3;width:16px;height:16px;color:var(--bronze)}.building-order b{color:#a9a79d;font-size:9px}.building-order small{color:#6f7772;font-size:8px}.demolition-confirm{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;align-items:start}.demolition-art{width:150px;height:150px;border:1px solid rgba(202,95,83,.32)}.refund-row .cost.sufficient,.refund-row .cost{border-color:rgba(91,155,136,.35);color:#8bc3aa;background:rgba(62,116,99,.08)}
.unit-choice-input{position:absolute!important;width:1px!important;height:1px!important;margin:0!important;opacity:0;pointer-events:none}.recruit-unit-card:has(.unit-choice-input:focus-visible){outline:2px solid var(--bronze);outline-offset:2px}.recruit-unit-card:has(.unit-choice-input:checked)::after{content:"✓";position:absolute;top:8px;left:8px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--bronze);color:#101719;font-weight:700;box-shadow:0 2px 8px rgba(0,0,0,.45)}
.resource-select{position:relative;overflow:hidden;border-radius:3px;background:linear-gradient(135deg,#151f21,#0e1618);box-shadow:inset 0 1px rgba(255,255,255,.025)}.resource-select::after{content:"⌄";position:absolute;right:11px;top:8px;color:var(--bronze);font-size:16px;pointer-events:none}.resource-select>i{position:relative;z-index:1;background:rgba(199,146,79,.045)}.resource-select select{position:relative;z-index:1;appearance:none;padding:0 34px 0 11px;color:#c0bcaf;cursor:pointer}.resource-select select:hover{background:rgba(199,146,79,.05)}.resource-field.unit-field .resource-select{border-color:rgba(110,135,127,.42)}
.dispatch-plan{margin-top:14px;border:1px solid rgba(199,146,79,.3);background:linear-gradient(135deg,rgba(199,146,79,.08),rgba(19,30,32,.85))}.dispatch-plan>header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 11px;border-bottom:1px solid var(--line)}.dispatch-plan>header>span{display:flex;align-items:center;gap:7px;color:#c4af80}.dispatch-plan>header svg{width:16px;height:16px}.dispatch-plan>header em{color:#777e79;font-size:8px;font-style:normal}.dispatch-plan-grid{display:grid;grid-template-columns:repeat(3,1fr)}.dispatch-plan-grid>div{display:grid;gap:4px;padding:11px}.dispatch-plan-grid>div+div{border-left:1px solid var(--line)}.dispatch-plan-grid small{color:#7a817c;font-size:8px;text-transform:uppercase}.dispatch-plan-grid b{color:#d2c4a4;font-family:Georgia,serif;font-size:17px;font-weight:400}.dispatch-plan-grid span{color:#6d7671;font-size:8px}.site-command-summary{grid-template-columns:58px minmax(0,1fr)}.site-summary-art{width:56px;height:56px;border:1px solid var(--line)}
.mailbox-tabs{display:flex;gap:5px;margin-bottom:8px}.mailbox-tabs .tab{display:flex;align-items:center;gap:7px}.mailbox-tabs svg{width:15px;height:15px}.mailbox-tabs b{min-width:18px;padding:2px 5px;border-radius:9px;background:rgba(199,146,79,.15);color:var(--bronze-bright);font-size:8px}
.avatar{width:38px;height:38px;padding:0;overflow:hidden;border:1px solid var(--bronze);transform:none;clip-path:polygon(50% 0,93% 22%,93% 78%,50% 100%,7% 78%,7% 22%);background:#182225}.avatar .topbar-avatar-art{width:100%;height:100%}.avatar-selector{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:7px;margin:0 0 5px;padding:11px;border:1px solid var(--line)}.avatar-selector legend{padding:0 6px;color:#8a918c;font-size:8px;text-transform:uppercase}.avatar-selector label{position:relative;display:grid;gap:6px;margin:0;padding:5px;border:1px solid var(--line);background:rgba(0,0,0,.12);cursor:pointer;text-align:center}.avatar-selector label:has(input:checked){border-color:var(--bronze);background:rgba(199,146,79,.08);box-shadow:inset 0 0 0 1px rgba(199,146,79,.18)}.avatar-selector input{position:absolute;width:1px;height:1px;opacity:0}.avatar-choice-art{width:100%;aspect-ratio:1/1}.avatar-selector label>span:last-child{color:#8d928d;font-size:8px}
.account-danger-zone{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding:14px;border:1px solid rgba(218,102,92,.38);background:linear-gradient(120deg,rgba(142,52,45,.16),rgba(0,0,0,.08))}.account-danger-zone>div{min-width:0}.account-danger-zone small{display:block;color:#d8786e;font-size:8px;letter-spacing:.1em;text-transform:uppercase}.account-danger-zone b{display:block;margin-top:4px;color:#d7c6b3;font-family:Georgia,serif;font-size:16px;font-weight:400}.account-danger-zone p{max-width:420px;margin:5px 0 0;color:#858985;font-size:9px;line-height:1.5}.account-danger-zone .btn{flex:0 0 auto}.account-deletion-warning{display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px;margin-bottom:18px;padding:14px;border:1px solid rgba(218,102,92,.42);background:rgba(142,52,45,.15)}.account-deletion-warning>svg{width:26px;height:26px;color:#d8786e}.account-deletion-warning b{color:#d7c6b3}.account-deletion-warning p{margin:7px 0 0;color:#a09c93;font-size:10px;line-height:1.55}.story-brick.decision-brick{border-color:rgba(199,146,79,.36);background:linear-gradient(90deg,rgba(199,146,79,.08),rgba(0,0,0,.12))}.story-influence{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.story-influence b,.story-influence span{padding:4px 6px;border:1px solid var(--line);font-size:8px}.story-influence b{color:#c4ad7b}.story-influence .positive{color:#83b89f;border-color:rgba(91,155,136,.28)}.story-influence .negative{color:#d1766c;border-color:rgba(204,91,78,.28)}
.danger-text{color:#cf7167!important}.forum-thread-meta .danger-text{margin-left:auto}.forum-post header{display:flex;align-items:center;justify-content:space-between;gap:8px}

/* Illustrated, clickable world markers and immersive navigation furniture. */
.map-marker:not(.cargo-route-marker),.map-marker.site:not(.cargo-route-marker),.map-marker.fort:not(.cargo-route-marker),.map-marker.site.season_monster:not(.cargo-route-marker){width:58px;height:58px;overflow:visible;border:0;border-radius:0;transform:translate(-50%,-50%);background:transparent;box-shadow:none;filter:drop-shadow(0 7px 6px rgba(0,0,0,.62));animation:none}.map-marker:not(.cargo-route-marker):hover,.map-marker:not(.cargo-route-marker).selected,.map-marker.site:not(.cargo-route-marker):hover,.map-marker.site:not(.cargo-route-marker).selected,.map-marker.site.season_monster:not(.cargo-route-marker):hover,.map-marker.site.season_monster:not(.cargo-route-marker).selected{z-index:8;transform:translate(-50%,-50%) scale(1.16);filter:brightness(1.15) drop-shadow(0 8px 8px rgba(0,0,0,.72))}.map-marker:not(.cargo-route-marker).selected::after{content:"";position:absolute;inset:3px;border:2px solid #e1bf75;border-radius:50%;box-shadow:0 0 14px rgba(225,191,117,.75);pointer-events:none}.map-marker .map-location-art{width:58px;height:58px;border-radius:50%;transform:none;clip-path:circle(47%);background-color:#172124}.map-marker.site.season_monster .map-location-art{width:72px;height:72px;animation:boss-pulse 2s ease-in-out infinite}.map-label{transform:translate(-50%,32px)}.map-compass{position:absolute;z-index:9;left:24px;bottom:20px;display:grid;place-items:center;width:54px;height:54px;border:1px solid rgba(199,146,79,.35);border-radius:50%;background:radial-gradient(circle,rgba(20,30,32,.92),rgba(8,13,14,.86));color:#c8a768;font-family:Georgia,serif;font-size:10px;box-shadow:0 4px 16px rgba(0,0,0,.4);pointer-events:none}.map-compass::before,.map-compass::after{content:"";position:absolute;background:rgba(199,146,79,.35)}.map-compass::before{width:1px;height:44px}.map-compass::after{width:44px;height:1px}.map-compass span{position:absolute;top:7px;width:8px;height:18px;background:linear-gradient(#d5b46f 50%,#58615d 50%);clip-path:polygon(50% 0,100% 100%,50% 78%,0 100%)}.map-compass b{position:absolute;top:-15px}.map-drag-hint{position:absolute;z-index:9;left:50%;bottom:17px;display:flex;align-items:center;gap:6px;transform:translateX(-50%);padding:6px 9px;border:1px solid var(--line);background:rgba(11,17,18,.82);color:#7b837e;font-size:8px;pointer-events:none}.map-drag-hint svg{width:13px;height:13px;color:var(--bronze)}.map-spot-marker{position:absolute;z-index:7;width:44px;height:44px;border:0;border-radius:50%;transform:translate(-50%,-50%);background:rgba(199,146,79,.08);box-shadow:0 0 0 1px rgba(231,196,121,.75),0 0 22px rgba(231,196,121,.55);pointer-events:none}.map-spot-marker::before,.map-spot-marker::after{content:"";position:absolute;left:50%;top:50%;background:#ebcc85;transform:translate(-50%,-50%)}.map-spot-marker::before{width:56px;height:1px}.map-spot-marker::after{width:1px;height:56px}.map-spot-marker span{position:absolute;inset:10px;border:1px solid #ebcc85;border-radius:50%}.inspector-icon.spot{color:var(--bronze);border-color:rgba(199,146,79,.35)}

@media (max-width:760px){.building-card{height:235px;min-height:235px}.demolition-confirm{grid-template-columns:1fr}.demolition-art{width:100%;max-width:220px;height:auto;aspect-ratio:1/1}.dispatch-plan-grid{grid-template-columns:1fr}.dispatch-plan-grid>div+div{border-left:0;border-top:1px solid var(--line)}.avatar-selector{grid-template-columns:repeat(2,1fr)}.map-drag-hint{display:none}.map-compass{width:42px;height:42px;left:15px;bottom:14px}}

/* Keep these sizing rules last: earlier responsive legacy rules size the old cards/dialog. */
.building-card{height:310px;min-height:310px;max-height:310px}
.building-order>span{grid-template-columns:1fr;gap:3px;min-width:0}
@media (max-width:760px){
  .building-card{height:270px;min-height:270px;max-height:270px}
  .demolition-confirm{grid-template-columns:110px minmax(0,1fr);gap:12px}
  .demolition-art{width:110px;height:110px;max-width:none;aspect-ratio:auto}
}
@media (max-width:440px){
  .building-card{height:310px;min-height:310px;max-height:310px}
  .demolition-confirm{grid-template-columns:1fr}
  .demolition-art{display:none}
}

/* Spacious two-column city works overview. */
.building-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:420px;gap:16px;padding:16px}
.building-card{height:420px;min-height:420px;max-height:420px}
.building-card .building-card-art{inset:10px auto auto calc(50% - 78px);width:156px;height:156px}
.building-card>.level-badge{top:14px;right:14px;padding:5px 8px;font-size:9px}
.building-card .building-copy{margin-top:158px;padding:0 18px}
.building-card h3{margin:12px 0 7px;font-size:20px;line-height:1.2}
.building-card p,.building-card .building-copy p{min-height:52px;max-height:52px;font-size:11px;line-height:1.6;-webkit-line-clamp:3}
.building-production{gap:8px;margin:11px 18px 0;padding:11px 0 0}
.building-production>small{font-size:9px}
.building-production>div{gap:8px}
.building-production>div>span:not(.no-production){gap:7px;padding:4px 9px 4px 4px;font-size:10px}
.building-production .resource-glyph{width:28px;height:28px}
.building-card footer{display:block;min-height:74px;padding:12px 18px 15px}
.building-card footer .cost-row{gap:9px}
.building-card footer .cost b{font-size:11px}
.building-card footer .resource-glyph.resource-art{width:29px;height:29px}

@media (max-width:760px){
  .building-grid{grid-auto-rows:400px;gap:12px;padding:12px}
  .building-card{height:400px;min-height:400px;max-height:400px}
  .building-card .building-card-art{inset:9px auto auto calc(50% - 70px);width:140px;height:140px}
  .building-card .building-copy{margin-top:142px;padding:0 15px}
  .building-card h3{font-size:17px}
  .building-card p,.building-card .building-copy p{font-size:10px}
  .building-production{margin-right:15px;margin-left:15px}
  .building-card footer{display:block;padding-right:15px;padding-left:15px}
}
@media (max-width:620px){
  .building-grid{grid-template-columns:1fr;grid-auto-rows:400px}
}

/* Universal illustrated resource and unit combobox. */
.universal-field{position:relative;display:flex;flex-direction:column;gap:7px;min-width:0;color:#a8a596;font-size:11px;font-weight:600;letter-spacing:.04em}
.universal-field+label{margin-top:16px}
.form-grid>.universal-field+label{margin-top:0}
.universal-field:has(.universal-combobox.open){z-index:90}
.universal-field-label{display:block}
.universal-combobox{position:relative;min-width:0}
.universal-combobox-native{position:absolute!important;width:1px!important;height:1px!important;margin:0!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;border:0!important;opacity:0!important;pointer-events:none!important}
.universal-combobox-trigger,.universal-combobox-option{font:inherit;letter-spacing:normal;text-align:left}
.universal-combobox-trigger{display:grid;grid-template-columns:42px minmax(0,1fr) 18px;gap:10px;align-items:center;width:100%;min-height:52px;padding:5px 10px 5px 5px;border:1px solid #354041;border-radius:3px;background:linear-gradient(135deg,#172124,#101719);color:#c0bcaf;box-shadow:inset 0 1px rgba(255,255,255,.025);cursor:pointer}
.universal-combobox-trigger:hover{border-color:#695439;background:linear-gradient(135deg,#1a2628,#11191b)}
.universal-combobox-trigger:focus-visible{outline:2px solid var(--bronze);outline-offset:2px}
.universal-combobox-trigger:disabled{cursor:not-allowed;filter:saturate(.25);opacity:.55}
.universal-combobox-art{display:grid;place-items:center;width:42px;height:42px;overflow:hidden;border:1px solid rgba(199,146,79,.2);border-radius:3px;background:#101719}
.universal-combobox-art>.asset-art,.universal-combobox-option>.asset-art,.universal-combobox-art .resource-glyph{width:38px;height:38px;border-radius:3px}
.universal-combobox-copy,.universal-combobox-option>span{display:flex;flex-direction:column;min-width:0;gap:3px}
.universal-combobox-copy b,.universal-combobox-option b{overflow:hidden;color:#c3bdad;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.universal-combobox-copy small,.universal-combobox-option small{color:#707975;font-size:8px;font-weight:400;text-transform:uppercase}
.universal-combobox-arrow{width:15px;height:15px;color:var(--bronze);transform:rotate(90deg);transition:transform .16s}
.universal-combobox.open .universal-combobox-arrow{transform:rotate(-90deg)}
.universal-combobox-menu{position:absolute;z-index:100;top:calc(100% + 5px);right:0;left:0;display:grid;max-height:290px;padding:4px;overflow-y:auto;border:1px solid var(--line-bright);border-radius:3px;background:rgba(14,22,24,.99);box-shadow:0 18px 45px rgba(0,0,0,.58);backdrop-filter:blur(14px)}
.universal-combobox-menu.floating{position:fixed;right:auto;bottom:auto}
.universal-combobox-menu.inline{position:relative;top:5px;right:auto;bottom:auto;left:auto;width:100%}
.universal-combobox-menu[hidden]{display:none}
.universal-combobox-option{display:grid;grid-template-columns:38px minmax(0,1fr) 16px;gap:10px;align-items:center;width:100%;min-height:48px;padding:5px 8px 5px 5px;border:1px solid transparent;background:transparent;color:#a8aaa1;cursor:pointer}
.universal-combobox-option+.universal-combobox-option{border-top-color:var(--line)}
.universal-combobox-option:hover,.universal-combobox-option:focus-visible{outline:0;border-color:rgba(199,146,79,.28);background:rgba(199,146,79,.075)}
.universal-combobox-option[aria-selected="true"]{border-color:rgba(91,155,136,.3);background:rgba(62,116,99,.09)}
.universal-combobox-option>.asset-art{border:1px solid rgba(199,146,79,.18)}
.universal-combobox-check{width:15px;height:15px;color:#83c2a5}
.universal-field.unit-field .universal-combobox-trigger{border-color:rgba(110,135,127,.5)}

@media (max-width:440px){
  .universal-combobox-trigger{grid-template-columns:38px minmax(0,1fr) 16px;min-height:48px}
  .universal-combobox-art{width:38px;height:38px}
  .universal-combobox-art>.asset-art,.universal-combobox-art .resource-glyph{width:34px;height:34px}
}

/* Shared illustrated values: rewards are green, spending and losses are red. */
.value-chip{display:inline-grid;grid-template-columns:32px minmax(0,1fr);gap:7px;align-items:center;min-height:40px;padding:4px 9px 4px 4px;border:1px solid var(--line);border-radius:2px;background:rgba(0,0,0,.13);color:#a9aaa1;font-variant-numeric:tabular-nums}
.value-chip>.resource-glyph,.value-chip>.value-glyph,.value-chip>.value-unit-art{width:32px;height:32px}
.value-glyph{display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;background:rgba(255,255,255,.025)}
.value-glyph svg{width:17px;height:17px}
.value-chip>span:last-child{display:grid;gap:2px;min-width:0}
.value-chip small{overflow:hidden;color:currentColor;font-size:7px;font-weight:500;letter-spacing:.05em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;opacity:.72}
.value-chip b{color:currentColor;font-size:10px;font-weight:700;white-space:nowrap}
.value-chip.gain{border-color:rgba(91,155,136,.42);background:rgba(62,116,99,.11);color:#86c5a9}
.value-chip.loss{border-color:rgba(204,91,78,.42);background:rgba(125,43,36,.11);color:#df786e}
.value-chip.neutral{border-color:rgba(149,155,149,.25);color:#a9aaa1}
.value-chip.unit-value{grid-template-columns:38px minmax(0,1fr)}
.value-chip>.value-unit-art{width:38px;height:38px;border:1px solid rgba(255,255,255,.09);border-radius:2px}
.resource-flow.loss{padding:7px;border:1px solid rgba(204,91,78,.22);background:rgba(125,43,36,.055)}

/* Spacious two-column research tree and spellbook. */
.tech-tree{grid-template-columns:repeat(4,minmax(240px,1fr));gap:16px;overflow-x:auto}
.tech-column{min-width:0;padding:16px;border:1px solid var(--line);background:linear-gradient(150deg,rgba(255,255,255,.018),rgba(0,0,0,.13))}
.tech-column>h2{margin:0 0 15px;font-size:11px}
.tech-card{display:flex;flex-direction:column;min-height:300px;margin-bottom:15px;padding:20px}
.tech-card-head{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:13px;align-items:center}
.tech-card-head>span:nth-child(2){min-width:0}
.tech-card-head>span:nth-child(2)>small{display:block;color:var(--category,var(--bronze));font-size:8px;letter-spacing:.06em;text-transform:uppercase}
.tech-icon{width:52px;height:52px}
.tech-icon svg{width:28px;height:28px}
.tech-level{position:static;align-self:start;padding:5px 7px;border:1px solid color-mix(in srgb,var(--category,var(--bronze)) 32%,transparent);font-size:9px;white-space:nowrap}
.tech-card h3{margin:4px 0 0;font-size:19px;line-height:1.25}
.tech-card p{min-height:48px;margin:14px 0 7px;font-size:11px;line-height:1.6}
.research-effect-block,.research-cost{display:grid;gap:7px;margin-top:11px}
.research-effect-block>small,.research-cost>small,.mission-rewards>small,.quest-rewards>small{color:#737b77;font-size:8px;letter-spacing:.07em;text-transform:uppercase}
.research-effects{display:flex;flex-wrap:wrap;gap:7px}
.tech-card .requirement-summary{margin:12px 0}
.tech-card>.btn{min-height:38px;margin-top:auto}
.spell-grid{grid-template-columns:repeat(2,minmax(300px,1fr));gap:16px}
.spell-card{display:flex;flex-direction:column;min-height:285px;padding:20px}
.spell-card h3{font-size:19px}
.spell-card p{min-height:54px;font-size:11px;line-height:1.6}
.spell-card footer{margin-top:auto}
.spell-card footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;align-items:center}.spell-card footer .spell-cooldown{grid-column:1/-1}.spell-cooldown{display:inline-flex;align-items:center;gap:6px;min-width:0;color:#d9b36d;font-size:10px;font-variant-numeric:tabular-nums}.spell-cooldown svg{flex:0 0 14px;width:14px;height:14px}.spell-cooldown time{color:#f0d18d;font-weight:700}.map-spell-option .spell-cooldown{margin-top:6px}.map-spell-option .spell-cooldown.target{color:#aa9ad0}

/* Roomier army, garrison, movement, and reinforcement cards. */
.army-tabs{gap:8px;margin-bottom:15px}
.army-tabs .tab{padding:11px 17px;font-size:10px}
.army-tab-panel>.panel-inner{padding:18px}
.unit-catalog-grid{grid-template-columns:repeat(2,minmax(320px,1fr));gap:16px}
.unit-detail-card{grid-template-columns:112px minmax(0,1fr) auto;gap:18px;align-items:start;min-height:170px;padding:16px}
.unit-detail-art{width:112px;height:112px}
.unit-detail-copy{min-width:0}
.unit-class{color:var(--bronze);font-size:8px;letter-spacing:.07em;text-transform:uppercase}
.unit-detail-card h3{margin:4px 0 7px;font-size:19px}
.unit-detail-card p{margin:0 0 12px;font-size:10px;line-height:1.6}
.unit-stats{display:grid;grid-template-columns:repeat(5,minmax(55px,1fr));gap:6px}
.unit-stats span{display:grid;grid-template-columns:16px minmax(0,1fr);gap:2px 5px;align-items:center;padding:6px;border:1px solid var(--line);background:rgba(0,0,0,.11)}
.unit-stats svg{grid-row:1/3;width:14px;height:14px}
.unit-stats small{color:#6f7773;font-size:7px;text-transform:uppercase}
.unit-stats b{color:#b2b0a5;font-size:10px}
.unit-count{display:grid;min-width:72px;gap:5px;padding:11px;border:1px solid rgba(199,146,79,.28);background:rgba(199,146,79,.055);text-align:center}
.unit-count small{color:#777e79;font-size:7px;letter-spacing:.05em;text-transform:uppercase}
.unit-count b{color:var(--bronze-bright);font-family:Georgia,serif;font-size:23px;font-weight:400}
.movement-list,.reinforcement-list{gap:12px}
.movement-card{grid-template-columns:58px minmax(0,1fr) auto;gap:16px;padding:17px}
.movement-card.friendly{border-color:rgba(91,155,136,.34);background:linear-gradient(90deg,rgba(62,116,99,.08),rgba(255,255,255,.012))}
.movement-card.friendly .movement-icon{border-color:rgba(91,155,136,.42);color:#86c5a9}
.movement-icon{width:54px;height:54px}
.movement-route h3{font-size:13px}
.movement-route p{font-size:10px;line-height:1.5}
.reinforcement-card{grid-template-columns:72px minmax(0,1fr) auto auto;gap:16px;padding:14px}
.reinforcement-card .asset-art{width:72px;height:72px}
.reinforcement-card h3{font-size:17px}
.mission-kind{color:var(--bronze)!important;font-size:8px!important;letter-spacing:.07em;text-transform:uppercase}
.mission-rewards{margin-top:auto;padding-top:15px;border-top:1px solid var(--line)}
.mission-rewards .reward-row{margin-top:8px}
.quest-list{grid-template-columns:repeat(2,minmax(330px,1fr));gap:16px}
.quest-card{grid-template-columns:64px minmax(0,1fr);align-items:start;gap:16px;min-height:290px;padding:18px}
.quest-icon{width:64px;height:64px}
.quest-icon svg{width:31px;height:31px}
.quest-copy{display:flex;flex-direction:column;min-width:0;height:100%}
.quest-kind{color:var(--bronze);font-size:8px;letter-spacing:.07em;text-transform:uppercase}
.quest-card h3{margin:5px 0 8px;font-size:19px}
.quest-card p{min-height:52px;margin:0 0 11px;font-size:11px;line-height:1.6}
.quest-progress{margin:12px 0}
.quest-rewards{margin-top:auto;padding-top:14px}
.quest-card>.btn{grid-column:1/-1;width:100%;min-height:40px}

@media (max-width:1000px){
  .unit-catalog-grid{grid-template-columns:1fr}
}
@media (max-width:850px){
  .tech-tree,.spell-grid,.quest-list{grid-template-columns:1fr}
}
@media (max-width:620px){
  .tech-card-head{grid-template-columns:46px minmax(0,1fr)}
  .tech-icon{width:46px;height:46px}
  .tech-level{grid-column:1/-1;justify-self:start}
  .unit-detail-card{grid-template-columns:84px minmax(0,1fr);gap:13px}
  .unit-detail-art{width:84px;height:84px}
  .unit-count{grid-column:1/-1;grid-template-columns:1fr auto;align-items:center;text-align:left}
  .unit-stats{grid-template-columns:repeat(2,minmax(70px,1fr))}
  .movement-card{grid-template-columns:46px minmax(0,1fr)}
  .movement-icon{width:44px;height:44px}
  .movement-time{grid-column:2;text-align:left}
  .reinforcement-card{grid-template-columns:58px minmax(0,1fr) auto}
  .reinforcement-card .asset-art{width:58px;height:58px}
  .reinforcement-card .btn{grid-column:2/-1}
  .quest-card{grid-template-columns:52px minmax(0,1fr);padding:14px}
  .quest-icon{width:52px;height:52px}
}

/* Hero expedition preparation: illustrated choices, live authoritative odds, no native radios. */
@media (max-width:600px){.account-danger-zone{align-items:stretch;flex-direction:column}.account-danger-zone .btn{width:100%}}
.mission-hero-dossier{display:grid;grid-template-columns:74px minmax(0,1fr);gap:13px;align-items:center;padding:12px;border:1px solid var(--line-bright);background:linear-gradient(135deg,rgba(199,146,79,.07),rgba(0,0,0,.12))}
.mission-hero-art{width:74px;height:74px;border:1px solid rgba(199,146,79,.32)}
.mission-hero-dossier>span{display:grid;gap:4px}
.mission-hero-dossier small{color:var(--bronze);font-size:8px;letter-spacing:.07em;text-transform:uppercase}
.mission-hero-dossier b{color:#c7c0af;font-family:Georgia,serif;font-size:19px;font-weight:400}
.mission-hero-dossier em{color:#777f7a;font-size:9px;font-style:normal}
.mission-option-copy{display:grid;gap:6px;min-width:0}
.mission-option-copy>small{color:#7f6950;font-size:8px;letter-spacing:.05em;text-transform:uppercase}
.mission-option-copy>b{color:#c3bdad;font-family:Georgia,serif;font-size:16px;font-weight:400}
.mission-option-copy>em{color:#747c77;font-size:9px;font-style:normal;line-height:1.5}
.mission-maximum-rewards{display:grid;gap:7px;margin-top:14px;padding-top:13px;border-top:1px solid rgba(91,155,136,.22)}
.mission-maximum-rewards>small{color:#84a596;font-size:8px;letter-spacing:.06em;text-transform:uppercase}
.mission-maximum-rewards>em{color:#65706b;font-size:8px;font-style:normal}

@media (max-width:900px){
}
@media (max-width:680px){
}

/* World map v2: cached terrain chunks, immersive materials, overview navigation, and decluttered placements. */
.map-shell{min-height:720px;background:#0b1214}
.world-map{background:#101b1d;box-shadow:inset 0 0 0 1px rgba(216,181,111,.12)}
.world-map::before{z-index:6;background:none;opacity:1;box-shadow:inset 0 0 0 1px rgba(223,191,128,.16),inset 0 0 85px rgba(1,5,6,.72);mask-image:none}
.map-viewport{overflow:visible;background:#142124;contain:layout size;will-change:auto;transform-origin:50% 50%;backface-visibility:visible}
.world-map.zooming .map-viewport,.world-map.dragging .map-viewport{transition:none}.world-map.camera-animating .map-viewport,.world-map.gliding .map-viewport{transition:transform 110ms cubic-bezier(.2,.72,.28,1)}
.map-viewport>canvas,.map-viewport>.map-material-layer{position:absolute;inset:0;width:100%;height:100%}
.map-viewport>.map-movement-layer,.map-viewport>.map-marker-layer{position:absolute;inset:auto;left:var(--map-projection-left,0);top:var(--map-projection-top,0);width:var(--map-projection-width,100%);height:var(--map-projection-height,100%)}
.map-material-layer{z-index:1;pointer-events:none;background-image:url("../images/world-map-relief-v2.webp?v=20260819.7170"),url("../images/world-map-parchment-v2.webp?v=20260819.7170");background-position:center,center;background-repeat:repeat,repeat;background-size:430px 430px,960px 960px;mix-blend-mode:soft-light;opacity:.25;filter:contrast(1.08)}
.map-movement-layer{z-index:3}.map-marker-layer{z-index:4}.map-vignette{z-index:7;box-shadow:inset 0 0 120px rgba(2,7,8,.78);pointer-events:none}
.world-map>#mapLoader{position:absolute;z-index:14;left:calc(50% - 21px);top:calc(50% - 21px)}
.map-navigation{position:absolute;z-index:11;top:14px;left:14px;width:220px;padding:8px;border:1px solid rgba(199,146,79,.28);background:linear-gradient(145deg,rgba(18,28,30,.96),rgba(8,14,16,.92));box-shadow:0 10px 28px rgba(0,0,0,.36);backdrop-filter:blur(10px)}
.map-navigation .map-controls{position:relative;inset:auto;display:grid;grid-template-columns:repeat(3,1fr);width:auto;margin:0 0 9px;padding:0;border:0;background:transparent;backdrop-filter:none}
.map-navigation .map-controls button{width:auto;min-width:0;height:30px;border:1px solid rgba(255,255,255,.035);background:rgba(255,255,255,.025);font-size:14px}
.map-navigation .map-controls button:nth-child(1),.map-navigation .map-controls button:nth-child(2){font-size:18px;color:#d7b66e}
.map-zoom-slider{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:9px;padding:8px;border:1px solid var(--line);background:rgba(0,0,0,.12)}
.map-zoom-slider>span{grid-column:1/-1;color:#858c87;font-size:8px;letter-spacing:.06em;text-transform:uppercase}
.map-zoom-slider input{grid-column:1/-1;width:100%;height:4px;margin:4px 0;accent-color:var(--bronze);cursor:pointer}
.map-zoom-slider em{color:#636c68;font-size:7px;font-style:normal;text-transform:uppercase}.map-zoom-slider em:last-child{text-align:right}
.map-coordinate-jump{display:flex;align-items:end;gap:6px}.map-coordinate-jump label{min-width:0;flex:1}.map-coordinate-jump label>span{display:block;margin-bottom:4px;color:#777f7b;font-size:7px;text-transform:uppercase}.map-coordinate-jump input{width:100%;height:30px;padding:5px 7px;font-size:9px;font-variant-numeric:tabular-nums}.map-coordinate-jump .btn{flex:0 0 auto;height:30px;margin:0;padding:0 9px}
.map-navigator{position:absolute;z-index:11;top:14px;right:14px;width:190px;padding:7px;border:1px solid rgba(199,146,79,.28);background:rgba(9,15,17,.9);box-shadow:0 10px 28px rgba(0,0,0,.34);backdrop-filter:blur(9px)}
.map-navigator header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;color:#8a918c;font-size:7px;letter-spacing:.05em;text-transform:uppercase}.map-navigator header button{border:0;background:transparent;color:var(--bronze);font:inherit;cursor:pointer}
.map-navigator canvas{display:block;width:100%;height:112px;border:1px solid rgba(221,195,139,.14);background:#111c1e;cursor:crosshair;image-rendering:auto}.map-navigator #mapNavigatorMovements{position:absolute;inset:0;z-index:1;width:100%;height:100%;border:0;background:transparent;pointer-events:none}
.map-terrain-readout{position:absolute;z-index:9;left:50%;bottom:50px;display:flex;align-items:center;gap:6px;min-width:210px;transform:translateX(-50%);padding:6px 9px;border:1px solid rgba(199,146,79,.22);background:rgba(8,14,15,.78);color:#818985;font-size:8px;text-align:center;pointer-events:none;backdrop-filter:blur(7px)}
.map-terrain-readout svg{width:13px;height:13px;color:var(--bronze)}.map-terrain-readout b{color:#bcb7a9;font-weight:500;font-variant-numeric:tabular-nums}
.map-coordinates{right:14px;bottom:14px;max-width:320px;color:#a49f91;background:rgba(8,14,15,.9);border-color:rgba(199,146,79,.24)}
.map-legend{top:auto;right:14px;bottom:54px;max-width:330px;flex-wrap:wrap;justify-content:flex-end;background:rgba(8,14,15,.84)}
.map-legend .marsh::before{background:#47786d}.map-legend .badlands::before{background:#8b5943}
.map-compass{left:24px;bottom:22px}.map-drag-hint{bottom:17px}
.map-marker-cluster{position:absolute;z-index:5;display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid rgba(224,187,111,.62);border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(78,62,35,.96),rgba(22,29,29,.94));color:#edca81;box-shadow:0 0 0 5px rgba(199,146,79,.08),0 8px 18px rgba(0,0,0,.52);cursor:pointer;transition:transform .16s,filter .16s}
.map-marker-cluster:hover{z-index:9;transform:translate(-50%,-50%) scale(1.12);filter:brightness(1.16)}.map-marker-cluster span{font-family:Georgia,serif;font-size:17px;line-height:1}.map-marker-cluster small{margin-top:-7px;color:#8f8878;font-size:6px;letter-spacing:.05em;text-transform:uppercase}
.map-marker-count{position:absolute;right:-2px;top:-2px;display:grid;place-items:center;min-width:17px;height:17px;padding:0 3px;border:1px solid #dbb970;border-radius:9px;background:#182224;color:#e6c57e;font-size:7px;transform:none!important}
.map-marker:not(.cargo-route-marker),.map-marker.site:not(.cargo-route-marker),.map-marker.fort:not(.cargo-route-marker),.map-marker.site.season_monster:not(.cargo-route-marker){z-index:5}.map-label{z-index:4;padding:4px 7px;border:1px solid rgba(221,193,133,.11);background:rgba(5,10,11,.8);font-size:8px;letter-spacing:.01em}
.map-route line{stroke-width:2.5;stroke-dasharray:12 9;animation-duration:1s}.map-route .route-unit{filter:drop-shadow(0 0 8px var(--route-color))}

/* v0.14 · intelligence, ledgers, and command readability */
.language-switch,.language-switch.compact{min-width:82px;padding:0 13px;white-space:nowrap;font-size:9px;letter-spacing:.045em}
.top-actions .language-switch.compact{flex:0 0 auto}
.popover-actions{display:flex;align-items:center;gap:9px}.popover-actions .text-button{font-size:8px}.popover-actions .text-button:disabled{opacity:.35;cursor:not-allowed}
.notification-item{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 30px;gap:0;padding:0}.notification-open{display:flex;min-width:0;gap:10px;padding:12px;border:0;background:transparent;text-align:left;cursor:pointer}.notification-open:hover{background:rgba(255,255,255,.025)}.notification-open>svg{flex:0 0 21px;width:21px;height:21px;color:var(--bronze)}.notification-open>span{display:flex;min-width:0;flex-direction:column}.notification-open b{overflow:hidden;color:#aaa79d;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.notification-open small{margin-top:4px;color:#737b76;font-size:9px;line-height:1.45}.notification-remove{display:grid;place-items:center;width:28px;height:28px;align-self:center;border:1px solid transparent;background:transparent;color:#7c6763;cursor:pointer}.notification-remove:hover{border-color:rgba(199,88,77,.35);background:rgba(199,88,77,.08);color:#d1766b}.notification-remove svg{width:13px;height:13px}
.report-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line);background:rgba(0,0,0,.09)}.report-filters{display:flex;flex-wrap:wrap;gap:5px}.report-filter{min-height:30px;padding:0 11px;border:1px solid var(--line);background:rgba(255,255,255,.015);color:#858c87;font-size:8px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.report-filter:hover,.report-filter.active{border-color:rgba(199,146,79,.52);background:rgba(199,146,79,.1);color:#d0b071}.report-bulk-actions{display:flex;align-items:center;gap:10px}.report-bulk-actions>em{min-width:72px;color:#7d8580;font-size:8px;font-style:normal;text-align:right}.report-select-all,.report-select{display:flex;align-items:center;justify-content:center;cursor:pointer}.report-select-all{gap:7px;color:#8c938e;font-size:8px;white-space:nowrap}.report-select input,.report-select-all input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.report-select>span,.report-select-all input+span::before{display:grid;place-items:center;width:15px;height:15px;border:1px solid #59605c;background:#11191a;content:""}.report-select input:checked+span,.report-select-all input:checked+span::before{border-color:#c7924f;background:linear-gradient(135deg,#c7924f,#8e6436);box-shadow:inset 0 0 0 3px #11191a}.report-select input:focus-visible+span,.report-select-all input:focus-visible+span::before{outline:2px solid #d4b56f;outline-offset:2px}.report-row{display:grid;grid-template-columns:34px minmax(0,1fr) 38px;gap:5px;padding:0;cursor:default}.report-row.selected{background:rgba(199,146,79,.045)}.report-select{align-self:stretch}.report-open{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:13px;min-width:0;padding:14px 8px;border:0;background:transparent;text-align:left;cursor:pointer}.report-open:hover{background:rgba(255,255,255,.022)}.report-open>span:nth-child(2){min-width:0}.report-open h3{overflow:hidden;margin:0 0 5px;color:#bbb7aa;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.report-open p{margin:0;color:#79817c;font-size:10px;line-height:1.4}.report-open time{color:#838a85;font-size:9px}.report-delete{display:grid;place-items:center;width:30px;height:30px;align-self:center;border:1px solid transparent;background:transparent;color:#76625f;cursor:pointer}.report-delete:hover{border-color:rgba(199,88,77,.38);background:rgba(199,88,77,.08);color:#d1766b}.report-delete svg{width:14px;height:14px}
.message-layout{grid-template-columns:minmax(340px,.8fr) minmax(420px,1.2fr);min-height:610px}.message-item{padding:17px 18px}.message-item h3{color:#c4bfb0;font-size:14px;line-height:1.35}.message-item p{margin-top:7px;color:#818985;font-size:10px}.message-view{padding:30px 34px}.message-view h2{color:#ded3bb;font-size:29px;line-height:1.25}.message-meta{margin:10px 0 27px;color:#929a95;font-size:11px}.message-body{max-width:76ch;color:#c0bdb3;font-size:15px;line-height:1.85;overflow-wrap:anywhere}
.unit-detail-card,.unit-detail-copy{min-width:0}.unit-detail-card{overflow:hidden}.unit-detail-card p{overflow-wrap:anywhere}.unit-stats{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.unit-stats span{min-width:0}.unit-stats small,.unit-stats b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unit-stats.compact{grid-template-columns:repeat(3,minmax(62px,1fr));gap:5px}.unit-stats.compact span{padding:5px}.unit-stats.compact small{font-size:6.5px}.unit-stats.compact b{font-size:9px}.unit-count{max-width:92px;overflow:hidden}.unit-count b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.recruit-unit-card{min-height:224px}.unit-choice-copy{min-width:0;gap:5px}.unit-choice-copy>em{flex:0 0 auto;min-height:39px;margin:3px 0;font-size:9px}.recruit-unit-card .unit-stats{margin:2px 0 5px}.recruit-unit-card .cost-row{margin-top:auto}
.npc-partner-field{margin-bottom:9px}.npc-partner-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 14px;padding:10px;border:1px solid var(--line);background:rgba(0,0,0,.12)}.npc-partner-summary>span{display:flex;align-items:center;gap:8px;min-width:0}.npc-partner-summary>span:last-child{display:grid;flex:0 0 auto;gap:2px;text-align:right}.npc-partner-summary svg{flex:0 0 24px;width:24px;height:24px;color:var(--bronze)}.npc-partner-summary b{color:#bdb7a8;font-size:10px}.npc-partner-summary small{display:flex;align-items:center;gap:3px;color:#777f7a;font-size:8px}.npc-partner-summary .resource-glyph{width:18px;height:18px}.rate-preview{display:grid;gap:7px;padding:11px;line-height:1.5}.rate-preview>span{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.rate-preview b{display:inline-flex;align-items:center;gap:4px;color:var(--bronze-bright)}.rate-preview .resource-glyph{width:21px;height:21px}.npc-quote-receive .reward-row{display:inline-flex}.rate-preview>small{color:#707873;font-size:8px}
.map-route .route-unit-icon{color:#12191a;pointer-events:none;filter:drop-shadow(0 1px 1px rgba(255,255,255,.3))}.cargo-route-marker>svg{width:19px;height:19px}

@media(max-width:900px){.message-layout{grid-template-columns:1fr}.message-view{padding:25px}.unit-stats,.unit-stats.compact{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.language-switch.compact{min-width:70px;padding:0 8px}.report-toolbar{align-items:stretch;flex-direction:column}.report-bulk-actions{justify-content:space-between}.report-bulk-actions>em{margin-left:auto}.report-open{grid-template-columns:40px minmax(0,1fr)}.report-open time{grid-column:2}.message-view{padding:20px}.message-view h2{font-size:24px}.message-body{font-size:14px}.npc-partner-summary{align-items:flex-start;flex-direction:column}.npc-partner-summary>span:last-child{text-align:left}.unit-stats,.unit-stats.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* World map v3: organic political, danger, and natural-region overlays. */
.map-legend .neutral::before{background:#c49a54}.map-legend .friendly::before{background:#56ad8f}.map-legend .hostile::before{background:#d45f5a}.map-legend .region::before{width:10px;height:7px;border:1px dashed rgba(225,203,155,.7);border-radius:45% 55% 52% 48%;background:rgba(225,203,155,.08)}
.map-marker:not(.cargo-route-marker){--affiliation:#c89d59}.map-marker:not(.cargo-route-marker).friendly{--affiliation:#61b99a}.map-marker:not(.cargo-route-marker).hostile{--affiliation:#dc6b64}.map-marker:not(.cargo-route-marker).neutral{--affiliation:#c89d59}
.map-marker:not(.cargo-route-marker).friendly .map-location-art{box-shadow:inset 0 0 0 2px rgba(97,185,154,.72),0 0 13px rgba(76,158,132,.35)}.map-marker:not(.cargo-route-marker).hostile .map-location-art{box-shadow:inset 0 0 0 2px rgba(220,107,100,.72),0 0 14px rgba(194,69,66,.38)}.map-marker:not(.cargo-route-marker).neutral .map-location-art{box-shadow:inset 0 0 0 1px rgba(200,157,89,.58)}
.map-marker:not(.cargo-route-marker).selected::after{display:none}.map-selection-reticle{position:absolute;inset:-9px;z-index:3;pointer-events:none;background:linear-gradient(var(--affiliation),var(--affiliation)) left top/15px 2px no-repeat,linear-gradient(var(--affiliation),var(--affiliation)) left top/2px 15px no-repeat,linear-gradient(var(--affiliation),var(--affiliation)) right top/15px 2px no-repeat,linear-gradient(var(--affiliation),var(--affiliation)) right top/2px 15px no-repeat,linear-gradient(var(--affiliation),var(--affiliation)) left bottom/15px 2px no-repeat,linear-gradient(var(--affiliation),var(--affiliation)) left bottom/2px 15px no-repeat,linear-gradient(var(--affiliation),var(--affiliation)) right bottom/15px 2px no-repeat,linear-gradient(var(--affiliation),var(--affiliation)) right bottom/2px 15px no-repeat;filter:drop-shadow(0 0 5px var(--affiliation));animation:map-reticle-breathe 1.7s ease-in-out infinite}
@keyframes map-reticle-breathe{0%,100%{opacity:.64;transform:scale(.94)}50%{opacity:1;transform:scale(1.04)}}
.map-label.friendly{border-color:rgba(97,185,154,.28);color:#a7d9c8}.map-label.hostile{border-color:rgba(220,107,100,.3);color:#e2a29d}.map-label.neutral{border-color:rgba(200,157,89,.24);color:#d5ba88}
.map-marker-cluster.friendly{border-color:#61b99a;color:#99d8c2;background:radial-gradient(circle,rgba(38,81,69,.96),rgba(18,31,30,.94))}.map-marker-cluster.hostile{border-color:#d76660;color:#ef9b94;background:radial-gradient(circle,rgba(91,42,40,.96),rgba(31,24,25,.94))}.map-marker-cluster.neutral{border-color:#c89d59}
.poi-inspector-visual{position:relative;display:grid;place-items:center;height:154px;margin:-17px -17px 16px;overflow:hidden;border-bottom:1px solid var(--line);background:radial-gradient(circle at 50% 48%,rgba(193,151,83,.18),rgba(6,12,13,.9) 72%)}.poi-inspector-visual::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 35%,rgba(255,255,255,.025) 50%,transparent 65%),radial-gradient(circle at center,transparent 46%,rgba(2,6,7,.68) 100%);pointer-events:none}.poi-inspector-visual.friendly{border-bottom-color:rgba(97,185,154,.45);background:radial-gradient(circle at 50% 48%,rgba(63,147,119,.27),rgba(6,12,13,.92) 72%)}.poi-inspector-visual.hostile{border-bottom-color:rgba(220,107,100,.5);background:radial-gradient(circle at 50% 48%,rgba(173,62,60,.29),rgba(10,10,12,.93) 72%)}
.poi-inspector-visual .inspector-map-art{position:relative;width:142px;height:142px;filter:drop-shadow(0 13px 11px rgba(0,0,0,.72));transform:translateY(4px)}.poi-inspector-visual>span{position:absolute;z-index:2;right:10px;bottom:9px;padding:5px 8px;border:1px solid currentColor;background:rgba(7,12,13,.84);color:#d4b574;font-size:7px;letter-spacing:.09em;text-transform:uppercase}.poi-inspector-visual.friendly>span{color:#7bc6aa}.poi-inspector-visual.hostile>span{color:#e17c73}
.map-inspector .stat-box[class*="threat-"]{grid-column:1/-1}.map-inspector .threat-safe b,.map-inspector .threat-low b{color:#79c5a8}.map-inspector .threat-guarded b{color:#d1ad65}.map-inspector .threat-dangerous b{color:#df8b67}.map-inspector .threat-deadly b{color:#e06d70}.map-inspector .threat-mythic b{color:#c886d4;text-shadow:0 0 10px rgba(178,90,194,.32)}
.world-map[data-map-style="political"] .map-material-layer,.world-map[data-map-style="area"] .map-material-layer{opacity:.11;mix-blend-mode:soft-light;filter:grayscale(.35) contrast(1.05)}
.map-legend .danger-unknown::before{background:#626a69}.map-legend .danger-low::before{background:#4f927a}.map-legend .danger-guarded::before{background:#b79a53}.map-legend .danger-dangerous::before{background:#c5734d}.map-legend .danger-deadly::before{background:#bd5961}.map-legend .danger-mythic::before{background:#a369b0;box-shadow:0 0 7px rgba(163,105,176,.65)}

/* Compact map markers and artwork-centered selection/inspection. */
.map-marker:not(.cargo-route-marker),.map-marker.site:not(.cargo-route-marker),.map-marker.fort:not(.cargo-route-marker){width:44px;height:44px}.map-marker .map-location-art{width:44px;height:44px;clip-path:circle(46%)}
.map-marker.site.season_monster:not(.cargo-route-marker){width:54px;height:54px}.map-marker.site.season_monster .map-location-art{width:54px;height:54px}
.map-marker:not(.cargo-route-marker):hover,.map-marker:not(.cargo-route-marker).selected,.map-marker.site:not(.cargo-route-marker):hover,.map-marker.site:not(.cargo-route-marker).selected,.map-marker.site.season_monster:not(.cargo-route-marker):hover,.map-marker.site.season_monster:not(.cargo-route-marker).selected{transform:translate(-50%,-50%) scale(1.1)}
.map-selection-reticle{left:50%;top:50%;right:auto;bottom:auto;width:50px;height:50px;border:1px solid var(--affiliation);border-radius:50%;background:linear-gradient(var(--affiliation),var(--affiliation)) center top/1px 6px no-repeat,linear-gradient(var(--affiliation),var(--affiliation)) center bottom/1px 6px no-repeat,linear-gradient(var(--affiliation),var(--affiliation)) left center/6px 1px no-repeat,linear-gradient(var(--affiliation),var(--affiliation)) right center/6px 1px no-repeat;box-shadow:inset 0 0 0 3px rgba(7,12,13,.28),0 0 8px var(--affiliation);filter:none;transform:translate(-50%,-50%);transform-origin:center;animation:map-reticle-centered 1.7s ease-in-out infinite}.map-marker.site.season_monster .map-selection-reticle{width:60px;height:60px}.map-label{transform:translate(-50%,34px)}
@keyframes map-reticle-centered{0%,100%{opacity:.68;transform:translate(-50%,-50%) scale(.96)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.03)}}
.map-marker-cluster{width:40px;height:40px}.map-marker-cluster span{font-size:14px}.map-marker-count{min-width:15px;height:15px;font-size:6px}
.poi-inspector-visual::before{z-index:0}.poi-inspector-visual .inspector-map-art{position:relative;z-index:1;display:block!important;width:150px;height:150px;max-width:calc(100% - 16px);max-height:150px;aspect-ratio:1/1;opacity:1;background-image:var(--asset-image)!important;background-repeat:no-repeat;background-size:var(--asset-size-x) var(--asset-size-y);background-position:var(--asset-x) var(--asset-y);clip-path:none;border-radius:0;filter:drop-shadow(0 13px 11px rgba(0,0,0,.72));transform:none}.poi-inspector-visual>span{z-index:2}

@media (max-width:900px){
  .map-shell{min-height:650px}.map-navigation{width:184px}.map-navigator{width:146px}.map-navigator canvas{height:88px}.map-legend{display:none}.map-terrain-readout{bottom:54px}.map-coordinates{max-width:260px}
}
@media (max-width:600px){
  .map-shell{min-height:590px}.map-navigation{top:8px;left:8px;width:146px;padding:6px}.map-navigation .map-controls{grid-template-columns:repeat(2,1fr);margin-bottom:6px}.map-navigation .map-controls button:nth-child(n+3){display:none}.map-zoom-slider{margin-bottom:6px;padding:6px}.map-coordinate-jump label>span{display:none}.map-coordinate-jump .btn{padding:0 7px}.map-navigator{top:8px;right:8px;width:112px;padding:5px}.map-navigator header span{display:none}.map-navigator canvas{height:68px}.map-terrain-readout{left:8px;right:8px;bottom:54px;min-width:0;transform:none}.map-coordinates{right:8px;bottom:8px;max-width:calc(100% - 94px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-compass{left:14px;bottom:12px}.map-drag-hint{display:none}
}
.alliance-wide .report-row{grid-template-columns:42px minmax(0,1fr) auto;gap:12px;padding:12px;cursor:pointer}.map-inspector .threat-unknown b{color:#8b918e;font-style:italic}

.asset-art.standalone-unit-art{background-color:#11191b;background-position:center;background-size:contain}
.map-marker.movement-target-marker{z-index:7;border-color:#ed7c70;background:#4d2928;box-shadow:0 0 0 4px rgba(220,107,100,.13),0 0 16px rgba(220,107,100,.35)}
.inspector-icon.movement-hostile{color:#e17b72;border-color:rgba(220,107,100,.4)}
.movement-operation-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}.movement-operation-actions .btn{justify-content:flex-start;min-width:0}.movement-operation-actions .btn>span{display:grid;text-align:left}.movement-operation-actions small{color:currentColor;font-size:7px;font-weight:400;opacity:.68}
.movement-operation-brief{display:grid;grid-template-columns:130px minmax(0,1fr);gap:16px;align-items:center}.operation-agent-art{width:130px;height:130px;border:1px solid var(--line-bright)}.movement-operation-brief small,.operation-target-summary>small{color:#7c837f;font-size:8px;letter-spacing:.08em;text-transform:uppercase}.movement-operation-brief h3{margin:4px 0 7px}.movement-operation-brief p,.operation-target-summary p{color:#858b86;font-size:9px;line-height:1.55}.operation-target-summary{display:grid;gap:6px;margin-top:14px}.operation-target-summary b{color:#c2bbaa}.operation-report-route{display:grid;gap:4px;margin:12px 0}.operation-report-route h3{margin:0}.operation-report-route p{margin:0;color:#8c918c}.sabotage-delay{margin-top:14px}.sabotage-delay b{color:#e18176}
@media (max-width:600px){.movement-operation-actions{grid-template-columns:1fr}.movement-operation-brief{grid-template-columns:82px minmax(0,1fr)}.operation-agent-art{width:82px;height:82px}}

/* Independent movement art and stable interactive route markers. */
.top-actions .language-switch.compact{margin-right:9px}
.movement-art{display:block;width:100%;height:100%;background-image:var(--movement-image);background-repeat:no-repeat;background-position:center;background-size:contain;pointer-events:none;filter:drop-shadow(0 3px 4px rgba(0,0,0,.58))}
.movement-icon{overflow:hidden;background:radial-gradient(circle,rgba(199,146,79,.08),rgba(0,0,0,.16))}.movement-icon .movement-card-art{width:52px;height:52px;margin:auto}.movement-icon.hostile{background:radial-gradient(circle,rgba(220,107,100,.12),rgba(0,0,0,.18))}
.map-marker.cargo-route-marker{width:34px;height:34px;padding:0;overflow:visible;background:rgba(13,20,21,.9);isolation:isolate}.map-marker.cargo-route-marker .map-movement-art{width:40px;height:40px}.map-marker.cargo-route-marker::after{content:"";position:absolute;inset:-3px;z-index:-1;border:1px solid currentColor;border-radius:50%;opacity:.62;box-shadow:0 0 11px currentColor;pointer-events:none}.map-marker.cargo-route-marker.selected::after{inset:-6px;border-width:2px;opacity:1}.map-marker.cargo-route-marker.own{border-color:#d1a75e;color:#d1a75e}.map-marker.cargo-route-marker.allied{border-color:#79c3aa;color:#79c3aa}.map-marker.cargo-route-marker.hostile{border-color:#dc776d;color:#dc776d}.map-marker.cargo-route-marker.army-map-marker{z-index:7}
.inspector-icon .movement-inspector-art{width:72px;height:72px}.inspector-icon.movement-friendly{color:#79c3aa;border-color:rgba(121,195,170,.4)}.movement-relation{display:flex;margin-top:12px}.map-inspector .movement-operation-actions{margin-top:14px}
@media(max-width:620px){.top-actions .language-switch.compact{margin-right:5px}.movement-icon .movement-card-art{width:43px;height:43px}}

/* v0.16 · account economy, morale, and procedural relic inventory */
.resource-chip.account-resource .cap-line{display:none}.resource-chip.account-resource{min-width:96px;background:linear-gradient(135deg,rgba(198,210,214,.08),rgba(0,0,0,.08))}.resource-chip.account-resource .silver-glyph{filter:drop-shadow(0 0 6px rgba(200,214,220,.28))}
.inventory-ledger{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(360px,1.28fr);gap:14px;margin-bottom:16px}.inventory-ledger>article{display:flex;align-items:center;gap:16px;min-height:112px;padding:16px 20px;border:1px solid var(--line);background:linear-gradient(135deg,rgba(199,146,79,.08),rgba(7,13,14,.9));box-shadow:0 12px 28px rgba(0,0,0,.22)}.inventory-ledger .resource-glyph,.morale-horn .item-art{flex:0 0 78px;width:78px;height:78px}.inventory-ledger article>span:last-child{display:grid;min-width:0;gap:3px}.inventory-ledger small,.inventory-item-copy>small,.active-item-effect small{color:#737d78;font-size:8px;letter-spacing:.12em;text-transform:uppercase}.inventory-ledger b{color:#ded2b9;font-family:Georgia,serif;font-size:25px}.inventory-ledger em{color:#818983;font-size:9px;font-style:normal}.morale-ledger>span:last-child>i{display:block;height:4px;margin-top:8px;overflow:hidden;background:#111a1b}.morale-ledger>span:last-child>i>i{display:block;height:100%;background:linear-gradient(90deg,#8a443f,#c3944d,#68a98f);box-shadow:0 0 8px #c3944d}
.inventory-active{margin-bottom:18px}.active-item-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.active-item-effect{--rarity:#8d9391;display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;border:1px solid color-mix(in srgb,var(--rarity) 35%,var(--line));background:linear-gradient(105deg,color-mix(in srgb,var(--rarity) 8%,transparent),rgba(6,12,13,.55))}.active-item-art{width:58px;height:58px}.active-item-effect>span{display:grid;min-width:0;gap:3px}.active-item-effect b{overflow:hidden;color:#beb9aa;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.active-item-effect em{color:var(--rarity);font-size:9px;font-style:normal}.active-item-effect time{color:#d0aa67;font-size:10px}
.inventory-heading{margin-top:24px}.inventory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.inventory-item{--rarity:#8d9391;position:relative;display:grid;grid-template-rows:164px auto 1fr auto;min-height:390px;overflow:hidden;border:1px solid color-mix(in srgb,var(--rarity) 45%,var(--line));background:linear-gradient(160deg,color-mix(in srgb,var(--rarity) 10%,#101819),#0b1213 55%);box-shadow:0 15px 30px rgba(0,0,0,.22)}.inventory-item::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 38%,color-mix(in srgb,var(--rarity) 10%,transparent) 50%,transparent 62%);transform:translateX(-90%)}.inventory-item.rarity-rare::after,.inventory-item.rarity-epic::after,.inventory-item.rarity-legendary::after,.inventory-item.rarity-mythical::after{animation:item-shimmer 5s ease-in-out infinite}.inventory-item-art{width:100%;height:164px;border-bottom:1px solid color-mix(in srgb,var(--rarity) 28%,var(--line));background-color:rgba(0,0,0,.16);background-size:300% 300%}.item-rarity{z-index:1;justify-self:start;margin:-12px 14px 0;padding:4px 8px;border:1px solid var(--rarity);background:#101718;color:var(--rarity);font-size:7px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.inventory-item-copy{display:grid;align-content:start;gap:7px;padding:12px 16px}.inventory-item h3{margin:0;color:#d7ccb5;font-family:Georgia,serif;font-size:18px}.inventory-item p{margin:0;color:#7e8781;font-size:9px;line-height:1.55}.item-effect{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:5px;padding:8px;border-left:2px solid var(--rarity);background:color-mix(in srgb,var(--rarity) 7%,transparent)}.item-effect b{color:var(--rarity);font-size:10px}.item-effect span{color:#757d78;font-size:8px}.inventory-item footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 14px;border-top:1px solid var(--line)}.inventory-item footer>span{color:#646d68;font-size:8px}
.rarity-ordinary{--rarity:#969b99}.rarity-unusual{--rarity:#62a96e}.rarity-rare{--rarity:#5799d3}.rarity-epic{--rarity:#9d6bd2}.rarity-legendary{--rarity:#d4a747}.rarity-mythical{--rarity:#9e373d}.inventory-use-preview{--rarity:#8d9391;display:grid;grid-template-columns:170px minmax(0,1fr);gap:18px;align-items:center}.inventory-use-art{width:170px;height:170px;border:1px solid var(--rarity)}.inventory-use-preview h3{color:var(--rarity)}.inventory-use-preview p{color:#89908b;line-height:1.6}
@keyframes item-shimmer{0%,60%,100%{transform:translateX(-90%)}75%{transform:translateX(90%)}}
@media(prefers-reduced-motion:reduce){.inventory-item::after{animation:none!important}}
@media(max-width:1050px){.inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.active-item-list{grid-template-columns:1fr}}
@media(max-width:720px){.inventory-ledger,.inventory-grid{grid-template-columns:1fr}.inventory-use-preview{grid-template-columns:100px minmax(0,1fr)}.inventory-use-art{width:100px;height:100px}}

/* v0.17 · ruler profiles and procedural heroes */
.profile-name-button{display:inline;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.profile-name-button:hover{color:var(--bronze-bright);text-decoration:underline;text-underline-offset:3px}
.hero-capacity-ledger{display:grid;grid-template-columns:50px minmax(0,1fr) minmax(140px,28%);gap:14px;align-items:center;margin-bottom:15px;padding:14px 18px;border:1px solid var(--line);background:linear-gradient(110deg,rgba(199,146,79,.08),rgba(6,12,13,.72))}.hero-capacity-ledger>span{display:grid;place-items:center;width:50px;height:50px;border:1px solid rgba(199,146,79,.3);color:var(--bronze)}.hero-capacity-ledger svg{width:27px;height:27px}.hero-capacity-ledger>div{display:grid;gap:3px}.hero-capacity-ledger small,.hero-capacity-ledger em{color:#727b76;font-size:8px;font-style:normal;letter-spacing:.08em;text-transform:uppercase}.hero-capacity-ledger b{color:#d5c9af;font-family:Georgia,serif;font-size:18px}.hero-capacity-ledger>i{height:5px;overflow:hidden;background:#0a1112}.hero-capacity-ledger>i>i{display:block;height:100%;background:linear-gradient(90deg,#745b38,var(--bronze-bright));box-shadow:0 0 8px rgba(199,146,79,.45)}
.hero-offer-strip{margin:0 0 16px;border:1px solid rgba(91,155,136,.32);background:rgba(50,94,80,.06)}.hero-offer-strip>header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--line)}.hero-offer-strip>header>span{display:flex;align-items:center;gap:7px;color:#a8c5b7;font-size:9px}.hero-offer-strip>header svg{width:15px;height:15px}.hero-offer-strip>header em{display:grid;place-items:center;min-width:20px;height:20px;border:1px solid rgba(91,155,136,.4);color:#8dc2a9;font-size:8px;font-style:normal}.hero-offer-strip>button{display:grid;grid-template-columns:54px minmax(0,1fr) 16px;gap:11px;align-items:center;width:100%;padding:9px 12px;border:0;border-bottom:1px solid var(--line);background:transparent;color:inherit;text-align:left;cursor:pointer}.hero-offer-strip>button:last-child{border-bottom:0}.hero-offer-strip>button:hover{background:rgba(91,155,136,.08)}.offer-strip-art{width:54px;height:54px;border:1px solid var(--line-bright)}.hero-offer-strip>button>span{display:grid;gap:4px}.hero-offer-strip>button b{color:#c8c1b1;font-family:Georgia,serif}.hero-offer-strip>button small{font-size:8px}.hero-offer-strip>button>svg{width:14px;height:14px;color:#71817a}
.hero-card{--rarity:#969b99;position:relative;border-color:color-mix(in srgb,var(--rarity) 36%,var(--line))}.hero-card::before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,var(--rarity),transparent);opacity:.72}.hero-quality-band{display:flex;align-items:center;justify-content:space-between;min-height:25px;margin:-4px 0 10px}.rarity-text{color:var(--rarity);font-size:8px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.favorite-hero{display:flex;align-items:center;gap:5px;color:#d7b66b;font-size:8px;text-transform:uppercase}.favorite-hero svg{width:13px;height:13px}.hero-portrait-art{border-color:color-mix(in srgb,var(--rarity) 50%,var(--line))!important;background-size:400% 400%!important}.hero-passives{display:grid;gap:6px;margin:12px 0}.hero-passive{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px;border-left:2px solid var(--rarity);background:color-mix(in srgb,var(--rarity) 5%,rgba(0,0,0,.14))}.hero-passive>span{display:grid;place-items:center;width:30px;height:30px;color:var(--rarity)}.hero-passive svg{width:17px;height:17px}.hero-passive>div{display:grid;gap:2px}.hero-passive b{color:#bdb7a8;font-size:9px}.hero-passive small{color:#727a76;font-size:7px;line-height:1.4}.hero-passive>em{font-style:normal}.hero-card.fallen{filter:saturate(.55)}.hero-card.fallen .hero-portrait-art{filter:grayscale(.72) contrast(1.08)}.hero-memorial,.hero-death-report{display:flex;align-items:center;gap:11px;margin:11px 0;padding:10px;border:1px solid rgba(142,50,56,.42);background:linear-gradient(90deg,rgba(116,37,43,.17),rgba(0,0,0,.12));color:#bd6469}.hero-memorial svg,.hero-death-report svg{width:24px;height:24px}.hero-memorial span,.hero-death-report span{display:grid;gap:2px}.hero-memorial b,.hero-death-report b{font-size:10px}.hero-memorial small,.hero-death-report small{color:#8b7472;font-size:8px}
.hero-encounter-card{--rarity:#969b99;display:grid;grid-template-columns:170px minmax(0,1fr);gap:18px;align-items:center}.hero-encounter-art{width:170px;height:170px;border:1px solid var(--rarity);background-size:400% 400%!important}.hero-encounter-card h2{margin:5px 0;color:#d8ccb5;font-family:Georgia,serif;font-size:27px}.hero-encounter-card p{color:#858d87}.hero-candidate-skills{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:11px}.hero-candidate-skills span{display:grid;padding:6px;border:1px solid var(--line)}.hero-candidate-skills small{color:#6f7873;font-size:7px;text-transform:uppercase}.hero-candidate-skills b{color:#bfb9aa}.candidate-passives{display:grid;gap:7px;margin-top:16px}.candidate-passives>article{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px;border:1px solid var(--line);background:rgba(0,0,0,.12)}.candidate-passives>article>svg{width:19px;height:19px;color:var(--rarity)}.candidate-passives>article>span{display:grid;gap:2px}.candidate-passives b{color:#bfb9aa}.candidate-passives small{color:#737b77;font-size:8px}.hero-capacity-inline{display:flex;justify-content:space-between;margin-top:12px;padding:9px;border:1px solid var(--line);color:#838b86}.hero-capacity-inline b{color:#c8b17f}
.ruler-profile{display:grid;gap:14px}.ruler-profile-banner{display:grid;grid-template-columns:118px minmax(0,1fr) auto;gap:18px;align-items:center;padding:17px;border:1px solid var(--line);background:linear-gradient(120deg,rgba(199,146,79,.09),rgba(7,13,14,.9))}.profile-avatar-art{width:118px;height:118px;border:1px solid var(--bronze);background-size:400% 200%!important}.ruler-profile-banner>div{display:grid;gap:4px}.ruler-profile-banner small,.ruler-profile-banner em{color:#737d77;font-size:8px;font-style:normal;letter-spacing:.07em;text-transform:uppercase}.ruler-profile-banner h2{margin:0;color:#ded1b8;font-family:Georgia,serif;font-size:28px}.ruler-profile-banner p{margin:0;color:#9e8b66}.profile-score{justify-items:end}.profile-score b{color:#d3b36f;font-family:Georgia,serif;font-size:25px}.profile-ledger{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.profile-ledger>span{display:grid;gap:3px;padding:10px;border:1px solid var(--line);background:rgba(0,0,0,.12)}.profile-ledger small{color:#6e7772;font-size:7px;text-transform:uppercase}.profile-ledger b{color:#c7c0b1;font-size:16px}.profile-favorite{--rarity:#969b99;display:grid;grid-template-columns:110px minmax(0,1fr);gap:14px;padding:12px;border:1px solid color-mix(in srgb,var(--rarity) 45%,var(--line));background:linear-gradient(125deg,color-mix(in srgb,var(--rarity) 9%,transparent),rgba(0,0,0,.12))}.profile-favorite>header{grid-column:1/-1;display:flex;justify-content:space-between}.profile-hero-art{grid-row:2;width:110px;height:110px;border:1px solid var(--rarity);background-size:400% 400%!important}.profile-favorite>div{align-self:center}.profile-favorite h3{margin:0;color:#d4c9b4;font-family:Georgia,serif;font-size:20px}.profile-favorite p{color:#7c847f}.profile-favorite>div>span{display:inline-flex;align-items:center;gap:4px;margin:3px;padding:4px 6px;border:1px solid var(--line);color:#9da39f;font-size:8px}.profile-favorite svg{width:12px;height:12px}.profile-hero-selector,.profile-section{display:grid;gap:8px}.profile-hero-selector h3,.profile-section h3{margin:0;color:#a99f8c;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.profile-hero-selector>button{display:grid;grid-template-columns:48px minmax(0,1fr) 16px;gap:9px;align-items:center;padding:7px;border:1px solid var(--line);background:rgba(0,0,0,.12);color:inherit;text-align:left;cursor:pointer}.profile-hero-selector>button:hover,.profile-hero-selector>button.active{border-color:var(--bronze);background:rgba(199,146,79,.06)}.profile-choice-art{width:48px;height:48px;background-size:400% 400%!important}.profile-hero-selector>button>span{display:grid;gap:2px}.profile-hero-selector b{color:#bbb5a7}.profile-hero-selector small{color:#747d77;font-size:8px}.profile-city-list,.profile-achievements{display:grid;gap:6px}.profile-city-list>article,.profile-achievements>article{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:9px;align-items:center;padding:8px;border:1px solid var(--line);background:rgba(0,0,0,.11)}.profile-city-list svg,.profile-achievements svg{width:19px;height:19px;color:#aa8854}.profile-city-list span,.profile-achievements span{display:grid;gap:2px}.profile-city-list b,.profile-achievements b{color:#bfb9aa}.profile-city-list small,.profile-achievements small{color:#707974;font-size:8px}.profile-city-list strong,.profile-achievements strong{color:#b79b65;font-size:9px}
.alliance-invitation-panel{margin-bottom:15px}.alliance-invitation-panel article{display:grid;grid-template-columns:46px minmax(0,1fr) auto auto;gap:9px;align-items:center;padding:9px;border-bottom:1px solid var(--line)}.alliance-invitation-panel article:last-child{border-bottom:0}.alliance-invitation-panel h3{margin:0;color:#c4bdad}.alliance-invitation-panel p{margin:3px 0 0;color:#737c76;font-size:8px}
@media(max-width:760px){.hero-capacity-ledger{grid-template-columns:44px minmax(0,1fr)}.hero-capacity-ledger>i{grid-column:1/-1}.hero-encounter-card{grid-template-columns:100px minmax(0,1fr)}.hero-encounter-art{width:100px;height:100px}.ruler-profile-banner{grid-template-columns:82px minmax(0,1fr)}.profile-avatar-art{width:82px;height:82px}.profile-score{grid-column:1/-1;justify-items:start}.alliance-invitation-panel article{grid-template-columns:40px minmax(0,1fr)}.alliance-invitation-panel article .btn{width:100%}.profile-ledger{grid-template-columns:1fr}.profile-favorite{grid-template-columns:84px minmax(0,1fr)}.profile-hero-art{width:84px;height:84px}}

/* Authoritative scouting forecast and immersive intelligence ledger. */
.scout-forecast{grid-column:1/-1;display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;align-items:center;margin-top:12px;padding:12px;border:1px solid rgba(91,145,136,.34);background:linear-gradient(115deg,rgba(54,105,97,.12),rgba(6,12,13,.72))}.scout-forecast>div{display:grid;gap:3px}.scout-forecast small,.scout-forecast em{color:#74837e;font-size:8px;font-style:normal;letter-spacing:.08em;text-transform:uppercase}.scout-forecast b{color:#b8ccc5;font-family:Georgia,serif;font-size:15px}.scout-forecast p{margin:0;color:#727c77;font-size:8px;line-height:1.45}.scout-forecast-seal{display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(105,180,160,.38);color:#70b69f;background:radial-gradient(circle,rgba(89,160,141,.14),transparent)}.scout-forecast-seal svg{width:24px;height:24px}.scout-forecast-seal.danger{border-color:rgba(196,82,76,.38);color:#d2756d}.scout-forecast>header{grid-column:1/-1;display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;align-items:center}.scout-forecast>header>span:last-child{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px;align-items:center}.scout-forecast>header small,.scout-forecast>header em{grid-column:1}.scout-forecast>header b{grid-column:2;grid-row:1/4;color:#86d1b6;font-size:27px}.scout-intel-odds{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.scout-intel-odds article{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px;border:1px solid var(--line);background:rgba(0,0,0,.14)}.scout-intel-odds article>svg{width:17px;height:17px;color:#88938e}.scout-intel-odds article>span{display:grid;gap:2px}.scout-intel-odds article b{font-family:inherit;font-size:9px}.scout-intel-odds article strong{color:#d2b06e;font-size:12px}.scout-intel-odds .guaranteed strong,.scout-intel-odds .guaranteed>svg{color:#70b69f}.scout-forecast>footer{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px;padding-top:8px;border-top:1px solid var(--line);color:#7b837e;font-size:8px}.scout-forecast>footer span{display:flex;align-items:center;gap:5px}.scout-forecast>footer svg{width:13px;height:13px}
.scout-report-modal .game-dialog{width:min(1060px,calc(100vw - 24px));max-width:1060px}.scout-report-hero{display:grid;grid-template-columns:62px minmax(0,1fr);gap:16px;align-items:center;padding:18px;border:1px solid rgba(94,165,145,.38);background:linear-gradient(110deg,rgba(52,112,96,.17),rgba(4,10,11,.68))}.scout-report-hero.failed{border-color:rgba(176,67,66,.42);background:linear-gradient(110deg,rgba(117,37,40,.18),rgba(5,9,10,.72))}.scout-report-hero>svg{width:48px;height:48px;color:#73c0a6;filter:drop-shadow(0 0 10px rgba(79,174,147,.35))}.scout-report-hero.failed>svg{color:#cf6867}.scout-report-hero span{display:grid;gap:4px}.scout-report-hero small,.scout-ledger-section header small,.scout-ledger-core header small{color:#75817c;font-size:8px;letter-spacing:.13em;text-transform:uppercase}.scout-report-hero h2{margin:0;color:#d8d0bc;font-size:24px}.scout-report-hero p{margin:0;color:#87908b;font-size:9px}.scout-casualty-strip{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:10px 0 16px;padding:10px 13px;border-left:2px solid #a34f4e;background:rgba(111,36,39,.11)}.scout-casualty-strip>span{display:grid;gap:5px}.scout-casualty-strip small{color:#8c7774;font-size:8px;text-transform:uppercase}.scout-casualty-strip>b{max-width:310px;color:#8f8980;font-size:9px;text-align:right}.scout-ledger-core,.scout-ledger-section{margin-top:12px;padding:14px;border:1px solid var(--line);background:linear-gradient(145deg,rgba(18,29,30,.94),rgba(7,12,13,.86))}.scout-ledger-core>header,.scout-ledger-section>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.scout-ledger-core>header>span,.scout-ledger-section>header>span{display:flex;align-items:center;gap:10px}.scout-ledger-core>header svg,.scout-ledger-section>header>svg{width:25px;height:25px;color:#76af9e}.scout-ledger-core header span span,.scout-ledger-section header span span{display:grid;gap:2px}.scout-ledger-core h3,.scout-ledger-section h3{margin:0;color:#c8c1b0;font-size:15px}.scout-ledger-core>header>b,.scout-ledger-section>header>b{color:#d4b36e;font-size:11px}.scout-ledger-section.locked{border-style:dashed;opacity:.72;background:repeating-linear-gradient(135deg,rgba(16,24,25,.86),rgba(16,24,25,.86) 12px,rgba(11,18,19,.86) 12px,rgba(11,18,19,.86) 24px)}.scout-ledger-section.locked p,.scout-failure-story p{margin:0;color:#717a76;font-size:9px}
.scout-unit-grid,.scout-building-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.scout-unit-entry{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:9px;align-items:center;padding:7px;border:1px solid var(--line);background:rgba(0,0,0,.14)}.scout-unit-art{width:48px;height:48px}.scout-unit-entry>span{display:grid;gap:2px}.scout-unit-entry small{color:#6f7974;font-size:7px;text-transform:uppercase}.scout-unit-entry b{color:#aaa79d;font-size:9px}.scout-unit-entry strong{color:#e0c17c;font-size:15px}.scout-building-grid article{display:grid;grid-template-columns:62px minmax(0,1fr);gap:9px;align-items:center;padding:8px;border:1px solid var(--line);background:rgba(0,0,0,.14)}.scout-building-art{width:62px;height:62px}.scout-building-grid span{display:grid;gap:4px}.scout-building-grid b{color:#bcb6a7;font-size:9px}.scout-building-grid small{color:#d0a95f;font-size:8px}.scout-hero-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.scout-hero-entry{--rarity:#969b99;display:grid;grid-template-columns:104px minmax(0,1fr);gap:12px;padding:10px;border:1px solid color-mix(in srgb,var(--rarity) 42%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--rarity) 7%,transparent),rgba(0,0,0,.14))}.scout-hero-art{width:104px;height:104px;border:1px solid var(--rarity)}.scout-hero-entry>div{display:grid;align-content:start;gap:4px}.scout-hero-entry h3{font-size:16px}.scout-hero-entry p{margin:0;color:#7c847f;font-size:8px}.scout-hero-stats{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0}.scout-hero-stats span{display:flex;gap:4px;padding:3px 5px;border:1px solid var(--line);font-size:7px}.scout-hero-stats small{color:#737d78}.scout-hero-ability{display:grid;grid-template-columns:18px minmax(0,1fr);gap:5px;align-items:center;padding:5px;background:rgba(0,0,0,.13)}.scout-hero-ability svg{width:14px;height:14px;color:var(--rarity)}.scout-hero-ability span{display:grid}.scout-hero-ability b{font-size:8px}.scout-hero-ability small{color:#747d78;font-size:7px}.scout-hero-entry footer{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px;color:#8aa89e;font-size:7px}
.scout-order-list,.scout-movement-list{display:grid;gap:6px}.scout-order-list article,.scout-movement-list article{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:9px;align-items:center;padding:7px;border:1px solid var(--line);background:rgba(0,0,0,.13)}.scout-order-art,.scout-movement-art{width:48px;height:48px}.scout-order-list span,.scout-movement-list span{display:grid;gap:3px}.scout-order-list b,.scout-movement-list b{color:#b8b3a5;font-size:9px}.scout-order-list small,.scout-movement-list small{color:#737d78;font-size:8px}.scout-order-list time,.scout-movement-list time{color:#d0a95f;font-size:9px}.scout-failure-story{display:grid;justify-items:center;gap:8px;padding:34px;border:1px dashed rgba(158,69,69,.35);text-align:center;background:radial-gradient(circle,rgba(105,31,35,.12),transparent 70%)}.scout-failure-story svg{width:42px;height:42px;color:#9c5555}.scout-failure-story h3{margin:0;color:#b68c88}
.map-marker.cargo-route-marker{border:0!important;background:transparent!important;box-shadow:none!important}.map-marker.cargo-route-marker::after{display:none!important}.map-marker.cargo-route-marker .map-movement-art{filter:drop-shadow(0 4px 4px rgba(0,0,0,.7))}
@media(max-width:760px){.scout-intel-odds,.scout-unit-grid,.scout-building-grid,.scout-hero-grid{grid-template-columns:1fr}.scout-forecast>footer,.scout-casualty-strip{align-items:flex-start;flex-direction:column}.scout-casualty-strip>b{text-align:left}.scout-hero-entry{grid-template-columns:80px minmax(0,1fr)}.scout-hero-art{width:80px;height:80px}}
.scout-building-grid article,.scout-order-list article{position:relative;overflow:hidden}.scout-building-art,.scout-order-art{position:static!important;inset:auto!important;right:auto!important;bottom:auto!important;transform:none!important}

/* v0.17.1 · world ruler directory and compact relic vault */
.map-inspector-actions{display:grid;grid-template-columns:1fr;gap:7px;margin-top:12px}.map-inspector-actions .btn{width:100%;justify-content:flex-start}.map-profile-link{border-color:rgba(199,146,79,.28);color:#bda475}.map-profile-link svg{width:15px;height:15px}
.ruler-search{margin-bottom:18px;overflow:hidden}.ruler-search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;padding:14px 16px;border-bottom:1px solid var(--line);background:linear-gradient(100deg,rgba(199,146,79,.08),rgba(6,12,13,.58))}.ruler-search-form label{display:grid;gap:5px}.ruler-search-form label>span{color:#9f9279;font-size:8px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.ruler-search-form input{height:38px}.ruler-search-form .btn{height:38px}.ruler-search-results{min-height:52px}.ruler-search-status{display:flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:12px;color:#78817c;font-size:9px}.ruler-search-status svg{width:17px;height:17px;color:#a7834f}.ruler-search-status.error{color:#d07169}.ruler-search-summary{padding:9px 16px 0;color:#737c77;font-size:8px;letter-spacing:.08em;text-transform:uppercase}.ruler-search-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:9px 12px 12px}.ruler-search-result{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:10px;align-items:center;min-width:0;padding:8px;border:1px solid var(--line);background:rgba(5,10,11,.33);color:inherit;text-align:left;cursor:pointer}.ruler-search-result:hover,.ruler-search-result:focus-visible{border-color:var(--bronze);background:rgba(199,146,79,.07);outline:none}.search-avatar-art{width:58px;height:58px;border:1px solid rgba(199,146,79,.3);background-size:400% 200%!important}.ruler-search-result>span{display:grid;min-width:0;gap:2px}.ruler-search-result>span small{color:#756f63;font-size:7px;letter-spacing:.08em;text-transform:uppercase}.ruler-search-result>span b{overflow:hidden;color:#cec3ae;font-family:Georgia,serif;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.ruler-search-result>span em{overflow:hidden;color:#88795f;font-size:8px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.ruler-search-result>strong{display:grid;justify-items:end;color:#c3a260;font-size:13px}.ruler-search-result>strong small{color:#6c746f;font-size:6px;text-transform:uppercase}.ruler-search-result>i{position:absolute;right:8px;bottom:7px;color:#69726d;font-size:7px;font-style:normal}.ruler-search-pages{display:flex;align-items:center;justify-content:center;gap:10px;padding:0 12px 12px}.ruler-search-pages>span{color:#747d78;font-size:8px}
.inventory-active{margin-bottom:12px}.inventory-active>.section-heading{min-height:31px;padding:7px 11px}.inventory-active>.section-heading span{font-size:8px}.inventory-active>.section-heading em{min-width:18px;height:18px}.active-item-list{display:flex;gap:6px;padding:7px;overflow-x:auto}.active-item-effect{flex:0 0 min(310px,82vw);grid-template-columns:36px minmax(0,1fr) auto;gap:8px;min-height:44px;padding:4px 7px}.active-item-art{width:36px;height:36px}.active-item-effect>span{gap:1px}.active-item-effect b{font-size:9px}.active-item-effect em{font-size:7px}.active-item-effect time{font-size:8px;white-space:nowrap}.active-effects-empty{display:flex;align-items:center;gap:8px;min-height:36px;padding:0 7px;color:#6f7873;font-size:8px}.active-effects-empty svg{width:15px;height:15px;color:#8e7c5e}
.inventory-vault{overflow:hidden}.inventory-vault-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 18px;border-bottom:1px solid var(--line);background:linear-gradient(100deg,rgba(199,146,79,.07),rgba(6,12,13,.48))}.inventory-vault-heading>div{display:grid;gap:3px}.inventory-vault-heading small{color:#a57d44;font-size:7px;font-weight:800;letter-spacing:.14em}.inventory-vault-heading h2{margin:0;color:#d4c7ad;font-family:Georgia,serif;font-size:21px}.inventory-vault-heading p{margin:0;color:#737c77;font-size:8px}.inventory-vault-heading>strong{color:#d1ae67;font-family:Georgia,serif;font-size:22px;white-space:nowrap}.inventory-vault-heading>strong span{color:#6d756f;font-size:12px}.inventory-grid{display:grid;grid-template-columns:repeat(6,minmax(78px,1fr));gap:9px;padding:14px}.inventory-slot{--rarity:#8d9391;position:relative;display:grid;place-items:center;min-width:0;aspect-ratio:1/1;overflow:hidden;border:1px solid color-mix(in srgb,var(--rarity) 45%,var(--line));background:radial-gradient(circle at 50% 44%,color-mix(in srgb,var(--rarity) 9%,transparent),rgba(5,10,11,.88) 70%);box-shadow:inset 0 0 0 3px rgba(0,0,0,.22),inset 0 0 22px rgba(0,0,0,.34);color:inherit}.inventory-slot.occupied{cursor:pointer}.inventory-slot.occupied::before,.inventory-slot.empty::before{content:"";position:absolute;inset:5px;border:1px solid color-mix(in srgb,var(--rarity) 20%,transparent)}.inventory-slot.occupied:hover,.inventory-slot.occupied:focus-visible{z-index:1;border-color:var(--rarity);outline:none;box-shadow:inset 0 0 0 3px rgba(0,0,0,.22),0 0 16px color-mix(in srgb,var(--rarity) 35%,transparent);transform:translateY(-2px)}.inventory-slot-art{width:86%;height:86%;background-size:300% 300%;filter:drop-shadow(0 6px 8px rgba(0,0,0,.58))}.inventory-slot-rarity{position:absolute;left:10%;right:10%;bottom:6px;height:2px;background:linear-gradient(90deg,transparent,var(--rarity),transparent);box-shadow:0 0 7px var(--rarity)}.inventory-slot>small{position:absolute;top:5px;left:7px;color:#5f6863;font-size:6px}.inventory-slot.empty{--rarity:#56605b}.inventory-slot.empty>i{width:34%;height:34%;border:1px solid rgba(111,123,116,.1);transform:rotate(45deg)}.inventory-slot-detail>div{display:grid;gap:7px}.inventory-slot-detail>div>small,.inventory-slot-detail>div>em{color:#737c77;font-size:8px;font-style:normal}.inventory-slot-detail .item-rarity{justify-self:start;margin:0}.inventory-slot-detail .item-effect{margin-top:3px}
@media(max-width:1050px){.inventory-grid{grid-template-columns:repeat(5,minmax(70px,1fr))}.ruler-search-grid{grid-template-columns:1fr}}
@media(max-width:760px){.ruler-search-form{grid-template-columns:1fr}.ruler-search-result{grid-template-columns:48px minmax(0,1fr) auto}.search-avatar-art{width:48px;height:48px}.inventory-grid{grid-template-columns:repeat(4,minmax(58px,1fr));gap:6px;padding:9px}.inventory-vault-heading{padding:12px}.inventory-vault-heading p{display:none}}
@media(max-width:430px){.inventory-grid{grid-template-columns:repeat(3,minmax(56px,1fr))}.ruler-search-result{grid-template-columns:44px minmax(0,1fr)}.search-avatar-art{width:44px;height:44px}.ruler-search-result>strong{display:none}}

/* v0.17.2 · visible alliance decisions and collision-free mission planning */
.notification-invite-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.35fr;gap:6px;padding:0 10px 10px}.notification-invite-actions .btn{width:100%;min-width:0;justify-content:center}.alliance-crest-design.small{width:46px;height:52px;padding:3px}.alliance-crest-design.small.shape-round,.alliance-crest-design.small.shape-diamond{width:46px;height:46px}.alliance-invite-confirm{display:grid;grid-template-columns:92px minmax(0,1fr);gap:16px;align-items:center}.alliance-confirm-crest{width:92px;height:92px}.alliance-invite-confirm>div{display:grid;gap:5px}.alliance-invite-confirm small,.alliance-invite-confirm em{color:#777f79;font-size:8px;font-style:normal;letter-spacing:.06em;text-transform:uppercase}.alliance-invite-confirm h3{margin:0;color:#d0c4ad;font-family:Georgia,serif;font-size:22px}.alliance-invite-confirm p{margin:2px 0;color:#858c87;font-size:9px;line-height:1.55}
@media(max-width:900px){}
@media(max-width:520px){.notification-invite-actions{grid-template-columns:1fr}.alliance-invite-confirm{grid-template-columns:66px minmax(0,1fr)}.alliance-confirm-crest{width:66px;height:66px}}

/* v2.1 · Forged Interface — readable icon scale and resilient layouts. */
.ui-icon{display:inline-block;flex:0 0 auto;width:1em;height:1em;background-image:var(--ui-icon-image);background-repeat:no-repeat;background-size:contain;background-position:center;vertical-align:-.16em;filter:drop-shadow(0 2px 3px rgba(0,0,0,.38))}
.icon-crest{--ui-icon-x:0%;--ui-icon-y:0%}.icon-citadel{--ui-icon-x:14.2857143%;--ui-icon-y:0%}.icon-map{--ui-icon-x:28.5714286%;--ui-icon-y:0%}.icon-swords{--ui-icon-x:42.8571429%;--ui-icon-y:0%}.icon-helmet{--ui-icon-x:57.1428571%;--ui-icon-y:0%}.icon-research{--ui-icon-x:71.4285714%;--ui-icon-y:0%}.icon-hero{--ui-icon-x:85.7142857%;--ui-icon-y:0%}.icon-scales{--ui-icon-x:100%;--ui-icon-y:0%}
.icon-banner{--ui-icon-x:0%;--ui-icon-y:14.2857143%}.icon-scroll{--ui-icon-x:14.2857143%;--ui-icon-y:14.2857143%}.icon-reports{--ui-icon-x:28.5714286%;--ui-icon-y:14.2857143%}.icon-message{--ui-icon-x:42.8571429%;--ui-icon-y:14.2857143%}.icon-ranking{--ui-icon-x:57.1428571%;--ui-icon-y:14.2857143%}.icon-admin{--ui-icon-x:71.4285714%;--ui-icon-y:14.2857143%}.icon-rune{--ui-icon-x:85.7142857%;--ui-icon-y:14.2857143%}.icon-bell{--ui-icon-x:100%;--ui-icon-y:14.2857143%}
.icon-hourglass{--ui-icon-x:0%;--ui-icon-y:28.5714286%}.icon-menu{--ui-icon-x:14.2857143%;--ui-icon-y:28.5714286%}.icon-arrow{--ui-icon-x:28.5714286%;--ui-icon-y:28.5714286%}.icon-chevron{--ui-icon-x:42.8571429%;--ui-icon-y:28.5714286%}.icon-close{--ui-icon-x:57.1428571%;--ui-icon-y:28.5714286%}
.icon-crest,.icon-citadel,.icon-map,.icon-swords,.icon-helmet,.icon-research,.icon-hero,.icon-scales{--ui-icon-y-offset:1.28%}
.icon-banner,.icon-scroll,.icon-reports,.icon-message,.icon-ranking,.icon-admin,.icon-rune,.icon-bell{--ui-icon-y-offset:2.19%}
.icon-hourglass,.icon-menu,.icon-arrow,.icon-chevron,.icon-close{--ui-icon-y-offset:2.01%}
.wordmark-mark.ui-icon{width:46px;height:46px;filter:drop-shadow(0 0 12px rgba(214,151,69,.32))}.wordmark.compact .wordmark-mark.ui-icon{width:38px;height:38px}.feature-runes .ui-icon,.btn>.ui-icon{width:20px;height:20px}.nav-item>.ui-icon{width:24px;height:24px}.top-actions .ui-icon,.mobile-menu .ui-icon{width:22px;height:22px}.city-picker>.ui-icon{display:inline-block;width:30px;height:30px;flex:0 0 30px}.city-picker>.chevron{width:14px;height:14px;flex-basis:14px}.rail-section header .ui-icon{width:18px;height:18px}.season-sigil .ui-icon{width:34px;height:34px}.mobile-nav .ui-icon{width:24px;height:24px}.icon-button>.ui-icon{width:21px;height:21px}.empty-state>.ui-icon{width:52px;height:52px;margin:0 auto 12px}.asset-art.fallback>.ui-icon{width:55%;height:55%}

:root{--topbar:78px;--sidebar:clamp(224px,15vw,252px);--rail:clamp(286px,19vw,330px);--radius:7px}
html{font-size:16px;text-size-adjust:100%;-webkit-text-size-adjust:100%}body{font-size:clamp(14px,.2vw + 13px,16px);line-height:1.5}.game-shell{min-height:100dvh}.main-content{min-width:0;min-height:calc(100dvh - var(--topbar));padding:clamp(22px,2.2vw,38px) clamp(16px,2.4vw,42px) 72px}.main-content>div,#viewRoot,#viewRoot>section{min-width:0;max-width:100%}
#viewRoot :is(section,article,div,span,header,footer,form,fieldset){min-width:0}#viewRoot :is(h1,h2,h3,h4,p,b,small,em,strong,label,td,th){overflow-wrap:anywhere}#viewRoot p{font-size:clamp(12px,.72vw,14px)!important;line-height:1.62}#viewRoot small{font-size:clamp(10px,.61vw,12px)!important;line-height:1.45}#viewRoot label{font-size:12px;line-height:1.45}.section-heading span,.view-eyebrow{font-size:11px;line-height:1.4}.view-title h1{font-size:clamp(34px,3.1vw,52px)}.view-title p{max-width:72ch;color:#a19f94}.panel,.content-card{border-color:rgba(219,191,132,.17);background:linear-gradient(145deg,rgba(27,39,41,.96),rgba(14,21,23,.96));box-shadow:inset 0 1px rgba(255,255,255,.018),0 14px 34px rgba(0,0,0,.12)}
.btn{min-height:44px;padding:10px 17px;font-size:12px;line-height:1.3;white-space:normal}.btn.small{min-height:36px;font-size:10px}.text-button{min-height:32px;padding:6px 8px;font-size:11px}.tab{min-height:42px;font-size:11px}input,select,textarea{min-height:44px;font-size:15px;line-height:1.5}textarea{min-height:124px}.tooltip{max-width:min(320px,calc(100vw - 20px));padding:10px 12px;font-size:12px}.toast{grid-template-columns:30px minmax(0,1fr) 32px;padding:14px}.toast>.ui-icon{width:26px;height:26px}.toast b{font-size:13px}.toast p{font-size:12px}.toast button{min-width:32px;min-height:32px}
.topbar{height:var(--topbar)}.topbar .wordmark{padding-left:20px}.city-picker{width:clamp(210px,15vw,238px);flex:0 0 clamp(210px,15vw,238px);padding:0 16px}.city-picker small{font-size:9px}.city-picker b{font-size:15px}.resource-chip{min-width:clamp(86px,6.2vw,112px);padding:0 clamp(8px,.8vw,14px)}.resource-chip b{font-size:14px}.resource-chip small{font-size:9px;line-height:1.3}.top-actions{gap:4px;padding-left:8px}.language-switch,.language-switch.compact{min-width:88px;height:42px;margin:0 8px;padding:0 13px;font-size:10px}.profile-chip b{font-size:12px}.profile-chip small{font-size:9px}.sidebar{padding:20px 13px 16px}.nav-item{min-height:46px;gap:13px;padding:9px 12px}.nav-item span{font-size:13px}.nav-label{font-size:9px}.right-rail{padding:20px 17px}.rail-section header>span{font-size:10px}.right-rail :is(p,small){font-size:10px!important;line-height:1.5}
.card-grid,.hero-grid,.alliance-grid,.alliance-request-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}.building-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:16px}.building-card{min-height:300px;padding:18px}.building-card h3{font-size:22px}.building-card p{max-width:60ch}.content-card{padding:16px}.city-overview-grid,.market-layout{gap:18px}.table-scroll{max-width:100%;overflow:auto}.data-table{min-width:620px}.quest-card{gap:18px;padding:18px}.quest-card h3{font-size:20px}.quest-icon{width:62px;height:62px}.quest-icon>.ui-icon{width:38px;height:38px}.unit-art{background-color:transparent;image-rendering:auto}.unit-detail-card,.recruit-unit-card{min-height:260px}.unit-stats,.unit-stats.compact{grid-template-columns:repeat(3,minmax(78px,1fr));gap:7px}.unit-stats span,.unit-stats.compact span{padding:8px}.unit-stats small,.unit-stats.compact small{font-size:10px!important;white-space:normal}.unit-stats b,.unit-stats.compact b{font-size:12px;white-space:normal}.unit-choice-copy>em{min-height:auto;font-size:12px}.modal{width:min(760px,calc(100vw - 24px));max-height:calc(100dvh - 24px)}.modal-frame{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:calc(100dvh - 24px);overflow:hidden}.modal-frame>header{padding:18px 20px}.modal-frame h2{font-size:clamp(24px,2vw,32px)}.modal-frame header small{font-size:10px}.modal-body{max-height:none;min-height:0;padding:22px;overflow:auto;overscroll-behavior:contain}.modal-frame>footer{flex-wrap:wrap;padding:15px 20px}.game-dialog{max-width:calc(100vw - 24px)}

.mailbox-tabs{gap:8px;margin-bottom:12px}.mailbox-tabs .tab{padding:9px 15px}.mailbox-tabs .ui-icon{width:21px;height:21px}.message-layout{grid-template-columns:minmax(310px,.72fr) minmax(420px,1.28fr);min-height:min(680px,calc(100dvh - 220px));max-height:calc(100dvh - 220px);overflow:hidden}.message-list{overflow-y:auto;border-right:1px solid var(--line);overscroll-behavior:contain}.message-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;padding:16px;border-left:3px solid transparent}.message-item.unread{border-left-color:var(--bronze-bright);background:linear-gradient(90deg,rgba(199,146,79,.08),transparent)}.message-item.active{background:linear-gradient(90deg,rgba(75,142,133,.12),rgba(199,146,79,.04))}.message-item-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(199,146,79,.2);background:rgba(199,146,79,.05)}.message-item-icon .ui-icon{width:27px;height:27px}.message-item-copy{display:grid;gap:3px;min-width:0}.message-item-copy small{color:#a58c63;text-transform:uppercase;letter-spacing:.07em}.message-item h3{overflow:hidden;color:#d1c8b7;font-size:15px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.message-item p{display:-webkit-box;margin:0;color:#939891;font-size:12px!important;line-height:1.45;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.message-item-status{display:grid;justify-items:end;gap:5px}.message-item-status time{color:#858d88;font-size:10px;white-space:nowrap}.message-item-status b,.message-item-status em{padding:3px 6px;border:1px solid var(--line);color:#9c9e96;font-size:9px;font-style:normal;white-space:nowrap}.message-item-status em{border-color:rgba(199,146,79,.35);color:var(--bronze-bright)}.message-view{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;padding:0;background:radial-gradient(circle at 90% 0,rgba(199,146,79,.06),transparent 32%)}.message-thread-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;padding:22px 24px;border-bottom:1px solid var(--line)}.message-thread-header>.text-button{grid-column:1/-1;justify-self:start;display:flex;align-items:center;gap:7px}.message-thread-header>.text-button .ui-icon{width:16px;height:16px;transform:rotate(180deg)}.message-thread-header>div small{color:#a18154;text-transform:uppercase;letter-spacing:.08em}.message-thread-header h2{margin:3px 0 0;font-size:clamp(23px,2vw,31px)}.message-thread-header>span{display:flex;align-items:center;gap:7px;color:#8c938e;font-size:11px}.message-thread-header>span .ui-icon{width:20px;height:20px}.message-thread{display:flex;flex-direction:column;gap:14px;min-height:0;padding:22px 24px;overflow-y:auto;overscroll-behavior:contain}.thread-entry{width:min(82%,720px);padding:15px 17px;border:1px solid var(--line);background:rgba(9,15,16,.64);box-shadow:0 8px 20px rgba(0,0,0,.12)}.thread-entry.own{align-self:flex-end;border-color:rgba(199,146,79,.27);background:linear-gradient(135deg,rgba(115,77,38,.16),rgba(12,19,20,.8))}.thread-entry.incoming{align-self:flex-start;border-color:rgba(79,151,141,.26)}.thread-entry header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.thread-entry header>span{display:flex;align-items:center;gap:7px}.thread-entry header .ui-icon{width:18px;height:18px}.thread-entry header b{color:#c7bfae;font-size:12px}.thread-entry time{color:#858c87;font-size:10px}.thread-entry .message-body{max-width:none;color:#d0cbc0;font-size:15px;line-height:1.72}.thread-reply{padding:17px 24px 20px;border-top:1px solid var(--line);background:rgba(8,13,14,.72)}.thread-reply label{margin:0}.thread-reply textarea{min-height:90px;max-height:210px;resize:vertical}.thread-reply footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:10px}.thread-reply footer small{color:#858c87}.thread-closed{display:flex;align-items:center;gap:10px;padding:18px 24px;border-top:1px solid var(--line);color:#8c938e}.thread-closed .ui-icon{width:24px;height:24px}

@media(max-width:1480px){:root{--rail:0px}.right-rail{display:none}.city-picker{width:220px;flex-basis:220px}.resource-chip{min-width:72px;padding:0 7px}.resource-chip small{display:none}.profile-chip{min-width:58px;padding:0 10px}.profile-chip>span:last-child{display:none}.building-card{min-height:280px}.message-layout{max-height:calc(100dvh - 205px)}}
@media(max-width:1240px){.topbar .wordmark{display:none}.message-layout{max-height:calc(100dvh - 205px)}}
@media(max-width:980px){:root{--sidebar:0px;--topbar:70px}.sidebar{width:min(286px,86vw);padding-top:18px}.topbar .wordmark{display:none}.mobile-menu{display:grid;width:54px}.city-picker{width:auto;min-width:160px;max-width:260px;flex:1}.main-content{padding:22px 16px 72px}.resource-chip{min-width:82px}.tech-tree{grid-template-columns:repeat(4,minmax(220px,1fr));overflow-x:auto}.message-layout{grid-template-columns:minmax(280px,.66fr) minmax(390px,1.34fr)}}
@media(max-width:760px){:root{--topbar:68px}.game-shell{padding-bottom:calc(70px + env(safe-area-inset-bottom))}.topbar{min-width:0}.city-picker{min-width:0;max-width:none;padding:0 10px}.city-picker>.ui-icon{display:none}.city-picker small{font-size:8px}.city-picker b{font-size:14px}.resource-bar{flex:0 0 auto}.resource-chip[data-resource="essence"]{min-width:72px;padding:0 8px}.resource-chip[data-resource="essence"] .resource-glyph{width:25px;height:25px}.language-switch.compact{min-width:64px;margin:0 4px;padding:0 7px;font-size:9px}.top-actions>.icon-button{width:44px}.main-content{padding:18px 10px 34px}.mobile-nav{height:68px}.mobile-nav button{font-size:10px}.view-header{gap:14px}.view-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.view-actions .btn{width:100%}.building-grid{grid-template-columns:1fr;gap:12px;padding:10px}.building-card{min-height:270px;padding:16px}.building-card h3{font-size:21px}.quest-card{grid-template-columns:52px minmax(0,1fr);padding:14px}.quest-icon{width:52px;height:52px}.quest-card>.btn{grid-column:1/-1;width:100%}.card-grid,.hero-grid,.alliance-grid,.alliance-request-grid{grid-template-columns:1fr}.modal{width:calc(100vw - 12px);max-height:calc(100dvh - 12px)}.modal-frame{max-height:calc(100dvh - 12px)}.modal-body{padding:16px}.modal-frame>footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}.modal-frame>footer .btn{width:100%}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.unit-stats,.unit-stats.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.message-layout{display:block;min-height:calc(100dvh - 202px);max-height:none;overflow:visible}.message-list{border-right:0;overflow:visible}.message-item{grid-template-columns:38px minmax(0,1fr) auto;padding:14px 11px}.message-item-icon{width:38px;height:38px}.message-item-status b{display:none}.message-view{display:none}.message-view.open{position:fixed;z-index:80;inset:var(--topbar) 0 calc(68px + env(safe-area-inset-bottom));display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;padding:0;overflow:hidden;background:#111a1c}.message-thread-header{padding:12px 14px}.message-thread-header>span{display:none}.message-thread{padding:14px 10px}.thread-entry{width:92%;padding:13px}.thread-entry .message-body{font-size:14px}.thread-reply{padding:10px}.thread-reply footer{align-items:stretch;flex-direction:column}.thread-reply footer .btn{width:100%}.thread-reply textarea{min-height:74px}.mailbox-tabs{position:sticky;top:0;z-index:2;background:#11191b}.data-table{min-width:560px}}
@media(max-width:430px){body{font-size:14px}.landing-header{padding:14px}.landing-actions{gap:5px}.landing-copy h1{font-size:clamp(36px,11vw,46px)}.auth-form{padding:24px 18px}.city-picker{max-width:calc(100vw - 162px)}.resource-chip[data-resource="essence"]{display:none!important}.view-actions{grid-template-columns:1fr}.modal-frame>footer{grid-template-columns:1fr}.message-item{grid-template-columns:34px minmax(0,1fr);gap:9px}.message-item-icon{width:34px;height:34px}.message-item-status{grid-column:2;grid-row:2;display:flex;justify-content:flex-start}.message-item-status em{margin-left:auto}.message-thread-header h2{font-size:21px}.thread-entry{width:96%}.unit-stats,.unit-stats.compact{grid-template-columns:1fr 1fr}.inventory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* v2.1.1 ownership and icon corrections */
.ui-icon{flex:0 0 auto!important}
.city-option{align-items:center;min-height:72px;padding:10px 12px}
.city-option>.ui-icon{display:inline-block;width:42px;height:42px;flex-basis:42px!important;filter:drop-shadow(0 3px 5px rgba(0,0,0,.45))}
.city-option>span:not(.ui-icon){display:flex;min-width:0;flex:1 1 auto;flex-direction:column}
.city-option b{font-size:12px}.city-option small{font-size:10px;line-height:1.4}
.notification-open>.ui-icon{display:inline-block;width:22px;height:22px;flex-basis:22px!important}

.market-layout{grid-template-columns:minmax(400px,.86fr) minmax(0,1.14fr)}
.exchange-wheel{display:grid;gap:14px;padding:18px}
.exchange-wheel>.npc-partner-field,.exchange-wheel>label{margin:0!important}
.exchange-wheel>.resource-field{display:grid;gap:6px}
.exchange-wheel .universal-field-label,.npc-partner-field>span{color:#a89a7e;font-size:11px;font-weight:700;letter-spacing:.03em}
.exchange-arrow{width:40px;height:40px;margin:0 auto;border-color:rgba(199,146,79,.3);background:rgba(199,146,79,.055)}
.exchange-arrow>.ui-icon{width:20px;height:20px}
.npc-partner-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;margin:0;padding:14px;border-color:rgba(199,146,79,.24);background:linear-gradient(135deg,rgba(199,146,79,.075),rgba(7,13,14,.64))}
.npc-partner-identity{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:center}
.npc-partner-identity>.ui-icon{width:32px;height:32px}
.npc-partner-identity>span{display:grid;gap:3px}
.npc-partner-identity b{overflow:hidden;color:#d0c5ad;font-family:Georgia,serif;font-size:15px;text-overflow:ellipsis;white-space:nowrap}
.npc-partner-identity small{color:#829089;font-size:10px!important}
.npc-partner-route{display:grid;align-content:center;justify-items:end;gap:2px;padding-left:12px;border-left:1px solid var(--line)}
.npc-partner-route small{color:#717b76;font-size:9px!important;text-transform:uppercase}
.npc-partner-route b{color:#d5b36e;font-size:13px;white-space:nowrap}
.npc-partner-facts{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:7px;padding-top:10px;border-top:1px solid var(--line)}
.npc-partner-facts>span{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid rgba(218,194,146,.14);background:rgba(0,0,0,.15);color:#87918b;font-size:10px}
.npc-partner-facts .ui-icon,.npc-partner-facts .resource-glyph{width:20px;height:20px}
.npc-partner-facts b{color:#bdb5a4;font-size:10px}
.rate-preview{display:grid;gap:10px;margin:0;padding:14px;text-align:left;font-size:12px}
.rate-preview>.npc-rate-line,.rate-preview>.npc-return-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.rate-preview :is(.npc-rate-line,.npc-return-line)>small{color:#79827d;font-size:10px!important;text-transform:uppercase}
.npc-rate-line>b{display:flex;align-items:center;gap:6px;color:#d7bc80;font-size:13px;white-space:nowrap}
.npc-rate-line>b>i{color:#776c57;font-style:normal}
.npc-rate-line .resource-glyph,.npc-return-line .resource-glyph{width:24px;height:24px}
.npc-return-line .reward-row{display:flex;justify-content:flex-end}
.npc-rate-note{padding-top:9px;border-top:1px solid var(--line);color:#747d78!important;font-size:10px!important;line-height:1.5}
.caravan-requirement{min-height:48px;margin:0;padding:10px 12px;font-size:11px}
.caravan-requirement>.ui-icon{display:inline-block;width:22px;height:22px;flex-basis:22px!important}
.caravan-requirement>span:not(.ui-icon){display:grid;min-width:0;flex:1 1 auto;gap:2px}
.caravan-requirement>span:not(.ui-icon)>strong{color:inherit;font-size:11px}
.caravan-requirement>span:not(.ui-icon)>small{overflow-wrap:anywhere;color:#78827c;font-size:9px;line-height:1.35}
.caravan-requirement.met>span:not(.ui-icon)>small{color:#759b89}.caravan-requirement.missing>span:not(.ui-icon)>small{color:#b8736b}
.caravan-requirement>b{flex:0 0 auto;font-size:10px;line-height:1.45;text-align:right}
.exchange-wheel>.btn.wide{margin-top:2px}

.army-morale-strip{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:14px;align-items:center;margin:0 0 16px;padding:14px 18px;border:1px solid rgba(199,146,79,.24);background:linear-gradient(115deg,rgba(125,68,43,.15),rgba(19,30,31,.95) 52%,rgba(47,94,79,.12))}
.army-morale-art{width:70px;height:70px}
.army-morale-strip>div{display:grid;gap:2px}
.army-morale-strip small{color:#a48457;font-size:10px!important;letter-spacing:.1em;text-transform:uppercase}
.army-morale-strip b{color:#dfd1b7;font-family:Georgia,serif;font-size:23px;font-weight:400}
.army-morale-strip p{margin:0;color:#858d87;font-size:11px!important}
.army-morale-strip>strong{padding:7px 10px;border:1px solid currentColor;color:#d3af69;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.army-morale-strip>.morale-battle-ready,.army-morale-strip>.morale-steadfast{color:#78b39d}.army-morale-strip>.morale-strained{color:#d0a45d}.army-morale-strip>.morale-shaken{color:#d06f65}
.army-morale-strip>i{grid-column:1/-1;display:block;height:5px;overflow:hidden;background:#101718}
.army-morale-strip>i>i{display:block;height:100%;background:linear-gradient(90deg,#93493f,#d0a04f,#68ad94);box-shadow:0 0 9px rgba(202,151,73,.48)}
.inventory-ledger.currency-only{grid-template-columns:minmax(280px,460px)}

@media(max-width:1100px){.market-layout{grid-template-columns:1fr}}
@media(max-width:620px){.npc-partner-summary{grid-template-columns:1fr}.npc-partner-route{justify-items:start;padding:9px 0 0;border-top:1px solid var(--line);border-left:0}.npc-partner-facts{padding-top:8px}.rate-preview>.npc-rate-line,.rate-preview>.npc-return-line{grid-template-columns:1fr}.npc-return-line .reward-row{justify-content:flex-start}.caravan-requirement{align-items:flex-start;flex-wrap:wrap}.caravan-requirement>b{width:100%;padding-left:29px;text-align:left}.army-morale-strip{grid-template-columns:56px minmax(0,1fr)}.army-morale-art{width:54px;height:54px}.army-morale-strip>strong{grid-column:1/-1;justify-self:start}.inventory-ledger.currency-only{grid-template-columns:1fr}}

/* v2.1.2 army and fleet separation */
.army-tabs{display:flex;overflow-x:auto;overscroll-behavior-inline:contain}
.army-tabs .tab{flex:1 0 132px;white-space:nowrap}
.unit-detail-card{grid-template-columns:112px minmax(0,1fr) 82px;min-height:172px;padding:14px}
.unit-detail-art{width:112px;height:112px}
.unit-detail-copy{display:grid;align-content:center;gap:5px}
.unit-detail-copy h3{font-size:20px}
.unit-detail-copy>p{display:none}
.unit-count{display:grid;align-self:stretch;place-items:center;min-width:78px;max-width:none;padding:10px;text-align:center}
.unit-count small{display:none}
.unit-count b{overflow:visible;font-size:27px;text-align:center;text-overflow:clip}
.unit-stats,.unit-stats.compact{grid-template-columns:repeat(4,minmax(54px,1fr));gap:6px}
.unit-stats span,.unit-stats.compact span{display:flex;min-height:38px;align-items:center;justify-content:center;gap:7px;padding:7px}
.unit-stats span>.ui-icon,.unit-stats.compact span>.ui-icon{grid-row:auto;width:17px;height:17px;flex:0 0 17px}
.unit-stat-icon,.unit-stats .unit-stat-icon,.unit-stats.compact .unit-stat-icon{display:inline-block;width:30px;height:30px;min-height:0;flex:0 0 30px;padding:0;border:0;background-color:transparent;background-image:var(--stat-image);background-repeat:no-repeat;background-size:contain;background-position:center;filter:drop-shadow(0 3px 4px rgba(0,0,0,.5))}
.unit-stat-icon.compact{width:19px;height:19px;flex-basis:19px}
.unit-stats small,.unit-stats.compact small{display:none!important}
.unit-stats b,.unit-stats.compact b{overflow:visible;font-size:12px;line-height:1;white-space:nowrap}
.fleet-unit-card,.fleet-recruit-card{border-color:rgba(90,145,156,.25);background:linear-gradient(135deg,rgba(40,91,102,.09),rgba(0,0,0,.12))}
.fleet-unit-card .unit-detail-art,.fleet-recruit-card .recruit-unit-art{border-color:rgba(90,157,169,.28)}
.recruit-unit-card{grid-template-columns:112px minmax(0,1fr);min-height:190px}
.recruit-unit-card{align-items:center}
.recruit-unit-art,.asset-art.unit-art.recruit-unit-art,.asset-art.unit-art.ship-unit-art.recruit-unit-art{width:112px;height:112px;align-self:center;aspect-ratio:1/1;background-repeat:no-repeat}
.unit-choice-copy{justify-content:center;gap:8px;padding:13px}
.unit-choice-copy>em{display:none}
.unit-choice-copy .unit-stats{margin:0}
.unit-choice-copy>.cost-row{margin-top:2px}
.modal:has(#dispatchForm),.modal:has(#cargoInterceptForm){width:min(1120px,calc(100vw - 24px))}
.force-selection-title{margin:20px 0 10px;color:#c9b894;font-family:Georgia,serif;font-size:19px;font-weight:400}
.dispatch-force-zones{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.dispatch-force-zone{overflow:hidden;border:1px solid var(--line);background:rgba(5,10,11,.22)}
.dispatch-force-zone>header{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:9px;align-items:center;min-height:58px;padding:9px 11px;border-bottom:1px solid var(--line);background:linear-gradient(105deg,rgba(199,146,79,.08),rgba(10,17,18,.72))}
.dispatch-force-zone.fleet-zone>header{background:linear-gradient(105deg,rgba(67,132,145,.13),rgba(10,17,18,.72))}
.dispatch-force-zone>header>.ui-icon{width:28px;height:28px}
.dispatch-force-zone>header>span{display:grid;gap:1px}
.dispatch-force-zone>header b{color:#cbbfa8;font-family:Georgia,serif;font-size:15px;font-weight:400}
.dispatch-force-zone>header small{color:#77817b;font-size:9px!important}
.dispatch-force-zone>header em{display:grid;place-items:center;min-width:34px;height:30px;border:1px solid rgba(199,146,79,.25);color:#d0ad66;font-size:11px;font-style:normal}
.dispatch-force-zone>.army-picker{gap:5px;padding:7px}
.dispatch-force-zone .army-input{grid-template-columns:50px minmax(0,1fr) 82px;min-height:62px;padding:6px}
.dispatch-force-zone .army-unit-art{width:48px;height:48px}
.army-input>span{gap:4px}
.army-input>span>b{font-size:11px}
.army-input>span>small{display:flex;flex-flow:row wrap;gap:8px;color:#87908a}
.army-input>span>small>i{display:inline-flex;align-items:center;gap:3px;color:#919a94;font-size:9px;font-style:normal}
.army-input>span>small .ui-icon{width:14px;height:14px;color:#b78c50}
.army-input>span>small .unit-stat-icon{width:19px;height:19px;flex-basis:19px}
.force-zone-empty{margin:0;padding:20px;color:#707a74;font-size:11px!important;text-align:center}
@media(max-width:900px){.dispatch-force-zones{grid-template-columns:1fr}.unit-detail-card{grid-template-columns:92px minmax(0,1fr) 72px}.unit-detail-art{width:92px;height:92px}.unit-stats,.unit-stats.compact{grid-template-columns:repeat(3,minmax(52px,1fr))}}
@media(max-width:620px){.unit-detail-card{grid-template-columns:78px minmax(0,1fr) 58px;gap:9px;padding:9px}.unit-detail-art{width:78px;height:78px}.unit-detail-copy h3{font-size:17px}.unit-count{grid-column:auto;min-width:54px;padding:5px}.unit-count b{font-size:21px}.unit-stats,.unit-stats.compact{grid-template-columns:repeat(3,minmax(46px,1fr));gap:4px}.unit-stats span,.unit-stats.compact span{min-height:34px;gap:4px;padding:5px}.unit-stats span>.ui-icon,.unit-stats.compact span>.ui-icon{width:15px;height:15px;flex-basis:15px}.unit-stats .unit-stat-icon,.unit-stats.compact .unit-stat-icon{width:24px;height:24px;flex-basis:24px}.recruit-unit-card{grid-template-columns:88px minmax(0,1fr)}.recruit-unit-art,.asset-art.unit-art.recruit-unit-art,.asset-art.unit-art.ship-unit-art.recruit-unit-art{width:88px;height:88px}.dispatch-force-zone .army-input{grid-template-columns:44px minmax(0,1fr) 68px}.dispatch-force-zone .army-unit-art{width:42px;height:42px}}

/* v2.2 map navigation, filters, route geometry, and unified POI artwork. */
.map-filter-switch{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin:-4px 0 10px;overflow-x:auto;scrollbar-width:thin}
.map-filter-switch>span,.map-filter-switch button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:30px;padding:6px 9px;border:1px solid var(--line);background:rgba(12,19,20,.82);color:#747e78;font-size:8px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.map-filter-switch>span{border-color:transparent;background:transparent;color:#9b896b}.map-filter-switch>span .ui-icon{width:16px;height:16px}
.map-filter-switch button{cursor:pointer}.map-filter-switch button:hover{border-color:rgba(199,146,79,.45);color:#bdad8e}.map-filter-switch button.active{border-color:var(--bronze);background:linear-gradient(145deg,rgba(199,146,79,.14),rgba(53,39,24,.12));color:#e0c17b;box-shadow:inset 0 -2px rgba(199,146,79,.22)}
.map-navigator-canvas{position:relative}.map-navigator-viewport{position:absolute;z-index:2;display:block;min-width:3px;min-height:3px;border:1px solid #f0c66f;box-shadow:0 0 0 1px rgba(4,9,10,.72),0 0 8px rgba(240,198,111,.5);pointer-events:none;transition:left .04s linear,top .04s linear,width .04s linear,height .04s linear}
.world-map.dragging .map-navigator-viewport,.world-map.zooming .map-navigator-viewport{transition:none}
.map-target-core{position:absolute;inset:0;display:grid;place-items:center;border-radius:50%;overflow:hidden;pointer-events:none}.map-target-core>.map-location-art{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;background-repeat:no-repeat!important}
.map-marker.selected .map-target-core{filter:drop-shadow(0 0 5px var(--affiliation))}.map-marker .map-selection-reticle{z-index:5}
.map-route polyline{fill:none;stroke:var(--route-color);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:11 8;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px rgba(0,0,0,.9));animation:route-flow 1.2s linear infinite}.map-route.hostile polyline{stroke-width:4}
.map-legend .coast::before{background:#a88654}.map-legend .desert::before{background:#b68a49}
@media(max-width:900px){.map-filter-switch{justify-content:flex-start}.map-filter-switch>span{position:sticky;left:0;z-index:2;background:var(--bg)}}
@media(max-width:620px){.map-filter-switch{margin-top:0}.map-filter-switch>span,.map-filter-switch button{min-height:28px;padding:5px 7px;font-size:7px}}

/* V2.2 keeps the closest camera at the cartographic 566:394 ratio. This
   prevents the terrain and POI circles from being stretched by a square map
   shell on wide desktop layouts. */
@media(min-width:901px){
  .map-layout{min-height:0;align-items:start}
  .map-shell{width:100%;height:auto;min-height:394px;aspect-ratio:566/394;align-self:start}
  .map-inspector{align-self:stretch;max-height:calc((100vw - 330px)*394/566);overflow:auto}
}

/* v2.3 complete battle ledgers and bounded siege results. */
.battle-roster{margin-top:16px;border:1px solid var(--line);background:linear-gradient(145deg,rgba(17,27,28,.94),rgba(7,12,13,.88))}
.battle-participants{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);gap:8px;align-items:stretch;margin:0 0 16px;padding:8px;border:1px solid var(--line);background:linear-gradient(135deg,rgba(151,75,57,.08),rgba(15,25,27,.84) 45%,rgba(70,112,96,.08))}
.battle-participants>i{display:grid;place-items:center;color:var(--bronze);font-style:normal;font-size:18px}.battle-participants article{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:center;min-width:0;padding:9px 11px;border:1px solid rgba(255,255,255,.055);background:rgba(5,10,11,.35)}
.battle-participants article>.ui-icon{width:30px;height:30px}.battle-participants .attacker>.ui-icon{color:#d47767}.battle-participants .defender>.ui-icon{color:#7db69e}.battle-participants article>span{display:grid;min-width:0}.battle-participants small{color:#777f7a;font-size:10px;letter-spacing:.09em;text-transform:uppercase}.battle-participants b{overflow:hidden;color:#d1c6ad;font-family:Georgia,serif;font-size:15px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.battle-participants em{overflow:hidden;color:#858e88;font-size:11px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
.battle-roster>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.018)}
.battle-roster>header>span{display:flex;align-items:center;gap:8px;color:#c8bda7}.battle-roster>header .ui-icon{width:20px;height:20px;color:var(--bronze)}
.battle-roster>header b{font-family:Georgia,serif;font-size:15px;font-weight:400}.battle-roster>header small{color:#727b76;font-size:8px;letter-spacing:.08em;text-transform:uppercase}
.battle-roster-list{display:grid;gap:1px}.battle-roster-unit{display:grid;grid-template-columns:54px minmax(110px,1fr) minmax(210px,auto);gap:11px;align-items:center;min-height:66px;padding:6px 11px;border-bottom:1px solid rgba(255,255,255,.045)}
.battle-roster-unit:last-child{border-bottom:0}.battle-roster-art{width:54px;height:54px;border:1px solid rgba(199,146,79,.22);border-radius:3px}
.battle-roster-copy{display:grid;gap:8px;min-width:0}.battle-roster-copy>b{overflow:hidden;color:#bdb7a9;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.battle-loss-track{height:4px;overflow:hidden;background:#293431}.battle-loss-track>i{display:block;height:100%;background:linear-gradient(90deg,#823b39,#d26961);box-shadow:0 0 6px rgba(199,88,77,.35)}
.battle-roster-numbers{display:grid;grid-template-columns:repeat(3,minmax(58px,1fr));gap:5px}.battle-roster-numbers>span{display:grid;gap:2px;padding:5px 7px;border-left:1px solid var(--line)}
.battle-roster-numbers small{color:#717975;font-size:7px;letter-spacing:.06em;text-transform:uppercase}.battle-roster-numbers b{color:#b8b4a8;font-size:11px;font-variant-numeric:tabular-nums}
.battle-roster-numbers .loss b{color:#df786e}.battle-roster-numbers .survived b{color:#86c5a9}.battle-roster-empty{margin:0;padding:18px;color:#727b76;text-align:center}
.siege-report{display:grid;grid-template-columns:38px minmax(0,1fr);gap:11px;align-items:center;margin-top:16px;padding:12px;border:1px solid rgba(104,153,126,.34);background:rgba(54,102,78,.09)}
.siege-report.breached{border-color:rgba(204,91,78,.4);background:rgba(125,43,36,.11)}.siege-report>.ui-icon{width:34px;height:34px;color:#82b69d}.siege-report.breached>.ui-icon{color:#dd746b}
.siege-report>div{display:grid;gap:3px}.siege-report small{color:#77817b;font-size:8px;letter-spacing:.08em;text-transform:uppercase}.siege-report b{color:#c8c0ae;font-family:Georgia,serif;font-size:16px;font-weight:400}.siege-report span{color:#858d88;font-size:9px}.battle-report-heading{margin-top:20px}
@media(max-width:620px){.battle-participants{grid-template-columns:1fr}.battle-participants>i{height:12px;transform:rotate(90deg)}.battle-roster-unit{grid-template-columns:48px minmax(0,1fr);padding:7px}.battle-roster-art{width:48px;height:48px}.battle-roster-numbers{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}.battle-roster>header{align-items:flex-start}.battle-roster>header small{max-width:120px;text-align:right}}

/* v2.3.1 natural map pieces: image transparency defines every silhouette;
   affiliation rings and circular clipping no longer surround settlements/POIs. */
.map-target-core{border-radius:0;overflow:visible}
.map-marker .map-location-art,.map-marker:not(.cargo-route-marker).friendly .map-location-art,.map-marker:not(.cargo-route-marker).hostile .map-location-art,.map-marker:not(.cargo-route-marker).neutral .map-location-art{border-radius:0;clip-path:none;background-color:transparent;box-shadow:none}
.map-marker.site.season_monster .map-location-art{animation:none}
.map-marker:not(.cargo-route-marker){filter:drop-shadow(0 7px 5px rgba(0,0,0,.72))}
.map-marker:not(.cargo-route-marker).selected,.map-marker:not(.cargo-route-marker):hover{filter:brightness(1.13) drop-shadow(0 8px 7px rgba(0,0,0,.8))}
.map-selection-reticle{left:50%;top:50%;width:54px;height:54px;border:0;border-radius:0;background:linear-gradient(var(--affiliation),var(--affiliation)) left top/14px 2px no-repeat,linear-gradient(var(--affiliation),var(--affiliation)) left top/2px 14px no-repeat,linear-gradient(var(--affiliation),var(--affiliation)) right top/14px 2px no-repeat,linear-gradient(var(--affiliation),var(--affiliation)) right top/2px 14px no-repeat,linear-gradient(var(--affiliation),var(--affiliation)) left bottom/14px 2px no-repeat,linear-gradient(var(--affiliation),var(--affiliation)) left bottom/2px 14px no-repeat,linear-gradient(var(--affiliation),var(--affiliation)) right bottom/14px 2px no-repeat,linear-gradient(var(--affiliation),var(--affiliation)) right bottom/2px 14px no-repeat;box-shadow:none;filter:drop-shadow(0 0 5px var(--affiliation));transform:translate(-50%,-50%)}
.map-marker.site.season_monster .map-selection-reticle{width:64px;height:64px}

/* v2.4 responsive ledgers, non-blocking map furniture, and rarity lighting. */
.city-title-line{display:flex;align-items:center;gap:12px;min-width:0}.city-title-line h1{min-width:0}.city-rename-button{flex:0 0 auto;width:36px;height:36px;border-color:rgba(199,146,79,.28);background:rgba(9,15,16,.48)}.city-rename-button>.ui-icon{width:21px;height:21px}

.building-grid{grid-auto-rows:auto!important;align-items:stretch}
.building-card{display:flex!important;flex-direction:column;height:auto!important;min-height:510px!important;max-height:none!important;padding:0!important;overflow:hidden}
.building-card .building-copy{flex:0 0 auto;margin-top:168px!important;padding:0 20px!important}
.building-card p,.building-card .building-copy p{display:block;min-height:0!important;max-height:none!important;-webkit-line-clamp:unset!important;overflow:visible!important}
.building-output-grid{display:grid;align-content:start;gap:10px;flex:1 1 auto;padding:0 20px}
.building-output-grid .building-production{margin:12px 0 0;padding-top:11px}
.building-effects{display:grid;gap:8px;padding-top:10px;border-top:1px solid var(--line)}
.building-effects>small{color:#65716d;font-size:9px;letter-spacing:.08em;text-transform:uppercase}
.building-effects>div{display:flex;flex-wrap:wrap;gap:7px}
.building-effects>div>span{display:grid;grid-template-columns:27px auto;grid-template-rows:auto auto;gap:0 6px;align-items:center;min-width:112px;padding:5px 8px;border:1px solid rgba(199,146,79,.16);background:rgba(0,0,0,.14)}
.building-effects .value-glyph{grid-row:1/3;width:27px;height:27px}.building-effects .value-glyph>.ui-icon,.building-effects .value-glyph>.asset-art{width:24px;height:24px}
.building-effects b{color:#7fbea3;font-size:11px}.building-effects em{overflow:hidden;color:#727c77;font-size:8px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
.building-card footer{flex:0 0 auto;min-height:84px!important;margin-top:auto;padding:14px 20px 17px!important}.building-card footer .cost-row{align-content:flex-start;min-height:31px;overflow:visible}.building-card footer .cost{flex:0 0 auto;min-width:70px}

.map-panel-toggles{position:absolute;z-index:13;top:12px;left:50%;display:flex;gap:5px;transform:translateX(-50%);padding:4px;border:1px solid rgba(199,146,79,.2);background:rgba(8,14,15,.76);backdrop-filter:blur(8px)}
.map-panel-toggle{display:grid;place-items:center;width:34px;height:32px;border:1px solid transparent;background:rgba(255,255,255,.025);color:#6f7974;cursor:pointer}.map-panel-toggle>.ui-icon{width:20px;height:20px}.map-panel-toggle.active{border-color:rgba(199,146,79,.28);color:#d4ae65;background:rgba(199,146,79,.09)}
.map-navigation,.map-navigator{transition:opacity .16s ease,transform .16s ease,visibility .16s}.map-shell.navigation-hidden .map-navigation{visibility:hidden;opacity:0;transform:translateX(-18px);pointer-events:none}.map-shell.navigator-hidden .map-navigator{visibility:hidden;opacity:0;transform:translateX(18px);pointer-events:none}
.map-marker:not(.cargo-route-marker){filter:none!important}.map-marker:not(.cargo-route-marker):hover,.map-marker:not(.cargo-route-marker).selected{filter:brightness(1.13)!important}

/* v2.8 account ledger, administration, and clean movement glyphs */
.map-route .route-origin,.map-route .route-unit{display:none!important}.map-route .route-unit-image{pointer-events:none;filter:drop-shadow(0 4px 4px rgba(0,0,0,.8))}.map-marker.cargo-route-marker,.map-marker.cargo-route-marker.own,.map-marker.cargo-route-marker.allied,.map-marker.cargo-route-marker.hostile{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.map-marker.cargo-route-marker::before,.map-marker.cargo-route-marker::after{display:none!important}
.auth-help{display:flex;align-items:center;justify-content:center;gap:7px;margin:-3px 0 4px}.auth-help .ui-icon{width:16px;height:16px}.form-heading>span{display:flex;align-items:center;gap:8px}.form-heading .ui-icon{width:22px;height:22px}.invite-notice,.auth-notice{display:flex;align-items:flex-start;gap:10px;margin:0 0 12px;padding:11px;border:1px solid rgba(199,146,79,.35);background:rgba(199,146,79,.08);color:#c8bdab;font-size:12px;line-height:1.5}.invite-notice[hidden],.auth-notice[hidden]{display:none}.auth-notice.success{border-color:rgba(91,183,145,.5);background:rgba(91,183,145,.09)}.auth-notice.warning{border-color:rgba(215,114,91,.5);background:rgba(215,114,91,.09)}.auth-notice .ui-icon,.invite-notice .ui-icon{flex:0 0 22px;width:22px;height:22px}.auth-notice span{display:grid;gap:8px}.auth-notice .text-button{text-align:left}
.settings-grid{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(330px,.72fr);gap:18px}.settings-column{display:grid;align-content:start;gap:18px}.settings-panel{overflow:hidden}.settings-panel>.section-heading>span{display:flex;align-items:center;gap:8px}.settings-panel>.section-heading .ui-icon{width:22px;height:22px}.notification-settings{display:grid;border:1px solid var(--line);background:rgba(0,0,0,.12)}.notification-settings>header,.notification-setting-row{display:grid;grid-template-columns:minmax(180px,1fr) 92px 92px;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line)}.notification-settings>header>span:first-child{display:grid}.notification-settings>header>span:last-child{display:contents}.notification-setting-row:last-child{border-bottom:0}.notification-setting-row>span,.notification-setting-row label{display:flex;align-items:center;gap:8px}.notification-setting-row .ui-icon{width:21px;height:21px}.notification-setting-row label{justify-content:center;font-size:10px;color:#9ca19a}.notification-setting-row input{accent-color:var(--bronze-bright)}.referral-panel .section-heading em{display:flex;align-items:center;gap:5px}.referral-panel .resource-glyph{width:20px;height:20px}.invite-link-state,.referral-row{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);background:rgba(0,0,0,.12)}.invite-link-state>span{display:grid;flex:1}.referral-list{display:grid;gap:7px;margin-top:12px}.referral-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto}.referral-row>span:first-child{display:flex;align-items:center;gap:8px}.referral-avatar{width:30px;height:30px}.generated-invite-link{display:grid;grid-template-columns:36px 1fr;gap:10px}.generated-invite-link input{grid-column:1/-1;width:100%}.quest-actions{display:flex;align-items:center;gap:7px}.quest-pin.active{border-color:var(--bronze-bright);color:var(--bronze-bright);background:rgba(199,146,79,.15)}
.admin-users-panel{overflow:hidden}.admin-user-table td:first-child,.admin-user-table td:nth-child(2){min-width:150px}.admin-user-table td small{display:block;margin-top:4px}.admin-user-identity{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);background:rgba(0,0,0,.15)}.admin-user-identity .ui-icon{width:34px;height:34px}.admin-user-identity span{display:grid}.admin-account-actions{display:flex;justify-content:space-between;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
@media(max-width:900px){.settings-grid{grid-template-columns:1fr}.notification-settings>header,.notification-setting-row{grid-template-columns:minmax(130px,1fr) 72px 72px}}
@media(max-width:520px){.notification-settings>header,.notification-setting-row{grid-template-columns:minmax(105px,1fr) 58px 58px;padding:9px 7px}.notification-setting-row>span b{font-size:10px}.notification-setting-row label span{display:none}.admin-account-actions{flex-direction:column}.quest-actions{align-self:stretch;justify-content:flex-end}}
.dispatch-route-status{display:flex;align-items:center;gap:7px;margin:8px 0;padding:7px 9px;border:1px solid rgba(199,146,79,.2);background:rgba(0,0,0,.12);color:#a38e66;font-size:9px}.dispatch-route-status>.ui-icon{width:18px;height:18px}.dispatch-route-status.verified{border-color:rgba(94,163,134,.28);color:#77b99e}.dispatch-route-status.pending{animation:route-status-pulse 1.1s ease-in-out infinite}@keyframes route-status-pulse{50%{opacity:.58}}
.dispatch-route-status [data-dispatch-route-copy]{min-width:0;font-size:10px;line-height:1.35;overflow-wrap:anywhere}

@keyframes rarity-background-shimmer{0%,18%{transform:translateX(-130%) skewX(-16deg);opacity:0}32%{opacity:.48}48%,100%{transform:translateX(170%) skewX(-16deg);opacity:0}}
.hero-card,.profile-favorite,.scout-hero-entry{position:relative;overflow:hidden;background:linear-gradient(145deg,color-mix(in srgb,var(--rarity) 13%,#172123),#101718 58%,color-mix(in srgb,var(--rarity) 6%,#0c1213))!important;box-shadow:inset 0 0 34px color-mix(in srgb,var(--rarity) 8%,transparent),0 13px 28px rgba(0,0,0,.2)}
.hero-card::after,.profile-favorite::after,.scout-hero-entry::after{content:"";position:absolute;z-index:2;inset:-30% auto -30% -35%;width:28%;pointer-events:none;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--rarity) 38%,white),transparent);opacity:0}
.hero-card.rarity-unusual::after,.hero-card.rarity-rare::after,.hero-card.rarity-epic::after,.hero-card.rarity-legendary::after,.hero-card.rarity-mythical::after,.profile-favorite.rarity-rare::after,.profile-favorite.rarity-epic::after,.profile-favorite.rarity-legendary::after,.profile-favorite.rarity-mythical::after,.scout-hero-entry.rarity-rare::after,.scout-hero-entry.rarity-epic::after,.scout-hero-entry.rarity-legendary::after,.scout-hero-entry.rarity-mythical::after{animation:rarity-background-shimmer 5.4s ease-in-out infinite}
.hero-card>*,.profile-favorite>*,.scout-hero-entry>*{position:relative;z-index:3}.rarity-mythical{box-shadow:inset 0 0 38px rgba(128,22,30,.2),0 0 20px rgba(128,22,30,.14)}

.inventory-slot.occupied::after{content:"";position:absolute;z-index:2;inset:-25% auto -25% -42%;width:34%;pointer-events:none;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--rarity) 42%,white),transparent);opacity:0;transform:skewX(-16deg)}
.inventory-slot.rarity-ordinary{--rarity:#969b99}.inventory-slot.rarity-unusual{--rarity:#62a96e}.inventory-slot.rarity-rare{--rarity:#5799d3}.inventory-slot.rarity-epic{--rarity:#9d6bd2}.inventory-slot.rarity-legendary{--rarity:#d4a747}.inventory-slot.rarity-mythical{--rarity:#9e373d}
.inventory-slot.occupied.rarity-unusual::after,.inventory-slot.occupied.rarity-rare::after,.inventory-slot.occupied.rarity-epic::after,.inventory-slot.occupied.rarity-legendary::after,.inventory-slot.occupied.rarity-mythical::after{animation:rarity-background-shimmer 5.8s ease-in-out infinite}.inventory-slot.occupied>*{z-index:3}

.alliance-crest-design>.ui-icon{position:relative;z-index:2;width:64%;height:64%;filter:drop-shadow(0 2px 2px rgba(0,0,0,.55))}.alliance-crest-design.large>.ui-icon{width:70%;height:70%}.crest-preview-stage .ui-icon{image-rendering:auto}.alliance-hero .alliance-crest-design>.ui-icon{width:66%;height:66%}
.chat-line{grid-template-columns:34px minmax(0,1fr) 30px;align-items:start}.chat-avatar.asset-art,.alliance-member .chat-avatar.asset-art{width:34px;height:34px;border:1px solid rgba(199,146,79,.26);background-size:400% 200%}.chat-line .chat-delete{width:28px;height:28px;opacity:.18}.chat-line:hover .chat-delete,.chat-line:focus-within .chat-delete{opacity:1}.chat-line .chat-delete>.ui-icon{width:16px;height:16px}.alliance-member{grid-template-columns:38px minmax(0,1fr) auto auto!important}.alliance-member .chat-avatar.asset-art{width:38px;height:38px}

.ranking-columns{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr);gap:18px}.ranking-podium{max-width:860px}.ranking-podium .podium{display:grid;grid-template-columns:auto 70px minmax(0,1fr);gap:12px;align-items:center;min-height:120px;padding:14px;text-align:left}.ranking-podium .podium.rank-1{order:2;min-height:156px;border-color:#caa653;background:linear-gradient(145deg,rgba(202,166,83,.13),rgba(0,0,0,.12))}.ranking-podium .podium.rank-2{order:1;border-color:#8d9ba6}.ranking-podium .podium.rank-3{order:3;border-color:#a66d4c}.ranking-avatar{width:70px;height:70px;border:1px solid currentColor}.podium>div{display:grid;gap:5px;min-width:0}.podium .profile-name-button{overflow:hidden;color:#d5c7ac;font-family:Georgia,serif;font-size:17px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.podium b{margin:4px 0 0;color:#e2bd69;font-size:20px}.podium b em{color:#82785f;font-size:8px;font-style:normal;text-transform:uppercase}.ranking-list{display:grid}.ranking-row{display:grid;grid-template-columns:38px 46px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:66px;padding:8px 12px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(255,255,255,.018),transparent)}.ranking-row:last-child{border-bottom:0}.ranking-row.rank-1{--rank:#d4ad57}.ranking-row.rank-2{--rank:#95a4ae}.ranking-row.rank-3{--rank:#ae744f}.ranking-row.rank-4{--rank:#5c6865}.ranking-position{display:grid;place-items:center;width:30px;height:30px;border:1px solid color-mix(in srgb,var(--rank) 45%,var(--line));color:var(--rank);font-family:Georgia,serif;font-size:15px}.ranking-row-avatar{width:46px;height:46px;border:1px solid color-mix(in srgb,var(--rank) 42%,var(--line))}.ranking-identity{display:grid;gap:5px;min-width:0}.ranking-identity .profile-name-button,.ranking-identity>b{overflow:hidden;color:#c8bdab;font-size:12px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.ranking-identity small{color:#6f7974;font-size:8px}.ranking-score{display:grid;gap:2px;min-width:92px;text-align:right}.ranking-score b{color:var(--rank);font-size:16px}.ranking-score small{color:#69716d;font-size:7px;letter-spacing:.08em;text-transform:uppercase}.ranking-banner{display:grid;place-items:center;width:46px;height:46px;color:var(--rank)}.ranking-banner>.ui-icon{width:32px;height:32px}

@media(max-width:900px){.building-card{min-height:500px!important}.ranking-columns{grid-template-columns:1fr}.ranking-podium .podium{grid-template-columns:auto 52px minmax(0,1fr)}.ranking-avatar{width:52px;height:52px}.map-panel-toggles{top:10px;bottom:auto}}
@media(max-width:620px){.building-card{min-height:480px!important}.building-card .building-card-art{inset:8px auto auto calc(50% - 68px);width:136px;height:136px}.building-card .building-copy{margin-top:144px!important;padding:0 15px!important}.building-output-grid{padding:0 15px}.building-card footer{padding:12px 15px 15px!important}.ranking-podium{grid-template-columns:1fr;align-items:stretch}.ranking-podium .podium,.ranking-podium .podium.rank-1{order:initial;min-height:96px}.ranking-row{grid-template-columns:32px 40px minmax(0,1fr);padding:8px}.ranking-row-avatar{width:40px;height:40px}.ranking-score{grid-column:3;min-width:0;text-align:left}.chat-line{grid-template-columns:34px minmax(0,1fr) 28px}}

/* v2.4.5 world forge */
.admin-map-lab{margin-top:20px;overflow:hidden;border-color:rgba(199,146,79,.32);background:linear-gradient(145deg,rgba(23,34,35,.98),rgba(11,18,20,.98))}
.admin-map-lab-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(199,146,79,.08),transparent 60%)}
.admin-map-lab-header>span{display:flex;align-items:center;gap:14px}.admin-map-lab-header>.admin-map-release{padding:7px 10px;border:1px solid rgba(199,146,79,.35);color:var(--bronze);font-size:11px;letter-spacing:.12em}
.admin-map-lab-header .ui-icon{width:42px;height:42px}.admin-map-lab-header small{color:var(--bronze);font-size:8px;letter-spacing:.18em}.admin-map-lab-header h2{margin:2px 0;color:var(--ivory);font-family:var(--serif);font-size:24px;font-weight:500}.admin-map-lab-header p{margin:0;color:var(--muted);font-size:10px}
.admin-map-regenerator{display:grid;grid-template-columns:minmax(330px,400px) minmax(0,1fr);min-height:520px}
.admin-map-controls{display:grid;align-content:start;grid-template-columns:1fr 1fr;gap:14px;padding:18px;border-right:1px solid var(--line);background:rgba(7,13,14,.22)}
.admin-map-controls .full{grid-column:1/-1}.admin-map-controls label>span{display:block;margin-bottom:7px;color:#a9aaa1;font-size:9px;letter-spacing:.05em}.admin-map-controls select,.admin-map-controls input[type=number],.admin-map-controls input[name=confirmation]{width:100%}
.admin-seed-field{grid-column:1/-1}.admin-seed-field>span:last-child{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.admin-seed-field .btn{min-height:39px}
.admin-scale-field{grid-column:1/-1;padding:10px 11px;border:1px solid var(--line);background:rgba(255,255,255,.018)}.admin-scale-field>span{display:flex!important;justify-content:space-between}.admin-scale-field b{color:var(--bronze)}.admin-scale-field input{width:100%;accent-color:var(--bronze)}
.admin-relocate-choice,.admin-reset-choice{align-items:flex-start!important;padding:10px 11px;border:1px solid var(--line)}.admin-relocate-choice span,.admin-reset-choice span{display:grid!important;gap:3px;margin:0!important}.admin-relocate-choice b,.admin-reset-choice b{color:var(--ivory);font-size:10px}.admin-relocate-choice small,.admin-reset-choice small{color:var(--muted);font-size:8px;line-height:1.45}
.admin-world-state{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px;border:1px solid rgba(199,146,79,.28);background:linear-gradient(90deg,rgba(199,146,79,.07),transparent)}.admin-world-state>div{display:flex;align-items:center;gap:8px}.admin-world-state>div:first-child{display:grid;gap:2px}.admin-world-state small{color:var(--bronze);font-size:7px;letter-spacing:.12em;text-transform:uppercase}.admin-world-state b{color:var(--ivory);font-size:11px}.admin-world-state span{color:var(--muted);font-size:8px}.world-status-badge{display:inline-block;padding:4px 7px;border:1px solid var(--line);font-size:8px;text-transform:uppercase}.world-status-badge.open{border-color:rgba(91,155,136,.45);color:#83c2a5}.world-status-badge.locked{border-color:rgba(204,91,78,.45);color:#df786e}
.admin-map-readiness{display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;align-items:center;padding:10px;border:1px solid}.admin-map-readiness>.ui-icon{width:24px;height:24px}.admin-map-readiness span{display:grid;gap:3px}.admin-map-readiness b{font-size:10px}.admin-map-readiness small{color:var(--muted);font-size:8px}.admin-map-readiness.ready{border-color:rgba(91,155,136,.4);background:rgba(62,116,99,.09);color:#83c2a5}.admin-map-readiness.blocked{border-color:rgba(204,91,78,.4);background:rgba(125,43,36,.09);color:#df786e}
.admin-confirm-field b{color:#df786e}.admin-map-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.admin-map-actions .btn{min-width:0}
.admin-map-preview{position:relative;display:grid;align-content:start;min-width:0;padding:18px}.admin-map-preview>.empty-state{min-height:390px}.admin-map-canvas-wrap{position:relative;overflow:hidden;border:1px solid rgba(199,146,79,.35);background:#10191b;box-shadow:0 18px 38px rgba(0,0,0,.26)}
.admin-map-canvas-wrap canvas{display:block;width:100%;height:auto;min-height:0;max-height:none;object-fit:contain}.admin-preview-seal{position:absolute;top:10px;right:10px;display:grid;padding:6px 9px;border:1px solid rgba(218,190,128,.35);background:rgba(8,15,16,.86);text-align:right}.admin-preview-seal small{color:var(--muted);font-size:7px;text-transform:uppercase}.admin-preview-seal b{color:var(--ivory);font-size:10px}
.admin-preview-ledger{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}.admin-preview-ledger article{display:grid;grid-template-columns:28px minmax(0,1fr);gap:7px;align-items:center;min-width:0;padding:8px;border:1px solid var(--line);background:rgba(255,255,255,.018)}.admin-preview-ledger .ui-icon{width:24px;height:24px}.admin-preview-ledger span{display:grid;min-width:0}.admin-preview-ledger small{overflow:hidden;color:var(--muted);font-size:7px;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.admin-preview-ledger b{color:var(--ivory);font-size:11px}
.admin-preview-legend{display:flex;flex-wrap:wrap;gap:9px;margin-top:10px}.admin-preview-legend span{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:8px}.admin-preview-legend span::before{width:8px;height:8px;border:1px solid rgba(0,0,0,.7);border-radius:50%;background:#ddd;content:""}.admin-preview-legend .player::before{background:#7ff0c3}.admin-preview-legend .settlement::before{background:#e4c074}.admin-preview-legend .production::before{background:#8cc887}.admin-preview-legend .hostile::before{background:#e46f66}.admin-preview-legend .naval::before{background:#76bddd}.admin-preview-legend .boss::before{background:#b98cff}
.admin-regeneration-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:15px}.admin-regeneration-summary span{display:grid;gap:4px;padding:10px;border:1px solid var(--line);color:var(--muted);font-size:8px;text-transform:uppercase}.admin-regeneration-summary b{color:var(--ivory);font-size:12px}.data-table td>small{display:block;margin-top:3px;color:var(--muted);font-size:8px}
@media(max-width:980px){.admin-map-regenerator{grid-template-columns:1fr}.admin-map-controls{border-right:0;border-bottom:1px solid var(--line)}.admin-preview-ledger{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.admin-map-lab-header{align-items:flex-start;padding:14px}.admin-map-lab-header h2{font-size:20px}.admin-map-regenerator{display:block}.admin-map-controls{grid-template-columns:1fr;padding:13px}.admin-map-controls>*{grid-column:1!important}.admin-map-actions{grid-template-columns:1fr}.admin-map-preview{padding:12px}.admin-preview-ledger{grid-template-columns:1fr 1fr}.admin-regeneration-summary{grid-template-columns:1fr 1fr}}

/* v2.4.6 · spacious command surfaces, lore workspaces, and modal map intelligence. */
:root{--sidebar:clamp(194px,13vw,216px);--rail-collapsed:48px}

@media(min-width:1481px){
  .game-shell,.right-rail{transition:padding-right .2s ease,width .2s ease}
  .game-shell.right-rail-collapsed{padding-right:var(--rail-collapsed)}
  .right-rail.collapsed{width:var(--rail-collapsed);padding:12px 6px;overflow:hidden}
  .right-rail.collapsed>.rail-section{display:none}
  .right-rail.collapsed .right-rail-toggle{width:34px;min-width:34px;padding:8px 6px}
  .right-rail.collapsed .right-rail-toggle>span:last-child{display:none}
  .right-rail.collapsed .right-rail-toggle>.ui-icon{transform:rotate(180deg)}
}
.right-rail-toggle{position:sticky;z-index:5;top:-10px;display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:34px;margin:0 0 13px;padding:7px 10px;border:1px solid var(--line);background:rgba(9,15,16,.92);color:#8e948e;font-size:9px;text-transform:uppercase;letter-spacing:.07em;cursor:pointer;backdrop-filter:blur(8px)}
.right-rail-toggle:hover{border-color:var(--line-bright);color:var(--bronze-bright)}.right-rail-toggle>.ui-icon{width:17px;height:17px;transition:transform .2s ease}

/* The map owns the full content width; intelligence opens only after a target is chosen. */
.map-layout{position:relative!important;display:block!important;grid-template-columns:none!important;min-height:0!important;overflow:hidden}
.map-shell{width:100%!important;border-right:0!important}
.map-inspector{position:absolute!important;z-index:24!important;top:16px!important;right:16px!important;bottom:auto!important;left:auto!important;width:min(370px,calc(100% - 32px))!important;max-height:calc(100% - 32px)!important;padding:0!important;overflow:hidden!important;border:1px solid rgba(225,190,117,.38)!important;background:linear-gradient(150deg,rgba(25,37,39,.98),rgba(11,18,20,.98))!important;box-shadow:0 24px 58px rgba(0,0,0,.56),inset 0 1px rgba(255,255,255,.025)!important;backdrop-filter:blur(14px)}
.map-inspector.empty{display:none!important}.map-inspector-scroll{max-height:calc(100% - 0px);padding:22px;overflow:auto;overscroll-behavior:contain}.map-inspector-close{position:absolute;z-index:4;top:9px;right:9px;display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);background:#111b1d;color:#8d948e;cursor:pointer}.map-inspector-close:hover{border-color:var(--bronze);color:var(--bronze-bright)}.map-inspector-close>.ui-icon{width:20px;height:20px}.map-inspector-scroll>.poi-inspector-visual,.map-inspector-scroll>.inspector-icon{margin-top:14px}
@media(max-width:760px){.map-inspector{top:auto!important;right:8px!important;bottom:8px!important;width:calc(100% - 16px)!important;max-height:min(62%,470px)!important}.map-inspector-scroll{padding:18px}.map-inspector .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Lore remains the primary navigation; only the selected discovery tree is expanded. */
.research-lore-categories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.research-lore-card{position:relative;display:grid;grid-template-columns:54px minmax(0,1fr);gap:11px;align-items:center;min-height:94px;padding:13px;overflow:hidden;border:1px solid color-mix(in srgb,var(--category) 24%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--category) 7%,#172123),#101719);color:#8b918d;text-align:left;cursor:pointer}.research-lore-card::after{position:absolute;inset:auto 0 0;height:2px;background:var(--category);opacity:.25;content:""}.research-lore-card:hover,.research-lore-card.active{border-color:color-mix(in srgb,var(--category) 68%,#c5ae7a);background:linear-gradient(145deg,color-mix(in srgb,var(--category) 16%,#172123),#101719);color:#d2c9b7}.research-lore-card.active{box-shadow:inset 0 0 28px color-mix(in srgb,var(--category) 9%,transparent),0 7px 20px rgba(0,0,0,.16)}.research-lore-emblem{display:grid;place-items:center;width:54px;height:54px;border:1px solid color-mix(in srgb,var(--category) 48%,var(--line));background:color-mix(in srgb,var(--category) 10%,rgba(0,0,0,.2));color:var(--category)}.research-lore-emblem>.ui-icon{width:34px;height:34px}.research-lore-card>span:nth-child(2){display:grid;gap:2px}.research-lore-card small{color:#777f7a;font-size:8px;text-transform:uppercase;letter-spacing:.09em}.research-lore-card b{font-family:Georgia,serif;font-size:18px;font-weight:400}.research-lore-card em{font-size:9px;font-style:normal}.research-lore-card>i{position:absolute;right:10px;bottom:7px;left:10px;height:2px;background:rgba(255,255,255,.06)}.research-lore-card>i>i{display:block;height:100%;background:var(--category);box-shadow:0 0 7px var(--category)}
.research-lore-workspace{border:1px solid color-mix(in srgb,var(--category) 30%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--category) 5%,rgba(20,30,32,.96)),rgba(9,15,16,.96))}.research-lore-workspace>header{display:grid;grid-template-columns:68px minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px 20px;border-bottom:1px solid color-mix(in srgb,var(--category) 24%,var(--line));background:linear-gradient(90deg,color-mix(in srgb,var(--category) 10%,transparent),transparent)}.research-lore-emblem.large{width:68px;height:68px}.research-lore-emblem.large>.ui-icon{width:43px;height:43px}.research-lore-workspace h2{margin:2px 0 3px;color:#d8cdb8;font-family:Georgia,serif;font-size:26px;font-weight:400}.research-lore-workspace header p{margin:0!important;color:#818984}.research-lore-workspace header small{color:var(--category);font-size:8px;text-transform:uppercase;letter-spacing:.1em}.research-lore-progress{display:grid;justify-items:end;gap:2px}.research-lore-progress b{color:var(--category);font-size:20px}.research-branch-tree{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:14px;padding:16px}.research-branch-tree .tech-card{height:100%;min-height:330px;padding:17px}.research-spellbook-heading{margin-top:34px}
.research-domain-network{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:13px;align-items:center;margin:0 0 14px;padding:12px 15px;border:1px solid rgba(156,123,212,.28);background:linear-gradient(100deg,rgba(101,73,143,.14),rgba(10,16,18,.85))}.research-domain-network>span{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(156,123,212,.36);background:rgba(156,123,212,.08);color:#b299df}.research-domain-network>span>.ui-icon{width:29px;height:29px}.research-domain-network>div{min-width:0}.research-domain-network small{display:block;color:#8f7bb3;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.research-domain-network b{display:block;margin-top:2px;color:#d3c9b6;font-family:Georgia,serif;font-size:16px;font-weight:400}.research-domain-network p{margin:3px 0 0;color:#78817d;font-size:10px}.research-domain-network>strong{display:grid;justify-items:end;color:#bd9cf1;font-size:22px}.research-domain-network>strong small{color:#786a91;font-size:10px}.research-economy-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:auto}.research-duration{display:flex;align-items:center;gap:7px;min-width:112px;padding:7px 9px;border:1px solid rgba(199,146,79,.22);background:rgba(0,0,0,.14);color:var(--bronze-bright)}.research-duration>.ui-icon{width:20px;height:20px}.research-duration>span{display:grid;gap:1px}.research-duration small{color:#777f7a;font-size:10px;text-transform:uppercase}.research-duration b{font-size:11px;font-variant-numeric:tabular-nums}
@media(max-width:980px){.research-lore-categories{grid-template-columns:repeat(2,minmax(0,1fr))}.research-branch-tree{grid-template-columns:1fr}.research-branch-tree .tech-card{min-height:0}}
@media(max-width:520px){.research-domain-network{grid-template-columns:40px minmax(0,1fr)}.research-domain-network>span{width:40px;height:40px}.research-domain-network>strong{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between}.research-economy-row{grid-template-columns:1fr}.research-duration{min-width:0}.research-lore-categories{grid-template-columns:1fr}.research-lore-card{min-height:78px}.research-lore-workspace>header{grid-template-columns:54px minmax(0,1fr)}.research-lore-emblem.large{width:54px;height:54px}.research-lore-progress{grid-column:1/-1;justify-items:start}.research-branch-tree{padding:9px}}

/* Stable square stat sprites and equal-sized army/fleet production cards. */
.unit-stat-icon,.unit-stats .unit-stat-icon,.unit-stats.compact .unit-stat-icon{display:block!important;box-sizing:border-box!important;width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;max-width:30px!important;max-height:30px!important;flex:0 0 30px!important;aspect-ratio:1/1!important;padding:0!important;border:0!important;border-radius:0!important;background-image:var(--stat-image)!important;background-repeat:no-repeat!important;background-size:contain!important;background-position:center!important;transform:none!important}.unit-stat-icon.compact,.army-input>span>small .unit-stat-icon{width:19px!important;height:19px!important;min-width:19px!important;min-height:19px!important;max-width:19px!important;max-height:19px!important;flex-basis:19px!important}
.recruit-unit-grid{grid-auto-rows:250px;align-items:stretch;gap:14px;padding:4px}.recruit-unit-card{height:250px;min-height:250px!important;padding:11px;gap:11px;align-items:center;border-color:rgba(215,190,139,.18);background:linear-gradient(145deg,rgba(29,41,43,.94),rgba(10,16,18,.96))}.recruit-unit-card.fleet-recruit-card{border-color:rgba(91,154,166,.3);background:linear-gradient(145deg,rgba(31,68,75,.2),rgba(9,17,19,.96))}.recruit-unit-art,.asset-art.unit-art.recruit-unit-art,.asset-art.unit-art.ship-unit-art.recruit-unit-art{width:112px!important;height:112px!important;min-width:112px;min-height:112px;align-self:center;aspect-ratio:1/1!important}.unit-choice-copy{height:100%;justify-content:center;padding:10px 8px}.unit-choice-copy>b{font-size:17px}.unit-choice-copy>.cost-row{min-height:35px}.unit-choice-copy>.requirement-summary{min-height:29px;align-content:flex-start}
@media(max-width:620px){.recruit-unit-grid{grid-auto-rows:230px;padding:2px}.recruit-unit-card{height:230px;min-height:230px!important;padding:8px;gap:8px}.recruit-unit-art,.asset-art.unit-art.recruit-unit-art,.asset-art.unit-art.ship-unit-art.recruit-unit-art{width:88px!important;height:88px!important;min-width:88px;min-height:88px}}

.daily-claim-notice{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:13px 15px;border:1px solid rgba(102,173,133,.34);background:linear-gradient(90deg,rgba(68,136,103,.13),rgba(17,28,27,.5));color:#80c19f}.daily-claim-notice>.ui-icon{width:27px;height:27px}.daily-claim-notice>span{display:grid;gap:2px}.daily-claim-notice b{color:#a4d5b9}.daily-claim-notice small{color:#7f9388}.quest-card.daily-blocked{opacity:.72}.quest-card.daily-blocked>.btn{border-color:rgba(102,173,133,.18);color:#75867d}

.message-thread-meta{display:flex!important;align-items:center;gap:8px}.message-thread-delete{display:grid;place-items:center;width:34px;height:34px;margin-left:5px;border:1px solid rgba(192,82,73,.25);background:rgba(115,39,35,.1);color:#c76b62;cursor:pointer}.message-thread-delete:hover{border-color:#c7584d;background:rgba(151,50,43,.2);color:#ed8b80}.message-thread-delete>.ui-icon{width:19px!important;height:19px!important}.message-thread-header>.message-thread-meta{justify-self:end}

/* Rarity light uses the exact grade hue on both heroes and inventory slots. */
.rarity-ordinary{--rarity:#969b99;--rarity-glow:rgba(150,155,153,.26)}.rarity-unusual{--rarity:#62b477;--rarity-glow:rgba(98,180,119,.31)}.rarity-rare{--rarity:#579fdf;--rarity-glow:rgba(87,159,223,.34)}.rarity-epic{--rarity:#a66ee0;--rarity-glow:rgba(166,110,224,.36)}.rarity-legendary{--rarity:#e0b34d;--rarity-glow:rgba(224,179,77,.4)}.rarity-mythical{--rarity:#a8343d;--rarity-glow:rgba(168,52,61,.44)}
.inventory-slot.rarity-ordinary{--rarity:#969b99;--rarity-glow:rgba(150,155,153,.26)}.inventory-slot.rarity-unusual{--rarity:#62b477;--rarity-glow:rgba(98,180,119,.31)}.inventory-slot.rarity-rare{--rarity:#579fdf;--rarity-glow:rgba(87,159,223,.34)}.inventory-slot.rarity-epic{--rarity:#a66ee0;--rarity-glow:rgba(166,110,224,.36)}.inventory-slot.rarity-legendary{--rarity:#e0b34d;--rarity-glow:rgba(224,179,77,.4)}.inventory-slot.rarity-mythical{--rarity:#a8343d;--rarity-glow:rgba(168,52,61,.44)}
.hero-card[class*="rarity-"],.profile-favorite[class*="rarity-"],.scout-hero-entry[class*="rarity-"],.inventory-slot.occupied[class*="rarity-"]{border-color:color-mix(in srgb,var(--rarity) 46%,var(--line))!important;box-shadow:inset 0 0 34px color-mix(in srgb,var(--rarity) 11%,transparent),0 0 19px var(--rarity-glow),0 13px 28px rgba(0,0,0,.2)!important}
.hero-card::after,.profile-favorite::after,.scout-hero-entry::after,.inventory-slot.occupied::after{background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--rarity) 72%,white),transparent)!important}
.hero-card.rarity-ordinary::after,.hero-card.rarity-unusual::after,.hero-card.rarity-rare::after,.hero-card.rarity-epic::after,.hero-card.rarity-legendary::after,.hero-card.rarity-mythical::after,.profile-favorite.rarity-ordinary::after,.profile-favorite.rarity-unusual::after,.profile-favorite.rarity-rare::after,.profile-favorite.rarity-epic::after,.profile-favorite.rarity-legendary::after,.profile-favorite.rarity-mythical::after,.scout-hero-entry.rarity-ordinary::after,.scout-hero-entry.rarity-unusual::after,.scout-hero-entry.rarity-rare::after,.scout-hero-entry.rarity-epic::after,.scout-hero-entry.rarity-legendary::after,.scout-hero-entry.rarity-mythical::after,.inventory-slot.occupied.rarity-ordinary::after,.inventory-slot.occupied.rarity-unusual::after,.inventory-slot.occupied.rarity-rare::after,.inventory-slot.occupied.rarity-epic::after,.inventory-slot.occupied.rarity-legendary::after,.inventory-slot.occupied.rarity-mythical::after{animation:rarity-background-shimmer 5.8s ease-in-out infinite!important}

/* v2.4.9 administration workspaces and expedition preparation polish. */
.admin-workspace-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;width:100%;margin:0 0 18px}

.title-requirements{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.title-requirements .requirement{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:4px 7px;border:1px solid rgba(187,150,81,.28);background:rgba(4,12,13,.48);font-size:10px}.title-requirements .requirement.unmet{color:#e18a75;border-color:rgba(184,69,50,.5)}.title-requirements .special-resource-art{width:22px;height:22px;flex:0 0 22px}.god-switch-cooldown{display:inline-flex;margin-top:9px;max-width:max-content}
.admin-workspace-tabs>button{display:grid;grid-template-columns:42px minmax(0,1fr);gap:11px;align-items:center;min-height:66px;padding:10px 13px;border:1px solid var(--line);background:linear-gradient(135deg,rgba(18,29,30,.94),rgba(7,13,14,.9));color:#7d8781;text-align:left;cursor:pointer}
.admin-workspace-tabs>button>.ui-icon{width:30px;height:30px;padding:6px;border:1px solid rgba(199,146,79,.2);color:#b98645}
.admin-workspace-tabs>button>span{display:grid;gap:3px;min-width:0}.admin-workspace-tabs b{color:#c5bdac;font-size:13px}.admin-workspace-tabs small{color:#707a74;font-size:10px}
.admin-workspace-tabs>button:hover,.admin-workspace-tabs>button.active{border-color:rgba(199,146,79,.55);background:linear-gradient(135deg,rgba(199,146,79,.12),rgba(8,14,15,.94));box-shadow:inset 3px 0 #c7924f}

/* Public legal information and persistent access points. */
.landing-legal-links,.sidebar-legal-links{display:flex;align-items:center;justify-content:center;gap:8px}.landing-legal-links a,.sidebar-legal-links a{color:#7e8580;text-decoration:none;transition:color .16s}.landing-legal-links a:hover,.landing-legal-links a:focus-visible,.sidebar-legal-links a:hover,.sidebar-legal-links a:focus-visible{color:var(--bronze-bright);outline:none}.sidebar-legal-links{flex-wrap:wrap;padding:9px 8px 2px;color:#4f5753;font-size:10px;letter-spacing:.02em}.landing-footer .landing-legal-links{text-transform:none;letter-spacing:.02em}
.legal-page *{box-sizing:border-box}.legal-main,.legal-document,.legal-section{min-width:0}.legal-table-wrap{width:100%;max-width:100%;min-width:0}

.legal-page{min-height:100vh;background:#0b1113;color:#aaa99e}.legal-page::before{content:"";position:fixed;inset:0;z-index:-2;background:linear-gradient(115deg,rgba(7,12,13,.97),rgba(10,17,19,.82)),url("../images/ashfall-realm.png?v=20260819.7170") center/cover}.legal-page::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 50% 0,rgba(199,146,79,.08),transparent 46%)}.legal-header{display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:1120px;margin:auto;padding:24px clamp(18px,4vw,48px);border-bottom:1px solid rgba(222,212,186,.1)}.legal-header .wordmark{text-decoration:none}.legal-back{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border:1px solid rgba(199,146,79,.32);color:#b7aa91;font-size:11px;text-decoration:none}.legal-back:hover,.legal-back:focus-visible{border-color:#c7924f;color:#e0bd7a;outline:none}.legal-main{width:min(920px,calc(100% - 32px));margin:38px auto 64px}.legal-hero{padding:clamp(24px,5vw,48px);border:1px solid rgba(199,146,79,.3);background:linear-gradient(135deg,rgba(30,44,46,.96),rgba(10,17,18,.96));box-shadow:0 24px 70px rgba(0,0,0,.4)}.legal-eyebrow{margin:0;color:#c7924f;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.legal-hero h1{margin:10px 0 8px;color:#ded4bd;font-family:Georgia,serif;font-size:clamp(34px,6vw,56px);font-weight:400}.legal-hero>p:last-child{margin:0;color:#77817b;font-size:12px}.legal-document{display:grid;gap:12px;margin-top:16px}.legal-section{padding:clamp(20px,4vw,34px);border:1px solid rgba(222,212,186,.12);background:rgba(14,23,24,.94)}.legal-section h2{margin:0 0 14px;color:#d3c7ad;font-family:Georgia,serif;font-size:22px;font-weight:400}.legal-section h3{margin:20px 0 8px;color:#baa77f;font-size:13px}.legal-section p,.legal-section li,.legal-address{font-size:12px;line-height:1.75}.legal-section p{margin:9px 0}.legal-section ul{display:grid;gap:6px;margin:10px 0;padding-left:20px}.legal-section a{color:#d0a85f;text-underline-offset:3px}.legal-section a:hover{color:#efd28f}.legal-address{display:grid;gap:2px;margin:0;font-style:normal}.legal-table-wrap{overflow-x:auto;margin:14px 0}.legal-table{width:100%;min-width:620px;border-collapse:collapse}.legal-table th,.legal-table td;padding:10px 12px;border:1px solid rgba(222,212,186,.12);font-size:11px;line-height:1.55;text-align:left;vertical-align:top}.legal-table th{color:#c5ad7b;background:rgba(199,146,79,.07)}.legal-note{padding:13px 15px;border-left:2px solid #c7924f;background:rgba(199,146,79,.06);color:#a99d85}.legal-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;padding:22px;border-top:1px solid rgba(222,212,186,.1);color:#626b66;font-size:10px}.legal-footer a{color:#888f89;text-decoration:none}.legal-footer a:hover{color:#d0a85f}

@media(max-width:700px){.landing-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;padding-right:18px;padding-left:18px;text-align:center}.landing-footer>span{flex:0 1 auto}.legal-header{padding:16px}.legal-header .wordmark small{display:block}.legal-back{padding:0 10px}.legal-main{margin-top:22px}.legal-hero,.legal-section{padding:20px}.legal-section p,.legal-section li,.legal-address{font-size:12px}}
.mission-filter-toggle{display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;align-items:center;min-width:0;min-height:44px;padding:7px 10px;border:1px solid var(--line-bright);background:rgba(0,0,0,.16);color:#929a94;text-align:left;cursor:pointer}.mission-filter-toggle>.ui-icon{width:22px;height:22px;color:#c7924f}.mission-filter-toggle>span{display:grid;gap:1px;min-width:0}.mission-filter-toggle b{overflow:hidden;color:#c9c0ae;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.mission-filter-toggle small{color:#6f7872;font-size:10px}.mission-filter-toggle:hover,.mission-filter-toggle.active{border-color:#c7924f;background:rgba(199,146,79,.09)}

.inventory-vault .inventory-grid{grid-template-columns:repeat(auto-fill,minmax(58px,72px));gap:7px;justify-content:start;padding:11px}.inventory-vault .inventory-slot{width:100%;max-width:72px}.inventory-vault .inventory-slot-art{width:82%;height:82%}.inventory-vault .inventory-slot>small{top:3px;left:5px;font-size:10px}

@media(max-width:1050px){}
@media(max-width:700px){.admin-workspace-tabs{grid-template-columns:1fr}.inventory-vault .inventory-grid{grid-template-columns:repeat(auto-fill,minmax(54px,64px))}.inventory-vault .inventory-slot{max-width:64px}}
.rarity-ordinary::after{animation-duration:8.5s!important;opacity:.18}.rarity-mythical::after{animation-duration:4.4s!important}

/* v2.4.7 · undistorted stat crops and unclipped company/fleet cards. */
.unit-stat-icon,.unit-stats .unit-stat-icon,.unit-stats.compact .unit-stat-icon{
  overflow:hidden!important;
  background-size:contain!important;
  background-position:center!important;
}
.modal:has(#recruitForm){width:min(1180px,calc(100vw - 24px))}
.recruit-unit-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:350px!important;
  align-items:stretch!important;
  gap:16px!important;
  padding:5px!important;
}
.recruit-unit-card{
  display:grid!important;
  grid-template-columns:112px minmax(0,1fr)!important;
  grid-template-rows:minmax(112px,auto) auto!important;
  align-items:center!important;
  box-sizing:border-box!important;
  width:100%!important;
  height:100%!important;
  min-height:350px!important;
  margin:0!important;
  padding:16px!important;
  gap:12px 16px!important;
  overflow:visible!important;
}
.recruit-unit-card>.recruit-unit-art{grid-column:1;grid-row:1}
.recruit-unit-card>.unit-choice-copy{grid-column:2;grid-row:1;align-content:center;align-self:stretch;height:auto!important;padding:8px 4px!important}
.unit-choice-copy>b{font-size:19px!important;line-height:1.25}.unit-choice-copy>small{font-size:9px!important}
.recruit-card-details{display:grid;grid-column:1/-1;grid-row:2;grid-template-rows:auto auto auto;gap:10px;align-self:end;min-width:0}
.recruit-card-details>.unit-stats{grid-template-columns:repeat(5,minmax(0,1fr))!important;width:100%;margin:0!important}
.recruit-card-details>.unit-stats>span{box-sizing:border-box;min-width:0;padding:7px 5px!important}
.recruit-card-details>.cost-row{display:flex;min-height:38px;align-items:center;align-content:center;flex-wrap:wrap;gap:5px;margin:0!important;overflow:visible}
.recruit-card-details>.requirement-summary{display:flex;min-height:32px;align-items:flex-start;align-content:flex-start;flex-wrap:wrap;gap:5px;overflow:visible}

.unit-catalog-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,480px),1fr))!important;grid-auto-rows:1fr;align-items:stretch;gap:16px!important}
.unit-detail-card{box-sizing:border-box;width:100%;height:100%;min-height:196px!important;overflow:visible!important}
.unit-detail-copy{min-width:0}.unit-detail-copy>.unit-stats{grid-template-columns:repeat(4,minmax(0,1fr))!important;width:100%}
.unit-detail-copy>.unit-stats>span{box-sizing:border-box;min-width:0;padding:7px 5px!important}

.settlement-terrain-bonuses{display:flex;flex-wrap:wrap;gap:7px;margin:9px 0}.settlement-terrain-bonuses>span{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border:1px solid currentColor;background:rgba(0,0,0,.13);font-size:9px}.settlement-terrain-bonuses .ui-icon{width:18px;height:18px}.settlement-terrain-bonuses .positive{color:#72bd91}.settlement-terrain-bonuses .negative{color:#d36e64}.settlement-terrain-bonuses.neutral{color:#7c8580}.city-hero-content>.settlement-terrain-bonuses{margin:10px 0 0}
.spellbook-page{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}

@media(max-width:760px){
  .recruit-unit-grid{grid-template-columns:1fr!important;grid-auto-rows:360px!important}
  .recruit-unit-card{grid-template-columns:92px minmax(0,1fr)!important;grid-template-rows:minmax(92px,auto) auto!important;min-height:360px!important;padding:13px!important;gap:10px 12px!important}
  .recruit-unit-art,.asset-art.unit-art.recruit-unit-art,.asset-art.unit-art.ship-unit-art.recruit-unit-art{width:92px!important;height:92px!important;min-width:92px!important;min-height:92px!important}
  .recruit-card-details>.unit-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .unit-detail-card{grid-template-columns:82px minmax(0,1fr) 60px!important;min-height:180px!important;padding:11px!important}
  .unit-detail-art{width:82px!important;height:82px!important}
  .unit-detail-copy>.unit-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

/* Expedition ledger. */
.expedition-board{position:relative;margin:18px 0 24px;overflow:hidden;border:1px solid rgba(184,139,72,.3);background:radial-gradient(circle at 4% 0,rgba(138,95,40,.16),transparent 34%),linear-gradient(145deg,rgba(18,29,30,.98),rgba(8,15,16,.98));box-shadow:0 18px 42px rgba(0,0,0,.25)}
.expedition-board:before{position:absolute;inset:0;pointer-events:none;content:"";background:linear-gradient(90deg,rgba(203,151,75,.16),transparent 12%,transparent 88%,rgba(203,151,75,.08));opacity:.55}
.expedition-board-heading{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid rgba(184,139,72,.22)}
.expedition-board-heading>div{display:flex;align-items:center;gap:12px;min-width:0}.expedition-board-heading>div>span:first-child{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(199,146,79,.35);background:rgba(4,10,11,.6);color:#c89b59}.expedition-board-heading>div>span:first-child .ui-icon{width:25px;height:25px}.expedition-board-heading>div>span:last-child{display:grid;gap:2px;min-width:0}.expedition-board-heading small,.expedition-section-heading small,.expedition-rewards-panel header small,.expedition-live-invite header small{color:#b78646;font-size:8px;letter-spacing:.12em;text-transform:uppercase}.expedition-board-heading h2,.expedition-section-heading h3,.expedition-rewards-panel h3,.expedition-live-invite h3{margin:0;color:#ddd0b3;font:500 20px Georgia,serif}.expedition-board-heading p{margin:1px 0 0;color:#89948e;font-size:10px;line-height:1.45}
.expedition-tabs{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid rgba(184,139,72,.18);background:rgba(0,0,0,.15)}.expedition-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:8px 12px;border:0;border-right:1px solid rgba(184,139,72,.14);background:transparent;color:#89928d;font-size:10px;text-transform:uppercase;letter-spacing:.06em;cursor:pointer}.expedition-tabs button:last-child{border-right:0}.expedition-tabs button b{display:grid;place-items:center;min-width:23px;height:20px;padding:0 5px;border:1px solid rgba(184,139,72,.2);color:#b9aa8e;font-size:9px}.expedition-tabs button.active{background:linear-gradient(180deg,rgba(176,119,52,.18),rgba(99,67,31,.06));box-shadow:inset 0 -2px #c08b48;color:#e0d2b7}.expedition-tabs button.active b{border-color:rgba(210,159,84,.5);color:#dcab66}
.expedition-filters{position:relative;display:flex;align-items:center;gap:5px;padding:9px 12px}.expedition-filters button{min-height:30px;padding:5px 11px;border:1px solid rgba(138,150,143,.17);background:rgba(4,10,11,.42);color:#818b85;font-size:9px;cursor:pointer}.expedition-filters button.active{border-color:rgba(196,146,75,.55);background:rgba(137,90,38,.16);color:#d6c7a9}
.expedition-card-grid{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 12px 14px}.expedition-card-grid>.empty-state{grid-column:1/-1;min-height:180px}
.expedition-card{--expedition-tone:#b18c57;display:grid;grid-template-columns:minmax(170px,40%) minmax(0,1fr);min-width:0;min-height:320px;overflow:hidden;border:1px solid color-mix(in srgb,var(--expedition-tone) 38%,#283536);background:linear-gradient(145deg,rgba(16,25,26,.97),rgba(6,12,13,.98));box-shadow:inset 0 -3px color-mix(in srgb,var(--expedition-tone) 55%,transparent),0 10px 24px rgba(0,0,0,.22)}.expedition-card.medium{--expedition-tone:#bd8950}.expedition-card.high{--expedition-tone:#b95e56}.expedition-card.fellowship{--expedition-tone:#c39a5a;border-color:rgba(209,164,92,.56);box-shadow:inset 0 -3px rgba(206,158,86,.68),inset 0 0 34px rgba(143,94,35,.09),0 13px 30px rgba(0,0,0,.3)}
.expedition-art{position:relative;min-width:0;min-height:180px;margin:0;overflow:hidden;background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--expedition-tone) 24%,#182426),#071011 75%)}.expedition-art:after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,transparent 55%,rgba(7,13,14,.94)),linear-gradient(0deg,rgba(4,9,10,.5),transparent 45%);pointer-events:none}.expedition-art img{display:block;width:100%;height:100%;min-height:100%;object-fit:cover;object-position:center}.expedition-art>span{position:absolute;z-index:1;inset:8px;border:1px solid rgba(222,183,118,.16);pointer-events:none}
.expedition-card-copy{display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;gap:10px;min-width:0;padding:14px}.expedition-card-copy>header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.expedition-card-copy>header>span:first-child{display:grid;gap:2px;min-width:0}.expedition-card-copy>header small{color:#a68860;font-size:8px;letter-spacing:.07em;text-transform:uppercase}.expedition-card-copy h3{margin:0;overflow-wrap:anywhere;color:#e0d3b7;font:500 clamp(17px,1.4vw,22px)/1.08 Georgia,serif}.expedition-card-copy>p{display:-webkit-box;min-height:37px;margin:0;overflow:hidden;color:#8c9791;font-size:10px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:3}.expedition-card-marks{display:grid;justify-items:end;gap:5px}.expedition-fellowship-seal{display:inline-flex;align-items:center;gap:4px;padding:4px 6px;border:1px solid rgba(208,163,90,.5);background:linear-gradient(110deg,rgba(153,101,39,.25),rgba(55,37,20,.2));color:#dfb56f;font-size:7px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.expedition-fellowship-seal .ui-icon{width:13px;height:13px}
.expedition-risk{display:inline-flex;flex:0 0 auto;align-items:center;gap:4px;padding:4px 6px;border:1px solid rgba(95,167,132,.3);background:rgba(61,125,95,.1);color:#80b99e;font-size:8px;font-style:normal;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.expedition-risk .ui-icon{width:12px;height:12px}.expedition-risk.medium{border-color:rgba(196,145,74,.4);background:rgba(142,91,38,.13);color:#d2a05c}.expedition-risk.high{border-color:rgba(196,88,79,.45);background:rgba(128,41,37,.16);color:#df7770}
.expedition-risk-ledger{display:flex;flex-wrap:wrap;gap:4px}.expedition-risk-ledger>span{display:grid;grid-template-columns:18px auto;align-items:center;gap:5px;min-width:88px;padding:4px 6px;border:1px solid rgba(183,98,80,.2);background:rgba(98,39,31,.1);color:#b36b5c}.expedition-risk-ledger>span>.ui-icon{width:17px;height:17px}.expedition-risk-ledger>span>span{display:grid}.expedition-risk-ledger small{color:#826c63;font-size:7px;text-transform:uppercase}.expedition-risk-ledger b{font-size:9px;font-variant-numeric:tabular-nums}.expedition-risk-ledger>.world_effect{border-color:rgba(177,127,66,.22);color:#b28a55}
.expedition-card-facts{display:flex;flex-wrap:wrap;gap:5px}.expedition-card-facts>span{display:grid;grid-template-columns:18px auto;grid-template-rows:auto auto;align-items:center;gap:0 5px;min-width:75px;padding:5px 7px;border:1px solid rgba(144,154,147,.13);background:rgba(0,0,0,.16)}.expedition-card-facts .ui-icon{grid-row:1/3;width:17px;height:17px;color:#a88759}.expedition-card-facts b{overflow:hidden;color:#d1c4a8;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.expedition-card-facts small{color:#747e78;font-size:7px;text-transform:uppercase}
.expedition-card-rewards{display:grid;align-content:start;gap:5px;min-width:0}.expedition-card-rewards>small{color:#7f8983;font-size:8px;letter-spacing:.07em;text-transform:uppercase}.expedition-reward-ledger{display:flex;flex-wrap:wrap;gap:4px}.expedition-reward{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:4px;min-width:88px;padding:4px 6px;border:1px solid rgba(136,148,141,.14);background:rgba(0,0,0,.18)}.expedition-reward>i{display:grid;place-items:center;width:20px;height:20px;color:#b9925a}.expedition-reward>i .ui-icon,.expedition-reward>i .value-glyph,.expedition-reward>i .resource-glyph{width:19px;height:19px}.expedition-reward>span{display:grid;min-width:0}.expedition-reward small{overflow:hidden;color:#747e79;font-size:7px;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.expedition-reward b{color:#c7bba1;font-size:9px;font-variant-numeric:tabular-nums;white-space:nowrap}.expedition-reward-ledger.secured .expedition-reward{border-color:rgba(86,159,124,.2)}.expedition-reward-ledger.secured .expedition-reward b{color:#84b99d}.expedition-ledger-empty{display:flex;align-items:center;gap:5px;margin:0;color:#6f7973;font-size:8px}.expedition-ledger-empty .ui-icon{width:13px;height:13px}
.expedition-card-copy>footer{display:flex;justify-content:flex-end;gap:5px;align-self:end}.expedition-card-copy>footer .btn{min-width:140px}.expedition-invitation-card .expedition-card-copy>footer .btn{min-width:0}.expedition-invite-expiry{display:flex;align-items:center;gap:5px;color:#a98c65;font-size:9px}.expedition-invite-expiry .ui-icon{width:14px;height:14px}
.expedition-active-phase{display:flex;align-items:flex-end;justify-content:space-between;gap:8px}.expedition-active-phase>span{display:grid;min-width:0}.expedition-active-phase small{color:#737e78;font-size:7px;text-transform:uppercase}.expedition-active-phase b{overflow:hidden;color:#c7baa0;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.expedition-active-phase strong{color:#b88a4d;font:500 17px Georgia,serif}.expedition-phase-meter{height:4px;overflow:hidden;background:#0a1112}.expedition-phase-meter>i{display:block;height:100%;background:linear-gradient(90deg,#75502b,#c18d4b);box-shadow:0 0 8px rgba(197,146,74,.4)}
.expedition-party{display:flex;align-items:center}.expedition-party-hero{position:relative;display:block;width:42px;height:42px;margin-right:-6px;border:1px solid color-mix(in srgb,var(--rarity,#9a9e9b) 52%,#243132);border-radius:50%;background:#091112;box-shadow:0 2px 8px #000;cursor:help}.expedition-party-avatar{width:100%!important;height:100%!important;border-radius:50%;object-fit:cover}.expedition-party-hero>i{position:absolute;right:2px;bottom:0;left:2px;height:3px;overflow:hidden;border-radius:2px;background:#182321}.expedition-party-hero>i:after{display:block;width:var(--stamina);height:100%;content:"";background:#5da47e}.expedition-party-count{display:flex;align-items:center;gap:5px;color:#89938d;font-size:9px}.expedition-party-count .ui-icon{width:18px;height:18px;color:#b38c56}

.expedition-modal{width:min(1240px,calc(100vw - 20px))!important;max-width:calc(100vw - 8px)!important;min-width:0;overflow:hidden!important}.expedition-modal .modal-frame{display:grid;grid-template-rows:auto minmax(0,1fr) auto;box-sizing:border-box;width:100%;max-width:100%;min-width:0;max-height:calc(100dvh - 20px);overflow:hidden}.expedition-modal .modal-body{box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:0;max-height:none;padding:16px;overflow-x:clip;overflow-y:auto;overscroll-behavior:contain}.expedition-modal .modal-frame>footer{position:relative;z-index:2;max-width:100%;min-width:0;background:#111a1c}
.expedition-prepare,.expedition-detail,.expedition-prepare>*,.expedition-detail>*,.expedition-prepare-grid>*,.expedition-detail-grid>*,.expedition-phase-form>*,.expedition-journal,.expedition-journal>div,.expedition-journal-entry{box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-inline-size:0}.expedition-prepare fieldset,.expedition-detail fieldset{box-sizing:border-box;max-width:100%;min-width:0;min-inline-size:0}.expedition-prepare select,.expedition-prepare input,.expedition-detail select,.expedition-detail input{max-width:100%}
.expedition-hero-choice>label input,.expedition-invite-picker label>input,.expedition-approach>input,.expedition-mortal-consent>input{position:absolute!important;width:1px!important;height:1px!important;min-width:1px!important;min-height:1px!important;margin:0!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.expedition-prepare,.expedition-detail{display:grid;gap:12px;min-width:0}.expedition-prepare-brief,.expedition-phase-hero{display:grid;grid-template-columns:minmax(220px,36%) minmax(0,1fr);min-height:190px;overflow:hidden;border:1px solid rgba(188,139,72,.27);background:#0b1415}.expedition-prepare-brief>.expedition-art,.expedition-phase-hero>.expedition-art{min-height:190px}.expedition-prepare-brief>div,.expedition-phase-hero>div{display:grid;align-content:center;justify-items:start;gap:10px;padding:18px}.expedition-prepare-brief p,.expedition-phase-hero p{max-width:70ch;margin:0;color:#9ba49e;font-size:11px;line-height:1.6}.expedition-phase-hero h3{margin:0;color:#ded0b2;font:500 clamp(21px,2vw,30px) Georgia,serif}.expedition-phase-hero>div>small{color:#ae8958;font-size:9px;text-transform:uppercase}
.expedition-phase-narrative{display:grid;grid-template-columns:23px minmax(0,1fr);align-items:start;gap:8px;max-width:74ch;padding:8px 9px;border-left:2px solid rgba(184,137,71,.55);background:rgba(98,68,33,.11)}.expedition-phase-narrative>.ui-icon{width:21px;height:21px;color:#b28b58}.expedition-phase-narrative>div{display:grid;gap:3px}.expedition-phase-narrative p{color:#b3aa97!important;font-family:Georgia,serif;font-size:11px!important;line-height:1.55!important}.expedition-phase-narrative small{color:#8f7e62!important;font-size:8px!important;line-height:1.45;text-transform:none!important}
.expedition-prepare-grid,.expedition-detail-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.7fr);gap:12px;align-items:start;min-width:0}.expedition-prepare-grid>div,.expedition-prepare-grid>aside,.expedition-detail-grid>main,.expedition-detail-grid>aside>section,.expedition-live-invite{min-width:0;border:1px solid rgba(141,153,146,.17);background:rgba(4,10,11,.35)}.expedition-prepare-grid>div,.expedition-prepare-grid>aside{padding:12px}.expedition-detail-grid>aside{display:grid;gap:10px;min-width:0}
.expedition-section-heading{display:flex;align-items:center;gap:9px;min-width:0;margin-bottom:9px}.expedition-section-heading>span:first-child{display:grid;place-items:center;width:31px;height:31px;border:1px solid rgba(191,142,73,.3);color:#b88950}.expedition-section-heading>span:first-child .ui-icon{width:19px;height:19px}.expedition-section-heading>div{display:grid;min-width:0}.expedition-section-heading h3{font-size:16px}.expedition-section-heading>b{margin-left:auto;color:#bf9154;font-size:10px}
.expedition-hero-picker{display:grid;gap:6px;min-width:0}.expedition-hero-choice{--rarity:#969b99;display:grid;grid-template-columns:54px minmax(0,1fr) auto auto;align-items:center;gap:8px;min-width:0;min-height:66px;padding:6px 8px;border:1px solid color-mix(in srgb,var(--rarity) 36%,#273334);background:linear-gradient(90deg,color-mix(in srgb,var(--rarity) 8%,#0b1415),rgba(6,12,13,.88));box-shadow:inset 2px 0 color-mix(in srgb,var(--rarity) 62%,transparent)}.expedition-choice-avatar{width:54px!important;height:54px!important;object-fit:cover}.expedition-hero-choice>span{display:grid;gap:2px;min-width:0}.expedition-hero-choice>span>b{overflow:hidden;color:#d6c8aa;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.expedition-hero-choice>span>small,.expedition-hero-choice>span>em{overflow:hidden;color:#78837d;font-size:8px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.expedition-hero-choice>span>i{height:3px;overflow:hidden;background:#121c1c}.expedition-hero-choice>span>i>i{display:block;height:100%;background:#5eaa82}.expedition-hero-choice>label{cursor:pointer}.expedition-hero-choice>label input{position:absolute;opacity:0;pointer-events:none}.expedition-hero-choice>label span{display:flex;align-items:center;gap:4px;padding:7px 8px;border:1px solid rgba(133,145,138,.2);color:#7f8983;font-size:8px;text-transform:uppercase}.expedition-hero-choice>label input:checked+span{border-color:rgba(87,165,127,.5);background:rgba(54,119,88,.15);color:#8bc7a7}.expedition-hero-choice>label .ui-icon{width:14px;height:14px}.expedition-hero-leader input:checked+span{border-color:rgba(199,149,76,.55)!important;background:rgba(141,91,35,.15)!important;color:#d5a55f!important}
.expedition-invite-picker{margin:12px 0 0;padding:10px;border:1px solid rgba(128,141,134,.16)}.expedition-invite-picker legend{padding:0 5px;color:#b59262;font-size:9px}.expedition-invite-picker>p{margin:0 0 8px;color:#737e78;font-size:8px}.expedition-invite-picker>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.expedition-invite-picker label{cursor:pointer}.expedition-invite-picker label>input{position:absolute;opacity:0}.expedition-invite-picker label>span{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:6px;padding:4px;border:1px solid rgba(132,145,138,.16);color:#8c9791}.expedition-invite-picker label>input:checked+span{border-color:rgba(86,165,126,.5);background:rgba(53,117,88,.13);color:#9fcab4}.expedition-invite-avatar{width:30px!important;height:30px!important;border-radius:50%}.expedition-invite-picker b{overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.expedition-preview{min-height:135px;transition:opacity .18s}.expedition-preview.loading{opacity:.5}.expedition-preview-placeholder{display:flex;align-items:center;gap:10px;min-height:130px;padding:16px;color:#6f7974}.expedition-preview-placeholder>.ui-icon{width:35px;height:35px;color:#8f7048}.expedition-preview-placeholder span{display:grid}.expedition-preview-placeholder b{color:#aa9f88;font-size:11px}.expedition-preview-placeholder small{font-size:8px}.expedition-preview-result{display:grid;gap:9px}.expedition-preview-result>header{display:flex;align-items:center;justify-content:space-between;gap:8px}.expedition-preview-result>header>b{color:#b9aa8e;font-size:10px}.expedition-preview-result>p{display:flex;align-items:center;gap:5px;margin:0;color:#89938d;font-size:9px}.expedition-preview-result>p .ui-icon{width:15px;height:15px;color:#a98352}.expedition-preview-result>small{color:#7d8781;font-size:8px;text-transform:uppercase}
.expedition-phase-track{display:grid;grid-template-columns:repeat(var(--phase-count,6),minmax(64px,1fr));gap:0;margin:0;padding:0;overflow-x:auto;list-style:none;scrollbar-width:thin}.expedition-phase-track li{position:relative;display:grid;justify-items:center;gap:3px;min-width:76px;padding:4px 8px;color:#5f6964}.expedition-phase-track li:after{position:absolute;z-index:0;top:17px;right:-50%;left:50%;height:1px;content:"";background:#293332}.expedition-phase-track li:last-child:after{display:none}.expedition-phase-track li span{position:relative;z-index:1;display:grid;place-items:center;width:27px;height:27px;border:1px solid #34403e;border-radius:50%;background:#0c1516;font-size:9px}.expedition-phase-track li span .ui-icon{width:14px;height:14px}.expedition-phase-track li small{font-size:7px;text-transform:uppercase;white-space:nowrap}.expedition-phase-track li.complete{color:#77b091}.expedition-phase-track li.complete:after{background:#4e8269}.expedition-phase-track li.complete span{border-color:#4f8c6c;background:#173027}.expedition-phase-track li.current{color:#d1a15d}.expedition-phase-track li.current span{border-color:#c18c47;background:#352819;box-shadow:0 0 12px rgba(196,145,70,.3)}
.expedition-journal{overflow:hidden;border:1px solid rgba(134,148,140,.18);background:rgba(3,9,10,.35)}.expedition-journal>summary{display:grid;grid-template-columns:27px minmax(0,1fr) auto 15px;align-items:center;gap:8px;min-height:47px;padding:7px 10px;cursor:pointer;list-style:none}.expedition-journal>summary::-webkit-details-marker{display:none}.expedition-journal>summary>.ui-icon:first-child{width:24px;height:24px;color:#a88759}.expedition-journal>summary>span{display:grid}.expedition-journal>summary small{color:#847154;font-size:7px;letter-spacing:.08em;text-transform:uppercase}.expedition-journal>summary b{color:#cec1a5;font:500 14px Georgia,serif}.expedition-journal>summary em{display:grid;place-items:center;min-width:22px;height:20px;border:1px solid rgba(190,142,73,.25);color:#b99866;font-size:8px;font-style:normal}.expedition-journal>summary>.ui-icon:last-child{width:13px;height:13px;color:#7c8680;transition:transform .18s}.expedition-journal[open]>summary>.ui-icon:last-child{transform:rotate(180deg)}.expedition-journal>div{display:grid;gap:6px;padding:0 8px 8px}.expedition-journal-entry{display:grid;gap:7px;padding:9px;border:1px solid rgba(141,153,146,.14);background:rgba(9,17,18,.74)}.expedition-journal-entry>header{display:flex;align-items:center;justify-content:space-between;gap:9px}.expedition-journal-entry>header>span{display:flex;align-items:center;gap:7px;min-width:0}.expedition-journal-entry>header>span>.ui-icon{width:21px;height:21px;color:#72aa8b}.expedition-journal-entry.setback>header>span>.ui-icon{color:#c37465}.expedition-journal-entry>header>span>span{display:grid;min-width:0}.expedition-journal-entry header small{color:#777f7a;font-size:7px;text-transform:uppercase}.expedition-journal-entry header b{overflow:hidden;color:#cfc2a6;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.expedition-journal-entry>header>em{flex:0 0 auto;padding:3px 5px;border:1px solid rgba(85,156,121,.28);color:#78ad91;font-size:7px;font-style:normal;text-transform:uppercase}.expedition-journal-entry.setback>header>em{border-color:rgba(181,89,74,.3);color:#c46f63}.expedition-journal-entry>p{margin:0;color:#8c9690;font-size:9px;line-height:1.5}.expedition-journal-heroes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:5px}.expedition-journal-heroes>section{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:start;gap:6px;padding:5px;border:1px solid rgba(115,132,123,.14);background:rgba(0,0,0,.16)}.expedition-journal-avatar{width:36px!important;height:36px!important;object-fit:cover}.expedition-journal-hero-copy{display:grid;gap:2px;min-width:0}.expedition-journal-heroes b{overflow:hidden;color:#c7b99e;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.expedition-journal-heroes small{color:#747f79;font-size:7px}.expedition-journal-heroes .expedition-reward-ledger{grid-column:1/-1;margin-top:3px}.expedition-journal-heroes .expedition-reward{min-width:78px;padding:3px 4px}.expedition-journal-effect{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:7px;padding:6px;border:1px solid rgba(177,113,66,.22);background:rgba(107,59,31,.1)}.expedition-journal-effect>.ui-icon{width:20px;height:20px;color:#b0784c}.expedition-journal-effect>span{display:grid}.expedition-journal-effect small{color:#806a57;font-size:7px;text-transform:uppercase}.expedition-journal-effect b{color:#b79e7d;font-size:9px}
.expedition-detail-grid>main{padding:10px}.expedition-phase-form{display:grid;align-content:start;gap:10px;overflow-anchor:none}.expedition-hero-decision{display:grid;align-content:start;gap:9px;padding:10px;border:1px solid rgba(135,148,141,.15);background:rgba(2,7,8,.22)}.expedition-hero-decision>header{display:flex;align-items:center;gap:8px}.expedition-decision-avatar{width:42px!important;height:42px!important;object-fit:cover}.expedition-hero-decision>header>span{display:grid}.expedition-hero-decision>header small{color:#917149;font-size:7px;text-transform:uppercase}.expedition-hero-decision>header h3{margin:0;color:#d2c4a6;font:500 16px Georgia,serif}
.expedition-approaches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.expedition-approach{min-width:0;cursor:pointer}.expedition-approach>input{position:absolute;opacity:0}.expedition-approach>span{display:grid;grid-template-columns:31px minmax(0,1fr);grid-template-rows:auto auto auto;gap:1px 7px;min-height:72px;padding:8px;border:1px solid rgba(131,144,137,.16);background:#0a1213}.expedition-approach>span>i{grid-row:1/4;display:grid;place-items:center;width:31px;height:31px;border:1px solid rgba(139,151,144,.18);color:#8d9a93}.expedition-approach>span>i .ui-icon{width:18px;height:18px}.expedition-approach b{color:#bdb096;font-size:10px}.expedition-approach small{color:#77817c;font-size:8px;line-height:1.35}.expedition-approach em{color:#9b7c54;font-size:7px;font-style:normal}.expedition-approach>input:checked+span{border-color:rgba(194,145,73,.58);background:linear-gradient(110deg,rgba(139,91,37,.18),#0a1213);box-shadow:inset 2px 0 #be8a48}.expedition-approach>input:checked+span>i{border-color:rgba(195,147,76,.4);color:#d2a15e}
.expedition-support{margin:0;padding:9px;border:1px solid rgba(134,147,140,.15)}.expedition-support legend{padding:0 5px;color:#a4865f;font-size:8px}.expedition-support>label,.expedition-support-fields>label{display:grid;gap:3px;min-width:0}.expedition-support label>span{color:#77817c;font-size:7px;text-transform:uppercase}.expedition-support select,.expedition-support input{min-width:0;height:34px}.expedition-support-fields{display:grid;grid-template-columns:1fr 120px;gap:6px;margin-top:6px}.expedition-support-fields[hidden]{display:none!important}.expedition-mortal-consent{display:flex;cursor:pointer}.expedition-mortal-consent>input{position:absolute;opacity:0}.expedition-mortal-consent>span{display:grid;grid-template-columns:30px minmax(0,1fr);gap:1px 8px;width:100%;padding:8px;border:1px solid rgba(187,78,72,.28);background:rgba(101,31,29,.1);color:#a65f59}.expedition-mortal-consent .ui-icon{grid-row:1/3;width:28px;height:28px}.expedition-mortal-consent b{font-size:9px}.expedition-mortal-consent small{font-size:8px}.expedition-mortal-consent>input:checked+span{border-color:#c35d56;background:rgba(137,42,38,.18);color:#e07972}.expedition-decision-submit{display:flex;align-items:center;justify-content:space-between;gap:10px}.expedition-decision-submit p{display:flex;align-items:center;gap:5px;margin:0;color:#718079;font-size:8px}.expedition-decision-submit p .ui-icon{width:16px;height:16px;color:#639176}
.expedition-waiting{display:flex;align-items:center;justify-content:center;gap:12px;min-height:160px;padding:20px}.expedition-waiting>.ui-icon{width:40px;height:40px;color:#9b774b}.expedition-waiting div{display:grid;gap:3px}.expedition-waiting h3{margin:0;color:#c8b99d;font:500 18px Georgia,serif}.expedition-waiting p{margin:0;color:#79837d;font-size:9px}
.expedition-detail-party,.expedition-rewards-panel{padding:10px}.expedition-detail-party>div{display:grid;gap:5px}.expedition-member{--rarity:#969b99;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:7px;padding:5px;border:1px solid color-mix(in srgb,var(--rarity) 30%,#273334);background:color-mix(in srgb,var(--rarity) 5%,#081011)}.expedition-member-avatar{width:44px!important;height:44px!important;object-fit:cover}.expedition-member>span{display:grid;gap:1px;min-width:0}.expedition-member>span>b,.expedition-member>span>small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expedition-member>span>b{color:#cfc1a5;font-size:9px}.expedition-member>span>small{color:#707b75;font-size:7px}.expedition-member>span>i{height:3px;background:#14201e}.expedition-member>span>i>i{display:block;height:100%;background:#5da47e}.expedition-member>span>em{display:flex;align-items:center;gap:3px;color:#7e8c84;font-size:7px;font-style:normal}.expedition-member>span>em .ui-icon{width:10px;height:10px}.expedition-member>strong{display:grid;color:#a9895e;font-size:10px;text-align:right}.expedition-member>strong small{color:#69736e;font-size:6px;text-transform:uppercase}.expedition-rewards-panel>header,.expedition-live-invite>header{display:flex;align-items:center;gap:7px;margin-bottom:8px}.expedition-rewards-panel>header>.ui-icon,.expedition-live-invite>header>.ui-icon{width:27px;height:27px;color:#a47d4b}.expedition-rewards-panel header span,.expedition-live-invite header span{display:grid}.expedition-rewards-panel h3,.expedition-live-invite h3{font-size:15px}.expedition-rewards-panel.secured>header>.ui-icon{color:#64a07f}.expedition-live-invite{padding:10px}.expedition-live-invite>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px}.expedition-live-invite select{min-width:0}.expedition-invitation-form{display:grid;gap:10px}.expedition-invitation-form>p{margin:0;color:#98a19b;font-size:10px}.expedition-invite-hero{--rarity:#969b99;display:grid;grid-template-columns:20px 50px minmax(0,1fr);align-items:center;gap:8px;padding:6px;border:1px solid color-mix(in srgb,var(--rarity) 32%,#273334);cursor:pointer}.expedition-invite-hero>input{accent-color:#b98445}.expedition-invite-hero>span{display:grid}.expedition-invite-hero b{color:#d2c5a8;font-size:10px}.expedition-invite-hero small{color:#737d77;font-size:8px}

@media(max-width:980px){.expedition-card-grid{grid-template-columns:1fr}.expedition-card{min-height:280px}.expedition-prepare-grid,.expedition-detail-grid{grid-template-columns:1fr}.expedition-detail-grid>aside{grid-template-columns:repeat(2,minmax(0,1fr))}.expedition-detail-grid>aside>.expedition-detail-party,.expedition-detail-grid>aside>.expedition-live-invite{grid-column:1/-1}}
@media(max-width:760px){.expedition-modal{width:calc(100vw - 8px)!important;max-width:calc(100vw - 8px)!important}.expedition-modal .modal-body{padding:10px;overflow-x:clip!important;scrollbar-gutter:auto}.expedition-prepare-brief,.expedition-phase-hero{grid-template-columns:minmax(0,1fr)}.expedition-prepare-brief>.expedition-art,.expedition-phase-hero>.expedition-art{min-height:145px;aspect-ratio:16/7}.expedition-prepare-grid,.expedition-detail-grid,.expedition-detail-grid>aside{grid-template-columns:minmax(0,1fr)}.expedition-detail-grid>aside>*{grid-column:auto!important}.expedition-invite-picker>div,.expedition-approaches,.expedition-live-invite>div,.expedition-journal-heroes{grid-template-columns:minmax(0,1fr)}.expedition-phase-track{grid-template-columns:repeat(var(--phase-count,6),minmax(0,1fr));width:100%;max-width:100%;overflow:hidden}.expedition-phase-track li{min-width:0;padding-inline:2px}.expedition-phase-track li small{overflow:hidden;width:100%;font-size:6px;text-align:center;text-overflow:ellipsis}.expedition-journal-entry>header,.expedition-preview-result>header{min-width:0;flex-wrap:wrap}.expedition-journal-entry>header>span,.expedition-journal-entry>header>span>span{max-width:100%}.expedition-hero-choice>label span{box-sizing:border-box;min-width:0;white-space:nowrap}.expedition-reward-ledger,.expedition-risk-ledger{max-width:100%;min-width:0}.expedition-support-fields{grid-template-columns:minmax(0,1fr) minmax(82px,100px)}}
@media(max-width:680px){.expedition-board{margin-inline:-4px}.expedition-board-heading{align-items:flex-start;padding:12px}.expedition-board-heading>div>span:first-child{width:36px;height:36px}.expedition-board-heading p{display:none}.expedition-board-heading h2{font-size:18px}.expedition-tabs button{min-height:43px;padding:6px 3px;font-size:8px}.expedition-tabs button b{min-width:19px;height:18px}.expedition-filters{overflow-x:auto;padding:7px 8px}.expedition-filters button{flex:0 0 auto}.expedition-card-grid{gap:8px;padding:0 8px 10px}.expedition-card{grid-template-columns:1fr;min-height:0}.expedition-card>.expedition-art{min-height:150px;aspect-ratio:16/7}.expedition-art:after{background:linear-gradient(0deg,rgba(7,13,14,.92),transparent 48%)}.expedition-card-copy{padding:11px}.expedition-card-copy>footer .btn{width:100%;min-width:0}.expedition-modal{width:calc(100vw - 8px)!important;max-height:calc(100dvh - 8px)!important}.expedition-modal .modal-frame{height:calc(100dvh - 8px);max-height:calc(100dvh - 8px)}.expedition-modal .modal-frame>header{min-height:58px;padding:10px 48px 9px 12px}.expedition-modal .modal-frame>header h2{overflow:hidden;font-size:clamp(19px,6vw,25px);text-overflow:ellipsis;white-space:nowrap}.expedition-modal .modal-body{padding:8px}.expedition-modal .modal-frame>footer{display:grid;grid-template-columns:1fr;padding:8px max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.expedition-modal .modal-frame>footer .btn{width:100%}.expedition-prepare-brief,.expedition-phase-hero{grid-template-columns:1fr}.expedition-prepare-brief>.expedition-art,.expedition-phase-hero>.expedition-art{min-height:145px;aspect-ratio:16/7}.expedition-prepare-brief>div,.expedition-phase-hero>div{padding:12px}.expedition-hero-choice{grid-template-columns:48px minmax(0,1fr) auto;gap:6px}.expedition-choice-avatar{width:48px!important;height:48px!important}.expedition-hero-leader{grid-column:2/4}.expedition-hero-choice>label span{justify-content:center}.expedition-invite-picker>div{grid-template-columns:1fr}.expedition-approaches{grid-template-columns:1fr}.expedition-approach>span{min-height:64px}.expedition-support-fields{grid-template-columns:1fr 100px}.expedition-decision-submit{align-items:stretch;flex-direction:column}.expedition-decision-submit .btn{width:100%}.expedition-detail-grid>aside{grid-template-columns:1fr}.expedition-detail-grid>aside>*{grid-column:auto!important}.expedition-phase-track{margin-inline:-4px}.expedition-journal-heroes{grid-template-columns:1fr}.expedition-journal-entry>header{align-items:flex-start}.expedition-live-invite>div{grid-template-columns:1fr}.expedition-invitation-form .expedition-hero-picker{max-height:none;overflow:visible}}
@media(max-width:420px){.expedition-card-copy>header{align-items:flex-start;flex-direction:column}.expedition-risk{align-self:flex-start}.expedition-card-facts>span{min-width:calc(50% - 3px)}.expedition-reward{min-width:calc(50% - 2px)}.expedition-hero-choice{grid-template-columns:44px minmax(0,1fr)}.expedition-choice-avatar{width:44px!important;height:44px!important}.expedition-hero-include,.expedition-hero-leader{grid-column:auto}.expedition-hero-leader{grid-column:2}.expedition-support-fields{grid-template-columns:1fr}.expedition-mortal-consent>span{grid-template-columns:24px minmax(0,1fr)}.expedition-mortal-consent .ui-icon{width:22px;height:22px}}

/* v4.3.1: compact horizontal Dominion Atelier and resilient raven threads. */
.cosmetic-category>header{align-items:center}
.cosmetic-category-toolbar{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.cosmetic-category-toolbar>b{min-width:58px;margin-right:3px;color:#a99570;font-size:12px;text-align:right}
.cosmetic-category-toolbar>.icon-button{display:grid;place-items:center;width:36px;height:36px;border-color:rgba(199,146,79,.28);background:rgba(199,146,79,.045)}
.cosmetic-category-toolbar>.icon-button:hover{border-color:rgba(215,182,109,.62);background:rgba(199,146,79,.12)}
.cosmetic-category-toolbar>.icon-button .ui-icon{width:21px;height:21px}
.cosmetic-category-toolbar>.previous .ui-icon{transform:rotate(180deg)}
.cosmetic-carousel{position:relative;min-width:0;overflow:hidden}
.cosmetic-track{display:flex!important;grid-template-columns:none!important;gap:13px;min-width:0;padding:2px 2px 12px;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scroll-snap-type:x proximity;scrollbar-color:rgba(199,146,79,.42) rgba(255,255,255,.035);scrollbar-width:thin;overscroll-behavior-x:contain;touch-action:pan-x}
.cosmetic-track>.cosmetic-card{flex:0 0 clamp(250px,28vw,310px);width:clamp(250px,28vw,310px);min-height:410px;scroll-snap-align:start}
.cosmetic-collection-track{margin-bottom:0}
.cosmetic-track>.cosmetic-set-card{flex:0 0 clamp(330px,42vw,520px);width:clamp(330px,42vw,520px);min-height:108px;scroll-snap-align:start}
.cosmetic-traits{display:grid;justify-items:end;gap:5px;flex:0 0 auto}
.cosmetic-traits>small{padding:3px 6px;border:1px solid rgba(199,146,79,.22);color:#9d9484;font-size:9px;text-transform:uppercase;letter-spacing:.05em}

.message-layout{height:min(680px,calc(100dvh - 220px));min-height:0}
.message-view{min-width:0;min-height:0;max-height:100%;overflow:hidden}
.message-thread{min-height:0;overflow-y:scroll;overflow-anchor:auto;scrollbar-gutter:stable;scroll-padding-bottom:18px;-webkit-overflow-scrolling:touch}
.thread-reply{position:relative;z-index:2;flex:0 0 auto;max-height:min(34dvh,280px);overflow-y:auto;overscroll-behavior:contain}

@media(max-width:760px){
  .cosmetic-category>header{align-items:flex-start;flex-wrap:wrap}.cosmetic-category>header>span{min-width:min(100%,240px)}.cosmetic-category-toolbar{margin-left:auto}
  .cosmetic-track>.cosmetic-card{flex-basis:min(82vw,300px);width:min(82vw,300px)}
  .cosmetic-track>.cosmetic-set-card{flex-basis:min(88vw,420px);width:min(88vw,420px)}
  .message-layout{height:auto}
  .message-view.open{height:calc(100dvh - var(--topbar) - 68px - env(safe-area-inset-bottom));max-height:calc(100dvh - var(--topbar) - 68px - env(safe-area-inset-bottom))}
  .thread-reply{max-height:min(42dvh,300px);padding-bottom:calc(10px + env(safe-area-inset-bottom))}
}

@media(prefers-reduced-motion:reduce){.cosmetic-track{scroll-behavior:auto}}

/* v2.8.3 account resources and point-scaled player settlements. */
.resource-chip.account-resource[data-resource="gems"]{min-width:88px;background:linear-gradient(135deg,rgba(151,39,48,.17),rgba(28,10,17,.14))}
.resource-chip.account-resource .gems-glyph{filter:drop-shadow(0 0 7px rgba(210,72,84,.45))}
.map-marker.player-city-progress.city-progress-tier-1{width:39px;height:39px;--city-tier-color:#81796d}
.map-marker.player-city-progress.city-progress-tier-2{width:43px;height:43px;--city-tier-color:#65a77f}
.map-marker.player-city-progress.city-progress-tier-3{width:48px;height:48px;--city-tier-color:#668fbe}
.map-marker.player-city-progress.city-progress-tier-4{width:52px;height:52px;--city-tier-color:#9a72bd}
.map-marker.player-city-progress.city-progress-tier-5{width:56px;height:56px;--city-tier-color:#d0a14d}
.map-marker.player-city-progress .map-target-core,.map-marker.player-city-progress .map-location-art{width:100%!important;height:100%!important}
.city-progress-badge{position:absolute;z-index:7;right:-7px;bottom:-6px;display:grid;place-items:center;min-width:17px;height:17px;padding:0 3px;border:1px solid color-mix(in srgb,var(--city-tier-color) 78%,#e8d8ae);clip-path:polygon(50% 0,94% 24%,86% 76%,50% 100%,14% 76%,6% 24%);background:#11191b;color:var(--city-tier-color);font-family:Georgia,serif;font-size:9px;line-height:1;pointer-events:none}
.map-marker.player-city-progress.city-progress-tier-4+.map-label,.map-marker.player-city-progress.city-progress-tier-5+.map-label{transform:translate(-50%,39px)}
@media(max-width:760px){.resource-chip.account-resource[data-resource="gems"]{display:flex!important;min-width:66px;padding:0 7px}.resource-chip.account-resource[data-resource="gems"] .resource-glyph{width:25px;height:25px}}
@media(max-width:430px){
  .recruit-unit-grid{grid-auto-rows:400px!important}
  .recruit-unit-card{grid-template-columns:78px minmax(0,1fr)!important;min-height:400px!important;padding:10px!important}
  .recruit-unit-art,.asset-art.unit-art.recruit-unit-art,.asset-art.unit-art.ship-unit-art.recruit-unit-art{width:78px!important;height:78px!important;min-width:78px!important;min-height:78px!important}
  .recruit-card-details>.unit-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .unit-detail-card{grid-template-columns:68px minmax(0,1fr)!important;height:auto;min-height:0!important}
  .unit-detail-art{width:68px!important;height:68px!important}.unit-count{grid-column:1/-1!important;min-height:48px!important}
  .unit-detail-copy>.unit-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* v4.1: river realms, Pantheon muster, realm content, and administrative forge. */
.map-shell::after{content:"";position:absolute;z-index:40;inset:0;pointer-events:none;border:2px solid rgba(199,146,79,.38);box-shadow:inset 0 0 0 1px rgba(12,18,19,.92),inset 0 0 22px rgba(0,0,0,.58),0 0 0 1px rgba(7,11,12,.9)}
.world-map::after{content:"";position:absolute;z-index:39;inset:7px;pointer-events:none;border:1px solid rgba(222,190,124,.12);clip-path:polygon(0 0,34px 0,34px 2px,calc(100% - 34px) 2px,calc(100% - 34px) 0,100% 0,100% 34px,calc(100% - 2px) 34px,calc(100% - 2px) calc(100% - 34px),100% calc(100% - 34px),100% 100%,calc(100% - 34px) 100%,calc(100% - 34px) calc(100% - 2px),34px calc(100% - 2px),34px 100%,0 100%,0 calc(100% - 34px),2px calc(100% - 34px),2px 34px,0 34px)}
.pantheon-mythic-muster{margin:0 0 18px;border-color:rgba(168,119,201,.34);background:linear-gradient(115deg,rgba(92,51,112,.12),rgba(9,15,17,.94))}.pantheon-mythic-muster>.section-heading>span{display:flex;align-items:center;gap:7px}.pantheon-mythic-muster>.section-heading .ui-icon{width:22px;height:22px;color:#c49add}.pantheon-mythic-muster>div{display:grid;grid-template-columns:104px minmax(180px,1fr) minmax(190px,auto);align-items:center;gap:14px;padding:13px}.pantheon-mythic-muster .god-mythic-unit-art{width:100px;height:100px;object-fit:contain}.pantheon-mythic-muster>div>span{display:grid;gap:4px;min-width:0}.pantheon-mythic-muster>div>span>small{color:#9d7fb0;font-size:10px;text-transform:uppercase}.pantheon-mythic-muster>div>span>b{color:#dccce4;font:500 19px Georgia,serif}.pantheon-mythic-muster>div>span>em{color:#8e9690;font-size:10px;font-style:normal}.pantheon-mythic-muster>div>div{display:grid;justify-items:end;gap:10px}.mythic-muster-card{display:grid;grid-template-columns:116px minmax(0,1fr);align-items:center;gap:14px;margin-bottom:12px;padding:12px;border:1px solid rgba(168,119,201,.28);background:rgba(91,49,111,.08)}.mythic-muster-card .god-mythic-unit-art{width:112px;height:112px;object-fit:contain}.mythic-muster-card h3{margin:3px 0;color:#ddcfe4;font:500 20px Georgia,serif}.mythic-muster-card p{margin:7px 0;color:#909790;font-size:12px;line-height:1.45}
.global-announcement-modal{--modal-width:min(680px,calc(100vw - 24px))}.global-announcement{position:relative;display:grid;grid-template-columns:70px minmax(0,1fr);gap:15px;padding:20px;border:1px solid rgba(199,146,79,.3);background:radial-gradient(circle at 10% 10%,rgba(199,146,79,.12),transparent 42%),rgba(5,11,12,.45)}.global-announcement-seal{display:grid;place-items:center;width:64px;height:64px;border:1px solid rgba(199,146,79,.4);background:rgba(199,146,79,.07);color:#dbb86e}.global-announcement-seal .ui-icon{width:42px;height:42px}.global-announcement-body{color:#c2bcad;font-size:13px;line-height:1.7}.announcement-rewards{grid-column:1/-1;padding-top:13px;border-top:1px solid rgba(199,146,79,.18)}.announcement-rewards>small{display:block;margin-bottom:7px;color:#9e8965;font-size:10px;letter-spacing:.07em;text-transform:uppercase}
.admin-content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-content-form>.panel-inner{padding:14px}.admin-content-form textarea{resize:vertical}.admin-reward-grid{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:8px;margin:0;padding:10px;border:1px solid rgba(199,146,79,.19)}.admin-reward-grid legend{padding:0 5px;color:#a58c61;font-size:10px;text-transform:uppercase}.admin-reward-grid label{margin:0}.admin-reward-grid label>span{display:flex;align-items:center;gap:5px}.admin-reward-grid .resource-glyph{width:19px;height:19px}.admin-content-history>.panel-inner{display:grid;gap:5px;padding:10px}.admin-content-history article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px;border:1px solid rgba(255,255,255,.045);background:rgba(0,0,0,.12)}.admin-content-history article>span:first-child{display:grid;gap:2px;min-width:0}.admin-content-history article b{overflow:hidden;color:#c8bdA7;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.admin-content-history article small{color:#77807a;font-size:10px}.admin-content-history article em{color:#9d8a68;font-size:10px;font-style:normal;white-space:nowrap}.admin-world-create{margin-top:14px}.admin-world-create>.panel-inner{grid-template-columns:repeat(3,minmax(150px,1fr));padding:14px}.admin-search-form{display:grid;grid-template-columns:minmax(200px,420px) auto;align-items:end;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line)}.admin-search-form label{margin:0}.admin-search-form .btn{min-height:39px}.god-shrine-regenerator{border-color:rgba(145,98,180,.32);background:linear-gradient(100deg,rgba(91,50,113,.12),rgba(4,10,11,.28))}.god-shrine-regenerator>span>.ui-icon{color:#b58acb}
@media(max-width:900px){.admin-content-grid{grid-template-columns:1fr}.admin-reward-grid{grid-template-columns:repeat(2,minmax(90px,1fr))}.pantheon-mythic-muster>div{grid-template-columns:88px minmax(0,1fr)}.pantheon-mythic-muster>div>div{grid-column:1/-1;justify-items:stretch}.pantheon-mythic-muster .god-mythic-unit-art{width:84px;height:84px}.admin-world-create>.panel-inner{grid-template-columns:repeat(2,minmax(130px,1fr))}}
@media(max-width:560px){.pantheon-mythic-muster>div{grid-template-columns:70px minmax(0,1fr);gap:9px}.pantheon-mythic-muster .god-mythic-unit-art{width:68px;height:68px}.mythic-muster-card{grid-template-columns:80px minmax(0,1fr)}.mythic-muster-card .god-mythic-unit-art{width:76px;height:76px}.global-announcement{grid-template-columns:46px minmax(0,1fr);padding:13px}.global-announcement-seal{width:44px;height:44px}.global-announcement-seal .ui-icon{width:28px;height:28px}.admin-reward-grid,.admin-world-create>.panel-inner{grid-template-columns:1fr}.admin-search-form{grid-template-columns:1fr}}

/* v4.0: city-bound divinities, Favor, divine shrines, and mythic units. */
.god-oath{display:grid;grid-template-columns:clamp(120px,15vw,190px) minmax(0,1fr) minmax(190px,260px);gap:20px;align-items:stretch;margin:18px 0;padding:18px;border:1px solid rgba(213,174,93,.32);background:linear-gradient(115deg,rgba(86,60,30,.18),rgba(14,25,27,.96) 42%,rgba(33,26,45,.4));overflow:hidden}
.god-oath.unbound{grid-template-columns:64px minmax(0,1fr);align-items:center;min-height:110px}.god-oath.unbound>.ui-icon{width:54px;height:54px;color:#cda957;filter:drop-shadow(0 0 12px rgba(206,162,72,.3))}
.god-portrait{display:block;width:100%;min-height:190px;background-image:linear-gradient(to top,rgba(8,13,15,.86),transparent 38%),var(--god-image);background-repeat:no-repeat;background-position:center;background-size:cover;box-shadow:inset 0 0 0 1px rgba(229,191,111,.2),0 12px 30px rgba(0,0,0,.35)}
.god-oath>div{display:flex;min-width:0;flex-direction:column;justify-content:center}.god-oath h2,.god-card h2{margin:2px 0 6px;color:#e4d2a9;font:500 clamp(21px,2vw,30px) Georgia,serif}.god-oath p,.god-card p{margin:0;color:#9da49b;line-height:1.5}.god-oath>aside{display:grid;align-content:center;gap:9px;padding-left:16px;border-left:1px solid rgba(203,158,76,.2)}
.god-oath>aside>span{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;padding:8px;border:1px solid rgba(211,174,95,.22);background:rgba(3,8,9,.32)}.god-oath>aside>span>.resource-glyph{grid-row:1/3;width:31px;height:31px}.god-oath>aside>span>b{font:600 20px Georgia,serif;color:#e4bd66}.god-oath>aside>span>small{color:#899089}
.god-oath>aside>span>em{grid-column:2;color:#a08f6d;font-size:10px;font-style:normal;line-height:1.35}
.god-relation-seal>b{display:grid;grid-row:1/3;place-items:center;width:32px;height:32px;border:1px solid #cda554;border-radius:50%;color:#e2bd68}.god-oath>aside>.god-relation-seal>small{grid-column:2}
.god-bonus-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:12px}.god-bonus-list>span{display:grid;grid-template-columns:23px minmax(0,1fr) auto;align-items:center;gap:6px;min-width:0;padding:7px;border:1px solid rgba(207,166,82,.14);background:rgba(0,0,0,.18)}.god-bonus-list .ui-icon{width:21px;height:21px;color:#c7a355}.god-bonus-list small{overflow:hidden;color:#8e9991;text-overflow:ellipsis;white-space:nowrap}.god-bonus-list b{color:#7fc7a2;font-size:11px}
.god-shrine-ledger{margin:14px 0 18px}.god-shrine-ledger>.section-heading{padding:11px 13px}.god-shrine-ledger>.section-heading>em{color:#d9b76a}.god-shrine-ledger>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:7px;padding:10px}.god-shrine-ledger article{display:grid;grid-template-columns:60px minmax(0,1fr) auto;align-items:center;gap:9px;padding:7px;border:1px solid rgba(192,153,75,.14);background:rgba(6,12,13,.4)}.god-shrine-ledger article.bound{border-color:rgba(222,181,87,.38);box-shadow:inset 3px 0 #cba34f}.god-shrine-ledger-art{width:58px;height:50px}.god-shrine-ledger article>span{display:grid;min-width:0}.god-shrine-ledger article b{overflow:hidden;color:#d4c5a5;text-overflow:ellipsis;white-space:nowrap}.god-shrine-ledger article small{color:#79847e}.god-shrine-ledger article>em{max-width:120px;color:#caa654;font-size:10px;text-align:right}
.god-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.god-card{display:grid;grid-template-columns:150px minmax(0,1fr);grid-template-rows:auto auto 1fr auto;gap:0 15px;min-width:0;min-height:430px;padding:14px;border:1px solid rgba(190,151,75,.2);background:linear-gradient(145deg,rgba(34,29,24,.76),rgba(13,22,24,.98) 45%);box-shadow:0 12px 30px rgba(0,0,0,.18)}.god-card.selected{border-color:rgba(228,185,91,.66);box-shadow:inset 0 0 28px rgba(205,157,57,.07),0 12px 32px rgba(0,0,0,.3)}.god-card>.god-portrait{grid-row:1/5;min-height:100%;background-position:center top}.god-card>header{min-width:0}.god-card>header>small{color:#c79d4e;letter-spacing:.08em;text-transform:uppercase}.god-card h2{font-size:24px}.god-card .god-bonus-list{align-self:start}.god-card .god-mythic-unit{align-self:end}.god-card>footer{display:flex;align-items:center;justify-content:flex-end;padding-top:10px}.god-card>footer>.btn{min-width:150px}.god-selected-mark{display:flex;align-items:center;gap:6px;color:#d9b663}.god-selected-mark>.ui-icon{width:18px;height:18px}
.god-mythic-unit{display:grid;grid-template-columns:82px minmax(0,1fr);gap:8px;margin-top:10px;padding:8px;border:1px solid rgba(180,111,72,.25);background:linear-gradient(90deg,rgba(87,40,28,.16),rgba(0,0,0,.18))}.god-mythic-unit-art{grid-row:1/3;width:82px;height:92px}.god-mythic-unit>span{display:grid;align-content:center;min-width:0}.god-mythic-unit>span>small{color:#ad7257;text-transform:uppercase}.god-mythic-unit>span>b{color:#dfc99e;font:500 16px Georgia,serif}.god-mythic-unit>span>em{color:#7f8983}.god-mythic-unit>.cost-row{grid-column:2;justify-content:flex-start}
.god-change-warning{display:grid;grid-template-columns:170px minmax(0,1fr);gap:18px;align-items:stretch}.god-change-warning>.god-portrait{min-height:260px}.god-change-warning .negative b{color:#dc756a}.god-sanctum-warning{margin:14px 0}.divine-shrine-inspector{display:grid;grid-template-columns:44px minmax(0,1fr);gap:9px;align-items:center;padding:9px;border:1px solid rgba(220,178,86,.3);background:linear-gradient(100deg,rgba(174,121,45,.14),rgba(19,15,31,.34))}.divine-shrine-inspector>.resource-glyph{width:40px;height:40px}.divine-shrine-inspector small{color:#cba554}.divine-shrine-inspector h3{margin:1px 0 2px;color:#e0cc9e;font:500 16px Georgia,serif}.divine-shrine-inspector p{margin:0;color:#929a94;font-size:10px;line-height:1.4}
.map-marker.god_shrine>.map-target-core{filter:drop-shadow(0 0 2px rgba(255,255,255,.5)) drop-shadow(0 0 6px rgba(225,239,255,.22))}.map-marker.god_shrine::before{display:none!important}
.mythic-recruit-card{background-image:linear-gradient(145deg,rgba(96,40,28,.16),transparent 48%)}.mythic-recruit-card:not(.locked){border-color:rgba(211,136,79,.38)}
@media(max-width:1180px){.god-card-grid{grid-template-columns:1fr}.god-card{grid-template-columns:170px minmax(0,1fr)}}
@media(max-width:760px){.god-oath{grid-template-columns:92px minmax(0,1fr);gap:10px;padding:10px}.god-oath>.god-portrait{min-height:145px}.god-oath>aside{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));padding:9px 0 0;border-top:1px solid rgba(203,158,76,.2);border-left:0}.god-oath>aside>.btn,.god-oath>aside>em{grid-column:1/-1}.god-card{grid-template-columns:105px minmax(0,1fr);min-height:390px;padding:9px;gap:0 9px}.god-card h2{font-size:20px}.god-card .god-bonus-list{grid-template-columns:1fr}.god-card>.god-portrait{min-height:100%}.god-mythic-unit{grid-template-columns:58px minmax(0,1fr)}.god-mythic-unit-art{width:58px;height:72px}.god-mythic-unit>.cost-row{grid-column:1/-1}.god-shrine-ledger>div{grid-template-columns:1fr}.god-change-warning{grid-template-columns:90px minmax(0,1fr)}.god-change-warning>.god-portrait{min-height:220px}}
@media(max-width:430px){.god-card{display:flex;min-height:0;flex-direction:column}.god-card>.god-portrait{width:100%;min-height:180px;max-height:220px}.god-card .god-bonus-list{grid-template-columns:repeat(2,minmax(0,1fr))}.god-card>footer>.btn{width:100%}.god-shrine-ledger article{grid-template-columns:50px minmax(0,1fr)}.god-shrine-ledger article>em{grid-column:2;max-width:none;text-align:left}.god-shrine-ledger-art{width:48px;height:43px}}

/* Release-scoped static artwork. Dynamic artwork receives the same revision in app.js. */
.auth-scene{background-image:var(--release-realm-image,url("../images/ashfall-realm.png?v=20260819.7170"))}
.event-visual{background-image:linear-gradient(0deg,rgba(16,14,24,.92),rgba(16,14,24,.18)),var(--release-realm-image,url("../images/ashfall-realm.png?v=20260819.7170"))}
.city-hero{background-image:linear-gradient(90deg,rgba(10,15,17,.92),rgba(10,15,17,.28) 65%,rgba(10,15,17,.55)),var(--release-realm-image,url("../images/ashfall-realm.png?v=20260819.7170"))}
.world-map{background-image:linear-gradient(rgba(9,15,17,.32),rgba(9,15,17,.4)),var(--release-realm-image,url("../images/ashfall-realm.png?v=20260819.7170"))}
.map-material-layer{background-image:var(--release-map-relief,url("../images/world-map-relief-v2.webp?v=20260819.7170")),var(--release-map-parchment,url("../images/world-map-parchment-v2.webp?v=20260819.7170"))}

/* v2.4.6 · modular single-file artwork and Harbor-gated fleet controls. */
.asset-art.modular-art{
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:contain!important;
  background-color:transparent!important;
}
.asset-art.modular-art.hero-art{
  background-size:cover!important;
}
.building-card .asset-art.modular-art.building-card-art,
.profile-hero-art.modular-art,
.profile-choice-art.modular-art,
.scout-hero-art.modular-art{
  background-position:center!important;
  background-size:cover!important;
}
.map-location-art.modular-art,
.inspector-map-art.modular-art,
.map-target-core>.map-location-art.modular-art{
  background-position:center!important;
  background-size:contain!important;
}
.settlement-terrain-bonuses .unlock{color:#e0b96d;border-color:rgba(224,185,109,.52);background:linear-gradient(90deg,rgba(160,111,42,.18),rgba(20,31,33,.34))}
.fleet-locked{border-color:rgba(115,126,126,.18)!important;background:linear-gradient(145deg,rgba(24,32,34,.62),rgba(8,13,14,.76))!important}
.fleet-locked>.section-heading,.dispatch-force-zone.fleet-locked>header{opacity:.62}
.fleet-locked .empty-state{min-height:132px}
.army-tabs .tab:disabled{cursor:not-allowed;filter:saturate(.2);opacity:.42}

/* v2.4.8 · every interface, resource, item, avatar, movement, and crest symbol is an independent file. */
.alliance-symbol-art{
  position:relative;
  z-index:2;
  display:block;
  width:64%;
  height:64%;
  background:var(--crest-symbol);
  -webkit-mask-image:var(--alliance-icon-image);
  mask-image:var(--alliance-icon-image);
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:contain;
  mask-size:contain;
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.55));
}
.alliance-crest-design.large>.alliance-symbol-art{width:70%;height:70%}
.alliance-hero .alliance-crest-design>.alliance-symbol-art{width:66%;height:66%}

/* v2.4.9 · persistent guided oath and private training assault. */
.tutorial-layer[hidden]{display:none!important}
.tutorial-layer{position:fixed;inset:0;z-index:2200;pointer-events:none}
.tutorial-spotlight{position:fixed;z-index:1;box-sizing:border-box;border:2px solid #f0c56f;border-radius:8px;background:rgba(232,173,82,.035);box-shadow:0 0 0 9999px rgba(3,8,9,.74),0 0 0 5px rgba(226,174,83,.13),0 0 30px rgba(235,181,83,.72);transition:left .22s ease,top .22s ease,width .22s ease,height .22s ease;animation:tutorial-border-pulse 1.55s ease-in-out infinite;pointer-events:none}
.tutorial-card{position:fixed;z-index:3;box-sizing:border-box;width:min(390px,calc(100vw - 20px));padding:0;border:1px solid rgba(236,194,111,.66);background:linear-gradient(148deg,rgba(31,44,45,.99),rgba(11,18,20,.99));box-shadow:0 22px 58px rgba(0,0,0,.64),inset 0 1px rgba(255,255,255,.04);pointer-events:auto;transition:left .2s ease,top .2s ease}
.tutorial-card::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,transparent,#e5b85e,transparent);box-shadow:0 0 14px rgba(230,179,82,.55)}
.tutorial-card>header{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:11px;padding:17px 18px 12px;border-bottom:1px solid rgba(200,157,89,.2)}
.tutorial-card>header h2{margin:2px 0 0;color:#eee0bd;font-family:Georgia,serif;font-size:21px;line-height:1.15}
.tutorial-card>header small{color:#b98c4d;font-size:7px;letter-spacing:.17em}
.tutorial-sigil{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(230,183,91,.55);border-radius:50%;background:radial-gradient(circle,rgba(225,157,54,.32),rgba(28,38,38,.1));box-shadow:0 0 17px rgba(220,144,45,.2)}
.tutorial-sigil::before{content:"";width:22px;height:27px;background:linear-gradient(#f2c46b,#a65c2c);clip-path:polygon(50% 0,74% 31%,69% 51%,100% 75%,60% 100%,48% 67%,17% 91%,0 56%,28% 35%)}
.tutorial-progress{align-self:start;padding:5px 7px;border:1px solid rgba(199,146,79,.28);background:#10191b;color:#938a76;font-size:7px;white-space:nowrap}
.tutorial-card>p{min-height:72px;margin:0;padding:16px 18px 10px;color:#b8c0bb;font-size:12px;line-height:1.6}
.tutorial-card>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 18px 17px}
.tutorial-card>footer .btn{min-width:142px;justify-content:center}.tutorial-skip{color:#8f9691!important;font-size:9px}.tutorial-skip:hover{color:#d0b375!important}
.tutorial-wait{display:flex;align-items:center;gap:9px;margin:2px 18px 5px;padding:9px 10px;border:1px solid rgba(210,161,77,.27);background:rgba(168,105,38,.1);color:#d5b06b;font-size:9px}.tutorial-wait .ui-icon{width:23px;height:23px}.tutorial-wait time{color:#f1c66f;font-weight:700}
.tutorial-target-active{outline:2px solid rgba(239,191,98,.85)!important;outline-offset:4px!important;filter:brightness(1.08);animation:tutorial-target-pulse 1.55s ease-in-out infinite!important}
.tutorial-bandit-marker{z-index:12!important;animation:tutorial-target-pulse 1.45s ease-in-out infinite!important}.tutorial-bandit-label{z-index:11!important;border-color:rgba(222,102,84,.42)!important;color:#f0a07d!important}.tutorial-route polyline{stroke-width:4;filter:drop-shadow(0 0 7px #e8a154)}
.tutorial-report-banner{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;margin-bottom:16px;padding:14px;border:1px solid rgba(100,190,144,.44);background:linear-gradient(90deg,rgba(50,130,94,.18),rgba(18,29,29,.42));color:#8bd2ac}.tutorial-report-banner>.ui-icon{width:38px;height:38px}.tutorial-report-banner small{display:block;color:#6fa987;font-size:7px;letter-spacing:.12em;text-transform:uppercase}.tutorial-report-banner b{display:block;margin:3px 0;color:#bce6cc;font-family:Georgia,serif;font-size:15px}.tutorial-report-banner p{margin:5px 0 0;color:#93aaa0;font-size:10px;line-height:1.45}
@keyframes tutorial-border-pulse{0%,100%{border-color:#d9a954;box-shadow:0 0 0 9999px rgba(3,8,9,.74),0 0 0 4px rgba(226,174,83,.1),0 0 17px rgba(235,181,83,.48)}50%{border-color:#ffe09a;box-shadow:0 0 0 9999px rgba(3,8,9,.71),0 0 0 8px rgba(226,174,83,.16),0 0 34px rgba(255,202,101,.86)}}
@keyframes tutorial-target-pulse{0%,100%{filter:brightness(1);outline-color:rgba(222,169,76,.68)}50%{filter:brightness(1.24);outline-color:#ffe2a0}}
@media(max-width:760px){.tutorial-card{width:calc(100vw - 16px)}.tutorial-card>header{grid-template-columns:38px minmax(0,1fr) auto;padding:14px 14px 10px}.tutorial-sigil{width:36px;height:36px}.tutorial-card>header h2{font-size:18px}.tutorial-card>p{min-height:0;padding:13px 14px 8px;font-size:11px}.tutorial-card>footer{padding:10px 14px 14px}.tutorial-card>footer .btn{min-width:124px}.tutorial-progress{font-size:6px}}
@media(prefers-reduced-motion:reduce){.tutorial-spotlight,.tutorial-target-active,.tutorial-bandit-marker{animation:none!important;transition:none!important}}

/* Readability floor: semantic compact copy stays at 10px; normal UI copy starts at 12px. */
.font-floor-small{font-size:10px!important}
.font-floor-normal{font-size:12px!important}
@media(max-width:980px){:root{--sidebar:0px}}

/* v2.7.2 · top-layer notices, mobile map dossiers, and living NPC exchange. */
.toast-stack[popover]{
  inset:auto 18px 18px auto;
  margin:0;
  padding:0;
  overflow:visible;
  border:0;
  background:transparent;
  color:inherit;
}
.toast-stack[popover]:popover-open{display:grid}
.inventory-target-city{margin:8px 0 0!important;padding:8px 10px;border:1px solid rgba(199,146,79,.2);background:rgba(199,146,79,.06);color:#89928c!important;font-size:10px!important}
.inventory-target-city b{color:#cfb477}
.alliance-shared-report-row{grid-template-columns:minmax(0,1fr) 38px!important}
.npc-daily-ledger{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px 11px;border:1px solid rgba(106,177,137,.28);background:linear-gradient(100deg,rgba(61,143,104,.1),rgba(4,10,11,.28));color:#83b99d}
.npc-daily-ledger.exhausted{border-color:rgba(199,88,77,.34);background:rgba(126,45,42,.09);color:#c96f66}
.npc-daily-ledger>.ui-icon{width:26px;height:26px}.npc-daily-ledger>span{display:grid;gap:2px}.npc-daily-ledger small{color:#75827b;font-size:10px;text-transform:uppercase}.npc-daily-ledger b{color:currentColor;font-size:12px}.npc-daily-ledger time{color:#747e78;font-size:10px;white-space:nowrap}
.npc-production-profile{grid-column:1/-1;display:grid;grid-template-columns:minmax(120px,.55fr) minmax(0,1fr);gap:10px;align-items:center;padding-top:10px;border-top:1px solid var(--line)}
.npc-production-profile>small{color:#78817c;font-size:10px;text-transform:uppercase}.npc-production-profile>div{display:grid;grid-template-columns:repeat(4,minmax(54px,1fr));gap:5px}
.npc-production-factor{display:flex;align-items:center;justify-content:center;gap:4px;min-width:0;padding:5px;border:1px solid rgba(218,194,146,.12);background:rgba(0,0,0,.14)}.npc-production-factor.specialty{border-color:rgba(199,146,79,.45);background:rgba(199,146,79,.09);box-shadow:inset 0 -2px rgba(199,146,79,.35)}.npc-production-factor .resource-glyph{width:20px;height:20px}.npc-production-factor small{color:#9ca39e;font-size:10px;white-space:nowrap}

@media(max-width:760px){
  .toast-stack[popover]{inset:auto 8px calc(72px + env(safe-area-inset-bottom)) auto}
  .map-inspector{
    position:fixed!important;
    z-index:1900!important;
    top:calc(var(--topbar) + 8px)!important;
    right:8px!important;
    bottom:calc(70px + env(safe-area-inset-bottom))!important;
    left:8px!important;
    width:auto!important;
    max-height:none!important;
    overflow:hidden!important;
  }
  .map-inspector-scroll{height:100%;max-height:none!important;box-sizing:border-box;padding:18px 16px 22px!important;overflow-y:auto!important;overscroll-behavior:contain;scrollbar-gutter:stable}
  .map-inspector-scroll>.poi-inspector-visual,.map-inspector-scroll>.inspector-icon{margin-top:24px}
  .npc-daily-ledger{grid-template-columns:28px minmax(0,1fr)}.npc-daily-ledger time{grid-column:2;white-space:normal}
  .npc-production-profile{grid-template-columns:1fr}.npc-production-profile>div{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* v2.8.5 Dominion Atelier, quest actions, and immersive city panorama. */
.city-picker{width:clamp(174px,13vw,205px)!important;flex:0 0 clamp(174px,13vw,205px)!important;padding-inline:13px!important}
.language-switch.compact{min-width:46px!important;width:46px!important;margin-inline:5px 7px!important;padding:0 6px!important;font-size:11px!important;text-transform:none!important}

.quest-card{position:relative;grid-template-columns:58px minmax(0,1fr) minmax(170px,220px);align-items:stretch;padding:16px}.quest-card>.quest-icon{align-self:start}.quest-card>.quest-copy{align-self:center;min-width:0}.quest-card .quest-pin{position:absolute;z-index:2;top:10px;right:10px;width:34px;height:34px;border-color:rgba(199,146,79,.22);background:#11191b}.quest-card .quest-pin .ui-icon{width:20px;height:20px}.quest-card .quest-actions{display:flex;align-items:flex-end;align-self:stretch;width:100%;padding-top:42px}.quest-card .quest-actions>.btn{width:100%;min-height:42px}.quest-card.daily-blocked .quest-actions>.btn{border-color:rgba(102,173,133,.18);color:#75867d}

.city-immersive-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(275px,330px);gap:18px;margin-top:18px}.city-primary-view{min-width:0}.city-view-heading{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 16px}.city-view-heading>span{display:flex;align-items:center;gap:8px}.city-view-heading>span>.ui-icon{width:22px;height:22px}.city-view-heading>em{grid-column:1;color:#7f8882}.city-view-switch{grid-column:2;grid-row:1/3;display:flex;gap:5px}.city-view-switch button{display:flex;align-items:center;gap:6px;min-height:34px;padding:0 10px;border:1px solid var(--line);background:rgba(0,0,0,.16);color:#858c87;font-size:10px;cursor:pointer}.city-view-switch button.active{border-color:var(--bronze);background:rgba(199,146,79,.12);color:var(--bronze-bright)}.city-view-switch .ui-icon{width:17px;height:17px}.city-panorama-panel{overflow:hidden}.city-panorama-scroll{overflow:hidden;background:#091011}.city-panorama{position:relative;isolation:isolate;aspect-ratio:3/2;min-height:480px;overflow:hidden;background-image:linear-gradient(to bottom,rgba(7,12,13,.05),rgba(6,10,11,.34)),var(--city-panorama);background-position:center;background-size:cover;box-shadow:inset 0 0 70px rgba(0,0,0,.5)}.city-panorama::before{content:"";position:absolute;z-index:0;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 45%,transparent 34%,rgba(5,9,10,.24) 86%),linear-gradient(to bottom,rgba(215,176,104,.05),transparent 35%)}.city-building-plot{position:absolute;z-index:2;left:var(--plot-x);top:var(--plot-y);display:grid;place-items:center;width:clamp(78px,8.4vw,126px);aspect-ratio:1;border:0;background:transparent;transform:translate(-50%,-50%) scale(var(--plot-scale));transform-origin:center;cursor:pointer;filter:drop-shadow(0 9px 7px rgba(0,0,0,.64));transition:filter .18s ease,transform .18s ease}.city-building-plot:hover,.city-building-plot:focus-visible{z-index:8;outline:0;transform:translate(-50%,-50%) scale(calc(var(--plot-scale) * 1.1));filter:drop-shadow(0 10px 7px rgba(0,0,0,.75)) drop-shadow(0 0 8px rgba(227,181,99,.75))}.city-building-plot .city-panorama-building{width:100%!important;height:100%!important;background-size:contain!important;background-position:center bottom!important;background-repeat:no-repeat!important}.city-building-plot.unbuilt .city-panorama-building{opacity:.28;filter:grayscale(.75) brightness(.7)}.city-building-plot.locked{filter:none}.city-building-plot>span{position:absolute;top:calc(100% - 10px);left:50%;display:flex;align-items:center;gap:5px;max-width:145px;padding:4px 7px;border:1px solid rgba(199,146,79,.28);background:rgba(8,14,15,.9);color:#d4c7ad;font-size:9px;line-height:1.1;white-space:nowrap;transform:translateX(-50%);box-shadow:0 4px 12px rgba(0,0,0,.35)}.city-building-plot>span>b{display:flex;align-items:center;color:var(--bronze-bright);font-size:9px}.city-building-plot>span .ui-icon{width:13px;height:13px}.city-panorama-caption{position:absolute;z-index:3;right:12px;bottom:11px;display:grid;min-width:110px;padding:8px 11px;border:1px solid rgba(199,146,79,.25);background:rgba(8,14,15,.82);text-align:right}.city-panorama-caption small{color:#7f8882;font-size:9px;text-transform:uppercase}.city-panorama-caption b{margin-top:2px;color:#cfbea0;font-family:Georgia,serif;font-weight:400}.city-ledger-panel>.building-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.city-side{display:grid;align-content:start;gap:14px}

.cosmetics-view{--atelier-gold:#d7b66d}.cosmetic-gem-balance{display:grid;grid-template-columns:34px auto;align-items:center;gap:0 8px;min-width:126px;padding:7px 12px;border:1px solid rgba(209,86,101,.34);background:linear-gradient(135deg,rgba(133,34,47,.17),rgba(17,22,23,.85))}.cosmetic-gem-balance .resource-glyph{grid-row:1/3;width:32px;height:32px}.cosmetic-gem-balance b{font-size:15px}.cosmetic-gem-balance small{color:#a7878d;font-size:9px}.cosmetic-set-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 22px}.cosmetic-set-card{position:relative;display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:14px;overflow:hidden;padding:17px;border:1px solid var(--line);background:linear-gradient(135deg,#172123,#101718)}.cosmetic-set-card.enlightened{border-color:rgba(211,176,91,.42);background:radial-gradient(circle at 78% 0,rgba(40,154,144,.16),transparent 38%),linear-gradient(135deg,#22251f,#101718)}.cosmetic-set-card>span{display:grid;place-items:center;width:52px;height:52px;border:1px solid rgba(199,146,79,.35);background:rgba(199,146,79,.07)}.cosmetic-set-card>span .ui-icon{width:31px;height:31px}.cosmetic-set-card h3{margin:2px 0;color:#d7ccb6;font:400 22px Georgia,serif}.cosmetic-set-card p{margin:0;color:#828b85;font-size:11px}.cosmetic-set-card>strong{display:grid;text-align:right;color:var(--atelier-gold);font-size:17px}.cosmetic-set-card>strong small{color:#78817c;font-size:9px;font-weight:400}.cosmetic-set-card>i{position:absolute;right:0;bottom:0;left:0;height:2px;background:rgba(255,255,255,.04)}.cosmetic-set-card>i>i{display:block;height:100%;background:linear-gradient(90deg,#4c9b91,var(--atelier-gold))}.cosmetic-category{margin:0 0 30px}.cosmetic-category>header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 0 11px;padding:0 3px}.cosmetic-category>header>span{display:flex;align-items:center;gap:12px}.cosmetic-category>header .ui-icon{width:34px;height:34px}.cosmetic-category>header small{color:#9b7c4d;font-size:9px;letter-spacing:.1em;text-transform:uppercase}.cosmetic-category h2{margin:2px 0;color:#d8cebb;font:400 24px Georgia,serif}.cosmetic-category p{margin:0;color:#7f8882;font-size:11px}.cosmetic-category>header>b{color:#a99570;font-size:12px}.cosmetic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:13px}.cosmetic-card{position:relative;display:grid;grid-template-rows:190px minmax(0,1fr) auto;min-height:430px;overflow:hidden;border:1px solid color-mix(in srgb,var(--rarity,#777) 35%,var(--line));background:linear-gradient(150deg,color-mix(in srgb,var(--rarity,#777) 8%,#182123),#0e1517 58%);box-shadow:inset 0 0 40px color-mix(in srgb,var(--rarity,#777) 5%,transparent)}.cosmetic-card.selected{border-color:color-mix(in srgb,var(--rarity,#c7924f) 78%,#f0dca9);box-shadow:inset 0 0 38px color-mix(in srgb,var(--rarity,#c7924f) 10%,transparent),0 0 0 1px rgba(199,146,79,.18)}.cosmetic-card.locked .cosmetic-preview>.asset-art{filter:grayscale(.62) brightness(.65)}.cosmetic-preview{position:relative;display:grid;place-items:center;overflow:hidden;border-bottom:1px solid var(--line);background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--rarity,#777) 10%,transparent),transparent 57%),rgba(5,10,11,.36)}.cosmetic-preview>.asset-art{width:150px!important;height:150px!important;background-size:contain!important;background-position:center!important}.cosmetic-preview>.cosmetic-city-preview{width:120px!important;height:120px!important}.cosmetic-preview>.cosmetic-avatar-preview{width:140px!important;height:140px!important;border-radius:50%}.cosmetic-equipped{position:absolute;right:9px;bottom:9px;display:flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid rgba(98,183,149,.42);background:rgba(18,50,42,.9);color:#8bcfb0;font-size:9px;text-transform:uppercase}.cosmetic-equipped .ui-icon{width:15px;height:15px}.cosmetic-copy{display:flex;flex-direction:column;padding:15px}.cosmetic-copy>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.cosmetic-copy>header small{color:#9b7c4d;font-size:9px;text-transform:uppercase}.cosmetic-copy h3{margin:3px 0;color:#d5c9b3;font:400 19px/1.15 Georgia,serif}.cosmetic-copy>header em{font-size:9px}.cosmetic-copy>p{min-height:46px;margin:10px 0;color:#8a918c;font-size:11px;line-height:1.48}.cosmetic-card>footer{padding:0 15px 15px}.cosmetic-card>footer>.btn{width:100%;min-height:40px}.cosmetic-card>footer .resource-glyph{width:22px;height:22px}.cosmetic-unlocked{display:flex;align-items:center;gap:6px;margin-top:auto;color:#75bd9e;font-size:10px}.cosmetic-unlocked .ui-icon{width:18px;height:18px}.cosmetic-requirement{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px;margin-top:auto;padding:9px;border:1px solid var(--line);background:rgba(0,0,0,.17)}.cosmetic-requirement>.ui-icon{width:21px;height:21px}.cosmetic-requirement>span{display:grid}.cosmetic-requirement b{color:#b7b09f;font-size:10px}.cosmetic-requirement small{color:#7e8681;font-size:9px}.cosmetic-requirement>i{grid-column:1/-1;height:2px;background:rgba(255,255,255,.05)}.cosmetic-requirement>i>i{display:block;height:100%;background:var(--bronze)}.cosmetic-requirement.met{border-color:rgba(97,176,142,.35)}.cosmetic-requirement.met>i>i{background:#62b18e}

.cosmetic-card[data-art-skin="enlightened"] .cosmetic-preview::after,.profile-appearances article[data-art-skin="enlightened"]::after{content:"";position:absolute;inset:8%;pointer-events:none;background:radial-gradient(circle,transparent 54%,rgba(70,199,184,.12) 55%,transparent 57%),conic-gradient(from 45deg,transparent 0 11%,rgba(224,188,94,.35) 12% 13%,transparent 14% 36%,rgba(224,188,94,.25) 37% 38%,transparent 39% 100%);clip-path:polygon(50% 0,85% 15%,100% 50%,85% 85%,50% 100%,15% 85%,0 50%,15% 15%)}
.profile-quick-view{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:16px}.profile-quick-view>.profile-avatar-art{width:96px!important;height:96px!important}.profile-quick-view small{color:#a28455;text-transform:uppercase}.profile-quick-view h3{margin:4px 0;color:#d7ccb8;font:400 24px Georgia,serif}.profile-quick-view p{margin:0;color:#8a918c;line-height:1.5}.profile-appearances>div{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.profile-appearances article{position:relative;display:grid;grid-template-columns:68px minmax(0,1fr);align-items:center;gap:8px;overflow:hidden;padding:8px;border:1px solid var(--line);background:rgba(0,0,0,.14)}.profile-appearances .profile-appearance-art{width:68px!important;height:68px!important;background-size:contain!important}.profile-appearances article>span{display:grid;position:relative;z-index:1}.profile-appearances article small{color:#927b58;text-transform:uppercase}.profile-appearances article b{margin-top:3px;color:#cfc5b2;font-size:10px}

.map-marker.player-city-progress,.map-marker.player-city-progress.own,.map-marker.player-city-progress.friendly,.map-marker.player-city-progress.hostile{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;filter:drop-shadow(0 5px 4px rgba(0,0,0,.62))}.map-marker.player-city-progress::before,.map-marker.player-city-progress::after{display:none!important}.map-marker.player-city-progress .map-target-core{overflow:visible!important}.map-marker.player-city-progress .map-location-art{background-size:contain!important;background-position:center!important}.city-progress-badge{display:none!important}

/* v2.8.6 camera-relative POIs. Close cameras reveal readable settlements;
   realm-scale views remain compact enough for uncluttered navigation. */
.map-marker:not(.cargo-route-marker),.map-marker.site:not(.cargo-route-marker),.map-marker.fort:not(.cargo-route-marker){width:calc(44px * var(--map-marker-zoom,1));height:calc(44px * var(--map-marker-zoom,1))}
.map-marker.site.season_monster:not(.cargo-route-marker),.map-marker.site.sea_monster:not(.cargo-route-marker){width:calc(54px * var(--map-marker-zoom,1));height:calc(54px * var(--map-marker-zoom,1))}
.map-marker.player-city-progress.city-progress-tier-1{width:calc(39px * var(--map-marker-zoom,1));height:calc(39px * var(--map-marker-zoom,1))}
.map-marker.player-city-progress.city-progress-tier-2{width:calc(43px * var(--map-marker-zoom,1));height:calc(43px * var(--map-marker-zoom,1))}
.map-marker.player-city-progress.city-progress-tier-3{width:calc(48px * var(--map-marker-zoom,1));height:calc(48px * var(--map-marker-zoom,1))}
.map-marker.player-city-progress.city-progress-tier-4{width:calc(52px * var(--map-marker-zoom,1));height:calc(52px * var(--map-marker-zoom,1))}
.map-marker.player-city-progress.city-progress-tier-5{width:calc(56px * var(--map-marker-zoom,1));height:calc(56px * var(--map-marker-zoom,1))}
.map-label{transform:translate(-50%,calc(27px * var(--map-marker-zoom,1) + 7px))}
.world-map,.map-marker-layer,.map-marker,.map-label{-webkit-user-select:none;user-select:none}.map-marker{-webkit-user-drag:none}.map-marker.divine-shrine>.map-target-core{filter:drop-shadow(0 0 2px rgba(255,255,255,.5)) drop-shadow(0 0 6px rgba(238,246,255,.22))}.map-marker.alliance-aura>.map-target-core{filter:drop-shadow(0 0 3px rgba(90,224,151,.55)) drop-shadow(0 0 9px rgba(57,176,116,.3))}.map-marker.divine-shrine.alliance-aura>.map-target-core{filter:drop-shadow(0 0 2px rgba(255,255,255,.4)) drop-shadow(0 0 7px rgba(84,224,148,.28))}.privacy-consent{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:9px!important}.privacy-consent input{flex:0 0 18px;width:18px;height:18px;margin:2px 0 0;accent-color:var(--bronze)}.privacy-consent>span{display:inline;min-width:0;line-height:1.45}.privacy-consent a{display:inline;color:var(--bronze-bright);text-decoration:underline}.dynasty-modifier-ledger>span.negative,.dynasty-trait.negative{border-color:rgba(198,81,75,.38);color:#e89b91;background:rgba(139,48,45,.12)}.dynasty-trait.negative em{color:#ef857a}
.map-marker.active-movement-target .map-target-core{filter:brightness(1.08) drop-shadow(0 0 5px rgba(226,183,94,.55))}
.map-marker.active-movement-target::after{position:absolute;inset:-5px;display:block!important;border:0!important;background:linear-gradient(#e2b75e,#e2b75e) left top/9px 1px no-repeat,linear-gradient(#e2b75e,#e2b75e) left top/1px 9px no-repeat,linear-gradient(#e2b75e,#e2b75e) right bottom/9px 1px no-repeat,linear-gradient(#e2b75e,#e2b75e) right bottom/1px 9px no-repeat;box-shadow:none!important;content:"";pointer-events:none}

.admin-database-health{margin:0 0 18px;overflow:hidden}.admin-database-health>.section-heading>span{display:flex;align-items:center;gap:8px}.admin-database-health>.section-heading .ui-icon{width:21px;height:21px}.admin-database-health.healthy>.section-heading{border-bottom-color:rgba(91,183,145,.24)}.admin-database-health.healthy>.section-heading .ui-icon,.admin-database-health.healthy>.section-heading>em{color:#72bd9e}.admin-database-health.unhealthy>.section-heading .ui-icon,.admin-database-health.unhealthy>.section-heading>em{color:#df766c}.admin-database-ledger{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line)}.admin-database-ledger>article{display:grid;gap:4px;min-width:0;padding:13px 15px;background:#11191b}.admin-database-ledger small{color:#7d8781;font-size:9px;letter-spacing:.08em;text-transform:uppercase}.admin-database-ledger b{overflow:hidden;color:#d5c9b3;font:400 16px Georgia,serif;text-overflow:ellipsis;white-space:nowrap}.admin-database-ledger span{overflow:hidden;color:#77817b;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.admin-email-confirm,.admin-email-confirmed{align-items:center!important;padding:11px 12px;border:1px solid var(--line);background:rgba(0,0,0,.13)}.admin-email-confirm>span,.admin-email-confirmed>span{display:grid!important;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:2px 8px}.admin-email-confirm .ui-icon,.admin-email-confirmed .ui-icon{grid-row:1/3;width:21px;height:21px}.admin-email-confirm small{color:#7e8882}.admin-email-confirmed{border-color:rgba(91,183,145,.28);color:#7cc4a5}
.cosmetic-requirement.premium{grid-template-columns:30px minmax(0,1fr);border-color:rgba(95,176,215,.3);background:linear-gradient(90deg,rgba(39,95,119,.2),rgba(0,0,0,.12))}.cosmetic-requirement.premium>.resource-glyph{width:27px;height:27px;margin:0;filter:drop-shadow(0 0 6px rgba(88,189,222,.34))}.cosmetic-requirement.premium>span{display:grid;gap:2px}.cosmetic-requirement.premium b{color:#8bd7ec}.cosmetic-requirement.premium small{color:#92a9ab}
@media(max-width:760px){.admin-database-ledger{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Current administration console: operational views stay separate from the
   standalone world-forge workflow and keep destructive actions explicit. */
.admin-console{max-width:1480px;margin:0 auto}.admin-console #adminRoot{min-width:0}.admin-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.admin-summary-grid>article{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:11px;min-height:86px;padding:13px 15px;border:1px solid rgba(199,146,79,.2);background:linear-gradient(135deg,rgba(20,31,32,.96),rgba(8,14,15,.96));box-shadow:inset 0 1px rgba(255,255,255,.025)}.admin-summary-grid>article>.ui-icon{width:30px;height:30px;padding:6px;border:1px solid rgba(199,146,79,.2);color:#bd8d4d}.admin-summary-grid>article>span{display:grid;gap:2px;min-width:0}.admin-summary-grid small,.admin-section-intro small{color:#94794f;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.admin-summary-grid b{overflow:hidden;color:#ddd0b7;font:500 22px Georgia,serif;text-overflow:ellipsis;white-space:nowrap}.admin-summary-grid em{overflow:hidden;color:#78827c;font-size:10px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.admin-summary-grid .positive>.ui-icon{color:#6fba98}.admin-summary-grid .negative>.ui-icon{color:#d56d64}.admin-overview-columns{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.7fr);gap:14px;margin-bottom:14px}.admin-overview .section-heading>span,.admin-audit-panel .section-heading>span{display:flex;align-items:center;gap:7px}.admin-overview .section-heading .ui-icon,.admin-audit-panel .section-heading .ui-icon{width:21px;height:21px}.admin-event-list{display:grid;gap:6px}.admin-event-list article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid rgba(255,255,255,.045);background:rgba(0,0,0,.14)}.admin-event-list article>span{display:grid;gap:3px;min-width:0}.admin-event-list b{overflow:hidden;color:#c8bea9;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.admin-event-list small,.admin-event-list em{color:#77817b;font-size:10px;font-style:normal}.admin-recent-audit{margin-top:14px}.admin-recent-audit .data-table td:nth-child(3),.admin-audit-table td:nth-child(3){color:#b89a68}.admin-section-intro{display:flex;align-items:center;gap:14px;margin-bottom:14px;padding:16px 18px;border:1px solid rgba(199,146,79,.24);background:linear-gradient(110deg,rgba(199,146,79,.09),rgba(8,14,15,.94) 55%)}.admin-section-intro>.ui-icon{width:38px;height:38px;color:#c59655}.admin-section-intro>span{display:grid;gap:3px}.admin-section-intro h2{margin:0;color:#ddd0b8;font:500 23px Georgia,serif}.admin-section-intro p{max-width:850px;margin:0;color:#7e8781;font-size:11px;line-height:1.5}.admin-world-operation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:12px}.admin-world-operation{display:grid;gap:13px;min-width:0;padding:15px;overflow:hidden}.admin-world-operation>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:11px;border-bottom:1px solid var(--line)}.admin-world-operation>header>span:first-child{display:grid;gap:2px;min-width:0}.admin-world-operation h3{overflow:hidden;margin:0;color:#ddd0b8;font:500 19px Georgia,serif;text-overflow:ellipsis;white-space:nowrap}.admin-world-operation header small{color:#8d754e;font-size:10px;letter-spacing:.08em}.admin-world-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line)}.admin-world-facts>span{display:grid;gap:3px;padding:9px;background:#10191a;text-align:center}.admin-world-facts small{color:#707b75;font-size:9px;text-transform:uppercase}.admin-world-facts b{color:#cfc3ac;font-size:14px}.admin-world-confirm{margin:0}.admin-world-confirm>span{color:#988464;font-size:10px}.admin-world-operation-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.admin-world-operation-actions .btn{min-width:0;padding-inline:8px}.admin-world-deletion-warning{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid rgba(195,71,58,.38);background:rgba(117,36,30,.13)}.admin-world-deletion-warning>.ui-icon{width:26px;height:26px;color:#d7786d}.admin-world-deletion-warning>span{display:grid;gap:2px}.admin-world-deletion-warning b{color:#dc9489;font-size:11px}.admin-world-deletion-warning small{color:#a3746d;font-size:10px}.admin-audit-panel{overflow:hidden}.admin-audit-table td:last-child{min-width:180px}.admin-audit-table td:last-child b,.admin-audit-table td:last-child small{display:block}.announcement-console{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr)}.announcement-console .admin-content-history{align-self:start;max-height:760px;overflow:auto}
@media(max-width:1050px){.admin-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-overview-columns,.announcement-console{grid-template-columns:1fr}.admin-world-operation-grid{grid-template-columns:1fr}}
@media(max-width:640px){.admin-summary-grid{grid-template-columns:1fr}.admin-summary-grid>article{min-height:72px}.admin-section-intro{align-items:flex-start;padding:13px}.admin-section-intro h2{font-size:20px}.admin-world-operation{padding:12px}.admin-world-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-world-operation-actions{grid-template-columns:1fr}.admin-workspace-tabs>button{min-height:58px}.admin-workspace-tabs small{white-space:normal}}

@media(max-width:1480px){.city-immersive-layout{grid-template-columns:minmax(0,1fr) 285px}.city-panorama{min-height:420px}.city-picker{width:190px!important;flex-basis:190px!important}}
@media(max-width:1100px){.city-immersive-layout{grid-template-columns:1fr}.city-side{grid-template-columns:repeat(3,minmax(0,1fr))}.city-side>.panel{min-width:0}.city-panorama{min-height:500px}.cosmetic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.city-picker{width:185px!important;min-width:115px!important;max-width:185px!important;flex:0 1 185px!important}.resource-chip.account-resource[data-resource="silver"]{display:flex!important;min-width:66px;padding:0 7px}.resource-chip.account-resource[data-resource="silver"] .resource-glyph{width:25px;height:25px}.language-switch.compact{min-width:42px!important;width:42px!important;margin-inline:2px 4px!important}.quest-card{grid-template-columns:52px minmax(0,1fr);padding:14px}.quest-card>.quest-copy{padding-right:26px}.quest-card .quest-actions{grid-column:1/-1;padding-top:2px}.city-view-heading{grid-template-columns:1fr}.city-view-heading>em{grid-column:1}.city-view-switch{grid-column:1;grid-row:auto;width:100%;margin-top:7px}.city-view-switch button{flex:1;justify-content:center}.city-panorama-scroll{overflow-x:auto;overscroll-behavior-inline:contain}.city-panorama{width:780px;min-height:520px}.city-side{grid-template-columns:1fr}.city-ledger-panel>.building-grid{grid-template-columns:1fr}.cosmetic-set-overview,.cosmetic-grid{grid-template-columns:1fr}.cosmetic-set-card{grid-template-columns:48px minmax(0,1fr)}.cosmetic-set-card>strong{grid-column:2;text-align:left}.profile-appearances>div{grid-template-columns:1fr}}
@media(max-width:430px){.city-picker{width:120px!important;min-width:100px!important;max-width:120px!important;flex-basis:120px!important}.resource-chip.account-resource[data-resource="silver"],.resource-chip.account-resource[data-resource="gems"]{min-width:58px;padding-inline:4px}.quest-card{padding:13px}.quest-card .quest-pin{top:8px;right:8px}.city-panorama{width:700px}.cosmetic-card{min-height:410px}.cosmetic-category>header{align-items:flex-start}.cosmetic-category>header>span>.ui-icon{display:none}.profile-quick-view{grid-template-columns:74px minmax(0,1fr)}.profile-quick-view>.profile-avatar-art{width:74px!important;height:74px!important}}

/* v2.8.7: image-only city panorama and persistent administrator placement. */
.city-building-plot{z-index:var(--plot-z,2);width:clamp(74px,8.1vw,120px);border:0!important;background:transparent!important;box-shadow:none!important}.city-building-plot:hover,.city-building-plot:focus-visible{z-index:90;transform:translate(-50%,-50%) scale(calc(var(--plot-scale) * 1.08))}.city-building-plot .city-panorama-building{display:block;width:100%!important;height:100%!important;background-position:center!important;background-size:contain!important;background-repeat:no-repeat!important}.city-building-plot>span,.city-panorama-caption{display:none!important}.queue-mini.hero-task{border-left:2px solid rgba(111,187,173,.45)}
.admin-panorama-lab{overflow:hidden}.admin-panorama-form{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);min-height:620px}.admin-panorama-controls{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:12px;padding:18px;border-right:1px solid var(--line);background:rgba(5,10,11,.2)}.admin-panorama-controls .full{grid-column:1/-1}.admin-panorama-controls label>span{display:flex;justify-content:space-between;gap:8px}.admin-panorama-controls label b{color:var(--bronze-bright);font-weight:600}.admin-panorama-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:4px}.admin-panorama-stage{position:relative;isolation:isolate;min-height:620px;overflow:hidden;touch-action:none;background-image:linear-gradient(to bottom,rgba(7,12,13,.02),rgba(6,10,11,.24)),var(--city-panorama);background-position:center;background-size:cover;box-shadow:inset 0 0 70px rgba(0,0,0,.44)}.admin-panorama-stage::after{content:"";position:absolute;z-index:200;inset:8%;pointer-events:none;border:1px dashed rgba(199,146,79,.2)}.admin-panorama-building{position:absolute;z-index:var(--plot-z);left:var(--plot-x);top:var(--plot-y);display:grid;place-items:center;width:clamp(76px,8vw,122px);aspect-ratio:1;padding:0;border:0;background:transparent;transform:translate(-50%,-50%) scale(var(--plot-scale));filter:drop-shadow(0 8px 6px rgba(0,0,0,.64));cursor:pointer}.admin-panorama-building .admin-panorama-art{width:100%!important;height:100%!important;background-position:center!important;background-size:contain!important;background-repeat:no-repeat!important}.admin-panorama-building.selected{outline:1px dashed rgba(231,187,106,.78);outline-offset:7px;filter:drop-shadow(0 8px 6px rgba(0,0,0,.7)) drop-shadow(0 0 8px rgba(62,185,166,.68));cursor:grab}.admin-panorama-building.selected:active{cursor:grabbing}.admin-panorama-controls .terrain-note{display:flex;align-items:flex-start;gap:8px}.admin-panorama-controls .terrain-note>.ui-icon{flex:0 0 20px;width:20px;height:20px}
@media(max-width:980px){.admin-panorama-form{grid-template-columns:1fr}.admin-panorama-controls{border-right:0;border-bottom:1px solid var(--line)}.admin-panorama-stage{min-height:520px}}
@media(max-width:620px){.admin-panorama-controls{grid-template-columns:1fr}.admin-panorama-controls .full{grid-column:auto}.admin-panorama-stage{min-height:430px}.admin-panorama-actions{grid-template-columns:1fr}}

/* v2.8.7: protected rulers, fresh intelligence, and touch-safe close-map markers. */
.map-marker:not(.cargo-route-marker),.map-marker.site:not(.cargo-route-marker),.map-marker.fort:not(.cargo-route-marker),.map-marker.site.season_monster:not(.cargo-route-marker){transform:translate(calc(-50% + var(--marker-offset-x,0px)),calc(-50% + var(--marker-offset-y,0px)))}
.map-marker:not(.cargo-route-marker):hover,.map-marker:not(.cargo-route-marker).selected,.map-marker.site:not(.cargo-route-marker):hover,.map-marker.site:not(.cargo-route-marker).selected,.map-marker.site.season_monster:not(.cargo-route-marker):hover,.map-marker.site.season_monster:not(.cargo-route-marker).selected{transform:translate(calc(-50% + var(--marker-offset-x,0px)),calc(-50% + var(--marker-offset-y,0px))) scale(1.1)}
.map-marker.newcomer-protected:not(.cargo-route-marker){filter:drop-shadow(0 0 3px rgba(190,196,194,.54)) drop-shadow(0 0 8px rgba(112,122,121,.32))!important}
.map-marker.newcomer-protected:not(.cargo-route-marker):hover,.map-marker.newcomer-protected:not(.cargo-route-marker).selected{filter:brightness(1.06) drop-shadow(0 0 4px rgba(213,218,216,.62)) drop-shadow(0 0 10px rgba(126,136,135,.38))!important}
.newcomer-shield{position:absolute;z-index:8;right:-7px;top:-8px;display:grid;place-items:center;width:20px;height:20px;border:1px solid rgba(161,229,238,.78);border-radius:50%;background:#15313a;color:#9de1e6;box-shadow:0 0 8px rgba(94,196,217,.8);pointer-events:none;animation:newcomer-shield-pulse 2.2s ease-in-out infinite}.newcomer-shield .ui-icon{width:13px!important;height:13px!important;transform:none!important}
.newcomer-shield-timer{position:absolute;z-index:8;left:50%;top:-19px;min-width:48px;transform:translateX(-50%);padding:2px 5px;border:1px solid rgba(139,200,239,.52);border-radius:9px;background:rgba(10,29,42,.92);color:#bce7ff;font-size:10px;font-style:normal;font-variant-numeric:tabular-nums;line-height:1.2;text-align:center;white-space:nowrap;box-shadow:0 0 10px rgba(89,164,224,.38);pointer-events:none}
@keyframes newcomer-shield-pulse{50%{box-shadow:0 0 13px rgba(112,216,232,1);color:#d4fbff}}
.newcomer-protection-card{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;margin:10px 0;padding:10px 11px;border:1px solid rgba(99,192,214,.38);background:linear-gradient(105deg,rgba(34,111,133,.2),rgba(7,16,18,.28));box-shadow:inset 3px 0 rgba(98,199,220,.52)}.newcomer-protection-card>.ui-icon{width:30px;height:30px;color:#8fd9e5}.newcomer-protection-card>div{display:grid;gap:2px}.newcomer-protection-card small,.site-intelligence-age small{color:#7f9698;font-size:10px;text-transform:uppercase}.newcomer-protection-card b{color:#b7edf1;font-size:13px}.newcomer-protection-card p{margin:2px 0 0;color:#88a0a1;font-size:10px;line-height:1.35}
.site-intelligence-age{display:flex;align-items:center;gap:9px;margin:10px 0;padding:8px 10px;border:1px solid rgba(93,164,148,.3);background:rgba(51,117,102,.1)}.site-intelligence-age>.ui-icon{width:24px;height:24px;color:#70bba6}.site-intelligence-age>span{display:grid;gap:1px}.site-intelligence-age b{color:#9dc9b9;font-size:11px}.site-intelligence-hidden{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;margin:11px 0;padding:12px;border:1px solid rgba(155,120,87,.3);background:linear-gradient(100deg,rgba(88,58,37,.15),rgba(4,9,10,.2))}.site-intelligence-hidden>.ui-icon{width:34px;height:34px;color:#a17c5f}.site-intelligence-hidden h3{margin:0 0 3px;color:#c7b294;font:400 15px Georgia,serif}.site-intelligence-hidden p{margin:0;color:#828985;font-size:10px;line-height:1.42}
.mission-guaranteed-xp{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:9px;margin:11px 0;padding:10px 12px;border:1px solid rgba(87,179,148,.42);background:linear-gradient(100deg,rgba(46,128,98,.16),rgba(4,10,11,.2));color:#83c8a9}.mission-guaranteed-xp>.value-glyph,.mission-guaranteed-xp>.resource-glyph{width:30px;height:30px}.mission-guaranteed-xp>span{display:grid}.mission-guaranteed-xp small{color:#80a395;font-size:10px;text-transform:uppercase}.mission-guaranteed-xp b{color:#9ce0be;font-size:14px}
.hero-xp-ledger{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;margin:14px 0;padding:11px 13px;border:1px solid rgba(87,179,148,.4);background:rgba(46,128,98,.12)}.hero-xp-ledger>.ui-icon{width:31px;height:31px;color:#83c8a9}.hero-xp-ledger>span{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2px 12px}.hero-xp-ledger small{grid-column:1/-1;color:#80a395;font-size:10px;text-transform:uppercase}.hero-xp-ledger b{color:#9ce0be;font-size:15px}.hero-xp-ledger em{color:#83908a;font-size:10px;font-style:normal}
.mission-roll-ledger{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;margin:10px 0 14px;padding:10px 13px;border:1px solid rgba(93,132,126,.38);background:rgba(16,31,31,.72)}.mission-roll-ledger>.ui-icon{width:30px;height:30px;color:#c99a4b}.mission-roll-ledger>span{display:grid;gap:2px}.mission-roll-ledger small{color:#82938d;font-size:10px;text-transform:uppercase}.mission-roll-ledger b{color:#d9cfb2;font-size:12px}.mission-roll-ledger em{color:#82938d;font-size:10px;font-style:normal}.mission-roll-ledger.success{border-color:rgba(87,179,148,.45);background:rgba(46,128,98,.10)}.mission-roll-ledger.failed{border-color:rgba(181,76,63,.42);background:rgba(112,39,31,.10)}
@media(max-width:760px){.map-marker:not(.cargo-route-marker){min-width:34px;min-height:34px}.newcomer-shield{right:-9px;top:-9px;width:22px;height:22px}.map-label{max-width:128px;overflow:hidden;text-overflow:ellipsis}.map-inspector-actions{display:grid;grid-template-columns:1fr}.map-inspector-actions>.btn{min-height:42px}}

/* v2.9: authoritative city modifier ledger, active enchantments, and remote magic. */
.city-modifier-summary{display:flex;align-items:center;flex-wrap:wrap;gap:5px;width:max-content;max-width:100%;margin-top:10px;padding:6px;border:1px solid rgba(196,150,83,.28);background:rgba(4,10,11,.5);color:#a5aca5;text-align:left}.city-modifier-summary>span{display:inline-flex;align-items:center;gap:4px;min-height:26px;padding:3px 6px;border:1px solid rgba(120,132,125,.2);background:rgba(17,27,28,.72)}.city-modifier-summary .resource-glyph,.city-modifier-summary .modifier-icon{display:grid;place-items:center;width:18px!important;height:18px!important}.city-modifier-summary .modifier-icon .ui-icon{width:16px;height:16px}.city-modifier-summary b{color:#d6c5a4;font-size:10px;font-variant-numeric:tabular-nums}.city-modifier-summary>em{display:inline-flex;align-items:center;gap:4px;padding-inline:5px;color:#a98551;font-size:10px;font-style:normal}.city-modifier-summary>em .ui-icon{width:14px;height:14px}.city-modifier-summary:hover,.city-modifier-summary:focus-visible{border-color:rgba(221,172,96,.65);background:rgba(17,28,28,.84)}
.city-modifier-modal{width:min(780px,calc(100vw - 24px))}.city-modifier-ledger>p{margin:0 0 14px;color:#89928c;line-height:1.5}.modifier-ledger-row{display:grid;grid-template-columns:minmax(155px,205px) minmax(0,1fr);border:1px solid var(--line);border-bottom:0;background:rgba(5,11,12,.2)}.modifier-ledger-row:last-child{border-bottom:1px solid var(--line)}.modifier-ledger-row>header{display:flex;align-items:center;gap:10px;padding:12px;border-right:1px solid var(--line);background:rgba(21,31,32,.72)}.modifier-ledger-row>header>.resource-glyph,.modifier-ledger-row>header>.modifier-icon{display:grid;place-items:center;flex:0 0 32px;width:32px!important;height:32px!important}.modifier-ledger-row>header>.modifier-icon .ui-icon{width:27px;height:27px}.modifier-ledger-row>header>span{display:grid;gap:3px}.modifier-ledger-row>header small{color:#82908a;font-size:10px;text-transform:uppercase}.modifier-ledger-row>header b{color:#e0c894;font:400 19px Georgia,serif}.modifier-ledger-row>div{display:grid;align-content:center;gap:1px;padding:5px}.modifier-source{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:7px 9px;background:rgba(20,29,30,.62)}.modifier-source>span{display:grid;grid-template-columns:22px minmax(0,1fr);gap:1px 7px;min-width:0}.modifier-source>span>.ui-icon{grid-row:1/3;width:20px;height:20px}.modifier-source b{overflow:hidden;color:#beb9aa;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.modifier-source small{color:#74817b;font-size:10px}.modifier-source strong{font-size:11px}.modifier-source.positive strong{color:#74c09a}.modifier-source.negative strong{color:#db746b}.modifier-source time{min-width:54px;color:#b69a67;font-size:10px;text-align:right}.modifier-base{padding:9px;color:#6f7a74;font-size:10px}
.active-spell-overview{margin-bottom:24px}.active-spell-overview>.section-heading>span{display:flex;align-items:center;gap:8px}.active-spell-overview>.section-heading .ui-icon{width:20px;height:20px}.active-spell-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:8px}.active-spell-grid>.empty-state{grid-column:1/-1}.active-spell-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:78px;padding:11px;border:1px solid rgba(91,169,142,.28);background:linear-gradient(100deg,rgba(42,105,88,.14),rgba(5,11,12,.22));box-shadow:inset 2px 0 rgba(90,185,148,.45)}.active-spell-card.malus{border-color:rgba(187,78,72,.35);background:linear-gradient(100deg,rgba(115,43,40,.19),rgba(5,11,12,.22));box-shadow:inset 2px 0 rgba(213,91,81,.55)}.active-spell-emblem{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(193,151,83,.28);background:#10191a;color:#d0a75f}.active-spell-emblem .ui-icon{width:28px;height:28px}.active-spell-card>div{min-width:0}.active-spell-card small{color:#788780;font-size:10px;text-transform:uppercase}.active-spell-card h3{margin:2px 0 6px;color:#d7c8ad;font:400 16px Georgia,serif}.active-spell-card>time{color:#d0a75f;font-size:11px;font-variant-numeric:tabular-nums}.active-spell-card em{display:block;margin-top:5px;color:#bd6f68;font-size:10px;font-style:normal}.spell-catalog-heading{display:flex;justify-content:space-between;gap:12px;margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid var(--line)}.spell-catalog-heading>span{color:#c8aa73;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.spell-catalog-heading>small{color:#77827c;font-size:10px}.spell-card.hostile-spell{border-color:rgba(159,70,64,.38)}.spell-modifier-chips{display:flex;flex-wrap:wrap;gap:5px}.spell-modifier-chips>span{display:inline-grid;grid-template-columns:17px minmax(0,1fr) auto;align-items:center;gap:4px;padding:4px 6px;border:1px solid currentColor;background:rgba(0,0,0,.14);font-size:10px}.spell-modifier-chips .ui-icon{width:15px;height:15px}.spell-modifier-chips b{font-weight:500}.spell-modifier-chips em{font-style:normal;font-weight:700}.spell-modifier-chips .positive{color:#72bd91}.spell-modifier-chips .negative{color:#d36e64}.spell-modifier-chips.large{margin:12px 0}.spell-modifier-chips.large>span{padding:7px 9px}.spell-cast-ledger{margin-top:15px}.spell-cast-ledger>p{margin:8px 0 0;color:#7e8983;font-size:10px}
.map-spell-modal{width:min(780px,calc(100vw - 20px))}.map-spell-target,.spell-selected-target{display:grid;grid-template-columns:86px minmax(0,1fr);align-items:center;gap:13px;margin-bottom:14px;padding:10px;border:1px solid rgba(194,148,80,.3);background:linear-gradient(100deg,rgba(68,52,30,.18),rgba(4,9,10,.14))}.map-spell-target-art,.spell-target-art{width:82px!important;height:82px!important;background-size:contain!important}.map-spell-target span,.spell-selected-target span{display:grid;gap:3px}.map-spell-target small,.spell-selected-target small{color:#9a7e50;font-size:10px;text-transform:uppercase}.map-spell-target h3,.spell-selected-target b{margin:0;color:#dfccb0;font:400 20px Georgia,serif}.map-spell-target p{margin:2px 0 0;color:#82908a;font-size:10px;line-height:1.45}.spell-selected-target em{color:#89938d;font-size:10px;font-style:normal}.map-spell-options{display:grid;gap:7px}.map-spell-option{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);background:#11191a}.map-spell-option.hostile{border-color:rgba(158,70,65,.35);background:linear-gradient(90deg,rgba(102,38,35,.14),#11191a 48%)}.map-spell-option>span{display:grid;place-items:center;width:38px;height:38px;color:#c89951}.map-spell-option>span .ui-icon{width:29px;height:29px}.map-spell-option h3{margin:2px 0;color:#d2c4ab;font:400 16px Georgia,serif}.map-spell-option p{margin:3px 0 6px;color:#7d8983;font-size:10px;line-height:1.35}.map-spell-option small,.map-spell-option em{color:#88795f;font-size:10px;font-style:normal}.map-spell-option time{display:inline-block;margin-left:8px;color:#c39c60;font-size:10px}.map-spell-option strong{display:flex;align-items:center;gap:5px;margin-top:5px;color:#d0746b;font-size:10px}.map-spell-option strong .ui-icon{width:16px;height:16px}.spell-map-guidance{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:14px;padding:15px;border:1px solid rgba(189,143,75,.3);background:rgba(76,53,25,.13)}.spell-map-guidance>.ui-icon{width:48px;height:48px;color:#c59a56}.spell-map-guidance h3{margin:0 0 5px;color:#d7c5a6;font:400 19px Georgia,serif}.spell-map-guidance p{margin:0;color:#86918a;line-height:1.5}
.recruit-controls{align-items:end}.recruit-unlocked-filter{display:flex;align-items:center;gap:8px;min-height:48px;padding:7px 10px;border:1px solid var(--line);background:#11191a;color:#808b85;text-align:left}.recruit-unlocked-filter.active{border-color:rgba(99,180,147,.52);background:rgba(48,113,88,.16);color:#7dc29f}.recruit-unlocked-filter>.ui-icon{width:24px;height:24px}.recruit-unlocked-filter>span{display:grid;gap:2px}.recruit-unlocked-filter b{font-size:10px}.recruit-unlocked-filter small{font-size:10px}.recruit-unit-card{position:relative}.recruit-owned-count{position:absolute;z-index:2;top:9px;right:9px;display:grid;grid-template-columns:18px auto;align-items:center;gap:0 4px;min-width:42px;padding:4px 6px;border:1px solid rgba(196,151,82,.3);background:rgba(8,14,15,.9);color:#d4ab62}.recruit-owned-count>.ui-icon{grid-row:1/3;width:17px;height:17px}.recruit-owned-count b{font-size:11px}.recruit-owned-count small{grid-column:2;color:#7d8a84;font-size:9px}
@media(max-width:760px){.city-modifier-summary{width:100%}.city-modifier-summary>span{flex:1 0 66px;justify-content:center}.city-modifier-summary>em{width:100%;justify-content:center}.modifier-ledger-row{grid-template-columns:1fr}.modifier-ledger-row>header{border-right:0;border-bottom:1px solid var(--line)}.modifier-source{grid-template-columns:minmax(0,1fr) auto}.modifier-source time{grid-column:1/-1;text-align:left}.active-spell-grid{grid-template-columns:1fr}.spell-catalog-heading{align-items:flex-start;flex-direction:column}.map-spell-option{grid-template-columns:36px minmax(0,1fr)}.map-spell-option>.btn{grid-column:1/-1;width:100%}.map-spell-target,.spell-selected-target{grid-template-columns:64px minmax(0,1fr)}.map-spell-target-art,.spell-target-art{width:62px!important;height:62px!important}.recruit-controls{grid-template-columns:1fr}.recruit-unlocked-filter{width:100%}}

/* v2.9.1 · responsive command surfaces and cross-feature layout isolation. */
.forum-thread-row .message-item{
  display:block!important;
  grid-template-columns:none!important;
  min-width:0;
}
.forum-thread-row .message-item h3{
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
  line-height:1.35;
}
.forum-thread-row .message-item p{overflow-wrap:anywhere}
.message-item-copy h3{
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
  overflow-wrap:anywhere;
}
.table-scroll{
  max-width:100%;
  overscroll-behavior-inline:contain;
  scrollbar-gutter:stable;
  -webkit-overflow-scrolling:touch;
}
.map-layout{padding-top:48px}
.map-panel-toggles{
  top:6px;
  right:8px;
  left:auto;
  transform:none;
}
.map-inspector{
  top:64px!important;
  max-height:calc(100% - 80px)!important;
}

@media(max-width:760px){
  .movement-route h3{
    overflow:visible;
    text-overflow:clip;
    white-space:normal;
    line-height:1.35;
  }
  .report-open h3{
    overflow:visible;
    text-overflow:clip;
    white-space:normal;
    line-height:1.35;
  }
  .map-panel-toggles{
    top:6px;
    right:8px;
    left:auto;
    transform:none;
  }
  .map-panel-toggle{width:38px;height:36px}
  .map-inspector{
    top:auto!important;
    height:min(62dvh,470px)!important;
    max-height:min(62%,470px)!important;
  }
  .map-inspector-scroll{
    height:100%!important;
    max-height:100%!important;
    overflow-y:auto!important;
  }
}

@media(max-width:430px){
  .topbar .mobile-menu{
    width:35px!important;
    min-width:35px!important;
    flex:0 0 35px!important;
  }
  .city-picker{
    width:88px!important;
    min-width:72px!important;
    max-width:88px!important;
    flex:0 1 88px!important;
    padding-inline:7px!important;
  }
  .city-picker small{display:none}
  .city-picker b{font-size:12px!important}
  .resource-bar{flex:0 0 auto;min-width:0;overflow:visible}
  .resource-chip.account-resource{
    width:auto!important;
    min-width:0!important;
    gap:3px!important;
    padding-inline:3px!important;
  }
  .resource-chip.account-resource .resource-glyph{
    width:21px!important;
    height:21px!important;
    min-width:21px!important;
  }
  .resource-chip.account-resource b{font-size:11px!important}
  .top-actions{flex:0 0 auto;min-width:0;margin-left:auto}
  .language-switch.compact{
    width:34px!important;
    min-width:34px!important;
    margin-inline:1px!important;
    padding:0 3px!important;
  }
  .top-actions>.icon-button{
    width:38px!important;
    min-width:38px!important;
  }
}

@media(max-width:360px){
  .city-picker{
    width:64px!important;
    min-width:56px!important;
    max-width:64px!important;
    flex-basis:64px!important;
  }
  .resource-chip.account-resource .resource-glyph{
    width:18px!important;
    height:18px!important;
    min-width:18px!important;
  }
  .resource-chip.account-resource b{font-size:10px!important}
  .language-switch.compact{width:32px!important;min-width:32px!important}
  .top-actions>.icon-button{width:34px!important;min-width:34px!important}
}

/* v2.9.2 · Dryad Covenant premium cosmetic identity. */
.cosmetic-set-overview{grid-template-columns:repeat(auto-fit,minmax(min(290px,100%),1fr))}
.cosmetic-preview>.asset-art.modular-art.building-art.cosmetic-building-preview{
  position:static!important;
  inset:auto!important;
  right:auto!important;
  bottom:auto!important;
  transform:none!important;
  background-position:center!important;
  background-size:contain!important;
}
.cosmetic-set-card.dryad{
  border-color:rgba(111,151,72,.48);
  background:
    radial-gradient(circle at 80% 0,rgba(79,135,72,.2),transparent 40%),
    radial-gradient(circle at 6% 100%,rgba(172,111,38,.12),transparent 38%),
    linear-gradient(135deg,#17231b,#0d1512 62%,#151711);
}
.cosmetic-set-card.dryad>span{
  border-color:rgba(127,165,81,.42);
  background:radial-gradient(circle,rgba(101,155,77,.18),rgba(30,45,31,.3));
}
.cosmetic-set-card.dryad>i>i{background:linear-gradient(90deg,#547a47,#c0893e)}
.cosmetic-card[data-art-skin="dryad"] .cosmetic-preview{
  background:
    radial-gradient(circle at 50% 52%,rgba(92,142,69,.16),transparent 52%),
    linear-gradient(155deg,rgba(31,48,34,.62),rgba(7,13,11,.82));
}
.cosmetic-card[data-art-skin="dryad"] .cosmetic-preview::after,
.profile-appearances article[data-art-skin="dryad"]::after{
  content:"";
  position:absolute;
  inset:6%;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 50% 100%,rgba(191,126,47,.13),transparent 40%),
    radial-gradient(circle at 50% 48%,transparent 57%,rgba(92,151,77,.13) 58%,transparent 61%);
  clip-path:polygon(50% 0,64% 12%,80% 9%,88% 27%,100% 40%,91% 57%,94% 78%,72% 83%,50% 100%,28% 83%,6% 78%,9% 57%,0 40%,12% 27%,20% 9%,36% 12%);
}
@media(max-width:430px){
  .cosmetic-copy>header{display:grid;grid-template-columns:minmax(0,1fr);gap:5px}
  .cosmetic-copy>header em{justify-self:start;white-space:nowrap}
}

/* v2.9.2 atelier fixes: transparent modular buildings and persisted rotation. */
.city-building-plot{
  transform:translate(-50%,-50%) rotate(var(--plot-rotation,0deg)) scale(var(--plot-scale));
}
.city-building-plot:hover,.city-building-plot:focus-visible{
  transform:translate(-50%,-50%) rotate(var(--plot-rotation,0deg)) scale(calc(var(--plot-scale) * 1.08));
}
.city-building-plot .asset-art.modular-art.building-art.city-panorama-building,
.admin-panorama-building .asset-art.modular-art.building-art.admin-panorama-art{
  position:static!important;
  inset:auto!important;
  right:auto!important;
  bottom:auto!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  background-color:transparent!important;
  background-image:var(--asset-image)!important;
  background-position:center!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  max-width:none!important;
  padding:0!important;
  border:0!important;
  color:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}
.admin-panorama-building{
  transform:translate(-50%,-50%) rotate(var(--plot-rotation,0deg)) scale(var(--plot-scale));
}
.admin-gem-grant{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(110px,.45fr);
  gap:10px;
  margin-top:14px;
  padding:14px;
  border:1px solid rgba(174,70,91,.35);
  background:linear-gradient(145deg,rgba(105,33,52,.16),rgba(5,11,12,.38));
}
.admin-gem-grant>header,.admin-gem-grant>.full{grid-column:1/-1}
.admin-gem-grant>header{display:flex;align-items:center;gap:9px;color:#d6c6bd}
.admin-gem-grant>header .resource-glyph{width:28px;height:28px}
.admin-gem-grant>header span{display:grid}
.admin-gem-grant>header small{color:#9b747e;font-size:10px}
@media(max-width:620px){.admin-gem-grant{grid-template-columns:1fr}}

/* v2.9.2 world anchoring and panorama coordinate parity. */
.map-marker:not(.cargo-route-marker),
.map-marker.site:not(.cargo-route-marker),
.map-marker.fort:not(.cargo-route-marker),
.map-marker.site.season_monster:not(.cargo-route-marker){
  transform:translate(-50%,-50%)!important;
}
.map-marker:not(.cargo-route-marker):hover,
.map-marker:not(.cargo-route-marker).selected,
.map-marker.site:not(.cargo-route-marker):hover,
.map-marker.site:not(.cargo-route-marker).selected,
.map-marker.site.season_monster:not(.cargo-route-marker):hover,
.map-marker.site.season_monster:not(.cargo-route-marker).selected{
  transform:translate(-50%,-50%) scale(1.1)!important;
}
.city-panorama,
.admin-panorama-stage{
  width:100%;
  min-height:0!important;
  aspect-ratio:3/2;
  align-self:start;
  background-image:linear-gradient(to bottom,rgba(7,12,13,.05),rgba(6,10,11,.34)),var(--city-panorama);
  background-position:center;
  background-size:cover;
  box-shadow:inset 0 0 70px rgba(0,0,0,.5);
}
.admin-panorama-stage::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  pointer-events:none;
  background:radial-gradient(ellipse at 50% 45%,transparent 34%,rgba(5,9,10,.24) 86%),linear-gradient(to bottom,rgba(215,176,104,.05),transparent 35%);
}
.city-building-plot,
.admin-panorama-building{
  width:15.4%!important;
  filter:none!important;
  box-shadow:none!important;
}
.city-building-plot:hover,
.city-building-plot:focus-visible,
.admin-panorama-building.selected{
  filter:brightness(1.08)!important;
  box-shadow:none!important;
}
.city-building-plot.locked,
.city-building-plot.locked:hover,
.city-building-plot.locked:focus-visible{filter:none!important;opacity:1!important}
.city-building-plot.locked .city-panorama-building{filter:none!important;opacity:1!important}
.city-building-plot.maxed,.city-building-plot.maxed:hover,.city-building-plot.maxed:focus-visible{filter:none!important;opacity:1!important}
.city-building-plot.maxed .city-panorama-building{filter:none!important;opacity:1!important}

.building-card .asset-art.modular-art.building-art.building-card-art{
  position:absolute!important;
  inset:10px auto auto 50%!important;
  right:auto!important;
  bottom:auto!important;
  width:min(156px,52%)!important;
  height:auto!important;
  aspect-ratio:1;
  background-color:transparent!important;
  background-image:var(--asset-image)!important;
  background-position:center!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  box-shadow:none!important;
  filter:none!important;
  transform:translateX(-50%)!important;
}
.building-card:hover .asset-art.modular-art.building-art.building-card-art{
  filter:none!important;
  transform:translateX(-50%)!important;
}
.building-card .asset-art.modular-art.building-art.building-card-art::after{display:none!important}

/* v2.9.2 maintenance · mission clarity, compact ledgers, and Ember Path cards. */
.map-marker.player-city-progress,
.map-marker.player-city-progress.own,
.map-marker.player-city-progress.friendly,
.map-marker.player-city-progress.hostile{
  filter:none!important;
  box-shadow:none!important;
}

.hero-skill-points{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:34px auto minmax(0,1fr);
  align-items:center;
  gap:9px;
  min-height:48px;
  padding:7px 10px;
  border:1px solid var(--line);
  background:rgba(5,11,12,.32);
}
.hero-skill-points>.ui-icon{width:28px;height:28px;color:#707b75}
.hero-skill-points>span{display:grid;grid-template-columns:auto auto;align-items:baseline;gap:2px 7px}
.hero-skill-points small{grid-column:1;color:#7d8982;font-size:10px;text-transform:uppercase}
.hero-skill-points b{grid-column:2;grid-row:1;color:#858f89;font:400 24px Georgia,serif}
.hero-skill-points em{justify-self:end;color:#737f79;font-size:10px;font-style:normal;text-align:right}
.hero-skill-points.available{
  border-color:rgba(216,166,82,.58);
  background:linear-gradient(100deg,rgba(150,98,31,.2),rgba(8,15,16,.42));
  box-shadow:inset 3px 0 #d7a44f,0 0 18px rgba(190,129,42,.09);
}
.hero-skill-points.available>.ui-icon,.hero-skill-points.available b{color:#efbd67}
.hero-skill-points.available small{color:#c99c54}
.skill.trainable{border-color:rgba(207,155,76,.42);background:rgba(130,84,26,.11)}
.skill.trainable .skill-plus{box-shadow:0 0 0 3px rgba(199,146,79,.1),0 0 12px rgba(222,164,74,.22);animation:skill-point-pulse 1.8s ease-in-out infinite}
@keyframes skill-point-pulse{50%{box-shadow:0 0 0 5px rgba(199,146,79,.04),0 0 18px rgba(222,164,74,.38)}}

.active-spell-overview{margin-bottom:12px;overflow:hidden}
.active-spell-overview>.section-heading{min-height:31px;padding:7px 11px}
.active-spell-overview>.section-heading>span{font-size:10px}
.active-spell-overview>.section-heading em{min-width:18px;height:18px}
.active-spell-grid{
  display:flex;
  grid-template-columns:none;
  gap:6px;
  padding:7px;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
}

/* v2.9.4 command planning and compact scout intelligence ledgers. */
.dispatch-force-zones.single-zone{grid-template-columns:minmax(0,1fr)}
.dispatch-force-zone .army-input{grid-template-columns:58px minmax(0,1fr) 82px;min-height:116px;align-items:center;padding:8px}
.dispatch-force-zone .army-unit-art{width:54px;height:54px}
.dispatch-unit-copy{display:grid!important;grid-template-columns:minmax(0,1fr);gap:5px;min-width:0}
.dispatch-unit-copy>small{display:flex!important;flex-flow:row wrap!important;gap:8px}
.dispatch-unit-copy>.unit-stats{display:grid!important;grid-template-columns:repeat(5,minmax(38px,1fr))!important;gap:3px;width:100%;margin:0}
.dispatch-unit-copy>.unit-stats>span{display:flex!important;flex-direction:row!important;min-height:29px;padding:3px 4px!important;gap:3px}
.dispatch-unit-copy>.unit-stats .unit-stat-icon{width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;flex-basis:18px!important}
.dispatch-unit-copy>.unit-stats b{font-size:9px!important}
.scout-garrison-table{overflow:hidden;border:1px solid var(--line);background:rgba(0,0,0,.14)}
.scout-garrison-table>header,.scout-garrison-table>article{display:grid;grid-template-columns:minmax(0,1fr) 100px;align-items:center}
.scout-garrison-table>header{min-height:34px;border-bottom:1px solid var(--line);background:rgba(199,146,79,.07);color:#837d70;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.scout-garrison-table>header>span,.scout-garrison-table>article>strong{padding:7px 11px}
.scout-garrison-table>header>span:last-child{text-align:right}
.scout-garrison-table>article{min-height:52px}
.scout-garrison-table>article+article{border-top:1px solid rgba(129,115,88,.18)}
.scout-garrison-table>article>span{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;padding:5px 9px}
.scout-garrison-art{width:42px!important;height:42px!important}
.scout-garrison-table>article b{overflow:hidden;color:#beb8a9;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.scout-garrison-table>article strong{border-left:1px solid var(--line);color:#e0bd72;font:400 18px Georgia,serif;text-align:right}
.scout-garrison-table>p{margin:0;padding:15px;color:#78817c}
@media(max-width:620px){.dispatch-unit-copy>.unit-stats{grid-template-columns:repeat(3,minmax(38px,1fr))!important}.dispatch-force-zone .army-input{grid-template-columns:48px minmax(0,1fr) 68px;min-height:142px}.dispatch-force-zone .army-unit-art{width:46px;height:46px}.scout-garrison-table>header,.scout-garrison-table>article{grid-template-columns:minmax(0,1fr) 72px}}
.active-spell-card{
  flex:0 0 min(282px,78vw);
  grid-template-columns:32px minmax(0,1fr) auto;
  gap:7px;
  min-height:40px;
  padding:4px 6px;
}
.active-spell-emblem{width:32px;height:32px}
.active-spell-emblem .ui-icon{width:20px;height:20px}
.active-spell-card small,.active-spell-card em,.active-spell-card>time{font-size:10px}
.active-spell-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-width:0;gap:1px 5px}
.active-spell-copy>small{grid-column:1/-1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.active-spell-copy>b{grid-column:1;overflow:hidden;color:#beb9aa;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.active-spell-copy>.spell-modifier-chips{grid-column:2;grid-row:2;flex-wrap:nowrap}
.active-spell-copy>em{grid-column:1/-1;color:#7c8781;font-style:normal}
.active-spell-card .spell-modifier-chips{gap:3px}
.active-spell-card .spell-modifier-chips>span{grid-template-columns:13px auto auto;padding:1px 3px;white-space:nowrap}
.active-spell-card .spell-modifier-chips .ui-icon{width:13px;height:13px}
.alliance-request-card .own-request-lock{flex:1;min-width:0;white-space:normal}
.request-lines>div>span:nth-child(2) em{margin:0 3px;color:#707975;font-style:normal;white-space:nowrap}.request-lines>div:has(span:nth-child(2) em) .progress i{background:linear-gradient(90deg,var(--bronze),#77817b)}

/* v2.9 maintenance: modular cosmetics remain clean cutouts on the world map. */
.map-marker.player-city-progress .map-location-art.modular-art[data-art-skin="dryad"],
.map-marker.player-city-progress .map-location-art.modular-art[data-art-skin="enlightened"],
.map-marker.player-city-progress .map-location-art.modular-art[data-art-skin="lost"],
.poi-inspector-visual .inspector-map-art.modular-art[data-art-skin="dryad"],
.poi-inspector-visual .inspector-map-art.modular-art[data-art-skin="enlightened"],
.poi-inspector-visual .inspector-map-art.modular-art[data-art-skin="lost"]{
  filter:none!important;
  box-shadow:none!important;
}
.cosmetic-card[data-art-skin="dryad"] .cosmetic-preview::after,
.profile-appearances article[data-art-skin="dryad"]::after,
.cosmetic-card[data-art-skin="enlightened"] .cosmetic-preview::after,
.profile-appearances article[data-art-skin="enlightened"]::after,
.cosmetic-card[data-art-skin="lost"] .cosmetic-preview::after,
.profile-appearances article[data-art-skin="lost"]::after{
  content:none!important;
  display:none!important;
}

/* Army of the Lost · obsidian, funerary bronze, and restrained soul-fire. */
.cosmetic-set-card.army-of-the-lost{border-color:rgba(133,93,178,.5);background:radial-gradient(circle at 82% 4%,rgba(94,55,139,.22),transparent 40%),radial-gradient(circle at 4% 100%,rgba(45,141,151,.1),transparent 36%),linear-gradient(135deg,#1a1821,#0b1113 64%,#17120f)}
.cosmetic-set-card.army-of-the-lost>span{border-color:rgba(155,112,193,.43);background:radial-gradient(circle,rgba(104,62,151,.2),rgba(23,23,31,.4))}
.cosmetic-set-card.army-of-the-lost>i>i{background:linear-gradient(90deg,#68458e,#9c7440,#6cb3b7)}
.cosmetic-card[data-art-skin="lost"] .cosmetic-preview{background:radial-gradient(circle at 50% 48%,rgba(103,59,151,.18),transparent 50%),linear-gradient(155deg,rgba(33,27,44,.72),rgba(6,11,13,.88))}

/* Active enchantments use a wrapping ledger instead of a clipped horizontal rail. */
.active-spell-overview{overflow:visible}
.active-spell-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));
  gap:7px;
  padding:8px;
  overflow:visible;
}
.active-spell-card{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:start;
  gap:8px;
  min-width:0;
  min-height:70px;
  padding:8px;
}
.active-spell-emblem{width:32px;height:32px}
.active-spell-copy{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;min-width:0}
.active-spell-copy>small,
.active-spell-copy>em{
  grid-column:auto;
  overflow:hidden;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.active-spell-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0}
.active-spell-heading>b{overflow:hidden;color:#beb9aa;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.active-spell-heading>time{color:#d0a75f;font-size:10px;font-variant-numeric:tabular-nums;white-space:nowrap}
.active-spell-copy>.spell-modifier-chips{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(116px,1fr));
  grid-column:auto;
  grid-row:auto;
  gap:4px;
  min-width:0;
}
.active-spell-card .spell-modifier-chips>span{
  grid-template-columns:14px minmax(0,1fr) auto;
  min-width:0;
  padding:3px 5px;
  white-space:normal;
}
.active-spell-card .spell-modifier-chips b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:520px){
  .active-spell-grid{grid-template-columns:minmax(0,1fr);padding:6px}
  .active-spell-heading{grid-template-columns:minmax(0,1fr)}
  .active-spell-heading>time{justify-self:start}
  .active-spell-copy>.spell-modifier-chips{grid-template-columns:minmax(0,1fr)}
}

.quest-list{grid-template-columns:1fr;gap:9px}
.quest-card{
  grid-template-columns:46px minmax(0,1fr) minmax(148px,178px);
  align-items:center;
  gap:12px;
  min-height:0;
  padding:11px 12px;
  border-left:3px solid rgba(145,107,57,.45);
  background:linear-gradient(100deg,rgba(41,48,44,.42),rgba(8,14,15,.25));
}
.quest-card.quest-daily{border-left-color:#648a79}
.quest-card.quest-seasonal{border-left-color:#8d6ba3}
.quest-card.complete{border-left-color:#68b18d;background:linear-gradient(100deg,rgba(49,112,83,.15),rgba(8,14,15,.25))}
.quest-card>.quest-icon{align-self:center;width:44px;height:44px;border-radius:50%;background:radial-gradient(circle,rgba(196,143,70,.12),transparent)}
.quest-card>.quest-icon>.ui-icon{width:27px;height:27px}
.quest-card>.quest-copy{display:grid;align-self:center;gap:5px;height:auto;padding:0;min-width:0}
.quest-card-heading{display:grid;gap:1px;min-width:0}
.quest-card-heading .quest-kind{margin:0;font-size:10px}
.quest-card h3{margin:0;font-size:18px;line-height:1.15}
.quest-card p{display:-webkit-box;min-height:0;margin:0;overflow:hidden;color:#86908a;font-size:12px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.quest-progress{display:grid;grid-template-columns:minmax(110px,1fr) auto;gap:9px}
.quest-progress b{color:#a9ac9f;font-size:11px;font-variant-numeric:tabular-nums}
.quest-rewards{display:flex;align-items:center;gap:8px;min-width:0}
.quest-rewards>small{flex:0 0 auto;color:#7c827d;font-size:10px;text-transform:uppercase}
.quest-rewards .reward-row{margin:0;gap:4px}
.quest-rewards .value-chip{min-height:27px;padding:3px 6px}
.quest-card .quest-actions{display:grid;align-content:end;gap:6px;align-self:stretch;width:100%;padding:32px 0 0}
.quest-card .quest-actions>.btn{width:100%;min-height:38px}
.quest-overflow-warning{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:start}
.quest-overflow-warning>.ui-icon{width:34px;height:34px;color:#d98b62}
.quest-overflow-warning>p{margin:0;color:var(--text-muted);line-height:1.5}
.quest-overflow-list{grid-column:1/-1;display:grid;gap:7px}
.quest-overflow-row{display:grid;grid-template-columns:minmax(130px,1fr) auto;gap:5px 12px;align-items:center;padding:9px 11px;border:1px solid rgba(184,91,65,.35);background:rgba(64,20,18,.2)}
.quest-overflow-row>span{display:flex;gap:7px;align-items:center;min-width:0}
.quest-overflow-row .resource-icon{width:24px;height:24px}
.quest-overflow-row>small{grid-column:1/-1;color:#d98b62}
.quest-status{display:flex;align-items:center;justify-content:flex-end;gap:5px;color:#7e8983;font-size:10px}
.quest-status>.ui-icon{width:15px;height:15px}
.quest-status.ready{color:#75bf97;font-weight:700}
.quest-card .quest-pin{top:9px;right:9px;width:30px;height:30px}
.quest-card .quest-pin .ui-icon{width:18px;height:18px}
.quest-lock-reason{margin-top:2px}

@media(max-width:760px){
  .hero-skill-points{grid-template-columns:30px auto minmax(0,1fr)}
  .hero-skill-points em{font-size:10px}
  .quest-card{grid-template-columns:42px minmax(0,1fr);gap:10px;padding:11px}
  .quest-card>.quest-icon{width:40px;height:40px}
  .quest-card>.quest-copy{padding-right:25px}
  .quest-card .quest-actions{grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(135px,45%);align-items:center;padding-top:2px}
  .quest-status{justify-content:flex-start}
}
@media(max-width:430px){
  .hero-skill-points{grid-template-columns:28px auto}.hero-skill-points em{grid-column:1/-1;justify-self:start;text-align:left}
  .quest-card .quest-actions{grid-template-columns:1fr}
  .quest-card .quest-actions>.btn{min-height:40px}
}

/* v2.9.5: POIs remain legible at the reduced close-zoom limit. Player-city
   progression markers keep their tier sizing; every neutral/hostile POI grows
   by exactly 25 percent without changing its world-space anchor. */
.map-marker:not(.cargo-route-marker):not(.player-city-progress){
  width:calc(55px * var(--map-marker-zoom,1));
  height:calc(55px * var(--map-marker-zoom,1));
}
.map-marker.site.season_monster:not(.cargo-route-marker),
.map-marker.site.sea_monster:not(.cargo-route-marker){
  width:calc(67.5px * var(--map-marker-zoom,1));
  height:calc(67.5px * var(--map-marker-zoom,1));
}
.map-marker:not(.cargo-route-marker):not(.player-city-progress)+.map-label{
  transform:translate(-50%,calc(34px * var(--map-marker-zoom,1) + 7px));
}

/* v2.9.6: compact map command inspector and stronger marker readability. */
.map-inspector-frame{
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  overflow: hidden;
}
.map-inspector-content{
  min-height:0;
  padding:14px 16px 10px;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
.poi-inspector-compact{
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  align-items:center;
  gap:13px;
  min-height:112px;
  padding:0 38px 12px 0;
  border-bottom:1px solid var(--line);
}
.poi-inspector-compact>.poi-inspector-visual{
  width:112px;
  height:112px;
  margin:0;
  overflow:hidden;
  border:1px solid rgba(194,151,83,.24);
  background:radial-gradient(circle at 50% 48%,rgba(193,151,83,.17),rgba(6,12,13,.85) 74%);
}
.poi-inspector-compact>.poi-inspector-visual .inspector-map-art{
  width:106px!important;
  height:106px!important;
  max-width:106px;
  max-height:106px;
  background-size:contain!important;
  background-position:center!important;
}
.poi-inspector-compact>.poi-inspector-visual>span{
  right:5px;
  bottom:5px;
  padding:3px 5px;
  font-size:10px;
}
.poi-inspector-heading{display:grid;align-content:center;gap:3px;min-width:0}
.poi-inspector-heading h2{margin:0;color:#dfd1b7;font-size:clamp(19px,2vw,25px);line-height:1.08;overflow-wrap:anywhere}
.poi-inspector-heading .owner{overflow:hidden;color:#989f99;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.poi-inspector-heading .coordinate-line{margin:3px 0 0;color:#b99a67;font-size:10px;line-height:1.35}
.poi-inspector-details{padding-top:10px}
.poi-inspector-details>.stat-grid{margin-top:0}
.poi-inspector-details .terrain-note{margin-bottom:0}
.map-inspector-footer.map-inspector-actions{
  position:relative;
  min-height: 20px;
  z-index:3;
  display:flex;
  align-items:stretch;
  gap:4px;
  min-width:0;
  margin:0;
  padding:6px 8px 8px;
  overflow-x:auto;
  overflow-y:hidden;
  border-top:1px solid rgba(216,174,102,.28);
  background:linear-gradient(180deg,rgba(17,27,29,.98),rgba(8,14,15,.99));
  box-shadow:0 -10px 24px rgba(0,0,0,.22);
  scrollbar-width:thin;
}
.map-inspector-footer.map-inspector-actions>.btn{flex:1 1 0;justify-content:center;min-width:54px;min-height:32px;padding:5px 6px;overflow:hidden;font-size:10px;line-height:1;white-space:nowrap}
.map-inspector-footer.map-inspector-actions>.btn>.ui-icon{flex:0 0 16px;width:16px;height:16px}
.map-inspector-footer.map-inspector-actions>.btn>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.map-inspector-footer.map-inspector-actions>.btn.primary{min-height:32px}
.map-inspector-footer.map-inspector-actions>.requirement,
.map-inspector-footer.map-inspector-actions>.action-warning{grid-column:1/-1;margin:0}

.map-marker:not(.cargo-route-marker):not(.player-city-progress){
  width:calc(78px * var(--map-marker-zoom,1));
  height:calc(78px * var(--map-marker-zoom,1));
}
.map-marker.site.season_monster:not(.cargo-route-marker),
.map-marker.site.sea_monster:not(.cargo-route-marker){
  width:calc(96px * var(--map-marker-zoom,1));
  height:calc(96px * var(--map-marker-zoom,1));
}
.map-marker.player-city-progress.city-progress-tier-1{width:calc(58px * var(--map-marker-zoom,1));height:calc(58px * var(--map-marker-zoom,1))}
.map-marker.player-city-progress.city-progress-tier-2{width:calc(64px * var(--map-marker-zoom,1));height:calc(64px * var(--map-marker-zoom,1))}
.map-marker.player-city-progress.city-progress-tier-3{width:calc(70px * var(--map-marker-zoom,1));height:calc(70px * var(--map-marker-zoom,1))}
.map-marker.player-city-progress.city-progress-tier-4{width:calc(76px * var(--map-marker-zoom,1));height:calc(76px * var(--map-marker-zoom,1))}
.map-marker.player-city-progress.city-progress-tier-5{width:calc(84px * var(--map-marker-zoom,1));height:calc(84px * var(--map-marker-zoom,1))}
.map-marker:not(.cargo-route-marker)+.map-label{
  transform:translate(-50%,calc(48px * var(--map-marker-zoom,1) + 7px));
}

.mission-failure-protection{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;margin:9px 0;padding:8px 10px;border:1px solid rgba(108,184,148,.38);background:rgba(44,112,83,.13);color:#7bc69f}
.mission-failure-protection>.ui-icon{width:26px;height:26px}.mission-failure-protection>span{display:grid;gap:1px}.mission-failure-protection small{color:#7f9990;font-size:10px}.mission-failure-protection b{font-size:11px}.mission-failure-protection>strong{color:#9ce0b8;font-size:14px}
.mission-chance-ledger{display:grid;gap:9px;margin:10px 0;padding:11px;border:1px solid rgba(171,139,79,.34);background:linear-gradient(145deg,rgba(85,63,31,.13),rgba(8,17,17,.3))}
.mission-chance-ledger>header,.mission-chance-ledger>footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.mission-chance-ledger>header>span{display:flex;align-items:center;gap:7px;color:#d3c49f}.mission-chance-ledger>header .ui-icon{width:20px;height:20px;color:#c99a4b}.mission-chance-ledger>header b{font-size:12px;text-transform:uppercase}.mission-chance-ledger>header strong{color:#e3bd6d;font:600 18px Georgia,serif}
.mission-chance-terms{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.mission-chance-terms>span{display:grid;gap:2px;min-width:0;padding:7px 8px;border:1px solid rgba(112,119,107,.22);background:rgba(0,0,0,.13)}.mission-chance-terms small{overflow:hidden;color:#89908a;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.mission-chance-terms b{font-size:12px}.mission-chance-terms .positive b{color:#79c59d}.mission-chance-terms .negative b{color:#dc756b}.mission-chance-terms .neutral b{color:#d7c9a8}.mission-chance-ledger>footer{padding-top:7px;border-top:1px solid rgba(171,139,79,.2);color:#9da29b;font-size:10px}.mission-chance-ledger>footer b{color:#ddca9e;font-size:12px}
.mission-technical-ledger{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:10px;margin:10px 0;padding:10px 12px;border:1px solid rgba(220,145,66,.48);background:rgba(126,73,23,.13)}.mission-technical-ledger>.ui-icon{width:28px;height:28px;color:#e0a85c}.mission-technical-ledger>span{display:grid;gap:2px}.mission-technical-ledger b{color:#e1bd86;font-size:12px}.mission-technical-ledger em{color:#a39785;font-size:10px;font-style:normal}.mission-roll-ledger.interrupted,.hero-report-status.interrupted{border-color:rgba(220,145,66,.42);background:rgba(126,73,23,.10)}

@media(max-width:760px){
  .mission-chance-terms{grid-template-columns:repeat(2,minmax(0,1fr))}
  .map-inspector-frame{height:100%;max-height:100%}
  .map-inspector-content{padding:10px 11px 8px}
  .poi-inspector-compact{grid-template-columns:88px minmax(0,1fr);gap:9px;min-height:88px;padding:0 34px 9px 0}
  .poi-inspector-compact>.poi-inspector-visual{width:88px;height:88px}
  .poi-inspector-compact>.poi-inspector-visual .inspector-map-art{width:84px!important;height:84px!important;max-width:84px;max-height:84px}
  .poi-inspector-heading h2{font-size:19px}
  .map-inspector-footer.map-inspector-actions{padding:5px 7px max(7px,env(safe-area-inset-bottom))}
  .map-inspector-footer.map-inspector-actions>.btn{min-width:52px;min-height:31px;padding:4px 5px;font-size:10px}
  .map-inspector-footer.map-inspector-actions>.btn.primary{min-height:31px}
}
@media(max-width:390px){
  .poi-inspector-compact{grid-template-columns:76px minmax(0,1fr)}
  .poi-inspector-compact>.poi-inspector-visual{width:76px;height:76px}
  .poi-inspector-compact>.poi-inspector-visual .inspector-map-art{width:72px!important;height:72px!important;max-width:72px;max-height:72px}
  .poi-inspector-heading h2{font-size:17px}
}

/* v2.9.2 POI garrison control and compact mission odds */
.site-owned-garrison{display:grid;gap:7px;margin:10px 0;padding:10px;border:1px solid rgba(108,164,137,.28);background:rgba(35,82,65,.1)}
.site-owned-garrison h3{margin:0;color:#bfcbbd;font-size:11px;text-transform:uppercase}
.site-owned-garrison>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:6px}
.site-owned-garrison>div>span{display:grid;grid-template-columns:38px auto;grid-template-rows:auto auto;align-items:center;gap:0 7px;min-width:0;padding:6px;border:1px solid rgba(123,143,128,.2);background:rgba(0,0,0,.13)}
.site-garrison-unit-art{grid-row:1/3;width:38px;height:38px}.site-owned-garrison b{color:#d7b366;font-size:13px}.site-owned-garrison small{overflow:hidden;color:#9ba69f;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.site-recall-summary{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:10px;border:1px solid rgba(93,158,129,.32);background:rgba(36,88,66,.13)}.site-recall-summary>.ui-icon{width:30px;height:30px;color:#76b894}.site-recall-summary span{display:grid;gap:3px}.site-recall-summary small{max-width:58ch;color:#98a29d;font-size:10px;line-height:1.45}
.site-recall-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.site-recall-unit{display:grid;grid-template-columns:58px minmax(0,1fr) 78px;align-items:center;gap:9px;padding:9px;border:1px solid var(--line);background:rgba(0,0,0,.12)}.site-recall-unit-art{width:58px;height:58px}.site-recall-unit>span{display:grid;gap:2px;min-width:0}.site-recall-unit small,.site-recall-unit em{color:#88938d;font-size:10px;font-style:normal}.site-recall-unit b{overflow:hidden;color:#d7cdb4;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.site-recall-unit input{width:78px;min-width:0;text-align:center}
.mission-outcome-odds{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:10px 0}.mission-outcome-odds>span{display:grid;gap:4px;padding:9px;border:1px solid var(--line);background:rgba(0,0,0,.12)}.mission-outcome-odds small{color:#929c96;font-size:10px}.mission-outcome-odds b{color:#d9c59a;font-size:15px}.mission-outcome-odds b.positive{color:#86c5a9}.mission-outcome-odds b.negative,.mission-outcome-odds .fatal b{color:#df786e}
@media(max-width:620px){.site-recall-grid{grid-template-columns:1fr}.site-recall-unit{grid-template-columns:52px minmax(0,1fr) 70px}.site-recall-unit-art{width:52px;height:52px}.site-recall-unit input{width:70px}.mission-outcome-odds{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v3.0 rare-resource storage and claimed-outpost command */
.special-resource-art{display:block;width:48px;height:48px;flex:0 0 auto;background-position:center;background-repeat:no-repeat;background-size:contain;filter:drop-shadow(0 4px 5px rgba(0,0,0,.55))}
.special-storage-ledger{display:grid;gap:0;margin:0 0 18px;overflow:hidden;border:1px solid rgba(194,145,79,.34);background:linear-gradient(145deg,rgba(39,47,43,.9),rgba(8,14,15,.94));box-shadow:inset 0 0 42px rgba(0,0,0,.25)}
.special-storage-ledger>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid rgba(194,145,79,.22);background:linear-gradient(100deg,rgba(194,145,79,.09),rgba(12,20,20,.25))}
.special-storage-ledger>header>span{display:flex;align-items:center;gap:10px;min-width:0}.special-storage-ledger>header .ui-icon{width:30px;height:30px;color:#d2a457}.special-storage-ledger>header>span>span{display:grid;gap:2px}.special-storage-ledger>header small{color:#9b8a68;font-size:10px;font-weight:700;letter-spacing:.08em}.special-storage-ledger h3{margin:0;color:#dfd1b4;font:600 20px Georgia,serif}.special-storage-ledger p{margin:0;color:#929b94;font-size:10px;line-height:1.45}.special-storage-ledger>header>strong{display:grid;color:#deb466;font:600 24px Georgia,serif;text-align:right}.special-storage-ledger>header>strong small{font:700 10px Arial,sans-serif;text-transform:uppercase}
.special-resource-grid{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:8px;padding:12px}.special-resource-card{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:9px;min-height:72px;padding:10px;border:1px solid color-mix(in srgb,var(--special-color) 35%,rgba(100,110,105,.28));background:radial-gradient(circle at 18% 50%,color-mix(in srgb,var(--special-color) 12%,transparent),rgba(0,0,0,.18) 68%)}.special-resource-card::after{content:"";position:absolute;right:8px;bottom:6px;left:8px;height:1px;background:linear-gradient(90deg,transparent,var(--special-color),transparent);opacity:.55}.special-resource-card>div{display:grid;gap:2px;min-width:0}.special-resource-card small{overflow:hidden;color:#9aa39d;font-size:10px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.special-resource-card b{color:#e4d5b7;font:600 19px Georgia,serif}.special-resource-card em{color:#a78e68;font-size:10px;font-style:normal}
.special-storage-ledger>footer{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 12px;border-top:1px solid rgba(194,145,79,.18);background:rgba(0,0,0,.16)}.special-storage-ledger>footer>.ui-icon{width:22px;height:22px;color:#79ad92}.special-storage-ledger>footer>span{display:grid;gap:2px}.special-storage-ledger>footer b{color:#aec8b8;font-size:11px}.special-storage-ledger>footer small{color:#87918b;font-size:10px;line-height:1.35}
.site-storage.special-site-storage{border-color:rgba(193,145,76,.4);background:linear-gradient(100deg,rgba(97,69,31,.13),rgba(0,0,0,.14))}.site-storage.special-site-storage .special-resource-art{width:38px;height:38px}.site-storage.special-site-storage .progress i{background:linear-gradient(90deg,#95683c,#d0a253);box-shadow:0 0 9px rgba(208,162,83,.28)}.map-inspector-actions .stronghold-manage-button{grid-column:1/-1}
.special-resource-art.inline{display:inline-block;width:24px;height:24px;vertical-align:middle}.map-route.npc-invasion-route polyline{stroke-width:3.2;stroke-dasharray:9 5;filter:drop-shadow(0 0 4px rgba(229,76,65,.72));animation:npc-invasion-route-march 1.2s linear infinite}.special-invasion-marker .map-movement-art{filter:drop-shadow(0 0 9px rgba(232,73,62,.75))}.special-invasion-inspector{border-color:rgba(220,80,66,.62)!important;box-shadow:0 0 18px rgba(203,55,45,.25)}.invasion-formation{margin:10px 0}.invasion-formation small{color:#c98274;font-size:10px}.invasion-formation p{margin:4px 0 0;color:#c4b6a8;font-size:11px;line-height:1.45}@keyframes npc-invasion-route-march{to{stroke-dashoffset:-28}}

.special-site-modal{width:min(1040px,calc(100vw - 30px))}.special-site-modal .modal-frame{max-height:min(900px,calc(100dvh - 30px))}.special-site-modal .modal-body{padding:0;overflow:auto}.special-site-modal .modal-frame>footer{position:sticky;z-index:3;right:0;bottom:0;left:0;background:rgba(15,23,24,.97);box-shadow:0 -10px 24px rgba(0,0,0,.28)}
.stronghold-loading{display:flex;align-items:center;justify-content:center;gap:12px;min-height:280px}.stronghold-loading>.ui-icon{width:36px;height:36px;color:#c59651;animation:spin 1.3s linear infinite}.stronghold-loading>span{display:grid;gap:3px}.stronghold-loading b{color:#d8c9aa;font-size:14px}.stronghold-loading small{color:#8e9891;font-size:10px}
.special-site-management{display:grid;gap:12px;padding:14px;background:radial-gradient(circle at 70% 0,rgba(175,122,58,.09),transparent 38%)}
.special-site-supply-ledger{display:grid;border:1px solid rgba(173,132,73,.34);background:rgba(0,0,0,.14)}.special-site-supply-ledger>header{display:flex;align-items:center;gap:9px;padding:10px 12px;border-bottom:1px solid rgba(173,132,73,.24)}.special-site-supply-ledger>header>.ui-icon{width:26px;height:26px;color:#c59651}.special-site-supply-ledger>header>span{display:grid;min-width:0}.special-site-supply-ledger>header small{color:#929b94;font-size:10px;text-transform:uppercase}.special-site-supply-ledger>header b{color:#d5c7aa}.special-site-supply-ledger>header .btn{margin-left:auto}.special-site-supply-ledger>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:8px}.special-site-supply-ledger>div>span{display:grid;grid-template-columns:24px minmax(0,1fr);gap:1px 6px;align-items:center;padding:7px;border:1px solid rgba(116,130,120,.2);background:rgba(0,0,0,.12)}.special-site-supply-ledger .resource-glyph{grid-row:1/3;width:24px;height:24px}.special-site-supply-ledger small{overflow:hidden;color:#8f9992;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.special-site-supply-ledger b{font-size:11px;white-space:nowrap}.special-site-supply-form{display:grid;gap:12px}.special-site-supply-form .caravan-load-controls{align-self:stretch}
.stronghold-hero{position:relative;display:grid;grid-template-columns:148px minmax(0,1fr) auto;align-items:center;gap:16px;min-height:146px;overflow:hidden;padding:12px 16px 12px 8px;border:1px solid rgba(198,149,79,.35);background:linear-gradient(105deg,rgba(64,50,34,.33),rgba(12,22,22,.95) 60%)}.stronghold-hero::after{content:"";position:absolute;right:-90px;bottom:-140px;width:320px;height:240px;border:1px solid rgba(197,147,73,.13);transform:rotate(-16deg);pointer-events:none}.stronghold-hero-art{width:140px;height:140px;background-position:center;background-size:contain!important;filter:drop-shadow(0 11px 9px rgba(0,0,0,.6))}.stronghold-hero>div{display:grid;gap:4px;min-width:0}.stronghold-hero>div>small{color:#bd914e;font-size:10px;font-weight:800;letter-spacing:.12em}.stronghold-hero h2{margin:0;color:#e2d2b1;font:600 clamp(22px,3vw,34px) Georgia,serif}.stronghold-hero p{margin:0;color:#8f9b94;font-size:11px}.stronghold-resource-seal{z-index:1;display:grid;justify-items:center;gap:3px;min-width:96px;padding:9px;border-left:1px solid rgba(196,147,75,.25)}.stronghold-resource-seal .special-resource-art{width:62px;height:62px}.stronghold-resource-seal b{color:#d9c49c;font-size:11px;text-align:center}
.stronghold-yield{display:grid;grid-template-columns:minmax(180px,1fr) minmax(250px,1.15fr);align-items:center;gap:8px;padding:11px 13px;border:1px solid rgba(117,158,134,.28);background:rgba(28,65,50,.12)}.stronghold-yield>div:first-child{display:flex;align-items:center;gap:10px}.stronghold-yield>div:first-child>span{display:grid;gap:2px}.stronghold-yield small{color:#87958d;font-size:10px}.stronghold-yield b{color:#d9c8a4;font-size:15px}.stronghold-yield b em{color:#737f79;font-size:11px;font-style:normal}.stronghold-yield>div:nth-child(2){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.stronghold-yield>div:nth-child(2)>span{display:grid;grid-template-columns:22px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:1px 7px;padding:7px;border:1px solid rgba(112,132,119,.2);background:rgba(0,0,0,.13)}.stronghold-yield>div:nth-child(2) .ui-icon{grid-row:1/3;width:20px;height:20px;color:#b28b53}.stronghold-yield>.progress{grid-column:1/-1;margin:0}.stronghold-yield>.progress i{background:linear-gradient(90deg,#6e9e7e,#c59b56)}
.stronghold-invasion-warning,.stronghold-invasion-calm{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 13px}.stronghold-invasion-warning{border:1px solid rgba(213,99,80,.55);background:linear-gradient(100deg,rgba(119,43,33,.22),rgba(38,18,17,.15));box-shadow:inset 3px 0 #ce6855}.stronghold-invasion-warning>.ui-icon{width:32px;height:32px;color:#e17562}.stronghold-invasion-warning>div{display:grid;gap:2px}.stronghold-invasion-warning small{color:#cb8a7b;font-size:10px;font-weight:700;letter-spacing:.1em}.stronghold-invasion-warning h3{margin:0;color:#e0c0a9;font-size:15px}.stronghold-invasion-warning p{margin:0;color:#ad9388;font-size:10px;line-height:1.4}.stronghold-invasion-warning b{color:#e49b82;font-size:11px}.stronghold-invasion-warning>strong{display:grid;color:#ed947b;font:600 20px Georgia,serif;text-align:right}.stronghold-invasion-warning>strong small{font:700 10px Arial,sans-serif}.stronghold-invasion-calm{grid-template-columns:28px minmax(0,1fr);border:1px solid rgba(93,145,118,.28);background:rgba(38,81,61,.1)}.stronghold-invasion-calm>.ui-icon{width:26px;height:26px;color:#6ea98a}.stronghold-invasion-calm>span{display:grid;gap:2px}.stronghold-invasion-calm b{color:#a9c3b2;font-size:11px}.stronghold-invasion-calm small{color:#84928a;font-size:10px}
.stronghold-structures{display:grid;gap:0;border:1px solid var(--line);background:rgba(0,0,0,.1)}.stronghold-structures>.section-heading,.stronghold-garrison>.section-heading{padding:10px 12px}.stronghold-structures>.section-heading>span,.stronghold-garrison>.section-heading>span{display:flex;align-items:center;gap:7px}.stronghold-structures>.section-heading .ui-icon,.stronghold-garrison>.section-heading .ui-icon{width:20px;height:20px;color:#c39653}.stronghold-structures>.section-heading em,.stronghold-garrison>.section-heading em{color:#859089;font-size:10px;font-style:normal}.stronghold-structures>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:10px}
.stronghold-structure{display:grid;grid-template-rows:auto auto auto 1fr;gap:8px;min-width:0;padding:11px;border:1px solid rgba(122,132,124,.25);background:linear-gradient(145deg,rgba(39,50,47,.42),rgba(5,10,11,.3))}.stronghold-structure.mastered{border-color:rgba(103,168,132,.34)}.stronghold-structure>header{display:flex;align-items:center;justify-content:space-between;gap:8px}.stronghold-structure>header>span{display:flex;align-items:center;gap:8px;min-width:0}.stronghold-structure>header .ui-icon{width:28px;height:28px;color:#bd914e}.stronghold-structure>header>span>span{display:grid;gap:1px;min-width:0}.stronghold-structure>header small{color:#78847d;font-size:10px}.stronghold-structure>header b{overflow:hidden;color:#d3c5a8;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.stronghold-structure>header>strong{display:grid;color:#d7aa5e;font:600 14px Georgia,serif;text-align:right;white-space:nowrap}.stronghold-structure>header>strong small{font-size:10px}.stronghold-structure>p{min-height:42px;margin:0;color:#8c9790;font-size:10px;line-height:1.4}.stronghold-tier-track{display:flex;gap:3px}.stronghold-tier-track i{flex:1;height:4px;background:#29322f}.stronghold-tier-track i.filled{background:#c0924f;box-shadow:0 0 5px rgba(192,146,79,.35)}.stronghold-structure>footer{display:grid;align-self:end;gap:9px;padding-top:7px;border-top:1px solid rgba(113,123,116,.17)}.stronghold-structure>footer>div{display:grid;gap:4px}.stronghold-structure>footer>div>small{color:#829088;font-size:10px}.stronghold-structure>footer .btn{width:100%}
.stronghold-garrison{display:grid;border:1px solid var(--line);background:rgba(0,0,0,.1)}.stronghold-garrison>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:7px;padding:10px}.stronghold-garrison>div>article{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;padding:8px;border:1px solid rgba(116,130,120,.22);background:rgba(0,0,0,.13)}.special-site-garrison-art{width:54px;height:54px;background-size:contain!important}.stronghold-garrison>div>article>span{display:grid;gap:2px;min-width:0}.stronghold-garrison>div>article b{overflow:hidden;color:#d2c6ad;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.stronghold-garrison>div>article small{color:#87928c;font-size:10px}.stronghold-garrison>div>article>strong{color:#d7a95d;font:600 18px Georgia,serif}.stronghold-garrison>footer{display:grid;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:9px;padding:10px 12px;border-top:1px solid rgba(116,130,120,.2);background:rgba(41,75,58,.1)}.stronghold-garrison>footer>.ui-icon{width:24px;height:24px;color:#73a889}.stronghold-garrison>footer>span{display:grid;gap:2px}.stronghold-garrison>footer b{color:#aac1b2;font-size:11px}.stronghold-garrison>footer small{color:#84918a;font-size:10px;line-height:1.4}
.cost.special-cost{display:inline-grid;grid-template-columns:24px auto 14px;align-items:center;gap:4px;padding:4px 6px;border:1px solid rgba(111,127,117,.25);background:rgba(0,0,0,.14)}.cost.special-cost .special-resource-art{width:24px;height:24px}.cost.special-cost>.ui-icon{width:13px;height:13px}.cost.special-cost.sufficient{border-color:rgba(87,158,119,.38);color:#85c6a1}.cost.special-cost.insufficient{border-color:rgba(204,90,78,.42);color:#dd786c}.special-cost-row{margin-top:2px}
.scout-stronghold-ledger{display:grid;gap:8px;margin-top:10px;padding:10px;border:1px solid rgba(188,142,75,.3);background:linear-gradient(110deg,rgba(91,62,30,.13),rgba(0,0,0,.13))}.scout-stronghold-ledger>h3{margin:0;color:#c9b78f;font-size:11px;text-transform:uppercase}.scout-stronghold-ledger>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.scout-stronghold-ledger article{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;padding:8px;border:1px solid rgba(116,128,119,.22);background:rgba(0,0,0,.14)}.scout-stronghold-ledger .ui-icon{width:28px;height:28px;color:#c19453}.scout-stronghold-ledger article>span{display:grid;gap:2px;min-width:0}.scout-stronghold-ledger small{overflow:hidden;color:#87928b;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.scout-stronghold-ledger b{color:#dcc8a2;font-size:13px}
.supported-strongholds{margin-top:14px}.supported-strongholds>.section-heading>span{display:flex;align-items:center;gap:7px}.supported-strongholds>.section-heading .ui-icon{width:20px;height:20px;color:#78ad8f}.supported-strongholds-note{margin:0;padding:9px 12px;border-bottom:1px solid var(--line);color:#87928b;font-size:10px}.supported-strongholds>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}.supported-stronghold-card{display:grid;grid-template-columns:76px minmax(0,1fr) auto auto;align-items:center;gap:10px;min-width:0;padding:9px;border:1px solid rgba(100,145,119,.27);background:linear-gradient(110deg,rgba(33,78,57,.12),rgba(0,0,0,.14))}.supported-stronghold-art{width:76px;height:76px;background-size:contain!important}.supported-stronghold-card>div{display:grid;gap:2px;min-width:0}.supported-stronghold-card>div>small{color:#84a291;font-size:10px}.supported-stronghold-card h3{overflow:hidden;margin:0;color:#d2c7ad;font:600 16px Georgia,serif;text-overflow:ellipsis;white-space:nowrap}.supported-stronghold-card p{margin:0;color:#85918a;font-size:10px}.supported-stronghold-card>div>span{display:flex;gap:4px;margin-top:4px}.supported-stronghold-card>div>span>i{position:relative;display:block;width:30px;height:30px;border:1px solid rgba(108,126,114,.22);background:rgba(0,0,0,.18)}.supported-unit-art{width:28px;height:28px;background-size:contain!important}.supported-stronghold-card>div>span>i>b{position:absolute;right:-3px;bottom:-3px;min-width:15px;padding:1px 3px;border:1px solid #51655b;background:#17211e;color:#d5b268;font-size:10px;font-style:normal;text-align:center}.supported-stronghold-card>strong{display:grid;color:#d6ad65;font:600 20px Georgia,serif;text-align:center}.supported-stronghold-card>strong small{color:#809088;font:700 10px Arial,sans-serif;white-space:nowrap}

@media(max-width:860px){.special-resource-grid{grid-template-columns:repeat(3,minmax(100px,1fr))}.stronghold-structures>div{grid-template-columns:1fr}.stronghold-structure{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto}.stronghold-structure>p{min-height:0}.stronghold-structure>footer{grid-template-columns:minmax(0,1fr) auto;align-items:end}.stronghold-structure>footer .btn{width:auto;min-width:150px}}
@media(max-width:760px){.special-storage-ledger>header{align-items:flex-start;padding:12px}.special-storage-ledger>header>strong{font-size:20px}.special-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:8px}.special-resource-card{grid-template-columns:38px minmax(0,1fr);min-height:62px;padding:8px}.special-resource-card .special-resource-art{width:38px;height:38px}.special-storage-ledger>footer{grid-template-columns:22px minmax(0,1fr)}.special-storage-ledger>footer .btn{grid-column:1/-1;width:100%}.special-site-modal{width:calc(100vw - 10px)}.special-site-modal .modal-frame{max-height:calc(100dvh - 10px)}.special-site-management{padding:8px}.stronghold-hero{grid-template-columns:94px minmax(0,1fr);gap:8px;min-height:102px;padding:8px}.stronghold-hero-art{width:92px;height:92px}.stronghold-resource-seal{grid-column:1/-1;grid-template-columns:38px auto;justify-content:start;min-width:0;padding:6px;border-top:1px solid rgba(196,147,75,.2);border-left:0}.stronghold-resource-seal .special-resource-art{width:36px;height:36px}.stronghold-yield{grid-template-columns:1fr}.stronghold-yield>div:nth-child(2){grid-template-columns:1fr}.stronghold-invasion-warning{grid-template-columns:30px minmax(0,1fr)}.stronghold-invasion-warning>strong{grid-column:2;text-align:left}.stronghold-structure>footer{grid-template-columns:1fr}.stronghold-structure>footer .btn{width:100%;min-width:0}.stronghold-garrison>div{grid-template-columns:1fr}.special-site-modal .modal-frame>footer{grid-template-columns:1fr}.special-site-modal .modal-frame>footer .btn{width:100%}.scout-stronghold-ledger>div{grid-template-columns:1fr}}
@media(max-width:760px){.special-site-supply-ledger>header{align-items:flex-start;flex-wrap:wrap}.special-site-supply-ledger>header .btn{width:100%;margin-left:0}.special-site-supply-ledger>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:860px){.supported-strongholds>div{grid-template-columns:1fr}}
@media(max-width:620px){.supported-stronghold-card{grid-template-columns:60px minmax(0,1fr) auto}.supported-stronghold-art{width:60px;height:60px}.supported-stronghold-card>strong{display:none}.supported-stronghold-card>.btn{grid-column:1/-1;width:100%}}

/* Short browser windows still need a reachable building ledger and actions. */
@media(max-height:720px){
  .building-upgrade-modal{max-height:calc(100dvh - 12px);overflow:hidden}
  .building-upgrade-modal .modal-frame{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:calc(100dvh - 12px);overflow:hidden}
  .building-upgrade-modal .modal-body{min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain}
}

@media(max-width:430px){
  .special-site-modal .modal-frame>header{gap:8px;padding:12px}
  .special-site-modal .modal-frame>header>div{min-width:0}
  .special-site-modal .modal-frame>header h2{overflow:hidden;font-size:clamp(17px,5.5vw,22px);text-overflow:ellipsis;white-space:nowrap}
  .special-site-modal .modal-frame>header .icon-button{flex:0 0 auto}
  .special-site-modal .modal-frame>footer{grid-template-columns:repeat(2,minmax(0,1fr))}
  .special-site-modal .modal-frame>footer .btn:last-child{grid-column:1/-1}
}
/* Version 3.1: Honor, titles, and the living house ledger. */
.dynasty-view{display:grid;gap:18px}.honor-balance{display:grid;grid-template-columns:34px auto;grid-template-rows:auto auto;column-gap:9px;align-items:center;min-width:132px;padding:8px 12px;border:1px solid rgba(211,164,78,.34);background:linear-gradient(135deg,rgba(139,91,34,.18),rgba(12,19,20,.74));color:#ddb761}.honor-balance>.ui-icon{grid-row:1/3;width:32px;height:32px}.honor-balance b{font-family:Georgia,serif;font-size:20px;line-height:1}.honor-balance small{color:#8d897e;font-size:10px;text-transform:uppercase;letter-spacing:.1em}
.title-command{overflow:hidden}.title-command-current{display:grid;grid-template-columns:78px minmax(0,1fr) minmax(230px,310px);gap:18px;align-items:center;padding:22px;border-bottom:1px solid rgba(211,164,78,.22);background:radial-gradient(circle at 7% 50%,rgba(205,142,52,.14),transparent 23%),linear-gradient(100deg,rgba(83,55,24,.16),rgba(13,21,22,.18))}.title-seal{display:grid;place-items:center;width:72px;height:72px;border:1px solid rgba(222,177,87,.5);clip-path:polygon(50% 0,92% 22%,92% 72%,50% 100%,8% 72%,8% 22%);background:linear-gradient(145deg,#3a2b1d,#121c1d);color:#e1b861;filter:drop-shadow(0 9px 14px rgba(0,0,0,.38))}.title-seal>.ui-icon{width:42px;height:42px}.title-command-current>div{display:grid;gap:5px}.title-command-current small,.title-command-current aside small{color:#b08f55;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.title-command-current h2{margin:0;color:#eadcbc;font-family:Georgia,serif;font-size:clamp(26px,2.2vw,38px);font-weight:400}.title-command-current p{max-width:66ch;margin:0;color:#9a9d96;font-size:12px}.title-command-current aside{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;align-items:center;padding:13px;border:1px solid rgba(205,159,76,.28);background:rgba(5,10,11,.32)}.title-command-current aside small{grid-column:1/-1}.title-command-current aside b{overflow:hidden;color:#d8c9aa;font-family:Georgia,serif;font-size:17px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.title-command-current aside>span{display:flex;align-items:center;gap:5px;color:#d7ad57;font-size:11px}.title-command-current aside>span>.ui-icon{width:20px;height:20px}.title-command-current aside>.btn{grid-column:1/-1;margin-top:6px}.title-command-current aside.complete{grid-template-columns:34px 1fr;color:#dbb661}.title-command-current aside.complete>.ui-icon{width:34px;height:34px}.title-current-benefits{display:grid;grid-template-columns:1fr 1fr;gap:0;border-bottom:1px solid var(--line)}.title-current-benefits>span{display:grid;gap:8px;padding:13px 18px}.title-current-benefits>span+span{border-left:1px solid var(--line)}.title-current-benefits>span>small{color:#7d837e;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.title-benefits{display:flex;flex-wrap:wrap;gap:6px}.title-benefits>span{display:flex;align-items:center;gap:5px;min-height:28px;padding:4px 7px;border:1px solid rgba(118,134,126,.18);background:rgba(5,11,12,.22);color:#8f9b92}.title-benefits>span.unlock{border-color:rgba(211,164,78,.26);color:#caaa6d}.title-benefits .ui-icon{flex:0 0 auto;width:17px;height:17px}.title-benefits b{font-size:10px;font-weight:500}.title-ladder{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(247px,1fr);gap:8px;padding:14px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-color:#7c5c32 #11191a}.title-rank-card{position:relative;display:grid;grid-template-rows:auto auto auto minmax(64px,1fr) auto;gap:5px;min-height:222px;padding:12px;border:1px solid rgba(109,122,116,.18);background:linear-gradient(155deg,rgba(27,38,39,.88),rgba(9,15,16,.92));scroll-snap-align:start}.title-rank-card.locked{opacity:.58}.title-rank-card.owned{border-color:rgba(105,151,128,.3)}.title-rank-card.current{border-color:rgba(222,177,87,.72);background:radial-gradient(circle at 84% 8%,rgba(222,177,87,.16),transparent 36%),linear-gradient(155deg,rgba(38,43,39,.96),rgba(13,20,20,.96));box-shadow:inset 0 0 24px rgba(222,177,87,.07)}.title-rank-card.next{border-color:rgba(199,146,79,.48)}.title-rank-card>header{display:flex;justify-content:space-between;align-items:center;color:#766d59}.title-rank-card>header>span{font-family:Georgia,serif;font-size:20px}.title-rank-card>header>.ui-icon{width:24px;height:24px}.title-rank-card>small{color:#737c77;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.title-rank-card h3{min-height:43px;margin:0;color:#d3c7ae;font-family:Georgia,serif;font-size:18px;font-weight:400;line-height:1.16}.title-rank-card .title-benefits{align-content:start}.title-rank-card .title-benefits>span{width:100%;min-height:24px;padding:3px 5px}.title-rank-card>footer{display:grid;gap:6px;align-self:end}.title-rank-card>footer>span{display:flex;align-items:center;gap:5px;min-height:30px;color:#79aa91;font-size:10px}.title-rank-card>footer .ui-icon{width:17px;height:17px}.title-honor-cost{color:#caa45c!important}.title-honor-cost b{font-size:14px}
.dynasty-command-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.72fr);gap:18px}.dynasty-command-grid>main,.dynasty-side{display:grid;align-content:start;gap:18px}.regent-dossier{overflow:hidden}.regent-portrait-stage{display:grid;grid-template-columns:minmax(180px,260px) minmax(0,1fr);align-items:end;min-height:315px;padding:20px 24px 0;background:radial-gradient(ellipse at 18% 100%,rgba(192,137,60,.17),transparent 52%),linear-gradient(130deg,rgba(32,44,43,.88),rgba(10,17,18,.95))}.regent-primary-art{align-self:stretch;width:100%!important;height:290px!important;background-position:center bottom!important;background-size:contain!important;background-repeat:no-repeat!important;filter:drop-shadow(0 15px 15px rgba(0,0,0,.48))}.regent-portrait-stage>span{display:grid;align-self:center;gap:5px;padding:16px}.regent-portrait-stage small{color:#bd9550;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.regent-portrait-stage h2{margin:0;color:#e4d5b7;font-family:Georgia,serif;font-size:clamp(28px,2.4vw,42px);font-weight:400}.regent-portrait-stage p{margin:0!important;color:#929992}.regent-portrait-stage em{justify-self:start;margin-top:4px;padding:4px 8px;border:1px solid rgba(106,158,132,.28);color:#78a990;font-size:10px;font-style:normal}.regent-dossier-ledger{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line)}.regent-dossier-ledger>div{display:grid;align-content:start;gap:8px;padding:15px 18px}.regent-dossier-ledger>div+div{border-left:1px solid var(--line)}.regent-dossier-ledger>div>small,.dynasty-section-label{color:#817f73;font-size:10px;letter-spacing:.09em;text-transform:uppercase}
.dynasty-traits{display:flex;flex-wrap:wrap;gap:6px}.dynasty-trait{display:flex;align-items:center;gap:5px;min-height:31px;padding:4px 7px;border:1px solid rgba(141,117,71,.22);background:rgba(103,74,29,.08);color:#b7aa91}.dynasty-trait>.ui-icon{width:18px;height:18px}.dynasty-trait b{font-size:10px;font-weight:500}.dynasty-trait em{color:#80aa91;font-size:10px;font-style:normal}.dynasty-traits.compact .dynasty-trait{min-height:24px;padding:2px 5px}.dynasty-modifier-ledger{display:grid;gap:5px}.dynasty-modifier-ledger>span{display:flex;align-items:center;gap:6px;min-height:29px;padding:4px 7px;border-left:2px solid #6d9f84;background:rgba(55,105,80,.08);color:#91ad9c}.dynasty-modifier-ledger .ui-icon{width:17px;height:17px}.dynasty-modifier-ledger b{font-size:10px;font-weight:500}.dynasty-quiet-copy{margin:0!important;color:#7f8781;font-size:12px;line-height:1.55}
.family-tree-panel{overflow:hidden}.family-tree{display:grid;gap:0;padding:16px;overflow:auto}.family-generation{position:relative;display:grid;grid-template-columns:86px minmax(0,1fr);gap:12px;min-width:620px;padding:0 0 18px}.family-generation:last-child{padding-bottom:0}.family-generation::before{position:absolute;top:0;bottom:0;left:80px;width:1px;background:linear-gradient(#876738,#3b473f);content:""}.family-generation>header{position:relative;z-index:1;padding-top:12px}.family-generation>header span{display:inline-grid;place-items:center;min-width:78px;min-height:27px;border:1px solid rgba(177,133,64,.35);background:#111a1b;color:#a9874f;font-size:10px;text-transform:uppercase}.family-generation>div{display:grid;grid-template-columns:repeat(2,minmax(250px,1fr));gap:9px}.dynasty-person{position:relative;display:grid;grid-template-columns:76px minmax(0,1fr);gap:10px;min-height:116px;padding:9px;border:1px solid rgba(116,130,123,.2);background:linear-gradient(145deg,rgba(24,35,36,.92),rgba(10,16,17,.9))}.dynasty-person.reigning{border-color:rgba(207,158,73,.56);box-shadow:inset 0 0 22px rgba(207,158,73,.07)}.dynasty-person.deceased{filter:saturate(.4);opacity:.68}.dynasty-person-art{width:76px!important;height:96px!important;background-position:center bottom!important;background-size:contain!important;background-repeat:no-repeat!important}.dynasty-person>div{display:grid;align-content:center;gap:3px}.dynasty-person small{color:#7b847e;font-size:10px}.dynasty-person h3{margin:0;color:#d2c5ab;font-family:Georgia,serif;font-size:16px;font-weight:400}.dynasty-person>div>em{color:#767c78;font-size:10px;font-style:normal}.dynasty-person .btn{justify-self:start;margin-top:5px}.dynasty-genes{color:#8a7d68!important}.dynasty-portrait-placeholder{display:grid;place-items:center;border:1px solid var(--line);background:#101819}.dynasty-portrait-placeholder>.ui-icon{width:40px;height:40px}
.spouse-panel>.panel-inner,.succession-panel>.panel-inner,.dynasty-chronicle>.panel-inner{display:grid;gap:10px}.spouse-panel .dynasty-person,.succession-panel .dynasty-person{grid-template-columns:68px minmax(0,1fr);min-height:105px}.spouse-panel .dynasty-person-art,.succession-panel .dynasty-person-art{width:68px!important;height:86px!important}.unbound-house{display:grid;grid-template-columns:38px minmax(0,1fr);gap:9px;align-items:start;padding:12px;border:1px dashed rgba(126,139,132,.25);background:rgba(0,0,0,.09)}.unbound-house>.ui-icon{width:34px;height:34px;color:#8d7956}.unbound-house span{display:grid;gap:3px}.unbound-house b{color:#bdb19b;font-size:12px}.unbound-house p{margin:0!important;color:#7f8782!important}.marriage-proposals{display:grid;gap:7px;margin-top:3px}.marriage-proposal{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:center;padding:9px;border:1px solid rgba(177,134,64,.25);background:rgba(89,60,24,.08)}.marriage-proposal>.ui-icon{width:26px;height:26px}.marriage-proposal>span{display:grid;gap:2px}.marriage-proposal small,.marriage-proposal em{color:#7d857f;font-size:10px;font-style:normal}.marriage-proposal b{color:#cfc1a7;font-size:12px}.marriage-proposal>div{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.3fr;gap:6px}.marriage-proposal>strong{grid-column:1/-1;color:#a69575;font-size:10px;text-transform:uppercase}.dynasty-event{display:grid;grid-template-columns:29px minmax(0,1fr);gap:8px;padding:8px 0;border-bottom:1px solid rgba(106,119,113,.14)}.dynasty-event:last-child{border-bottom:0}.dynasty-event>.ui-icon{width:27px;height:27px}.dynasty-event>span{display:grid;gap:2px}.dynasty-event small{color:#717a74;font-size:10px}.dynasty-event b{color:#bdb29f;font-size:11px}.dynasty-event p{margin:0!important;color:#7f8781!important;font-size:10px!important}.title-upgrade-confirm{display:grid;justify-items:center;gap:14px;text-align:center}.title-upgrade-confirm p{max-width:48ch}.title-upgrade-confirm .title-benefits{justify-content:center}.dynasty-marriage-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.dynasty-marriage-results{display:grid;gap:7px;margin-top:14px}.dynasty-marriage-candidate{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px;border:1px solid var(--line);background:rgba(0,0,0,.12)}.dynasty-candidate-art{width:54px!important;height:58px!important}.dynasty-marriage-candidate>span{display:grid;gap:2px}.dynasty-marriage-candidate small,.dynasty-marriage-candidate em{overflow:hidden;color:#77807a;font-size:10px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.dynasty-marriage-candidate b{color:#c9bca4;font-size:12px}.dynasty-appoint-confirm{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;align-items:center}.dynasty-appoint-art{width:150px!important;height:190px!important;background-position:center bottom!important;background-size:contain!important}.dynasty-appoint-confirm>div{display:grid;gap:10px}.npc-relation-form{display:grid;gap:12px}.npc-relation-form>p{margin:0!important}.npc-relation-form>small{color:#828a84;font-size:10px}
.npc-relation-card{display:grid;gap:8px;margin-top:10px;padding:10px;border:1px solid rgba(163,130,74,.3);background:linear-gradient(145deg,rgba(62,47,28,.18),rgba(9,15,16,.44))}.npc-relation-card>header{display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px;align-items:center}.npc-relation-card .npc-regent-art{width:42px!important;height:50px!important;background-position:center bottom!important;background-size:contain!important}.npc-relation-card>header>.ui-icon{width:36px;height:36px}.npc-relation-card>header>span{display:grid;gap:1px}.npc-relation-card small{color:#8b8170;font-size:10px;text-transform:uppercase}.npc-relation-card b{overflow:hidden;color:#cfc0a6;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.npc-relation-card em{color:#c7a258;font-size:10px;font-style:normal}.npc-relation-meter{position:relative;height:5px;background:linear-gradient(90deg,#843f3c 0 30%,#756744 50%,#4c8b6a 72%,#78b18f 100%)}.npc-relation-meter>i{position:absolute;inset:0 auto 0 0;background:rgba(255,255,255,.16)}.npc-relation-meter>span{position:absolute;top:-3px;width:2px;height:11px;background:#f0d49a;box-shadow:0 0 5px #d7b56b;transform:translateX(-1px)}.npc-relation-card>p{margin:0!important;color:#7f8780!important;font-size:10px!important;line-height:1.45!important}.npc-relation-card>footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.npc-relation-card>footer>.btn{min-width:0;justify-content:center;padding:5px}.npc-relation-card>footer>.btn:last-child:nth-child(3){grid-column:1/-1}.npc-relation-card.standing-blood-feud,.npc-relation-card.standing-hostile{border-color:rgba(184,85,73,.38)}.npc-relation-card.standing-trusted,.npc-relation-card.standing-oathbound{border-color:rgba(96,174,132,.43)}
@media(max-width:1180px){.dynasty-command-grid{grid-template-columns:1fr}.dynasty-side{grid-template-columns:repeat(3,minmax(0,1fr))}.title-command-current{grid-template-columns:70px minmax(0,1fr) minmax(220px,280px)}}
@media(max-width:820px){.title-command-current{grid-template-columns:58px minmax(0,1fr);padding:16px}.title-seal{width:56px;height:56px}.title-seal>.ui-icon{width:34px;height:34px}.title-command-current aside{grid-column:1/-1}.title-current-benefits{grid-template-columns:1fr}.title-current-benefits>span+span{border-top:1px solid var(--line);border-left:0}.dynasty-side{grid-template-columns:1fr}.regent-portrait-stage{grid-template-columns:minmax(135px,42%) minmax(0,1fr);min-height:250px;padding:14px 14px 0}.regent-primary-art{height:235px!important}.regent-dossier-ledger{grid-template-columns:1fr}.regent-dossier-ledger>div+div{border-top:1px solid var(--line);border-left:0}.family-generation>div{grid-template-columns:minmax(250px,1fr)}}
@media(max-width:520px){.honor-balance{width:100%}.title-command-current{grid-template-columns:1fr;text-align:center}.title-command-current>.title-seal{justify-self:center}.title-command-current aside{text-align:left}.title-ladder{grid-auto-columns:minmax(229px,92%);padding:10px}.title-rank-card{min-height:214px}.regent-portrait-stage{grid-template-columns:1fr;justify-items:center;padding-top:16px;text-align:center}.regent-primary-art{width:min(220px,76%)!important;height:220px!important}.regent-portrait-stage>span{padding:4px 10px 18px}.family-tree{padding:10px}.dynasty-marriage-search{grid-template-columns:1fr}.dynasty-marriage-candidate{grid-template-columns:48px minmax(0,1fr)}.dynasty-marriage-candidate>.btn{grid-column:1/-1;width:100%}.dynasty-appoint-confirm{grid-template-columns:1fr}.dynasty-appoint-art{justify-self:center}.npc-relation-card>footer{grid-template-columns:1fr}.npc-relation-card>footer>.btn:last-child:nth-child(3){grid-column:auto}}
.title-rank-card{grid-template-rows:auto auto auto minmax(96px,1fr) auto;min-height:258px}.regent-vital-ledger{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:10px}.regent-vital-ledger>span{display:grid;grid-template-columns:23px minmax(0,1fr);grid-template-rows:auto auto;column-gap:6px;padding:7px;border:1px solid rgba(122,137,129,.18);background:rgba(3,8,9,.18)}.regent-vital-ledger .ui-icon{grid-row:1/3;width:21px;height:21px}.regent-vital-ledger small{color:#747d77;font-size:10px;text-transform:uppercase}.regent-vital-ledger b{overflow:hidden;color:#aca592;font-size:10px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}@media(max-width:520px){.title-rank-card{min-height:250px}.regent-vital-ledger{grid-template-columns:1fr;text-align:left}}

/* Version 3.1.1: lighter dynasty rendering and keyboard/touch navigation. */
.title-ladder-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:7px 14px;border-bottom:1px solid var(--line);background:rgba(5,10,11,.18)}
.title-ladder-toolbar>span{display:flex;align-items:center;gap:7px;color:#a98b57;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.title-ladder-toolbar>span>.ui-icon{width:19px;height:19px}.title-ladder-toolbar nav{display:flex;gap:5px}.title-ladder-toolbar .btn{min-width:36px;padding:6px}.title-ladder-toolbar .btn>.ui-icon{width:17px;height:17px}.title-ladder-toolbar .btn.previous>.ui-icon{transform:rotate(180deg)}
.title-ladder{overscroll-behavior-x:contain;scroll-padding-inline:14px}.title-rank-card{content-visibility:auto;contain-intrinsic-size:247px 258px}.family-tree{overscroll-behavior:contain;scrollbar-color:#705634 #11191a}
.title-ladder:focus-visible,.dynasty-trait:focus-visible,.dynasty-person:focus-within{outline:2px solid rgba(225,184,97,.78);outline-offset:-2px}.dynasty-trait:focus-visible{background:rgba(154,111,44,.2)}

/* Regent portrait variants, child naming, and public court dossiers. */
.dynasty-person-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.dynasty-person-actions .btn{margin:0}.dynasty-child-name{display:grid;gap:14px}.dynasty-child-name>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:15px;align-items:center}.dynasty-child-name .dynasty-appoint-art{width:120px!important;height:150px!important}.dynasty-child-name p{margin:0!important}.profile-regent{display:grid;grid-template-columns:110px minmax(180px,.7fr) minmax(220px,1fr);gap:14px;align-items:center;padding:13px;border:1px solid rgba(194,148,73,.38);background:linear-gradient(125deg,rgba(126,82,31,.12),rgba(9,15,16,.75))}.profile-regent>header{grid-column:2}.profile-regent>header small{color:#8f8069;font-size:10px;text-transform:uppercase}.profile-regent>header h3{margin:3px 0;color:#dfcfb1;font-family:Georgia,serif;font-size:20px;font-weight:400}.profile-regent>header p{margin:0;color:#89918b}.profile-regent-art{grid-column:1;grid-row:1;width:110px!important;height:138px!important;background-position:center bottom!important;background-size:contain!important;background-repeat:no-repeat!important}.profile-regent>div{grid-column:3;grid-row:1;display:grid;gap:8px;min-width:0}.profile-regent .dynasty-modifier-ledger{grid-template-columns:1fr}.npc-regent-modifiers{display:grid;gap:5px;padding:7px;border:1px solid rgba(133,117,83,.2);background:rgba(0,0,0,.12)}.npc-regent-modifiers>.dynasty-modifier-ledger{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.npc-regent-modifiers>.dynasty-modifier-ledger>span{min-width:0;padding:4px}.npc-regent-modifiers>.dynasty-modifier-ledger b{font-size:10px;white-space:normal}.npc-regent-modifiers>.dynasty-quiet-copy{margin:0!important;font-size:10px!important}
@media(max-width:760px){.profile-regent{grid-template-columns:82px minmax(0,1fr)}.profile-regent-art{width:82px!important;height:104px!important}.profile-regent>header{grid-column:2}.profile-regent>div{grid-column:1/-1;grid-row:auto}.dynasty-child-name>div{grid-template-columns:86px minmax(0,1fr)}.dynasty-child-name .dynasty-appoint-art{width:86px!important;height:108px!important}}
.mission-hero-influence{grid-column:1/-1;display:grid;gap:5px;padding:8px 10px;border:1px solid rgba(99,154,119,.3);background:rgba(45,92,61,.1)}.mission-hero-influence>small{color:#8f9d91;font-size:10px;text-transform:uppercase}.mission-hero-influence>div{display:flex;flex-wrap:wrap;gap:6px}.mission-hero-influence span{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border:1px solid rgba(115,135,123,.25);font-size:10px}.mission-hero-influence .ui-icon{width:14px;height:14px}.mission-hero-influence .positive{color:#8fc59d}.mission-hero-influence .negative{color:#d18378}
@media(max-width:520px){.title-ladder-toolbar{padding-inline:10px}.title-ladder-toolbar nav{display:grid;grid-template-columns:1fr 1fr}.title-ladder-toolbar .btn{min-width:42px}}

/* v4.3 streamed world map: the worker owns terrain pixels while accessible
   DOM markers and SVG movements remain independent interaction layers. */
.world-map.map-engine-active .map-viewport>#mapCanvas{
  inset:0!important;
  left:0!important;
  top:0!important;
  width:100%!important;
  height:100%!important;
  background:#0d1719;
  image-rendering:auto;
  transform:var(--map-terrain-transform,none)!important;
  transform-origin:0 0!important;
}
.world-map.map-engine-active .map-material-layer{display:none}
.world-map.map-engine-active:not(.map-frame-ready) .map-marker-layer,
.world-map.map-engine-active:not(.map-frame-ready) .map-movement-layer{visibility:hidden}
.world-map.map-engine-active .map-marker-layer,
.world-map.map-engine-active .map-movement-layer{
  will-change:auto;
  backface-visibility:hidden;
  transform:none;
}
.world-map.map-engine-active .map-viewport{isolation:isolate;transform-style:flat}
.world-map.map-engine-active:is(.dragging,.zooming,.camera-animating) .map-viewport{will-change:transform}
.world-map.map-engine-active :is(.map-marker-layer,.map-moving-marker-layer,.map-movement-layer,.map-road-layer){transform-origin:0 0;contain:layout style}
.world-map.map-engine-active.dragging .map-marker-layer,
.world-map.map-engine-active.dragging .map-movement-layer,
.world-map.map-engine-active.zooming .map-marker-layer,
.world-map.map-engine-active.zooming .map-movement-layer{transition:none!important}
.map-engine-builder{grid-template-columns:minmax(240px,1fr) 130px auto auto!important}
.map-engine-status{padding:5px 8px;border:1px solid var(--line);color:#8b948e;font-size:10px;font-style:normal;white-space:nowrap}
.map-engine-status.status-ready{border-color:rgba(90,174,126,.38);color:#83bd9b}
.map-engine-status.status-building{border-color:rgba(206,158,78,.4);color:#d2a65d}
.map-engine-status.status-failed{border-color:rgba(194,78,70,.42);color:#da8379}
@media(max-width:760px){.map-engine-builder{grid-template-columns:1fr!important}.map-engine-status{width:max-content;max-width:100%}}
@media(prefers-reduced-motion:reduce){.title-ladder{scroll-behavior:auto}.title-rank-card,.dynasty-trait{transition:none!important}}

/* Version 3.1.1: authoritative title gates and city-capacity affordances. */

.dynasty-marriage-candidate.unavailable{
  opacity: .68;
}

.dynasty-marriage-candidate .marriage-eligibility{
  display: block;
  margin-top: .3rem;
  color: var(--muted);
}

.dynasty-marriage-candidate.eligible .marriage-eligibility{
  color: var(--success);
}
.city-domain-header>span:last-child{display:inline-flex;align-items:center;min-height:26px;padding:3px 7px;border:1px solid rgba(92,153,124,.28);background:rgba(44,101,76,.1);color:#83b99c;font-variant-numeric:tabular-nums}.city-domain-header>span.capacity-full{border-color:rgba(208,96,84,.4);background:rgba(126,43,37,.13);color:#dc766c}
.requirement.title-gate,.requirement.city-capacity{min-width:0;max-width:100%;font-size:10px}.requirement.title-gate>.ui-icon,.requirement.city-capacity>.ui-icon{flex:0 0 auto;width:16px;height:16px}.requirement.title-gate span,.requirement.city-capacity span{white-space:nowrap}.requirement.title-gate b,.requirement.city-capacity b{overflow:hidden;min-width:0;color:inherit;text-overflow:ellipsis;white-space:nowrap}.requirement.title-gate.met{border-color:rgba(196,150,75,.38);background:rgba(144,98,36,.09);color:#d0ab68}
.recruit-title-requirement{margin:7px 0 1px}.recruit-preview .recruit-title-requirement .requirement{margin:0}.title-lock-warning{color:#d39a5f}.inspector-capacity{margin:9px 0}.inspector-capacity .requirement{width:100%;justify-content:flex-start}
@media(max-width:520px){.requirement.title-gate,.requirement.city-capacity{width:100%}.city-domain-header>span:last-child{min-height:24px}}

/* Keep the longest translated recruitment requirements inside the same-size
   phone cards instead of letting title-gated companies overlap the next row. */
@media(max-width:430px){.recruit-unit-grid{grid-auto-rows:448px!important}.recruit-unit-card{min-height:448px!important}}

/* v3.1.2 court petitions and a wider protected-storage ledger. */
.undercroft-modal{width:min(980px,calc(100vw - 24px))!important}.undercroft-modal .special-storage-ledger{min-width:0}.undercroft-modal .special-resource-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}

/* Compact authoritative population and Undercroft ledgers. */
.resource-chip.population-resource{appearance:none;cursor:pointer;text-align:left}.resource-chip.population-resource:hover,.resource-chip.population-resource:focus-visible{border-color:rgba(206,161,86,.58);background:rgba(198,148,76,.1);outline:0}
.population-ledger-modal{width:min(760px,calc(100vw - 20px))!important}.population-ledger-summary{display:grid;grid-template-columns:minmax(170px,.45fr) minmax(0,1fr);align-items:center;gap:14px;padding:14px;border:1px solid rgba(193,145,76,.34);background:linear-gradient(115deg,rgba(91,62,30,.16),rgba(0,0,0,.13))}.population-ledger-summary>span{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:2px 9px}.population-ledger-summary .ui-icon{grid-row:1/3;width:32px;height:32px;color:#d1a357}.population-ledger-summary b{color:#e2c88e;font:600 21px Georgia,serif}.population-ledger-summary small,.population-ledger-summary p{margin:0;color:#96a099;font-size:10px;line-height:1.5}.population-unit-ledger{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.population-unit-row{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:9px;border:1px solid rgba(111,128,116,.25);background:rgba(0,0,0,.13)}.population-unit-art{width:58px;height:58px;background-size:contain!important}.population-unit-row>div{display:grid;gap:2px;min-width:0}.population-unit-row>div>small{color:#8b958f;font-size:10px}.population-unit-row>div>b{overflow:hidden;color:#d6c8ab;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.population-unit-row>div>span{display:flex;flex-wrap:wrap;gap:3px 8px;color:#89958e;font-size:10px}.population-unit-row>div>span b{color:#b9c6bd}.population-unit-row>strong{display:grid;color:#d8aa5d;font:600 20px Georgia,serif;text-align:right}.population-unit-row>strong small{color:#849088;font:700 10px Arial,sans-serif;white-space:nowrap}
.undercroft-modal{width:min(860px,calc(100vw - 20px))!important}.undercroft-modal .special-storage-ledger{margin-bottom:10px}.undercroft-modal .special-storage-ledger>header{padding:10px 12px}.undercroft-modal .special-storage-ledger>header .ui-icon{width:25px;height:25px}.undercroft-modal .special-storage-ledger h3{font-size:17px}.undercroft-modal .special-storage-ledger>header>strong{font-size:20px}.undercroft-modal .special-resource-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:8px}.undercroft-modal .special-resource-card{grid-template-columns:38px minmax(0,1fr);min-height:58px;gap:7px;padding:7px}.undercroft-modal .special-resource-card .special-resource-art{width:38px;height:38px}.undercroft-modal .special-resource-card b{font-size:16px}.undercroft-modal .special-storage-ledger>footer{padding:8px 10px}
@media(max-width:760px){.population-ledger-summary{grid-template-columns:1fr}.population-unit-ledger{grid-template-columns:1fr}.undercroft-modal .special-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.undercroft-modal .special-storage-ledger>header>span>span>p,.undercroft-modal .special-storage-ledger>footer span small{display:none}}
@media(min-width:521px) and (max-width:760px){.undercroft-modal .special-resource-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.undercroft-modal .special-resource-card{grid-template-columns:32px minmax(0,1fr);min-height:52px;padding:6px}.undercroft-modal .special-resource-card .special-resource-art{width:32px;height:32px}}

/* Regent quality uses the same rarity language as heroes and relics while
   keeping the optional family bonuses deliberately restrained. */
.dynasty-quality{display:inline-flex;align-items:center;gap:5px;width:max-content;max-width:100%;padding:3px 7px;border:1px solid color-mix(in srgb,currentColor 38%,transparent);background:rgba(0,0,0,.2);font-size:10px;line-height:1}.dynasty-quality .ui-icon{width:13px;height:13px}.dynasty-quality b{font-size:10px}.dynasty-quality small{padding-left:5px;border-left:1px solid currentColor;color:inherit;font-size:10px;opacity:.72}.dynasty-quality.rarity-ordinary{color:#a8aaa8}.dynasty-quality.rarity-unusual{color:#73bf83}.dynasty-quality.rarity-rare{color:#6da7de}.dynasty-quality.rarity-epic{color:#b287dc}.dynasty-quality.rarity-legendary{color:#dcad55}.dynasty-quality.rarity-mythical{color:#b94b4d}.dynasty-person,.regent-dossier,.npc-relation-card{position:relative}.dynasty-person.rarity-unusual,.regent-dossier.rarity-unusual{box-shadow:inset 2px 0 rgba(91,176,111,.48)}.dynasty-person.rarity-rare,.regent-dossier.rarity-rare{box-shadow:inset 2px 0 rgba(91,146,205,.55)}.dynasty-person.rarity-epic,.regent-dossier.rarity-epic{box-shadow:inset 2px 0 rgba(160,104,207,.6),0 0 14px rgba(160,104,207,.08)}.dynasty-person.rarity-legendary,.regent-dossier.rarity-legendary{box-shadow:inset 2px 0 rgba(215,157,57,.7),0 0 16px rgba(215,157,57,.1)}.dynasty-person.rarity-mythical,.regent-dossier.rarity-mythical{box-shadow:inset 2px 0 rgba(149,43,49,.85),0 0 18px rgba(149,43,49,.13)}
.npc-active-request{display:grid;gap:8px;padding:9px;border:1px solid rgba(208,158,72,.38);background:linear-gradient(120deg,rgba(128,82,26,.15),rgba(4,10,11,.4))}.npc-active-request>header{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:7px;align-items:center}.npc-active-request>header>.ui-icon{width:25px;height:25px;color:#d1a154}.npc-active-request>header>span{display:grid;gap:1px}.npc-active-request>header time{color:#d2ad68;font-size:10px}.npc-active-request>div{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:7px;color:#9aa198;font-size:10px}.npc-active-request>div>span,.npc-active-request>div>strong{display:flex;align-items:center;gap:4px}.npc-active-request>div .resource-glyph,.npc-active-request>div .ui-icon{width:19px;height:19px}.npc-active-request>div>strong{color:#d0aa64}.npc-active-request>.btn{width:100%}.npc-active-request.reserved{opacity:.66}.npc-active-request>p{margin:0!important;color:#8b918c!important;font-size:10px!important}
.npc-request-form{display:grid;gap:14px}.npc-request-form>header{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px;border:1px solid var(--line);background:rgba(0,0,0,.14)}.npc-request-form>header>.ui-icon{width:34px;height:34px;color:#c99950}.npc-request-form>header>span{display:grid;gap:2px}.npc-request-form>header small{color:#858d87;font-size:10px;text-transform:uppercase}.npc-request-form>header b{color:#d0c3aa}.npc-request-form>header>strong{display:flex;align-items:center;gap:5px;color:#d4aa5d;white-space:nowrap}.npc-request-form>header>strong>.ui-icon{width:20px;height:20px}.npc-request-unit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:330px;overflow:auto}.npc-request-unit-grid>label{display:grid;grid-template-columns:50px minmax(0,1fr) 72px;gap:8px;align-items:center;padding:7px;border:1px solid var(--line);background:rgba(5,10,11,.28)}.npc-request-unit-art{width:50px!important;height:50px!important;background-size:contain!important;background-repeat:no-repeat!important}.npc-request-unit-grid>label>span{display:grid;gap:2px}.npc-request-unit-grid small{color:#7d8580;font-size:10px}.npc-request-unit-grid input{min-width:0}.npc-request-cargo{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid var(--line)}.npc-request-cargo>span{display:flex;align-items:center;gap:5px;color:#9c9d91}.npc-request-cargo .ui-icon{width:20px;height:20px}
@media(max-width:620px){.undercroft-modal{width:calc(100vw - 10px)!important}.npc-request-form>header{grid-template-columns:32px minmax(0,1fr)}.npc-request-form>header>strong{grid-column:1/-1}.npc-request-unit-grid{grid-template-columns:1fr}.npc-request-cargo{align-items:flex-start;flex-direction:column}}

/* v3.1.2 compact illustrated NPC market audience. */
.npc-partner-picker{min-width:0;margin:0;padding:0;border:0}.npc-partner-picker>legend{display:flex;align-items:baseline;justify-content:space-between;width:100%;margin-bottom:6px;color:#aa9a7b;font-size:11px;font-weight:700}.npc-partner-picker>legend small{color:#737d77;font-size:10px;font-weight:500}.npc-partner-picker>div{display:grid;gap:5px;max-height:246px;padding-right:3px;overflow:auto;overscroll-behavior:contain;scrollbar-color:#705735 #11191a}.npc-partner-option{position:relative;display:grid!important;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:68px;margin:0!important;padding:6px 8px!important;border:1px solid rgba(118,130,122,.2);background:linear-gradient(105deg,rgba(17,27,28,.9),rgba(5,11,12,.76));cursor:pointer;transition:border-color .16s ease,background .16s ease}.npc-partner-option:hover{border-color:rgba(196,150,75,.4);background:linear-gradient(105deg,rgba(89,64,29,.15),rgba(5,11,12,.8))}.npc-partner-option.selected{border-color:rgba(218,169,84,.65);box-shadow:inset 3px 0 #c58d3e}.npc-partner-option>input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.npc-partner-option-art{display:grid;place-items:center;width:56px;height:56px;overflow:hidden}.npc-market-poi-art{width:56px!important;height:56px!important;background-position:center!important;background-size:contain!important;background-repeat:no-repeat!important;filter:drop-shadow(0 4px 4px rgba(0,0,0,.45))}.npc-partner-option-copy{display:grid;gap:4px;min-width:0}.npc-partner-option-copy>b{overflow:hidden;color:#d4c7ad;font:500 13px Georgia,serif;text-overflow:ellipsis;white-space:nowrap}.npc-partner-option-copy>small{display:flex;align-items:center;gap:5px;color:#8e978f;font-size:10px}.npc-partner-option-copy .resource-glyph{width:22px;height:22px}.npc-partner-option-time{display:grid;grid-template-columns:18px auto;grid-template-rows:auto auto;align-items:center;gap:1px 5px;text-align:right}.npc-partner-option-time>.ui-icon{grid-row:1/3;width:18px;height:18px;color:#bb8c49}.npc-partner-option-time>b{color:#d7b66f;font-size:11px}.npc-partner-option-time>small{color:#747d77;font-size:10px}.npc-partner-picker.empty{display:flex;align-items:center;gap:8px;padding:12px;border:1px dashed var(--line);color:#818a84;font-size:10px}.npc-partner-picker.empty>.ui-icon{width:24px;height:24px}.npc-partner-picker[disabled]{opacity:.58;pointer-events:none}
.exchange-wheel>.npc-partner-summary{margin-top:2px}.exchange-wheel>.npc-daily-ledger{grid-template-columns:28px minmax(0,1fr) auto}.exchange-wheel>.npc-daily-ledger>.ui-icon{width:25px;height:25px}
@media(max-width:480px){.npc-partner-picker>legend{align-items:flex-start;flex-direction:column;gap:2px}.npc-partner-option{grid-template-columns:50px minmax(0,1fr)}.npc-partner-option-art,.npc-market-poi-art{width:48px!important;height:48px!important}.npc-partner-option-time{grid-column:2;display:flex;text-align:left}.npc-partner-option-time>.ui-icon{width:15px;height:15px}.exchange-wheel>.npc-daily-ledger{grid-template-columns:24px minmax(0,1fr)}.exchange-wheel>.npc-daily-ledger>time{grid-column:2;text-align:left}}

.npc-aid-report-hero{display:grid;grid-template-columns:74px minmax(0,1fr) auto;gap:13px;align-items:center;margin:12px 0;padding:13px;border:1px solid rgba(199,146,79,.28);background:linear-gradient(110deg,rgba(36,54,50,.72),rgba(10,17,18,.88))}.npc-aid-report-art{width:70px!important;height:70px!important}.npc-aid-report-hero>span{display:grid;gap:3px;min-width:0}.npc-aid-report-hero small,.npc-aid-delivery>small{color:#8d948d;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.npc-aid-report-hero h2{margin:0;color:#d7c9ac;font:500 20px Georgia,serif}.npc-aid-report-hero p{margin:0;color:#929a93;font-size:12px;line-height:1.5}.npc-aid-report-hero>strong{display:flex;align-items:center;gap:5px;color:#d9ad5e;white-space:nowrap}.npc-aid-report-hero>strong>.ui-icon{width:24px;height:24px}.npc-aid-delivery{display:grid;gap:8px;padding:12px;border:1px solid var(--line);background:rgba(0,0,0,.12)}
@media(max-width:560px){.npc-aid-report-hero{grid-template-columns:58px minmax(0,1fr)}.npc-aid-report-art{width:56px!important;height:56px!important}.npc-aid-report-hero>strong{grid-column:1/-1}.npc-aid-report-hero h2{font-size:17px}}
.admin-special-poi-tool{display:grid;grid-template-columns:minmax(220px,1fr) minmax(130px,180px) auto;align-items:end;gap:10px;padding:11px;border:1px solid rgba(128,158,137,.28);background:linear-gradient(100deg,rgba(43,91,68,.1),rgba(4,10,11,.28))}.admin-special-poi-tool>span{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px}.admin-special-poi-tool>span>.ui-icon{width:28px;height:28px;color:#79ae8e}.admin-special-poi-tool>span>span{display:grid;gap:2px}.admin-special-poi-tool b{color:#b9c7ba;font-size:11px}.admin-special-poi-tool small{color:#7e8982;font-size:10px;line-height:1.4}.admin-special-poi-tool label{margin:0!important}.admin-special-poi-tool .btn{min-height:39px}@media(max-width:720px){.admin-special-poi-tool{grid-template-columns:1fr}.admin-special-poi-tool .btn{width:100%}}

/* v3.1.4 viewport-first world map, semantic movements, and court QoL. */
body:has(.world-map-view){height:100dvh;overflow:hidden}
body:has(.world-map-view) .main-content{height:calc(100dvh - var(--topbar));min-height:0;padding-bottom:20px;overflow:hidden}
body:has(.world-map-view) #viewRoot{height:100%;min-height:0}
.world-map-view{
  display:grid;
  grid-template-rows:auto auto auto minmax(0,1fr);
  height:100%;
  min-height:0;
  overflow:hidden;
}
.world-map-view>.view-header{align-items:center;margin-bottom:8px}
.world-map-view>.view-header .view-title>p:last-child{margin-top:3px;line-height:1.35}
.world-map-view>.map-style-switch,.world-map-view>.map-filter-switch{min-height:34px;margin:0 0 6px}
.world-map-view>.map-layout{height:100%!important;min-height:0!important}
.world-map-view .map-shell{height:100%!important;min-height:0!important;aspect-ratio:auto!important}
.map-layout:fullscreen,.map-layout.map-fullscreen-fallback{
  position:fixed!important;
  z-index:999!important;
  inset:0!important;
  display:block!important;
  width:100vw!important;
  height:100dvh!important;
  padding-top:48px!important;
  border:0!important;
  background:#081012!important;
}
.map-layout:fullscreen .map-shell,.map-layout.map-fullscreen-fallback .map-shell{width:100%!important;height:100%!important;min-height:0!important;aspect-ratio:auto!important}
body.map-fullscreen-open{overflow:hidden!important}
.map-fullscreen-toggle{position:relative}
.map-fullscreen-toggle::before,.map-fullscreen-toggle::after{position:absolute;inset:5px;border-color:#c79a52;border-style:solid;content:"";pointer-events:none}
.map-fullscreen-toggle::before{border-width:1px 0 0 1px}.map-fullscreen-toggle::after{border-width:0 1px 1px 0}
.map-fullscreen-toggle.active{border-color:#d8ad64;color:#e7c477;background:rgba(157,105,39,.22)}

/* Unframed radiance identifies rare production strongholds and world bosses. */
.map-marker.god_shrine:not(.cargo-route-marker){
  width:calc(70.2px * var(--map-marker-zoom,1));
  height:calc(70.2px * var(--map-marker-zoom,1));
  min-width:30.6px;
  min-height:30.6px;
}
.map-marker.special-production-poi>.map-target-core{
  filter:drop-shadow(0 0 3px rgba(246,204,111,.42)) drop-shadow(0 0 7px rgba(204,137,38,.24));
}
.map-marker.aura-own>.map-target-core{filter:drop-shadow(0 0 3px rgba(91,226,137,.62)) drop-shadow(0 0 9px rgba(40,170,91,.38))}
.map-marker.aura-friendly>.map-target-core{filter:drop-shadow(0 0 3px rgba(80,222,216,.62)) drop-shadow(0 0 9px rgba(38,166,169,.36))}
.map-marker.aura-war>.map-target-core{filter:drop-shadow(0 0 3px rgba(255,126,117,.62)) drop-shadow(0 0 9px rgba(211,75,70,.35))}
.map-marker.aura-new>.map-target-core{filter:drop-shadow(0 0 3px rgba(188,194,192,.52)) drop-shadow(0 0 8px rgba(116,126,125,.3))}
.map-marker.special-production-poi .map-target-core::before{display:none!important}
.map-marker.site:is(.season_monster,.sea_monster)>.map-target-core{
  filter:drop-shadow(0 0 2px rgba(137,7,34,.5)) drop-shadow(0 0 6px rgba(74,0,18,.28));
}
.map-marker.site:is(.season_monster,.sea_monster) .map-target-core::before{display:none!important}

/* Player seats grow with score while retaining one immutable world anchor. */
.map-marker.player-city-progress.city-progress-tier-1{width:calc(108px * var(--map-marker-zoom,1));height:calc(108px * var(--map-marker-zoom,1))}
.map-marker.player-city-progress.city-progress-tier-2{width:calc(120px * var(--map-marker-zoom,1));height:calc(120px * var(--map-marker-zoom,1))}
.map-marker.player-city-progress.city-progress-tier-3{width:calc(132px * var(--map-marker-zoom,1));height:calc(132px * var(--map-marker-zoom,1))}
.map-marker.player-city-progress.city-progress-tier-4{width:calc(146px * var(--map-marker-zoom,1));height:calc(146px * var(--map-marker-zoom,1))}
.map-marker.player-city-progress.city-progress-tier-5{width:calc(160px * var(--map-marker-zoom,1));height:calc(160px * var(--map-marker-zoom,1))}
.map-marker.player-city-progress+.map-label{transform:translate(-50%,calc(84px * var(--map-marker-zoom,1) + 7px))}

/* Movement symbols describe intent at a glance and never inherit a round badge. */
.map-marker.cargo-route-marker{width:44px!important;height:44px!important}
.map-marker.cargo-route-marker .map-movement-art{width:48px!important;height:48px!important}
.movement-art-ui{background-size:72%!important;filter:drop-shadow(0 2px 1px rgba(0,0,0,.9)) drop-shadow(0 0 4px currentColor)!important}
.movement-art-unit{background-size:contain!important;transform:scale(1.14);transform-origin:center}
.movement-art-attack,.movement-art-incoming,.movement-art-raid,.movement-art-conquer,.movement-art-naval{color:#df7468}
.movement-art-support,.movement-art-troop-donation{color:#79b99b}
.movement-art-trade,.movement-art-donation,.movement-art-collect{color:#dab366}
.movement-art-scout,.movement-art-spy-movement{color:#74afbd}

/* Native, keyboard-friendly NPC partner combobox with a live illustrated dossier. */
.npc-partner-combobox{display:grid!important;gap:6px}
.npc-partner-picker-group{display:grid;gap:7px;min-width:0}
.npc-partner-combobox>span{display:flex;align-items:baseline;justify-content:space-between;gap:10px;color:#aa9a7b;font-size:11px;font-weight:700}
.npc-partner-combobox>span small{color:#737d77;font-size:10px;font-weight:500}
.npc-partner-select-shell{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr) 22px;align-items:center;gap:9px;min-height:68px;padding:5px 9px;border:1px solid rgba(196,150,75,.34);background:linear-gradient(105deg,rgba(35,45,42,.94),rgba(6,12,13,.88))}
.npc-partner-select-shell:focus-within{border-color:#d2a55c;box-shadow:inset 3px 0 #c58d3e}
.npc-market-select-art{width:56px!important;height:56px!important;background-position:center!important;background-size:contain!important;background-repeat:no-repeat!important;filter:drop-shadow(0 4px 4px rgba(0,0,0,.45))}
.npc-partner-select-shell select{width:100%;height:46px;min-width:0;padding:0 10px;border:0;background:#101819;color:#dac9a7;font:500 12px Georgia,serif;cursor:pointer}
.npc-partner-select-shell>.ui-icon{width:18px;height:18px;color:#c5964f;pointer-events:none}
.npc-partner-picker.empty.loading>span,.npc-partner-picker.empty>span{display:grid;gap:2px;min-width:0}.npc-partner-picker.empty span small{color:#68756f;font-size:9px;line-height:1.35}.npc-partner-picker.empty progress{flex:1;min-width:64px;height:5px;accent-color:#b98640}
.npc-partner-scan-status{display:grid;grid-template-columns:20px minmax(0,1fr) minmax(70px,120px);align-items:center;gap:7px;padding:7px 9px;border:1px solid rgba(105,132,117,.24);background:rgba(5,13,13,.48);color:#82928a}.npc-partner-scan-status>.ui-icon{width:18px;height:18px;color:#b98e4d}.npc-partner-scan-status>span{display:grid;gap:1px;min-width:0}.npc-partner-scan-status b{color:#aeb9b0;font-size:10px;font-weight:600}.npc-partner-scan-status small{overflow:hidden;color:#718078;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.npc-partner-scan-status progress{width:100%;height:5px;accent-color:#b98640}.npc-partner-scan-status.error{grid-template-columns:20px minmax(0,1fr) auto;border-color:rgba(169,91,74,.34)}.npc-partner-scan-status.error>.ui-icon{color:#bd765e}

.dynasty-header-actions{display:flex;align-items:stretch;gap:8px}.dynasty-header-actions>.btn{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:7px;text-align:left}.dynasty-header-actions>.btn>.ui-icon{grid-row:1/3;width:22px;height:22px}.dynasty-header-actions>.btn>span{display:grid}.dynasty-header-actions>.btn small{color:#827762;font-size:10px}.dynasty-header-actions>.btn b{max-width:190px;overflow:hidden;color:#d4c4a3;font:500 13px Georgia,serif;text-overflow:ellipsis;white-space:nowrap}.dynasty-house-name-form{display:grid;gap:13px}.dynasty-house-name-form>p{margin:0!important}

@media(max-width:760px){
  body:has(.world-map-view) .main-content{height:calc(100dvh - var(--topbar) - 68px);padding-top:8px;padding-bottom:8px}
  .world-map-view{position:relative;display:block;height:100%}
  .world-map-view>.view-header{display:none}
  .world-map-view>.map-style-switch,.world-map-view>.map-filter-switch{position:absolute;z-index:31;left:5px;min-height:30px;margin:0;background:rgba(7,13,14,.84);backdrop-filter:blur(8px)}
  .world-map-view>.map-style-switch{top:5px;right:132px}.world-map-view>.map-filter-switch{top:39px;right:5px}
  .world-map-view>.map-layout{height:100%!important;padding-top:0!important}
  .world-map-view .map-panel-toggles{z-index:32;top:5px}
  .world-map-view .map-marker.player-city-progress{min-width:51.52px;min-height:51.52px}
  .world-map-view .map-marker.player-city-progress.city-progress-tier-1{width:calc(88px * var(--map-marker-zoom,1));height:calc(88px * var(--map-marker-zoom,1))}
  .world-map-view .map-marker.player-city-progress.city-progress-tier-2{width:calc(98px * var(--map-marker-zoom,1));height:calc(98px * var(--map-marker-zoom,1))}
  .world-map-view .map-marker.player-city-progress.city-progress-tier-3{width:calc(108px * var(--map-marker-zoom,1));height:calc(108px * var(--map-marker-zoom,1))}
  .world-map-view .map-marker.player-city-progress.city-progress-tier-4{width:calc(120px * var(--map-marker-zoom,1));height:calc(120px * var(--map-marker-zoom,1))}
  .world-map-view .map-marker.player-city-progress.city-progress-tier-5{width:calc(132px * var(--map-marker-zoom,1));height:calc(132px * var(--map-marker-zoom,1))}
  .world-map-view .map-marker.player-city-progress+.map-label{transform:translate(-50%,calc(70px * var(--map-marker-zoom,1) + 7px))}
  .world-map-view .map-shell:not(.navigation-hidden) .map-navigation{top:76px}
  .npc-partner-combobox>span{align-items:flex-start;flex-direction:column;gap:2px}
  .npc-partner-select-shell{grid-template-columns:48px minmax(0,1fr) 18px;min-height:58px;padding:4px 7px}.npc-market-select-art{width:46px!important;height:46px!important}
  .dynasty-header-actions{width:100%;flex-wrap:wrap}.dynasty-header-actions>.btn{flex:1}.dynasty-header-actions>.honor-balance{flex:0 0 auto}
}

/* v3.1.4 command polish, lighter map compositing, and compact realm ledgers. */
.resource-chip.population-resource{
  appearance:none;
  border:0;
  border-right:1px solid var(--line);
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:inherit;
  font:inherit;
  letter-spacing:inherit;
  cursor:pointer;
}
.resource-chip.population-resource:hover{background:rgba(255,255,255,.018)}
.resource-chip.population-resource:focus-visible{outline:1px solid rgba(206,161,86,.54);outline-offset:-3px}
.population-ledger-link{appearance:none;font:inherit}

/* Player-city art remains progressive, but is eight percent less dominant. */
.map-marker.player-city-progress.city-progress-tier-1{width:calc(99.36px * var(--map-marker-zoom,1));height:calc(99.36px * var(--map-marker-zoom,1))}
.map-marker.player-city-progress.city-progress-tier-2{width:calc(110.4px * var(--map-marker-zoom,1));height:calc(110.4px * var(--map-marker-zoom,1))}
.map-marker.player-city-progress.city-progress-tier-3{width:calc(121.44px * var(--map-marker-zoom,1));height:calc(121.44px * var(--map-marker-zoom,1))}
.map-marker.player-city-progress.city-progress-tier-4{width:calc(134.32px * var(--map-marker-zoom,1));height:calc(134.32px * var(--map-marker-zoom,1))}
.map-marker.player-city-progress.city-progress-tier-5{width:calc(147.2px * var(--map-marker-zoom,1));height:calc(147.2px * var(--map-marker-zoom,1))}
.map-marker.player-city-progress+.map-label{transform:translate(-50%,calc(77.28px * var(--map-marker-zoom,1) + 7px))}

.npc-exchange-wheel{gap:10px;padding:14px}
.npc-exchange-wheel>.npc-partner-summary{display:grid;grid-template-columns:1fr;gap:7px;margin:0;padding:8px 10px}
.npc-exchange-wheel .npc-partner-facts{grid-column:auto;padding:0;border:0}
.npc-exchange-wheel .npc-production-profile{grid-column:auto;grid-template-columns:108px minmax(0,1fr);gap:7px;padding-top:7px}
.npc-exchange-wheel .npc-production-profile>div{gap:3px}
.npc-exchange-pair{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);align-items:end;gap:7px}
.npc-exchange-pair>.exchange-arrow{width:32px;height:48px;margin:0;transform:none}
.npc-trade-volume{display:grid!important;gap:6px;margin:0!important}.npc-trade-volume>span{color:#a89a7e;font-size:11px;font-weight:700}.npc-trade-volume input{height:44px}
.npc-load-ledger{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:48px;padding:8px 10px;border:1px solid rgba(91,155,136,.34);background:rgba(48,112,87,.09);color:#82bc9f}
.npc-load-ledger.missing{border-color:rgba(204,91,78,.34);background:rgba(125,43,36,.08);color:#d27469}.npc-load-ledger>.ui-icon{width:26px;height:26px}.npc-load-ledger>span{display:flex;align-items:baseline;gap:5px}.npc-load-ledger b{color:currentColor;font-size:14px;font-variant-numeric:tabular-nums}.npc-load-ledger small{color:#84908a;font-size:10px}.npc-load-ledger strong{color:#c7b896;font-size:11px;font-weight:600;white-space:nowrap}
.npc-exchange-wheel>.rate-preview{margin:0;padding:9px 10px}.npc-exchange-wheel>.btn.wide{margin-top:0}

.marriage-proposal{grid-template-columns:54px minmax(0,1fr) auto;gap:9px;min-height:70px;padding:7px 8px;background:linear-gradient(105deg,rgba(89,60,24,.11),rgba(5,11,12,.42))}
.marriage-proposal.incoming{border-color:rgba(106,172,139,.34);background:linear-gradient(105deg,rgba(45,104,78,.12),rgba(5,11,12,.42))}
.marriage-proposal-portrait{display:grid;place-items:center;width:52px;height:62px;overflow:hidden;border:1px solid rgba(181,142,79,.25);background:rgba(0,0,0,.18)}
.marriage-proposal-portrait>.ui-icon{width:29px;height:29px;color:#b69154}.marriage-proposal-art{width:52px!important;height:62px!important;background-size:contain!important;background-position:center bottom!important}
.marriage-proposal-copy{display:grid;align-content:center;gap:2px;min-width:0}.marriage-proposal-copy>small{color:#9e8458;font-size:10px;text-transform:uppercase}.marriage-proposal-copy>b{overflow:hidden;color:#dacbad;font:500 14px Georgia,serif;text-overflow:ellipsis;white-space:nowrap}.marriage-proposal-copy>span{display:flex;align-items:center;gap:5px;min-width:0;color:#818b84;font-size:10px}.marriage-proposal-copy>span>.ui-icon{width:15px;height:15px}.marriage-proposal-copy button{overflow:hidden;padding:0;border:0;background:transparent;color:#a9b9ae;font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.marriage-proposal-copy button:hover{color:#d0ad6b}.marriage-proposal-meta{flex-wrap:wrap}.marriage-proposal-meta .dynasty-quality-badge{padding:2px 4px}.marriage-proposal-meta em{font-style:normal}.marriage-proposal-actions{display:flex!important;grid-column:auto!important;gap:5px;align-items:center}.marriage-proposal-actions>.btn{min-width:72px}

.map-inspector-scroll{box-sizing:border-box;padding-bottom:max(24px,env(safe-area-inset-bottom));scroll-padding-bottom:24px}
.map-inspector-frame{min-height:0;max-height:min(520px,calc(100dvh - 150px))}
.map-inspector-content{scroll-padding-bottom:12px}
.spot-inspector-frame{height:auto;max-height:min(430px,calc(100dvh - 110px))}
.spot-inspector-content{max-height:min(350px,calc(100dvh - 185px));padding:12px 14px 8px}
.spot-inspector-heading{display:grid;grid-template-columns:50px minmax(0,1fr);align-items:center;gap:10px;padding:0 34px 10px 0;border-bottom:1px solid var(--line)}
.spot-inspector-heading>.inspector-icon.spot{width:46px;height:46px;margin:0}.spot-inspector-heading>.inspector-icon.spot>.ui-icon{width:25px;height:25px}.spot-inspector-heading>span{display:grid;gap:2px;min-width:0}.spot-inspector-heading h2{margin:0;font-size:20px}.spot-inspector-heading em{color:#858f88;font-size:10px;font-style:normal}.spot-inspector-details{padding-top:8px}.spot-inspector-details>.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.spot-inspector-details .stat-box{padding:7px}.spot-inspector-details .settlement-terrain-bonuses{gap:4px;margin:6px 0}.spot-inspector-details .settlement-terrain-bonuses>span{padding:4px 6px}.spot-inspector-details .inspector-capacity{margin:6px 0}.spot-inspector-details .terrain-note{margin:6px 0 0}.spot-inspector-frame>.map-inspector-footer{padding:8px 10px 10px}

.world-map:is(.dragging,.zooming,.camera-animating) :is(.map-marker,.map-label){transition:none!important}
.map-viewport{transform:none;perspective:none}

.mission-special-chances{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.mission-special-chances>span{display:inline-flex;align-items:center;gap:4px;padding:4px 6px;border:1px solid rgba(100,168,133,.30);background:rgba(51,121,91,.08);color:#8bb9a1;font-size:10px}.mission-special-chances .ui-icon{width:15px;height:15px}.mission-special-chances b{color:#aad3bb}.hero-encounter-chance>.ui-icon{width:24px;height:24px;color:#9ec9ad}
.mission-reward-chances{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:6px;margin-top:8px}.mission-reward-chance{display:grid;grid-template-columns:28px minmax(0,1fr);gap:7px;align-items:center;min-width:0;padding:7px 9px;border:1px solid rgba(100,168,133,.28);background:linear-gradient(110deg,rgba(51,121,91,.10),rgba(4,12,13,.42));color:#9abdaa;font-size:10px}.mission-reward-chance>.ui-icon{width:28px;height:28px}.mission-reward-chance span{overflow-wrap:anywhere}.mission-reward-chance b{color:#c9dfd1;font-size:12px}.mission-reward-chance.compact{display:inline-grid;grid-template-columns:18px auto;width:auto;padding:4px 7px}.mission-reward-chance.compact>.ui-icon{width:18px;height:18px}.mission-special-chances>.mission-reward-chance{display:inline-grid}.mission-reward-chances.forecast{grid-column:1/-1;margin-top:10px}

@media(max-width:760px){
  .world-map-view .map-marker.player-city-progress.city-progress-tier-1{width:calc(80.96px * var(--map-marker-zoom,1));height:calc(80.96px * var(--map-marker-zoom,1))}
  .world-map-view .map-marker.player-city-progress.city-progress-tier-2{width:calc(90.16px * var(--map-marker-zoom,1));height:calc(90.16px * var(--map-marker-zoom,1))}
  .world-map-view .map-marker.player-city-progress.city-progress-tier-3{width:calc(99.36px * var(--map-marker-zoom,1));height:calc(99.36px * var(--map-marker-zoom,1))}
  .world-map-view .map-marker.player-city-progress.city-progress-tier-4{width:calc(110.4px * var(--map-marker-zoom,1));height:calc(110.4px * var(--map-marker-zoom,1))}
  .world-map-view .map-marker.player-city-progress.city-progress-tier-5{width:calc(121.44px * var(--map-marker-zoom,1));height:calc(121.44px * var(--map-marker-zoom,1))}
  .world-map-view .map-marker.player-city-progress+.map-label{transform:translate(-50%,calc(64.4px * var(--map-marker-zoom,1) + 7px))}
  .npc-exchange-pair{grid-template-columns:1fr}.npc-exchange-pair>.exchange-arrow{height:28px;margin:auto;transform:rotate(90deg)}
  .npc-load-ledger{grid-template-columns:25px minmax(0,1fr)}.npc-load-ledger>strong{grid-column:2;white-space:normal}.npc-exchange-wheel .npc-production-profile{grid-template-columns:1fr}
  .marriage-proposal{grid-template-columns:48px minmax(0,1fr)}.marriage-proposal-portrait,.marriage-proposal-art{width:46px!important;height:56px!important}.marriage-proposal-actions{grid-column:1/-1!important;justify-content:flex-end}.marriage-proposal-actions>.btn{flex:1}
  .spot-inspector-frame{height:auto!important;max-height:100%!important}.spot-inspector-content{max-height:calc(62dvh - 82px)}.spot-inspector-details>.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:390px){.spot-inspector-details>.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.spot-inspector-details>.stat-grid>.stat-box:last-child{grid-column:1/-1}}

/* v3.1.5: readable far-zoom POI stacks and one-line map commands. */
.map-marker-cluster{width:58px;height:50px;border:0;border-radius:0;background:none;box-shadow:none;color:#d5ad63;isolation:isolate}
.map-marker-cluster:hover{transform:translate(-50%,-50%) scale(1.08);filter:brightness(1.12)}
.map-cluster-art-stack{position:absolute;inset:0;display:block!important;filter:drop-shadow(0 5px 5px rgba(0,0,0,.72));pointer-events:none}
.map-cluster-art{position:absolute;top:6px;left:11px;display:block!important;width:36px;height:36px;transform-origin:center bottom}
.map-cluster-art.layer-1{z-index:3;transform:translateY(3px) scale(1.04)}
.map-cluster-art.layer-2{z-index:2;transform:translate(-10px,-3px) scale(.82);opacity:.88}
.map-cluster-art.layer-3{z-index:1;transform:translate(10px,-4px) scale(.78);opacity:.78}
.map-cluster-location-art{display:block!important;width:36px!important;height:36px!important;background-position:center!important;background-size:contain!important;background-repeat:no-repeat!important;clip-path:none!important;box-shadow:none!important}
.map-marker-cluster .map-marker-count{z-index:5;top:-2px;right:-2px;min-width:20px;height:20px;padding:0 5px;border-color:currentColor;background:#111b1d;color:inherit;font:700 10px/1 sans-serif;box-shadow:0 3px 8px rgba(0,0,0,.55)}
.map-marker-cluster.friendly{background:none;color:#86cdb4}.map-marker-cluster.hostile{background:none;color:#e4847c}.map-marker-cluster.neutral{background:none;color:#d5ad63}
.map-inspector-frame{grid-template-rows:minmax(0,1fr) max-content}
.map-inspector-footer.map-inspector-actions{max-width:100%}
@media(max-width:760px){.map-marker-cluster{width:54px;height:47px}.map-inspector-footer.map-inspector-actions>.btn{min-width:48px}}

/* Keep the inspector footer visible.
   Only .poi-inspector-details may shrink and scroll. */

@media (min-width: 761px){
  .map-inspector {
    /* Same visible size as before, but now it has a real height. */
    height: min(520px, calc(100% - 80px)) !important;
    max-height: none !important;
  }
}

.map-inspector .site-inspector-frame{
  width: 100%;
  max-width: none;
  min-width: 0;
  height: 100%;
}
.site-inspector-frame .map-inspector-content{
  scrollbar-gutter: auto !important;
}
.site-inspector-frame .poi-inspector-details{
  width: 100%;
  min-width: 0;
  padding-right: 0;

  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: auto;
}

/* Cancel the generic .map-inspector .btn margin. */
.site-inspector-frame
.map-inspector-footer.map-inspector-actions
> .btn{
  margin-top: 0;
}

/* v3.1.6: installable realm client, readable mobile ledgers{
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
}

.map-marker:not(.cargo-route-marker):not(.player-city-progress)+.map-label{
  transform:translate(-50%,calc(42px * var(--map-marker-zoom,1) + 3px));
}
.map-marker.player-city-progress+.map-label{
  transform:translate(-50%,calc(70px * var(--map-marker-zoom,1) + 3px));
}

.map-pin-panel{display:grid;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid rgba(199,146,79,.2)}
.map-pin-panel>header{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#c8aa70}
.map-pin-panel>header>span{display:flex;align-items:center;gap:6px;min-width:0}.map-pin-panel>header .ui-icon{width:17px;height:17px}.map-pin-panel>header b{font-size:11px}.map-pin-panel>header small{color:#707b75;font-size:10px}
.map-pin-list{display:grid;gap:4px;max-height:154px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.map-pin-list>p{margin:2px 0;color:#78827c;font-size:10px;line-height:1.45}
.map-pin-row{display:grid;grid-template-columns:minmax(0,1fr) 25px 25px;align-items:stretch;border:1px solid rgba(199,146,79,.15);background:rgba(0,0,0,.16)}
.map-pin-row.alliance-pin{border-color:rgba(90,166,136,.24);background:rgba(48,111,86,.08)}
.map-pin-row>button:first-child{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:6px;min-width:0;padding:5px 6px;border:0;background:transparent;color:#bcae91;text-align:left;cursor:pointer}
.map-pin-row>button:first-child:hover{background:rgba(199,146,79,.08);color:#e0c17d}.map-pin-row>button:first-child>.ui-icon{width:20px;height:20px;color:#ca9e53}.map-pin-row>button:first-child>span{display:grid;min-width:0}.map-pin-row b{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.map-pin-row small{color:#78827d;font-size:10px;white-space:nowrap}
.map-pin-remove{display:grid;place-items:center;padding:0;border:0;border-left:1px solid rgba(199,146,79,.12);background:transparent;color:#777f7a;cursor:pointer}.map-pin-remove:hover{background:rgba(164,66,58,.12);color:#d77a70}.map-pin-remove .ui-icon{width:14px;height:14px}
.map-pin-share{display:grid;place-items:center;padding:0;border:0;border-left:1px solid rgba(199,146,79,.12);background:transparent;color:#7d867f;cursor:pointer}.map-pin-share:hover,.map-pin-share.active{background:rgba(68,138,111,.13);color:#85c9ae}.map-pin-share .ui-icon{width:15px;height:15px}
.map-inspector-footer .map-pin-action{flex:0 1 auto;min-width:84px;padding:5px 8px}.map-inspector-footer .map-pin-action>span{position:static;width:auto;height:auto;overflow:visible;clip-path:none;white-space:nowrap}.map-inspector-footer .map-pin-action>.ui-icon{width:17px;height:17px}
.map-pin-marker{position:absolute;z-index:13;display:grid;place-items:center;width:25px;height:31px;padding:3px 3px 8px;border:1px solid rgba(229,185,96,.72);clip-path:polygon(50% 100%,5% 45%,11% 10%,89% 10%,95% 45%);transform:translate(-50%,-100%);background:linear-gradient(#283131,#111718);color:#e3b963;filter:drop-shadow(0 4px 4px rgba(0,0,0,.62));cursor:pointer}
.map-pin-marker:hover{z-index:20;filter:brightness(1.18) drop-shadow(0 5px 5px rgba(0,0,0,.72))}.map-pin-marker>.ui-icon{width:15px;height:15px}.map-pin-marker.alliance-pin{border-color:rgba(112,207,171,.78);color:#84d0b5}

.pwa-install-button{display:flex;align-items:center;gap:6px;height:36px;padding:0 11px;border:1px solid rgba(199,146,79,.34);background:rgba(199,146,79,.08);color:#d6b46d;font:inherit;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;cursor:pointer}.pwa-install-button:hover{background:rgba(199,146,79,.15)}.pwa-install-button>.ui-icon{width:18px;height:18px}.pwa-install-button[hidden]{display:none}
.pwa-settings-panel{max-width:920px;margin:18px 0}.pwa-settings-copy{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:14px}.pwa-settings-crest{display:grid;place-items:center;width:52px;height:52px;border:1px solid rgba(199,146,79,.3);background:rgba(199,146,79,.07)}.pwa-settings-crest>.ui-icon{width:34px;height:34px}.pwa-settings-copy h3,.pwa-install-guide h3{margin:0 0 3px;color:#d7c8a8;font:500 18px Georgia,serif}.pwa-settings-copy p,.pwa-install-guide p{margin:0;color:#89928c;font-size:12px}.pwa-install-guide{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:center}.pwa-install-guide>.ui-icon{width:42px;height:42px;color:#d1a356}

@media(max-width:760px){
  :root{--topbar:112px}
  .topbar{height:var(--topbar);align-items:flex-start;padding-bottom:44px}
  .topbar>.mobile-menu,.topbar>.city-picker,.topbar>.top-actions{height:68px;max-height:68px}
  .topbar>.resource-bar{position:absolute;z-index:2;right:0;bottom:0;left:0;display:flex;height:44px;min-width:0;overflow-x:auto;overflow-y:hidden;border-top:1px solid var(--line);background:rgba(9,15,17,.98);scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  .topbar>.resource-bar::-webkit-scrollbar{display:none}
  .topbar>.resource-bar>.resource-chip,
  .topbar>.resource-bar>.resource-chip[data-resource="essence"],
  .topbar>.resource-bar>.resource-chip.account-resource,
  .topbar>.resource-bar>.resource-chip.population-resource{
    display:flex!important;
    flex:0 0 auto!important;
    width:auto!important;
    min-width:68px!important;
    height:44px!important;
    gap:5px!important;
    padding:0 7px!important;
  }
  .topbar>.resource-bar .resource-glyph{width:21px!important;height:21px!important;min-width:21px!important}
  .topbar>.resource-bar .resource-chip b{font-size:10px!important;white-space:nowrap}
  .topbar>.resource-bar .resource-chip small{display:none!important}
  .topbar>.resource-bar .cap-line{height:2px}
  .map-marker.player-city-progress+.map-label{transform:translate(-50%,calc(58px * var(--map-marker-zoom,1) + 3px))}
  .map-navigation{max-height:calc(100% - 62px);overflow-y:auto;scrollbar-width:thin}
  .map-pin-list{max-height:112px}
  .map-pin-panel>header b{font-size:10px}.map-pin-row{grid-template-columns:minmax(0,1fr) 23px 23px}.map-pin-row>button:first-child{grid-template-columns:18px minmax(0,1fr);padding:4px}.map-pin-row>button:first-child>.ui-icon{width:17px;height:17px}
  .pwa-settings-copy{grid-template-columns:44px minmax(0,1fr)}.pwa-settings-crest{width:42px;height:42px}.pwa-settings-copy>.btn{grid-column:1/-1;width:100%}
}

@media(max-width:430px){
  .topbar>.resource-bar>.resource-chip,
  .topbar>.resource-bar>.resource-chip[data-resource="essence"],
  .topbar>.resource-bar>.resource-chip.account-resource,
  .topbar>.resource-bar>.resource-chip.population-resource{min-width:62px!important;padding-inline:5px!important}
  .landing-actions .world-status{display:none}.pwa-install-button>span:last-child{display:none}.pwa-install-button{width:36px;padding:0;justify-content:center}
}

/* v4.1 realm dispatches remain legible after their one-time popup is filed. */
.realm-announcement-entry{border-color:rgba(199,146,79,.3);background:linear-gradient(115deg,rgba(199,146,79,.06),rgba(8,15,17,.94))}
.realm-announcement-entry .announcement-rewards{margin-top:10px}
.realm-announcement-entry .announcement-rewards .reward-row{justify-content:flex-start}
.site-production-stat{margin:5px 0}.site-production-stat b{display:flex!important;align-items:center;gap:6px}.site-production-stat .resource-glyph,.site-production-stat .special-resource-art{width:24px;height:24px;flex:0 0 24px}
.spot-inspector-details>.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.terrain-travel-stat b{white-space:normal}.world-map,.map-viewport,.map-marker-layer,.map-label{-webkit-touch-callout:none;-webkit-user-select:none!important;user-select:none!important}.map-label{pointer-events:none}
@media(max-width:680px){}

/* v4.2.1: focused mission/spell workspaces and a stable, compact World Forge. */
.content-category-navigation.count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.content-category-navigation.count-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.spell-category-workspace{margin-bottom:18px}
.spell-category-workspace>header{grid-template-columns:72px minmax(0,1fr) minmax(104px,max-content);padding:14px 16px}
.spell-category-workspace>header>span:nth-child(2){min-width:0}
.spell-category-workspace>header .research-lore-progress{min-width:104px;align-self:center;justify-self:end;white-space:nowrap}
.spell-category-workspace>header .research-lore-progress b,.spell-category-workspace>header .research-lore-progress small{white-space:nowrap;word-break:normal;overflow-wrap:normal;line-height:1.25}
.spell-category-workspace>header h2{font-size:22px}
.spell-category-workspace>header p{max-width:760px;font-size:12px;line-height:1.5}
.spell-category-workspace>.spell-grid{margin:0;padding:12px}
.spell-category-workspace>.empty-state{min-height:180px;margin:0;padding:20px}

.admin-generator-group{display:grid;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:11px;border:1px solid rgba(199,146,79,.17);background:linear-gradient(120deg,rgba(199,146,79,.035),rgba(0,0,0,.12))}
.admin-generator-group>header,.admin-generator-group>legend{display:grid;grid-column:1/-1;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;padding:0 0 7px;border-bottom:1px solid rgba(199,146,79,.12)}
.admin-generator-group>header>.ui-icon,.admin-generator-group>legend>.ui-icon{width:25px;height:25px;color:#c5974d}.admin-generator-group>header>span,.admin-generator-group>legend>span{display:grid}.admin-generator-group>header b,.admin-generator-group>legend b{color:#cdbd9c;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.admin-generator-group>header small,.admin-generator-group>legend small{color:#7d8680;font-size:10px;line-height:1.35}.admin-generator-group>div{display:grid;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.admin-map-preview{position:relative}.admin-preview-fullscreen{position:absolute;z-index:4;top:8px;right:8px;background:rgba(8,13,14,.9);color:#d6ad61}.admin-map-preview:fullscreen{padding:22px;background:#0b1112;overflow:auto}.admin-map-preview:fullscreen .admin-map-canvas-wrap{max-width:min(94vw,1500px);margin:auto}.admin-map-preview:fullscreen canvas{width:100%;max-height:calc(100vh - 180px);object-fit:contain}
.admin-world-create .admin-create-note{display:flex;align-items:center;gap:8px;margin:0;padding:9px;border:1px solid rgba(199,146,79,.16);background:rgba(199,146,79,.04);color:#858e88;font-size:10px;line-height:1.45}.admin-create-note>.ui-icon{width:24px;height:24px;flex:0 0 auto;color:#c99d54}
.admin-world-create-options{border:1px solid rgba(199,146,79,.18);background:rgba(0,0,0,.13)}.admin-world-create-options>summary{display:grid;grid-template-columns:26px minmax(0,1fr) 18px;align-items:center;gap:8px;padding:10px;cursor:pointer;list-style:none}.admin-world-create-options>summary::-webkit-details-marker{display:none}.admin-world-create-options>summary>.ui-icon{width:24px;height:24px;color:#c99d54}.admin-world-create-options>summary>.ui-icon:last-child{width:16px;height:16px;transition:transform .18s}.admin-world-create-options[open]>summary>.ui-icon:last-child{transform:rotate(90deg)}.admin-world-create-options>summary>span{display:grid}.admin-world-create-options>summary b{color:#cdbd9c;font-size:11px;text-transform:uppercase;letter-spacing:.05em}.admin-world-create-options>summary small{color:#7d8680;font-size:10px}.admin-world-create-options>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;padding:0 10px 10px}.admin-world-create-options label{min-width:0}.admin-world-create-options label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-world-create-options input{min-width:0}

.founding-travel-ledger{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:8px 0}.founding-travel-ledger>span{display:grid;grid-template-columns:28px minmax(0,1fr);gap:1px 7px;align-items:center;padding:7px;border:1px solid rgba(199,146,79,.18);background:rgba(0,0,0,.15)}.founding-travel-ledger .ui-icon{grid-row:1/3;width:26px;height:26px;color:#caa052}.founding-travel-ledger small{color:#737c77;font-size:10px}.founding-travel-ledger b{color:#d0c3a7;font-size:12px}.founding-cancel-refund{margin-top:10px;border-color:rgba(82,164,126,.34)!important;background:rgba(44,116,82,.09)!important}

@media(max-width:1100px){.admin-world-create-options>div{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:880px){.content-category-navigation.count-3{grid-template-columns:1fr}.admin-generator-group,.admin-generator-group>div{grid-template-columns:1fr}.admin-world-create>.panel-inner{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-world-create-options>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.content-category-navigation.count-2{grid-template-columns:1fr}.content-category-navigation .research-lore-card{min-height:76px}.spell-category-workspace>header{grid-template-columns:52px minmax(0,1fr);padding:10px}.spell-category-workspace>header .research-lore-progress{grid-column:2;display:flex;min-width:0;justify-self:start;align-items:baseline;gap:8px}.spell-category-workspace>header .research-lore-emblem{width:50px;height:50px}.spell-category-workspace>header h2{font-size:19px}.spell-category-workspace>.spell-grid{padding:7px}.admin-world-create>.panel-inner{grid-template-columns:1fr}.admin-world-create-options>div{grid-template-columns:1fr}.founding-travel-ledger{grid-template-columns:1fr}}

/* v4.3.0 map projection polish: one dark-fantasy viewport treatment around the streamed world.
   Terrain detail stays on the worker canvas; these inexpensive, fixed layers
   add depth without moving independently from the authoritative camera. */
.world-map{
  isolation:isolate;
  background:
    radial-gradient(ellipse at 50% 42%,#192b2a 0,#101b1d 58%,#070d0f 100%);
  box-shadow:
    inset 0 0 0 1px rgba(222,190,124,.16),
    inset 0 0 0 5px rgba(3,8,9,.72),
    inset 0 0 120px rgba(0,4,5,.8);
}
.world-map .map-viewport{background:#0b1719;transform:none;filter:none!important;opacity:1!important}
.world-map.map-engine-active .map-viewport>#mapCanvas{
  filter:none!important;
  opacity:1!important;
  image-rendering:auto;
}
.world-map::before{
  z-index:8;
  background:
    radial-gradient(ellipse at center,transparent 52%,rgba(1,5,6,.22) 77%,rgba(0,3,4,.58) 100%),
    linear-gradient(90deg,rgba(227,192,123,.12),transparent 1.5%,transparent 98.5%,rgba(227,192,123,.12));
  box-shadow:
    inset 0 0 0 1px rgba(229,196,128,.16),
    inset 0 0 38px rgba(1,5,6,.46);
  opacity:1;
  pointer-events:none;
}
.world-map::after{
  z-index:40;
  inset:6px;
  border-color:rgba(226,190,115,.19);
  filter:drop-shadow(0 0 5px rgba(0,0,0,.72));
}
.world-map .map-vignette{z-index:7;box-shadow:inset 0 0 88px rgba(0,4,5,.62);opacity:.78}
.world-map:is(.dragging,.zooming,.camera-animating) :is(.map-viewport,#mapCanvas,.map-marker-layer,.map-movement-layer){transition:none!important}
.world-map :is(canvas,img,.asset-art){-webkit-user-drag:none}

/* v4.3.1: dense recruitment folios. Flexible equal tracks keep every card in
   a row aligned without the old 410–490px dead space or clipped ledgers. */
.modal:has(#recruitForm){width:min(1120px,calc(100vw - 20px))}
.recruit-unit-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:1fr!important;align-items:stretch!important;gap:11px!important;padding:3px!important}
.recruit-unit-card{grid-template-columns:94px minmax(0,1fr)!important;grid-template-rows:94px auto!important;min-height:0!important;height:100%!important;padding:12px!important;gap:9px 12px!important;overflow:hidden!important;background:linear-gradient(145deg,rgba(28,40,41,.94),rgba(7,13,15,.98))!important}
.recruit-unit-art,.asset-art.unit-art.recruit-unit-art,.asset-art.unit-art.ship-unit-art.recruit-unit-art{width:94px!important;height:94px!important;min-width:94px!important;min-height:94px!important}
.recruit-unit-card>.unit-choice-copy{justify-content:center!important;padding:5px 2px!important}
.recruit-unit-card .unit-choice-copy>b{padding-right:52px;font-size:17px!important;line-height:1.18}
.recruit-unit-card .unit-choice-copy>small{font-size:10px!important}
.recruit-card-details{gap:7px!important;align-self:start!important}
.recruit-card-details>.unit-stats{gap:5px!important}
.recruit-card-details>.unit-stats>span{min-height:38px!important;padding:5px 4px!important}
.recruit-card-ledger{grid-template-columns:minmax(0,1fr) 118px!important;gap:6px!important;padding-top:6px!important}
.recruit-card-ledger>span{gap:4px!important}.recruit-card-time{padding:5px 6px!important}
.recruit-card-details>.requirement-summary{min-height:25px!important;gap:4px!important}
.recruit-card-details>.requirement-summary>.requirement{padding:4px 6px!important}
@media(max-width:760px){.recruit-unit-grid{grid-template-columns:1fr!important;grid-auto-rows:1fr!important}.recruit-unit-card{grid-template-columns:84px minmax(0,1fr)!important;grid-template-rows:84px auto!important;padding:10px!important}.recruit-unit-art,.asset-art.unit-art.recruit-unit-art,.asset-art.unit-art.ship-unit-art.recruit-unit-art{width:84px!important;height:84px!important;min-width:84px!important;min-height:84px!important}}
@media(max-width:430px){.recruit-unit-card{grid-template-columns:72px minmax(0,1fr)!important;grid-template-rows:72px auto!important;padding:8px!important;gap:7px 9px!important}.recruit-unit-art,.asset-art.unit-art.recruit-unit-art,.asset-art.unit-art.ship-unit-art.recruit-unit-art{width:72px!important;height:72px!important;min-width:72px!important;min-height:72px!important}.recruit-card-ledger{grid-template-columns:1fr!important}.recruit-unit-card .unit-choice-copy>b{padding-right:42px;font-size:16px!important}}

/* The shared hero armory must remain usable on the narrowest supported
   phone view. Equipment names are procedural and therefore cannot rely on
   a fixed single-line width. */
@media(max-width:430px){
  .hero-equipment-option{grid-template-columns:minmax(0,1fr)!important}
  .hero-equipment-option-art{justify-self:center}
  .hero-equipment-option>div{width:100%;max-width:100%;overflow:hidden}
  .hero-equipment-option h4{white-space:normal;overflow-wrap:anywhere;text-overflow:clip}
  .hero-equipment-option .item-rarity{width:100%;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .hero-equipment-option .equipment-wearer,
  .hero-equipment-option .equipment-affinity{width:100%;max-width:100%;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere}
  .hero-equipment-option .equipment-modifier{min-width:0;flex:1 1 64px}
}

/* Shared hero armory: explicitly constrain the copy grid's auto track.  At
   phone widths long procedural equipment names must wrap inside the card,
   never widen the modal or disappear behind its clipped edge. */
.hero-equipment-option>div{grid-template-columns:minmax(0,1fr)}
@media(max-width:360px){
  .hero-equipment-option{grid-template-columns:minmax(0,1fr)!important}
  .hero-equipment-option-art{justify-self:center}
  .hero-equipment-option .item-rarity,
  .hero-equipment-option .equipment-wearer,
  .hero-equipment-option .equipment-affinity{width:100%;max-width:100%;box-sizing:border-box}
  .hero-equipment-option .equipment-wearer,
  .hero-equipment-option .equipment-affinity{white-space:normal;overflow-wrap:anywhere}
  .hero-equipment-option .equipment-modifier{min-width:0;flex:1 1 64px}
}

/* v4.3.6: conquered NPC settlement estate. */
.npc-estate-entry{display:grid;grid-template-columns:34px minmax(0,1fr) 22px;gap:10px;align-items:center;width:100%;min-height:58px;padding:10px 12px;text-align:left;color:var(--text);border-color:rgba(199,146,79,.32);background:linear-gradient(105deg,rgba(152,99,43,.13),rgba(6,15,16,.94));cursor:pointer}.npc-estate-entry>.ui-icon:first-child{width:32px;height:32px;color:#d3a653}.npc-estate-entry>.ui-icon:last-child{width:18px;height:18px}.npc-estate-entry span{display:grid;gap:2px}.npc-estate-entry small{color:#8e948c;font-size:10px;text-transform:uppercase;letter-spacing:.06em}.npc-estate-entry b{color:#dbc79b;font-size:13px}
.npc-estate-modal{width:min(980px,calc(100vw - 24px))}.npc-estate-management{display:grid;gap:12px;min-width:0}.npc-estate-hero{display:grid;grid-template-columns:112px minmax(0,1fr);gap:14px;align-items:center;padding:10px 14px;border:1px solid rgba(199,146,79,.2);background:linear-gradient(100deg,rgba(112,75,39,.12),rgba(8,17,18,.9))}.npc-estate-art{width:112px;height:86px;object-fit:contain}.npc-estate-hero>span{display:grid;gap:3px}.npc-estate-hero small{color:#bd9151;font-size:10px;letter-spacing:.08em}.npc-estate-hero h2{margin:0;color:#ded0ae;font-size:24px}.npc-estate-hero p{margin:0;color:#8e9690;font-size:11px}
.npc-estate-ledger{display:grid;grid-template-columns:1.25fr .75fr;gap:9px}.npc-estate-ledger>article{display:grid;grid-template-columns:40px minmax(0,1fr) auto auto;gap:10px;align-items:center;min-width:0;padding:11px;border:1px solid var(--line);background:rgba(4,12,13,.55)}.npc-estate-ledger>article>.resource-icon,.npc-estate-ledger>article>.ui-icon{width:38px;height:38px}.npc-estate-ledger>article>span{display:grid;min-width:0}.npc-estate-ledger small{color:#8d948f;font-size:10px}.npc-estate-ledger b{color:#d8c59d;font-size:17px}.npc-estate-ledger em{color:#777f7b;font-size:11px;font-style:normal}.npc-estate-ledger>article>strong{font-size:12px;white-space:nowrap}.npc-estate-ledger>article>span>i{display:block;height:4px;margin-top:5px;background:#101819}.npc-estate-ledger>article>span>i>i{display:block;height:100%;background:#c4964e}
.npc-estate-invasion,.npc-estate-calm{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid rgba(180,72,62,.42);background:rgba(122,45,39,.12)}.npc-estate-invasion>.ui-icon,.npc-estate-calm>.ui-icon{width:26px;height:26px}.npc-estate-invasion>span{display:grid}.npc-estate-invasion small{font-size:10px;color:#d28a7f;text-transform:uppercase}.npc-estate-invasion time{font-size:11px;color:#c5b8a5}.npc-estate-calm{border-color:rgba(91,143,116,.3);background:rgba(48,96,74,.08);color:#8eb79e;font-size:11px}
.npc-estate-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.npc-estate-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-content:start;min-width:0;padding:11px;border:1px solid var(--line);background:rgba(5,13,14,.6)}.npc-estate-card>header,.npc-estate-card>p,.npc-estate-card>input[type=range],.npc-estate-card>.npc-unrest-risk,.npc-estate-card>.special-cost-row,.npc-estate-card>.requirement,.npc-estate-card>button{grid-column:1/-1}.npc-estate-card>header{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:center}.npc-estate-card>header>.ui-icon{width:27px;height:27px;color:#c79850}.npc-estate-card>header>span{display:grid}.npc-estate-card header small,.npc-estate-card label>span{font-size:10px;color:#898f8b;text-transform:uppercase;letter-spacing:.05em}.npc-estate-card header b{color:#d4c19b;font-size:13px}.npc-estate-card p{min-height:32px;margin:0;color:#8e9691;font-size:11px;line-height:1.35}.npc-estate-card label{display:grid;gap:5px;min-width:0}.npc-estate-card select,.npc-estate-card input[type=number]{width:100%;min-width:0}.npc-unrest-risk{display:flex;align-items:center;gap:5px;padding:5px 7px;color:#a7ad9e;font-size:10px;border:1px solid rgba(199,146,79,.18)}.npc-unrest-risk>.ui-icon{width:18px;height:18px}.npc-unrest-risk.negative{color:#cf7b72;border-color:rgba(194,81,70,.32)}
.npc-estate-garrison{display:grid;gap:8px;padding:10px 12px;border:1px solid var(--line)}.npc-estate-garrison>header{display:flex;justify-content:space-between;align-items:center;gap:10px}.npc-estate-garrison>header>span{display:flex;align-items:center;gap:7px;color:#c7b991;font-size:12px}.npc-estate-garrison>header .ui-icon{width:22px;height:22px}.npc-estate-garrison>div{display:flex;flex-wrap:wrap;gap:6px}.npc-estate-garrison>div>span{display:grid;grid-template-columns:34px auto;grid-template-rows:auto auto;gap:0 6px;align-items:center;padding:5px 8px;border:1px solid rgba(199,146,79,.16);background:rgba(0,0,0,.16)}.npc-estate-unit-art{grid-row:1/3;width:34px;height:34px}.npc-estate-garrison b{font-size:12px}.npc-estate-garrison small{font-size:10px;color:#858d88}.npc-estate-garrison em{color:#7e8781;font-size:11px}
.npc-estate-garrison>header>label{display:grid;grid-template-columns:auto minmax(120px,190px);gap:7px;align-items:center;margin-left:auto}.npc-estate-garrison>header>label small{font-size:10px;color:#858d88;text-transform:uppercase}.npc-estate-garrison>header>label select{min-width:0;height:32px}
@media(max-width:680px){.npc-estate-modal{width:calc(100vw - 10px)}.npc-estate-hero{grid-template-columns:82px minmax(0,1fr)}.npc-estate-art{width:82px;height:68px}.npc-estate-hero h2{font-size:19px}.npc-estate-ledger,.npc-estate-columns{grid-template-columns:1fr}.npc-estate-ledger>article{grid-template-columns:34px minmax(0,1fr) auto}.npc-estate-ledger>article>button{grid-column:1/-1}.npc-estate-card p{min-height:0}.npc-estate-garrison>header{display:grid;grid-template-columns:1fr auto}.npc-estate-garrison>header>label{grid-column:1/-1;grid-row:2;grid-template-columns:1fr;margin-left:0}.npc-estate-garrison>header>button{grid-column:2;grid-row:1}}

/* Stable command-planning layer: retain painted nodes while values and
   authoritative route/scouting previews update incrementally. */
.modal:has(#dispatchForm) .modal-body{overflow-anchor:none}
#dispatchPlan[data-render-layer="stable-v1"],#dispatchForcePicker{min-width:0;overflow-anchor:none}
#dispatchPlan[data-render-layer="stable-v1"]{isolation:isolate}
#dispatchPlan[data-render-layer="stable-v1"] [hidden]{display:none!important}
.dispatch-force-zone{overflow:visible}
.dispatch-force-zone>.army-picker,.dispatch-force-zone .army-input,.dispatch-unit-copy{min-width:0}
.dispatch-force-zone .army-input{height:auto;contain:none;opacity:1;transform:none}
.dispatch-force-zone .dispatch-unit-amount>input{min-width:0}
.dispatch-unit-copy>b{min-width:0;overflow-wrap:anywhere}
.dispatch-plan-warning>span:last-child{min-width:0;overflow-wrap:anywhere}
@media(max-width:620px){
  .modal:has(#dispatchForm) .modal-body{padding:12px;scrollbar-gutter:auto}
  .dispatch-force-zone .army-input{grid-template-columns:44px minmax(0,1fr) minmax(58px,68px);min-height:0;padding:7px}
  .dispatch-force-zone .army-unit-art{width:42px;height:42px}
  .dispatch-route-status.pending{animation:none}
}
@media(max-width:380px){
  .dispatch-unit-copy>.unit-stats{grid-template-columns:repeat(2,minmax(36px,1fr))!important}
}

/* Administrator-authored herald rewards. The chosen art remains modular and
   the server validates every effect independently from this preview. */
.admin-custom-item-editor{grid-column:1/-1;min-width:0;margin-top:8px;padding:0 12px 12px;border:1px solid rgba(199,146,79,.24);background:linear-gradient(135deg,rgba(124,82,37,.08),rgba(4,10,11,.42))}
.admin-custom-item-editor>legend{width:100%;padding:0 5px}.admin-custom-item-toggle{display:grid!important;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;padding:8px 4px!important}.admin-custom-item-toggle>.ui-icon{width:27px;height:27px;color:#bf914d}.admin-custom-item-toggle>span{display:grid;gap:2px}.admin-custom-item-toggle b{color:#d4c5a8;font-size:12px}.admin-custom-item-toggle small{color:#858e88;font-size:10px}.admin-custom-item-toggle input{width:18px;height:18px;accent-color:#c7934f}
.admin-custom-item-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;min-width:0;opacity:.48;filter:saturate(.55);transition:opacity .15s ease,filter .15s ease}.admin-custom-item-editor.enabled .admin-custom-item-fields{opacity:1;filter:none}.admin-custom-item-fields>label{display:grid;gap:5px;min-width:0}.admin-custom-item-fields>label>span,.admin-custom-icon-picker>span{color:#a29e90;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.admin-custom-item-fields>.full{grid-column:1/-1}
.admin-custom-icon-picker{display:grid;gap:7px}.admin-custom-icon-picker>div{display:grid;grid-template-columns:repeat(7,minmax(44px,1fr));gap:5px}.admin-custom-icon-option{position:relative;display:grid!important;place-items:center;min-width:0;min-height:58px;padding:4px!important;border:1px solid rgba(112,122,115,.25);background:rgba(0,0,0,.18);cursor:pointer}.admin-custom-icon-option:has(input:checked){border-color:#d1a458;box-shadow:inset 0 0 0 1px rgba(209,164,88,.3),0 0 12px rgba(170,105,38,.13)}.admin-custom-icon-option input{position:absolute;opacity:0;pointer-events:none}.admin-custom-item-art{width:42px;height:42px;background-size:contain!important}.admin-custom-icon-option small{position:absolute;right:3px;bottom:2px;color:#747c77;font-size:10px}
.admin-custom-item-preview{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:10px;min-height:72px;padding:7px 10px;border:1px solid rgba(199,146,79,.22);background:linear-gradient(100deg,rgba(199,146,79,.07),rgba(0,0,0,.16))}.admin-custom-preview-art{width:62px;height:62px;background-size:contain!important}.admin-custom-item-preview>span{display:grid;gap:2px;min-width:0}.admin-custom-item-preview small{color:#a68758;font-size:10px;text-transform:uppercase}.admin-custom-item-preview b{overflow:hidden;color:#dfd0b1;font:600 17px Georgia,serif;text-overflow:ellipsis;white-space:nowrap}.admin-custom-item-preview em{color:#84b095;font-size:11px;font-style:normal}.announcement-item-art{width:25px;height:25px;background-size:contain!important}.custom-announcement-item{display:inline-flex;align-items:center;gap:5px}
@media(max-width:760px){.admin-custom-item-fields{grid-template-columns:1fr}.admin-custom-icon-picker>div{grid-template-columns:repeat(4,minmax(44px,1fr))}.admin-custom-item-fields>.full{grid-column:auto}}

/* v4.3.3 final logistics cascade: older mobile market rules used a one-line
   grid placement, which collapsed full-width notices and the dispatch button. */
.city-transfer-form>.terrain-note.full,.city-transfer-form>.btn.full{grid-column:1/-1!important;width:100%!important;min-width:0}
@media(max-width:720px){.city-transfer-form>*{grid-column:1/-1!important;min-width:0}.city-transfer-form>.terrain-note.full,.city-transfer-form>.btn.full{width:auto!important}}

/* v4.3.3: permanent hero equipment, direct support orders, and stable city logistics. */
.hero-equipped-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:10px 0;padding:8px;border:1px solid rgba(199,146,79,.17);background:rgba(3,9,10,.3)}
.hero-equipped-slot{--rarity:#67706b;position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);gap:7px;align-items:center;min-width:0;min-height:76px;padding:6px 7px;border:1px solid color-mix(in srgb,var(--rarity) 35%,var(--line));background:color-mix(in srgb,var(--rarity) 5%,rgba(0,0,0,.2));overflow:hidden}
.hero-equipped-slot>.equipment-art,.hero-equipped-slot>.ui-icon{width:38px;height:38px}.hero-equipped-slot>.ui-icon{padding:8px;color:#59615d}.hero-equipped-copy{z-index:2;display:grid;gap:2px;min-width:0}.hero-equipped-slot small{overflow:hidden;color:var(--rarity);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.hero-equipped-slot b{overflow:hidden;color:#d8cfbc;font:600 10px/1.25 Georgia,serif;text-overflow:ellipsis;white-space:nowrap}.hero-equipped-meta{display:flex;flex-wrap:wrap;gap:3px;min-width:0}.hero-equipped-meta .equipment-modifier-list{gap:3px}.hero-equipped-meta .equipment-modifier{display:flex;min-width:0;gap:3px;padding:2px 4px}.hero-equipped-meta .equipment-modifier>.ui-icon{width:13px;height:13px}.hero-equipped-meta .equipment-modifier b{font:700 10px/1 sans-serif}.hero-equipped-meta .equipment-modifier small{display:none}.hero-equipped-meta .equipment-affinity{gap:3px;padding:2px 4px;max-width:100%}.hero-equipped-meta .equipment-affinity>.ui-icon{width:13px;height:13px}.hero-equipped-meta .equipment-affinity b,.hero-equipped-meta .equipment-affinity em{font-size:10px}.hero-equipped-slot.filled{border-color:color-mix(in srgb,var(--rarity) 64%,var(--line));background:radial-gradient(circle at 18% 50%,color-mix(in srgb,var(--rarity) 18%,transparent),rgba(0,0,0,.22) 72%);box-shadow:inset 2px 0 var(--rarity),0 0 10px var(--rarity-glow)}.hero-equipped-rarity{position:absolute;right:7px;bottom:3px;left:49px;height:1px;background:linear-gradient(90deg,var(--rarity),transparent);box-shadow:0 0 6px var(--rarity)}.hero-equipped-slot.empty{opacity:.62}.hero-card .hero-footer{flex-wrap:wrap}
.hero-equipment-modal{width:min(1040px,calc(100vw - 20px))}.hero-equipment-modal .modal-frame{max-height:calc(100dvh - 20px)}.hero-equipment-manager{display:grid;gap:12px}.hero-equipment-separation,.support-order-note{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center;padding:10px 12px;border:1px solid rgba(199,146,79,.22);background:linear-gradient(100deg,rgba(137,92,43,.1),rgba(6,13,14,.4))}.hero-equipment-separation>.ui-icon,.support-order-note>.ui-icon{width:32px;height:32px;color:#c59450}.hero-equipment-separation span,.support-order-note span{display:grid;gap:2px}.hero-equipment-separation b,.support-order-note b{color:#d0c4a9;font-size:12px}.hero-equipment-separation small,.support-order-note small{color:#87908a;font-size:10px;line-height:1.45}
.hero-armory-selector{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px;padding:7px;border:1px solid rgba(190,145,80,.2);background:rgba(3,9,10,.42)}.hero-armory-selector>button{display:grid;grid-template-columns:44px minmax(0,1fr) 18px;gap:8px;align-items:center;min-width:0;padding:6px;border:1px solid var(--line);background:rgba(14,24,24,.88);color:#8a938d;text-align:left}.hero-armory-selector>button:hover,.hero-armory-selector>button.active{border-color:#b78343;background:linear-gradient(110deg,rgba(151,101,45,.18),rgba(13,24,24,.94));color:#d3c7ad}.hero-armory-selector-art{width:44px;height:44px;border:1px solid rgba(184,136,72,.28);background-size:cover!important}.hero-armory-selector span{display:grid;min-width:0}.hero-armory-selector b,.hero-armory-selector small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero-armory-selector b{font-size:11px}.hero-armory-selector small{font-size:10px}.hero-armory-selector>.active>.ui-icon{width:16px;height:16px;color:#d39a4c}.equipment-wearer{display:flex;width:max-content;max-width:100%;align-items:center;gap:4px;padding:2px 6px;border:1px solid rgba(152,135,95,.25);color:#a99b7c;font-size:10px}.equipment-wearer>.ui-icon{width:13px;height:13px}.equipment-wearer.free{border-color:rgba(82,155,111,.3);color:#79b18c}.equipment-wearer.locked{border-color:rgba(180,75,67,.35);color:#c47770}
.hero-equipment-slot-group{display:grid;gap:8px;padding:10px;border:1px solid var(--line);background:rgba(0,0,0,.12)}.hero-equipment-slot-group>header{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:9px;align-items:center}.hero-equipment-slot-group>header>.ui-icon{width:28px;height:28px;color:#c4934e}.hero-equipment-slot-group>header span{display:grid}.hero-equipment-slot-group>header small{color:#747e78;font-size:10px;letter-spacing:.08em}.hero-equipment-slot-group>header h3{margin:1px 0 0;color:#d2c5aa;font-family:Georgia,serif;font-size:18px;font-weight:400}.hero-equipment-slot-group>header em{color:#87908a;font-size:10px;font-style:normal;text-align:right}
.hero-equipment-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hero-equipment-option{--rarity:#969b99;position:relative;display:grid;grid-template-columns:82px minmax(0,1fr) auto;gap:10px;align-items:center;min-width:0;padding:8px;border:1px solid color-mix(in srgb,var(--rarity) 62%,var(--line));background:radial-gradient(circle at 7% 50%,color-mix(in srgb,var(--rarity) 18%,transparent),transparent 34%),linear-gradient(125deg,color-mix(in srgb,var(--rarity) 11%,rgba(15,24,25,.96)),rgba(5,11,12,.96));box-shadow:inset 2px 0 var(--rarity),0 0 12px var(--rarity-glow);overflow:hidden}.hero-equipment-option::after{content:"";position:absolute;z-index:0;right:0;bottom:0;left:0;height:2px;background:linear-gradient(90deg,transparent,var(--rarity),transparent);box-shadow:0 0 8px var(--rarity);opacity:.75}.hero-equipment-option>*{position:relative;z-index:1}.hero-equipment-option.equipped{box-shadow:inset 4px 0 var(--rarity),0 0 18px var(--rarity-glow)}.hero-equipment-option-art{width:82px;height:82px;background-color:transparent!important;background-size:contain!important}.hero-equipment-option>div{display:grid;gap:5px;min-width:0}.hero-equipment-option .item-rarity{margin:0;width:max-content;color:var(--rarity);border-color:var(--rarity);box-shadow:0 0 8px var(--rarity-glow)}.hero-equipment-option h4{margin:0;overflow:hidden;color:#d8cdb5;font-family:Georgia,serif;font-size:16px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.hero-equipment-slot-group>header>em[class*="rarity-"]{color:var(--rarity);border-color:color-mix(in srgb,var(--rarity) 35%,transparent)}.hero-equipment-slot-group>header>em b{color:inherit}.equipment-modifier-list{display:flex;flex-wrap:wrap;gap:5px}.equipment-modifier{display:grid;grid-template-columns:18px auto;gap:0 5px;align-items:center;min-width:72px;padding:4px 6px;border:1px solid rgba(94,151,119,.3);background:rgba(49,104,79,.09);color:#87b99e}.equipment-modifier>.ui-icon{grid-row:1/3;width:17px;height:17px}.equipment-modifier b{font-size:11px}.equipment-modifier small{overflow:hidden;color:#7f8a84;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.equipment-modifier.negative{border-color:rgba(184,77,70,.35);color:#d57970}.hero-equipment-option>.btn{align-self:center;white-space:nowrap}.hero-equipment-empty{grid-column:1/-1;display:flex;align-items:center;gap:10px;min-height:60px;padding:10px;border:1px dashed var(--line);color:#747d77}.hero-equipment-empty>.ui-icon{width:28px;height:28px}.hero-equipment-empty span{display:grid;gap:2px}.hero-equipment-empty b{color:#9d9d91;font-size:11px}.hero-equipment-empty small{font-size:10px}
.alliance-operation-target-summary{grid-column:1/-1;display:grid;grid-template-columns:76px minmax(0,1fr) 32px;gap:12px;align-items:center;padding:10px;border:1px solid rgba(199,146,79,.25);background:linear-gradient(100deg,rgba(139,91,39,.12),rgba(4,10,11,.42))}.alliance-operation-target-art{width:76px;height:76px}.alliance-operation-target-summary span{display:grid;gap:2px}.alliance-operation-target-summary small{color:#8b918b;font-size:10px;letter-spacing:.07em}.alliance-operation-target-summary h3{margin:0;color:#d7c9a9;font-family:Georgia,serif;font-size:19px;font-weight:400}.alliance-operation-target-summary p{margin:0;color:#87908a;font-size:10px}.alliance-operation-target-summary>.ui-icon{width:30px;height:30px;color:#c5934f}
.city-transfer-form{grid-template-columns:repeat(12,minmax(0,1fr))!important;align-items:stretch!important}.city-transfer-form>.city-transfer-destination{grid-column:span 5!important}.city-transfer-form>.resource-field{grid-column:span 4;align-self:end!important;margin-bottom:0!important}.city-transfer-form>label:not(.city-transfer-destination){grid-column:span 3}.city-transfer-form>.caravan-requirement{grid-column:span 5;min-width:0;overflow:hidden}.city-transfer-form>.city-transfer-preview{grid-column:span 7;min-width:0}.city-transfer-form>.terrain-note,.city-transfer-form>.btn{grid-column:1/-1}.city-transfer-form .caravan-requirement>span:not(.ui-icon),.city-transfer-preview>span{overflow-wrap:anywhere}
@media(max-width:920px){.city-transfer-form>.city-transfer-destination{grid-column:1/-1!important}.city-transfer-form>.resource-field,.city-transfer-form>label:not(.city-transfer-destination),.city-transfer-form>.caravan-requirement,.city-transfer-form>.city-transfer-preview{grid-column:span 6}}
@media(max-width:700px){.hero-equipped-slots{grid-template-columns:1fr}.hero-armory-selector{display:flex;overflow-x:auto;scroll-snap-type:x proximity}.hero-armory-selector>button{flex:0 0 min(230px,82vw);scroll-snap-align:start}.hero-equipment-options{grid-template-columns:1fr}.hero-equipment-option{grid-template-columns:68px minmax(0,1fr)}.hero-equipment-option-art{width:68px;height:68px}.hero-equipment-option>.btn{grid-column:1/-1;width:100%}.hero-equipment-slot-group>header{grid-template-columns:26px minmax(0,1fr)}.hero-equipment-slot-group>header>em{grid-column:2;text-align:left}.city-transfer-form>.city-transfer-destination,.city-transfer-form>.resource-field,.city-transfer-form>label:not(.city-transfer-destination),.city-transfer-form>.caravan-requirement,.city-transfer-form>.city-transfer-preview{grid-column:1/-1!important}}
.world-map[data-map-style="political"] .map-vignette,
.world-map[data-map-style="area"] .map-vignette{opacity:.48}
.map-style-switch{
  scrollbar-width:thin;
  scrollbar-color:rgba(199,146,79,.35) transparent;
}
.map-style-switch button{
  min-height:34px;
  border-color:rgba(199,146,79,.14);
  background:linear-gradient(180deg,rgba(27,39,39,.94),rgba(9,16,18,.94));
}
.map-style-switch button:hover{border-color:rgba(210,164,87,.34);color:#cdb887}
.map-style-switch button.active{
  border-color:rgba(226,175,88,.58);
  background:linear-gradient(180deg,rgba(91,65,30,.36),rgba(28,31,27,.96));
  box-shadow:inset 0 1px rgba(255,222,149,.08),0 0 12px rgba(161,101,34,.09);
}

/* v4.2.2: authoritative recruitment duration and full-width economy ledgers. */
.recruit-controls{grid-template-columns:150px 185px minmax(360px,1fr);align-items:stretch}
.recruit-preview{display:grid;align-content:center;min-width:0}
.recruit-preview-ledger{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:10px;min-width:0}
.recruit-preview-ledger>span{display:grid;min-width:0;gap:5px;padding:8px 10px;border:1px solid rgba(199,146,79,.18);background:rgba(0,0,0,.13)}
.recruit-preview-ledger>span>small,.recruit-card-ledger small,.mythic-unit-economy small{color:#7f8781;font-size:10px;text-transform:uppercase;letter-spacing:.04em}
.recruit-preview-ledger .cost-row{display:flex;flex-wrap:wrap;gap:5px;min-width:0}
.recruit-preview-time{grid-template-columns:26px minmax(0,1fr)!important;align-items:center!important;gap:3px 8px!important}
.recruit-preview-time>.ui-icon{grid-row:1/3;width:25px;height:25px;color:#d3a45a}
.recruit-preview-time>span{display:grid;min-width:0}.recruit-preview-time b{color:#e0bd75;font-size:15px;font-variant-numeric:tabular-nums}.recruit-preview-time em{color:#7f8a84;font-size:10px;font-style:normal}
.recruit-unit-grid{grid-auto-rows:410px!important}
.recruit-unit-card{min-height:410px!important}
.recruit-card-details{grid-template-rows:auto auto minmax(32px,auto)!important}
.recruit-card-ledger{display:grid;grid-template-columns:minmax(0,1fr) 132px;gap:8px;min-width:0;padding-top:8px;border-top:1px solid rgba(199,146,79,.13)}
.recruit-card-ledger>span{display:grid;align-content:start;min-width:0;gap:5px}
.recruit-card-ledger .cost-row{display:flex;align-items:center;align-content:flex-start;flex-wrap:wrap;min-width:0;gap:5px;margin:0!important}
.recruit-card-time{grid-template-columns:23px minmax(0,1fr)!important;align-items:center!important;gap:5px!important;padding:6px 8px;border:1px solid rgba(199,146,79,.19);background:rgba(199,146,79,.045)}
.recruit-card-time>.ui-icon{width:22px;height:22px;color:#d0a153}.recruit-card-time>span{display:grid;min-width:0}.recruit-card-time b{color:#d9ba80;font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}
.mythic-unit-economy{display:grid!important;gap:8px;min-width:0}.mythic-unit-economy>.cost-row{display:flex;flex-wrap:wrap}.mythic-unit-economy>span:last-child{display:grid;grid-template-columns:22px minmax(0,1fr);gap:1px 6px;align-items:center;padding:6px;border:1px solid rgba(173,126,201,.24);background:rgba(117,72,141,.08)}.mythic-unit-economy>span:last-child>.ui-icon{grid-row:1/3;width:21px;height:21px;color:#c99ee0}.mythic-unit-economy b{color:#d7c5e0;font-size:12px}
.pantheon-mythic-muster .recruit-card-ledger{grid-template-columns:1fr;width:min(310px,100%);padding-top:0;border-top:0}.pantheon-mythic-muster .recruit-card-time{grid-template-columns:23px minmax(0,1fr)!important;width:auto}
@media(max-width:980px){.recruit-controls{grid-template-columns:150px minmax(180px,1fr)}.recruit-preview{grid-column:1/-1}.recruit-unit-grid{grid-auto-rows:430px!important}.recruit-unit-card{min-height:430px!important}}
@media(max-width:620px){.recruit-controls{grid-template-columns:1fr}.recruit-preview{grid-column:auto}.recruit-preview-ledger,.recruit-card-ledger{grid-template-columns:1fr}.recruit-unit-grid{grid-auto-rows:490px!important}.recruit-unit-card{min-height:490px!important}.pantheon-mythic-muster .recruit-card-ledger{width:100%}}

/* v4.2.3: focused market, readable morale ledgers, and stable mobile cards. */
.market-category-workspace{grid-template-columns:minmax(0,1fr);margin-top:0}
.market-category-workspace>.market-category-hidden{display:none!important}
.market-category-workspace>.active{width:100%;min-width:0}
.logistics-summary+.content-category-navigation{margin-top:14px}
.city-transfer-panel{overflow:visible}
.city-transfer-form{display:grid;grid-template-columns:minmax(190px,1.25fr) minmax(180px,1fr) minmax(140px,.65fr);gap:12px;align-items:end;padding:18px}
.city-transfer-form>label{display:grid;gap:6px;min-width:0}.city-transfer-form>label>span,.city-transfer-form>.resource-field>.universal-field-label{color:#a9aaa0;font-size:10px;text-transform:uppercase;letter-spacing:.06em}
.city-transfer-destination{grid-column:1/-1}.city-transfer-destination select{width:100%}
.city-transfer-form .caravan-requirement{min-height:52px;margin:0;align-self:stretch}
.city-transfer-preview{grid-column:1/-1;display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:center;padding:11px 13px;border:1px solid rgba(199,146,79,.2);background:linear-gradient(100deg,rgba(155,112,61,.09),rgba(6,14,15,.5))}
.city-transfer-preview>.ui-icon{width:28px;height:28px;color:#c89b5c}.city-transfer-preview>span{display:grid;gap:2px;min-width:0}.city-transfer-preview small{font-size:10px;color:#858d87;text-transform:uppercase;letter-spacing:.05em}.city-transfer-preview b{color:#ddd0ad;font-size:14px}.city-transfer-preview em{color:#8e9993;font-size:11px;font-style:normal}
.city-transfer-preview.missing{border-color:rgba(185,89,77,.38)}.city-transfer-preview.missing>.ui-icon{color:#c76e61}
@media(max-width:720px){.city-transfer-form{grid-template-columns:1fr;padding:13px}.city-transfer-form>*{grid-column:1!important}.city-transfer-preview em{font-size:10px}}

/* v4.3.4: three-slot hero armory, persistent music controls, and compact map orders. */
.hero-equipped-slots{grid-template-columns:repeat(3,minmax(0,1fr))}
.equipment-affinity{display:flex;align-items:center;gap:5px;width:max-content;max-width:100%;padding:3px 6px;border:1px solid rgba(113,122,117,.28);background:rgba(0,0,0,.2);color:#858c87;font-size:10px;cursor:help}
.equipment-affinity>.ui-icon{width:16px;height:16px}.equipment-affinity b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.equipment-affinity em{color:#a5aaa5;font-style:normal;font-variant-numeric:tabular-nums}.equipment-affinity.active{border-color:rgba(209,165,88,.42);background:rgba(170,116,43,.1);color:#d1aa68}.equipment-affinity.active em{color:#e3c381}
.equipment-affinity.catalog{border-color:rgba(173,137,85,.36);background:rgba(151,101,47,.08);color:#bda47a}
.music-toggle{position:relative}.music-toggle.muted{opacity:.72}.music-toggle>.ui-icon{width:22px;height:22px}
.music-volume-setting{display:grid;gap:8px;padding:10px 12px;border:1px solid rgba(199,146,79,.18);background:rgba(0,0,0,.12)}
.music-volume-setting>span{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:8px;align-items:center}.music-volume-setting .ui-icon{width:22px;height:22px;color:#c79a54}.music-volume-setting b{color:#bdb7a7;font-size:12px}.music-volume-setting output{color:#dfbd78;font-size:12px;font-variant-numeric:tabular-nums}
.music-volume-setting input[type="range"]{width:100%;accent-color:#c7924f}
.map-inspector-footer.map-inspector-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.map-inspector-footer.map-inspector-actions>.map-inspector-action{position:relative;flex:1 1 0!important;width:auto!important;min-width:38px!important;height:38px!important;min-height:38px!important;padding:6px!important;justify-content:center!important}
.map-inspector-footer.map-inspector-actions>.map-inspector-action>.ui-icon{display:inline-block!important;visibility:visible!important;opacity:1!important;width:21px!important;height:21px!important;margin:0!important;background-image:var(--ui-icon-image)!important;background-repeat:no-repeat!important;background-position:center!important;background-size:contain!important}
.map-inspector-footer.map-inspector-actions>.map-inspector-action>span:not(.ui-icon){position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:520px){.hero-equipped-slots{grid-template-columns:repeat(3,minmax(0,1fr));padding:6px}.hero-equipped-slot{grid-template-columns:1fr;justify-items:center;text-align:center}.hero-equipped-slot small{max-width:100%}.top-actions .music-toggle{display:inline-flex!important}}

.report-morale-ledger{display:flex;align-items:stretch;gap:7px;margin:10px 0;padding:8px;border:1px solid rgba(199,146,79,.2);background:linear-gradient(100deg,rgba(160,98,48,.08),rgba(5,12,13,.35))}
.report-morale-ledger>header{display:flex;align-items:center;gap:6px;min-width:132px;padding-right:9px;border-right:1px solid var(--line);color:#b8955d;font-size:10px;text-transform:uppercase;letter-spacing:.05em}
.report-morale-ledger>header>.ui-icon{width:23px;height:23px}
.report-morale-ledger>span{display:grid;grid-template-columns:20px minmax(0,1fr);gap:0 6px;align-items:center;min-width:112px;padding:5px 8px;border:1px solid currentColor;background:rgba(0,0,0,.15)}
.report-morale-ledger>span>.ui-icon{grid-row:1/3;width:19px;height:19px}.report-morale-ledger>span small{font-size:10px;color:#8b918c}.report-morale-ledger>span b{font-size:13px}.report-morale-ledger>span.positive{color:#7fba97}.report-morale-ledger>span.negative{color:#da7c72}.report-morale-ledger>span.neutral{color:#8c928e}
.reward.morale-change>.ui-icon{width:18px;height:18px}

.dynasty-modifier-ledger{grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:6px}
.dynasty-modifier-ledger>span{display:grid;grid-template-columns:23px minmax(0,1fr);gap:6px;align-items:center;min-height:38px;padding:6px 8px;border:1px solid rgba(109,159,132,.32);border-left-width:2px;cursor:help}
.dynasty-modifier-ledger>span>.ui-icon{width:22px;height:22px}.dynasty-modifier-ledger>span>b{font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}
.dynasty-modifier-ledger>span.negative{border-color:rgba(198,81,75,.38)}

@media(max-width:760px){
  .sidebar{bottom:calc(68px + env(safe-area-inset-bottom));max-height:calc(100dvh - var(--topbar) - 68px - env(safe-area-inset-bottom));padding-bottom:28px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .sidebar nav{padding-bottom:18px}
  .title-rank-card,.content-card,.quest-card,.building-card,.hero-card,.ranking-row{content-visibility:visible!important;contain:none!important}
  #viewRoot{overflow-anchor:none}.panel,.content-card,.quest-card,.building-card,.hero-card{backface-visibility:hidden;-webkit-backface-visibility:hidden}
  .report-morale-ledger{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.report-morale-ledger>header{grid-column:1/-1;min-width:0;padding:0 0 7px;border-right:0;border-bottom:1px solid var(--line)}.report-morale-ledger>span{min-width:0}
}

/* v4.3.1 final recruitment cascade. This deliberately follows the older
   v4.2 duration ledger so that compact cards win without hiding any values. */
.modal:has(#recruitForm){width:min(1120px,calc(100vw - 20px))}
.recruit-unit-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:1fr!important;align-items:stretch!important;gap:11px!important;padding:3px!important}
.recruit-unit-card{grid-template-columns:94px minmax(0,1fr)!important;grid-template-rows:94px auto!important;min-height:0!important;height:100%!important;padding:12px!important;gap:9px 12px!important;overflow:hidden!important;background:linear-gradient(145deg,rgba(28,40,41,.94),rgba(7,13,15,.98))!important}
.recruit-unit-art,.asset-art.unit-art.recruit-unit-art,.asset-art.unit-art.ship-unit-art.recruit-unit-art{width:94px!important;height:94px!important;min-width:94px!important;min-height:94px!important}
.recruit-unit-card>.unit-choice-copy{justify-content:center!important;padding:5px 2px!important}
.recruit-unit-card .unit-choice-copy>b{padding-right:52px;font-size:17px!important;line-height:1.18}
.recruit-unit-card .unit-choice-copy>small{font-size:10px!important}
.recruit-card-details{gap:7px!important;align-self:start!important}
.recruit-card-details>.unit-stats{gap:5px!important}
.recruit-card-details>.unit-stats>span{min-height:38px!important;padding:5px 4px!important}
.recruit-card-ledger{grid-template-columns:minmax(0,1fr) 118px!important;gap:6px!important;padding-top:6px!important}
.recruit-card-ledger>span{gap:4px!important}.recruit-card-time{padding:5px 6px!important}
.recruit-card-details>.requirement-summary{min-height:25px!important;gap:4px!important}
.recruit-card-details>.requirement-summary>.requirement{padding:4px 6px!important}
@media(max-width:760px){.recruit-unit-grid{grid-template-columns:1fr!important;grid-auto-rows:1fr!important}.recruit-unit-card{grid-template-columns:84px minmax(0,1fr)!important;grid-template-rows:84px auto!important;padding:10px!important}.recruit-unit-art,.asset-art.unit-art.recruit-unit-art,.asset-art.unit-art.ship-unit-art.recruit-unit-art{width:84px!important;height:84px!important;min-width:84px!important;min-height:84px!important}}
@media(max-width:430px){.recruit-unit-card{grid-template-columns:72px minmax(0,1fr)!important;grid-template-rows:72px auto!important;padding:8px!important;gap:7px 9px!important}.recruit-unit-art,.asset-art.unit-art.recruit-unit-art,.asset-art.unit-art.ship-unit-art.recruit-unit-art{width:72px!important;height:72px!important;min-width:72px!important;min-height:72px!important}.recruit-card-ledger{grid-template-columns:1fr!important}.recruit-unit-card .unit-choice-copy>b{padding-right:42px;font-size:16px!important}}

/* v4.3.5: movement markers always remain above static POIs. */
.map-marker.cargo-route-marker,.map-marker.cargo-route-marker:hover,.map-marker.cargo-route-marker.selected{z-index:50!important}

/* v4.3.5: dedicated top projection for moving army and caravan icons. */
.map-moving-marker-layer{
  position:absolute;
  left:var(--map-projection-left,0);
  top:var(--map-projection-top,0);
  width:var(--map-projection-width,100%);
  height:var(--map-projection-height,100%);
  z-index:8;
  pointer-events:none;
  -webkit-user-select:none;
  user-select:none;
}
.map-moving-marker-layer>.map-marker{pointer-events:auto}
.world-map.map-engine-active:not(.map-frame-ready) .map-moving-marker-layer{visibility:hidden}
.world-map.map-engine-active .map-moving-marker-layer{will-change:auto;backface-visibility:visible;transform:none}
.world-map.map-engine-active:is(.dragging,.zooming) .map-moving-marker-layer,
.world-map:is(.dragging,.zooming,.camera-animating) .map-moving-marker-layer{transition:none!important}

@media(max-width:1050px){
}
@media(max-width:700px){
}
@media(max-width:460px){
}

/* v4.3.9: stable compact mission selection, per-unit maximum controls, and
   claimable herald rewards inside archived private-message threads. */
.dispatch-unit-amount{display:grid!important;grid-template-columns:1fr;gap:4px;min-width:0;align-self:stretch;align-content:center}
.dispatch-unit-amount>input{width:100%;min-width:0;padding:7px;text-align:center}
.dispatch-unit-all{min-height:24px;padding:3px 6px;border:1px solid rgba(199,146,79,.34);background:rgba(199,146,79,.08);color:#c8a56c;font-size:8px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.dispatch-unit-all:hover,.dispatch-unit-all:focus-visible{border-color:#c7964f;background:rgba(199,146,79,.16);color:#e0c28c}
.announcement-message-actions{display:flex;justify-content:flex-end;align-items:center;margin-top:10px;padding-top:9px;border-top:1px solid rgba(199,146,79,.18)}
.announcement-claimed{display:inline-flex;align-items:center;gap:6px;color:#82b99d;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.announcement-claimed>.ui-icon{width:17px;height:17px}

/* v4.4.0: unit-like hero combat statistics. */
.hero-battle-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:9px 0}
.hero-battle-stats>span{display:grid;grid-template-columns:18px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:1px 5px;min-width:0;padding:6px 7px;border:1px solid rgba(199,146,79,.16);background:rgba(0,0,0,.13)}
.hero-battle-stats .ui-icon{grid-row:1/3;width:16px;height:16px;color:#b88d55}
.hero-battle-stats small{overflow:hidden;color:#69716d;font-size:7px;letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}
.hero-battle-stats b{overflow:hidden;color:#b9b5a8;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:520px){.hero-battle-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v4.3.5 · recruitment, pantheon, spellbook, and hero-stat layout contract. */
.modal:has(#recruitForm),.modal:has(#mythicRecruitForm){width:min(1120px,calc(100vw - 20px))}
.recruit-controls{position:sticky!important;z-index:8!important;top:-18px!important;display:grid!important;grid-template-columns:minmax(220px,250px) minmax(185px,210px) minmax(0,1fr)!important;gap:10px!important;align-items:stretch!important;margin:-18px -18px 14px!important;padding:12px 18px!important;border-bottom:1px solid rgba(199,146,79,.28)!important;background:linear-gradient(180deg,rgba(20,29,31,.985),rgba(12,20,22,.975))!important;box-shadow:0 10px 24px rgba(0,0,0,.24);backdrop-filter:blur(14px)}
.recruit-quantity-control{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:7px 9px;min-width:0;padding:9px 10px;border:1px solid rgba(199,146,79,.25);background:linear-gradient(120deg,rgba(199,146,79,.08),rgba(0,0,0,.18))}
.recruit-quantity-control>header{grid-column:1/-1;display:flex;align-items:center;gap:8px;min-width:0}.recruit-quantity-control>header>.ui-icon{width:25px;height:25px;color:#c79a54}.recruit-quantity-control>header>span{display:grid;min-width:0}.recruit-quantity-control>header small{color:#777f7a;font-size:9px;letter-spacing:.07em;text-transform:uppercase}.recruit-quantity-control>header b{overflow:hidden;color:#d1c2a6;font:400 14px Georgia,serif;text-overflow:ellipsis;white-space:nowrap}
.recruit-quantity-stepper{display:grid;grid-template-columns:32px minmax(58px,1fr) 32px;min-width:0;height:34px;border:1px solid rgba(199,146,79,.26);background:#0d1517}.recruit-quantity-stepper>button,.recruit-quantity-presets>button{border:0;background:transparent;color:#ac9370;font-weight:700;cursor:pointer}.recruit-quantity-stepper>button{font-size:18px}.recruit-quantity-stepper>button:hover,.recruit-quantity-stepper>button:focus-visible,.recruit-quantity-presets>button:hover,.recruit-quantity-presets>button:focus-visible{background:rgba(199,146,79,.14);color:#e2bd7a;outline:1px solid rgba(199,146,79,.42);outline-offset:-1px}.recruit-quantity-stepper>input{width:100%!important;min-width:0!important;height:32px!important;padding:0 5px!important;border-width:0 1px!important;border-style:solid!important;border-color:rgba(199,146,79,.2)!important;border-radius:0!important;background:rgba(0,0,0,.18)!important;color:#e4d4b5!important;font-size:14px!important;font-weight:700;text-align:center;font-variant-numeric:tabular-nums}
.recruit-quantity-presets{display:grid;grid-template-columns:repeat(4,minmax(29px,1fr));gap:3px;align-self:stretch;min-width:0}.recruit-quantity-presets>button{min-height:34px;padding:3px;border:1px solid rgba(116,126,120,.23);font-size:9px;text-transform:uppercase}
.recruit-unlocked-filter{min-height:0!important;height:100%!important;padding:9px 11px!important;border-color:rgba(111,149,132,.27)!important;background:linear-gradient(145deg,rgba(44,74,63,.10),rgba(0,0,0,.16))!important}.recruit-unlocked-filter.active{border-color:rgba(99,180,147,.52)!important;background:linear-gradient(145deg,rgba(48,113,88,.2),rgba(0,0,0,.14))!important}
.recruit-preview{display:grid!important;align-content:center!important;min-width:0!important;min-height:74px!important}.recruit-preview-ledger{display:grid!important;grid-template-columns:minmax(0,1fr) 142px!important;gap:7px!important;min-width:0!important}.recruit-preview-ledger>span{min-width:0!important;min-height:58px!important;padding:7px 9px!important;border:1px solid rgba(199,146,79,.18)!important;background:rgba(0,0,0,.13)!important}.recruit-preview-time{display:grid!important;grid-template-columns:25px minmax(0,1fr)!important;gap:2px 7px!important;align-items:center!important}.recruit-preview-time>.ui-icon{width:24px!important;height:24px!important;color:#d4a95e!important}.recruit-preview-time>span{display:grid!important;min-width:0}.recruit-preview-time b{color:#e2c07c!important;font-size:15px!important;font-variant-numeric:tabular-nums;white-space:nowrap}.recruit-preview-time em{color:#7f8983!important;font-size:9px!important;font-style:normal!important;white-space:nowrap}.recruit-preview .population-check{margin:5px 7px 0 0!important;padding:4px 7px!important;font-size:9px!important}
.recruit-unit-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:304px!important;align-items:start!important;gap:11px!important;margin:0!important;padding:3px!important;border:0!important}.recruit-unit-card{position:relative!important;display:grid!important;grid-template-columns:96px minmax(0,1fr)!important;grid-template-rows:96px minmax(0,1fr)!important;gap:10px 12px!important;width:100%!important;height:304px!important;min-height:304px!important;max-height:304px!important;padding:11px!important;overflow:hidden!important;border:1px solid rgba(118,126,119,.28)!important;background:radial-gradient(circle at 14% 8%,rgba(199,146,79,.10),transparent 34%),linear-gradient(145deg,rgba(27,39,40,.97),rgba(7,13,15,.99))!important;box-shadow:inset 0 1px rgba(255,255,255,.018);cursor:pointer!important;isolation:isolate}.recruit-unit-card::after{content:"";position:absolute;z-index:-1;inset:auto -30px -42px auto;width:150px;height:150px;border:1px solid rgba(199,146,79,.08);border-radius:50%;box-shadow:0 0 0 18px rgba(199,146,79,.025),0 0 0 36px rgba(199,146,79,.018);pointer-events:none}.recruit-unit-card:hover{border-color:rgba(199,146,79,.54)!important;background:radial-gradient(circle at 14% 8%,rgba(199,146,79,.15),transparent 36%),linear-gradient(145deg,rgba(30,43,43,.98),rgba(8,15,16,.99))!important}.recruit-unit-card:has(.unit-choice-input:checked){border-color:#c7924f!important;box-shadow:inset 0 0 0 1px rgba(199,146,79,.22),0 0 0 1px rgba(199,146,79,.08)!important}.recruit-unit-card.locked{opacity:.60!important;filter:saturate(.66)!important;cursor:not-allowed!important}.recruit-unit-card>.unit-choice-input{position:absolute!important;z-index:5!important;top:9px!important;left:9px!important;width:17px!important;height:17px!important;margin:0!important;accent-color:#c7924f}.recruit-card-selection{position:absolute;z-index:4;top:7px;left:7px;display:grid;place-items:center;width:21px;height:21px;border:1px solid rgba(199,146,79,.35);background:rgba(8,14,15,.92);color:transparent;pointer-events:none}.recruit-card-selection>.ui-icon{width:15px;height:15px}.recruit-unit-card:has(.unit-choice-input:checked)>.recruit-card-selection{background:#a87435;color:#f5dfb4}
.recruit-card-visual{position:relative;grid-column:1;grid-row:1;width:96px;height:96px;overflow:hidden;border:1px solid rgba(199,146,79,.25);background:#0b1315}.recruit-card-visual>.recruit-unit-art,.recruit-card-visual>.asset-art.unit-art.recruit-unit-art,.recruit-card-visual>.asset-art.unit-art.ship-unit-art.recruit-unit-art{width:96px!important;height:96px!important;min-width:96px!important;min-height:96px!important;border:0!important}.recruit-role-seal{position:absolute;inset:auto 4px 4px;display:flex;align-items:center;gap:4px;min-width:0;padding:3px 5px;border:1px solid rgba(199,146,79,.26);background:rgba(6,11,12,.88);color:#a99a7f;font-size:8px;letter-spacing:.035em;text-transform:uppercase;white-space:nowrap}.recruit-role-seal>.ui-icon{width:14px;height:14px;color:#c89a54}
.recruit-card-heading{position:relative;grid-column:2;grid-row:1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-content:start;min-width:0;padding:3px 0 0!important}.recruit-card-heading>.unit-choice-copy{display:grid!important;align-content:start!important;min-width:0!important;padding:0 46px 0 0!important}.recruit-card-heading .unit-choice-copy>b{overflow:hidden;padding:0!important;color:#ddd0b7!important;font:400 17px/1.15 Georgia,serif!important;text-overflow:ellipsis;white-space:nowrap}.recruit-card-heading .unit-choice-copy>small{display:-webkit-box!important;min-height:45px;margin-top:6px!important;overflow:hidden;color:#7f8983!important;font-size:9px!important;line-height:1.45!important;text-transform:none!important;-webkit-line-clamp:3;-webkit-box-orient:vertical}.recruit-card-heading>.recruit-owned-count{top:0!important;right:0!important;min-width:42px!important;padding:4px 5px!important}
.recruit-card-details{grid-column:1/-1!important;grid-row:2!important;display:grid!important;grid-template-rows:auto auto minmax(0,1fr)!important;gap:7px!important;min-width:0!important;min-height:0!important;align-self:stretch!important;overflow:hidden!important}.recruit-card-details>.unit-stats{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(54px,1fr))!important;gap:4px!important;min-width:0!important}.recruit-card-details>.unit-stats>span{display:grid!important;grid-template-columns:20px auto!important;justify-content:center!important;align-items:center!important;gap:4px!important;min-height:34px!important;padding:4px 5px!important;border:1px solid rgba(105,116,110,.2);background:rgba(0,0,0,.14)}.recruit-card-details>.unit-stats .unit-stat-icon{width:19px!important;height:19px!important}.recruit-card-details>.unit-stats b{font-size:10px!important;font-variant-numeric:tabular-nums}
.recruit-card-ledger{display:grid!important;grid-template-columns:minmax(0,1fr) 112px!important;gap:6px!important;min-width:0!important;padding:0!important;border:0!important}.recruit-card-cost{display:grid!important;gap:3px!important;min-width:0!important;padding:6px 7px!important;border:1px solid rgba(199,146,79,.16);background:rgba(0,0,0,.13)}.recruit-card-cost>small{color:#747d77!important;font-size:8px!important;letter-spacing:.05em!important;text-transform:uppercase!important}.recruit-card-cost>.cost-row{display:flex!important;flex-wrap:wrap!important;gap:3px!important;min-width:0!important}.recruit-card-time{display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;min-width:0!important;padding:6px!important;border:1px solid rgba(199,146,79,.2)!important;background:linear-gradient(120deg,rgba(199,146,79,.10),rgba(0,0,0,.12))!important}.recruit-card-time>.ui-icon{width:22px!important;height:22px!important;color:#d0a153!important}.recruit-card-time>b{color:#dfbc79!important;font-size:13px!important;font-variant-numeric:tabular-nums!important;white-space:nowrap!important}.recruit-card-details>.requirement-summary{display:flex!important;align-content:flex-start!important;align-items:flex-start!important;flex-wrap:wrap!important;gap:4px!important;min-height:0!important;max-height:none!important;margin:0!important;padding:2px 2px 2px 0!important;overflow-y:auto!important;overscroll-behavior:contain;scrollbar-width:thin}.recruit-card-details>.requirement-summary>.requirement{flex:1 1 132px!important;min-width:0!important;min-height:25px!important;padding:4px 6px!important;font-size:8px!important}
.mythic-recruit-controls{grid-template-columns:minmax(220px,260px) minmax(0,1fr)!important}.mythic-muster-card{display:grid!important;grid-template-columns:118px minmax(0,1fr)!important;gap:15px!important;align-items:stretch!important;margin-bottom:14px!important;padding:12px!important;border:1px solid rgba(170,113,198,.34)!important;background:radial-gradient(circle at 8% 18%,rgba(150,84,180,.17),transparent 34%),linear-gradient(130deg,rgba(32,24,39,.9),rgba(8,13,16,.98))!important}.mythic-muster-portrait{position:relative;width:118px;height:118px;overflow:hidden;border:1px solid rgba(200,154,224,.35)}.mythic-muster-portrait>.god-mythic-unit-art{width:118px!important;height:118px!important}.mythic-muster-portrait>span{position:absolute;inset:auto 5px 5px;display:flex;align-items:center;gap:4px;padding:4px 6px;border:1px solid rgba(204,160,225,.36);background:rgba(21,12,26,.88);color:#d9b5e9;font-size:8px;text-transform:uppercase}.mythic-muster-portrait>span>.ui-icon{width:14px;height:14px}.mythic-muster-copy{display:grid;align-content:start;gap:5px;min-width:0}.mythic-muster-copy>small{color:#b58bc9;font-size:9px;letter-spacing:.08em;text-transform:uppercase}.mythic-muster-copy>h3{margin:0;color:#e2d0e8;font:400 21px Georgia,serif}.mythic-muster-copy>p{margin:0;color:#8f8792;font-size:10px;line-height:1.5}.mythic-muster-copy>.unit-stats{margin-top:5px}
.pantheon-mythic-muster{overflow:hidden;border-color:rgba(171,116,198,.34)!important;background:radial-gradient(circle at 4% 18%,rgba(149,84,178,.16),transparent 30%),linear-gradient(120deg,rgba(28,23,35,.96),rgba(9,15,17,.99))!important}.pantheon-mythic-muster>.section-heading{border-bottom-color:rgba(174,126,197,.22)!important}.pantheon-mythic-body{display:grid!important;grid-template-columns:132px minmax(0,1fr) minmax(250px,320px)!important;gap:16px!important;align-items:stretch!important;padding:14px!important}.pantheon-mythic-portrait{position:relative;width:132px;height:132px;overflow:hidden;border:1px solid rgba(204,158,225,.38);background:#130f18}.pantheon-mythic-portrait>.god-mythic-unit-art{width:132px!important;height:132px!important}.pantheon-mythic-portrait>span{position:absolute;inset:auto 6px 6px;display:flex;align-items:center;gap:5px;padding:4px 6px;border:1px solid rgba(204,160,225,.4);background:rgba(24,14,29,.9);color:#dab5e9;font-size:8px;letter-spacing:.05em;text-transform:uppercase}.pantheon-mythic-portrait>span>.ui-icon{width:15px;height:15px}.pantheon-mythic-profile{display:grid;align-content:start;gap:5px;min-width:0}.pantheon-mythic-profile>small{color:#b88ccc;font-size:9px;letter-spacing:.08em;text-transform:uppercase}.pantheon-mythic-profile>h3{margin:0;color:#e3d3e8;font:400 22px Georgia,serif}.pantheon-mythic-profile>p{display:-webkit-box;margin:2px 0 4px;overflow:hidden;color:#928b95;font-size:10px;line-height:1.5;-webkit-line-clamp:3;-webkit-box-orient:vertical}.pantheon-mythic-profile>.unit-stats{align-self:end}.pantheon-mythic-command{display:grid;grid-template-rows:auto auto auto;gap:8px;align-content:start;min-width:0;padding:9px;border-left:1px solid rgba(181,132,202,.18);background:rgba(0,0,0,.14)}.pantheon-stationed{display:grid;grid-template-columns:27px minmax(0,1fr);gap:8px;align-items:center;padding:7px;border:1px solid rgba(181,132,202,.2);background:rgba(102,60,122,.08)}.pantheon-stationed>.ui-icon{width:25px;height:25px;color:#c99ee0}.pantheon-stationed>span{display:grid}.pantheon-stationed small{color:#8f8195;font-size:8px;text-transform:uppercase}.pantheon-stationed b{color:#dac6e1;font-size:15px;font-variant-numeric:tabular-nums}.pantheon-mythic-command>.recruit-card-ledger{grid-template-columns:minmax(0,1fr) 104px!important;width:100%!important}.pantheon-mythic-command>.btn{width:100%;justify-content:center}.mythic-unit-economy{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:7px!important;align-items:center!important}.mythic-recruit-time{display:flex!important;align-items:center!important;gap:6px!important;padding:5px 7px!important;border:1px solid rgba(173,126,201,.24)!important;background:rgba(117,72,141,.08)!important}.mythic-recruit-time>.ui-icon{width:20px!important;height:20px!important;color:#c99ee0!important}.mythic-recruit-time>b{color:#d7c5e0!important;font-size:12px!important;white-space:nowrap!important}
.spell-grid{grid-template-columns:repeat(2,minmax(300px,1fr))!important;grid-auto-rows:332px!important;align-items:start!important;gap:14px!important}.spell-card{display:grid!important;grid-template-rows:auto 50px auto minmax(0,1fr) auto!important;gap:9px!important;width:100%!important;height:332px!important;min-height:332px!important;max-height:332px!important;padding:16px!important;overflow:hidden!important;background:linear-gradient(145deg,rgba(24,35,36,.97),rgba(7,13,15,.99))!important}.spell-card.on-cooldown{opacity:1!important;border-color:rgba(134,116,83,.32)!important}.spell-card.locked{opacity:.68!important}.spell-card-head{display:grid!important;grid-template-columns:42px minmax(0,1fr)!important;gap:9px!important;align-items:center!important;min-width:0!important}.spell-card-head>.building-icon{position:static!important;width:40px!important;height:40px!important}.spell-card-head h3{overflow:hidden;margin:0!important;color:#d7cab2;font-size:18px!important;text-overflow:ellipsis;white-space:nowrap}.spell-card-head small{display:block;overflow:hidden;margin-top:2px;color:#7b8580;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.spell-card-description{display:-webkit-box!important;min-height:0!important;margin:0!important;overflow:hidden!important;color:#87908b!important;font-size:10px!important;line-height:1.55!important;-webkit-line-clamp:3;-webkit-box-orient:vertical}.spell-card-modifiers{min-height:34px;align-content:start;overflow:hidden}.spell-card-requirements{min-height:0!important;max-height:none!important;margin:0!important;padding-right:2px;overflow-y:auto!important;overscroll-behavior:contain;scrollbar-width:thin}.spell-card-footer{display:grid!important;grid-template-columns:minmax(0,1fr) 132px!important;gap:9px!important;align-items:stretch!important;min-height:58px!important;margin:0!important;padding-top:9px!important;border-top:1px solid rgba(199,146,79,.15)!important}.spell-card-economy{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:7px;min-width:0;align-items:stretch}.spell-card-economy>.cost-row{align-content:center;min-width:0;padding:5px 7px;border:1px solid rgba(199,146,79,.15);background:rgba(0,0,0,.12)}.spell-card-economy>.spell-cooldown,.spell-ready-state{display:grid!important;grid-template-columns:21px minmax(0,1fr)!important;gap:5px!important;align-items:center!important;min-width:0!important;margin:0!important;padding:5px 6px!important;border:1px solid rgba(199,146,79,.18)!important;background:rgba(0,0,0,.12)!important}.spell-card-economy>.spell-cooldown>.ui-icon,.spell-ready-state>.ui-icon{width:20px!important;height:20px!important}.spell-card-economy>.spell-cooldown>span,.spell-ready-state>span{display:grid!important;min-width:0}.spell-card-economy>.spell-cooldown small,.spell-ready-state small{color:#777f79;font-size:8px;text-transform:uppercase}.spell-card-economy>.spell-cooldown time,.spell-ready-state b{overflow:hidden;color:#d8b36e;font-size:10px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.spell-ready-state{color:#72bd91!important;border-color:rgba(92,158,124,.24)!important}.spell-ready-state>.ui-icon{color:#72bd91}.spell-ready-state b{color:#8bd1a7!important}.spell-card-action{display:inline-flex!important;width:132px!important;min-width:132px!important;max-width:132px!important;height:100%!important;min-height:48px!important;align-items:center!important;justify-content:center!important;gap:6px!important;padding:6px 8px!important;overflow:hidden!important}.spell-card-action>.ui-icon{flex:0 0 19px;width:19px;height:19px}.spell-card-action>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hero-unit-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:10px 0}.hero-unit-stat{display:grid;grid-template-columns:24px minmax(0,1fr);grid-template-rows:auto auto;gap:0 6px;align-items:center;min-width:0;padding:6px 7px;border:1px solid rgba(116,126,120,.23);background:rgba(0,0,0,.13)}.hero-unit-stat>.unit-stat-icon{grid-row:1/3;width:23px!important;height:23px!important}.hero-unit-stat>small{overflow:hidden;color:#78817c;font-size:8px;letter-spacing:.03em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.hero-unit-stat>b{color:#d5c7ad;font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}.hero-signature{display:block;margin:-5px 0 10px;color:#8d806b;font-size:9px;font-style:italic;text-align:right}
@media(max-width:900px){.recruit-controls{grid-template-columns:minmax(210px,240px) minmax(0,1fr)!important}.recruit-preview{grid-column:1/-1!important}.pantheon-mythic-body{grid-template-columns:112px minmax(0,1fr)!important}.pantheon-mythic-portrait{width:112px;height:112px}.pantheon-mythic-portrait>.god-mythic-unit-art{width:112px!important;height:112px!important}.pantheon-mythic-command{grid-column:1/-1;grid-template-columns:150px minmax(0,1fr) 190px;grid-template-rows:auto;align-items:stretch;border-top:1px solid rgba(181,132,202,.18);border-left:0}.pantheon-mythic-command>.recruit-card-ledger{grid-template-columns:minmax(0,1fr) 104px!important}.pantheon-mythic-command>.btn{height:100%}.spell-grid{grid-template-columns:1fr!important}}
@media(max-width:720px){.recruit-controls,.mythic-recruit-controls{position:static!important;grid-template-columns:1fr!important;margin:-18px -18px 13px!important}.recruit-preview{grid-column:auto!important}.recruit-unit-grid{grid-template-columns:1fr!important;grid-auto-rows:310px!important}.recruit-unit-card{height:310px!important;min-height:310px!important;max-height:310px!important}.recruit-card-heading .unit-choice-copy>small{-webkit-line-clamp:2}.pantheon-mythic-body{grid-template-columns:92px minmax(0,1fr)!important;gap:11px!important}.pantheon-mythic-portrait{width:92px;height:92px}.pantheon-mythic-portrait>.god-mythic-unit-art{width:92px!important;height:92px!important}.pantheon-mythic-command{grid-template-columns:1fr!important}.pantheon-mythic-command>.btn{min-height:40px}.spell-grid{grid-auto-rows:350px!important}.spell-card{height:350px!important;min-height:350px!important;max-height:350px!important}.spell-card-footer{grid-template-columns:minmax(0,1fr) 118px!important}.spell-card-action{width:118px!important;min-width:118px!important;max-width:118px!important}.spell-card-economy{grid-template-columns:1fr 102px}.hero-unit-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.recruit-quantity-control{grid-template-columns:1fr}.recruit-quantity-control>header{grid-column:auto}.recruit-quantity-presets{grid-template-columns:repeat(4,minmax(0,1fr))}.recruit-unit-card{grid-template-columns:82px minmax(0,1fr)!important;grid-template-rows:82px minmax(0,1fr)!important;height:316px!important;min-height:316px!important;max-height:316px!important;padding:9px!important;gap:8px 9px!important}.recruit-unit-grid{grid-auto-rows:316px!important}.recruit-card-visual{width:82px;height:82px}.recruit-card-visual>.recruit-unit-art,.recruit-card-visual>.asset-art.unit-art.recruit-unit-art,.recruit-card-visual>.asset-art.unit-art.ship-unit-art.recruit-unit-art{width:82px!important;height:82px!important;min-width:82px!important;min-height:82px!important}.recruit-card-heading>.unit-choice-copy{padding-right:38px!important}.recruit-card-heading .unit-choice-copy>b{font-size:15px!important}.recruit-card-ledger{grid-template-columns:minmax(0,1fr) 96px!important}.spell-card-footer{grid-template-columns:minmax(0,1fr) 104px!important}.spell-card-economy{grid-template-columns:1fr!important}.spell-card-action{width:104px!important;min-width:104px!important;max-width:104px!important;height:100%!important;min-height:42px!important}.spell-grid{grid-auto-rows:402px!important}.spell-card{height:402px!important;min-height:402px!important;max-height:402px!important}.mythic-muster-card{grid-template-columns:86px minmax(0,1fr)!important}.mythic-muster-portrait{width:86px;height:86px}.mythic-muster-portrait>.god-mythic-unit-art{width:86px!important;height:86px!important}}

/* Current-version hero battle stats use the same assets as unit cards. */
.hero-battle-stats>span{grid-template-columns:24px minmax(0,1fr)!important}
.hero-battle-stats .unit-stat-icon{grid-row:1/3;width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;max-width:22px!important;max-height:22px!important;flex-basis:22px!important}

/* v4.4.3 · stable recruitment geometry, uniform spell states, and hero stationing. */
.recruit-unit-card::after{
  content:none!important;
  display:none!important;
}
.recruit-role-seal{display:none!important}
.recruit-unit-type{
  display:inline-flex;
  align-items:center;
  gap:5px;
  width:max-content;
  max-width:100%;
  margin-top:3px;
  color:#9a8b73;
  font-size:8px;
  font-weight:700;
  letter-spacing:.065em;
  line-height:1;
  text-transform:uppercase;
  white-space:nowrap;
}
.recruit-unit-type>.ui-icon{width:14px;height:14px;color:#c89a54}
.recruit-card-heading .unit-choice-copy>small{margin-top:4px!important}
.recruit-card-requirements{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:5px!important;
  min-width:0!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:1px 0 4px!important;
  white-space:nowrap!important;
  overscroll-behavior-inline:contain;
  scrollbar-width:thin;
}
.recruit-card-requirements .requirement,
.recruit-card-requirements .requirement *{
  flex:0 0 auto!important;
  max-width:none!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}

.recruit-controls{
  grid-template-columns:300px 200px minmax(320px,1fr)!important;
  grid-auto-rows:108px!important;
  align-items:stretch!important;
}
.recruit-controls>.recruit-quantity-control,
.recruit-controls>.recruit-unlocked-filter,
.recruit-controls>.recruit-preview{
  box-sizing:border-box!important;
  width:100%!important;
  height:108px!important;
  min-height:108px!important;
  max-height:108px!important;
  overflow:hidden!important;
}
.recruit-quantity-control{
  grid-template-columns:minmax(126px,1fr) minmax(126px,1fr)!important;
  grid-template-rows:35px 43px!important;
  gap:7px 8px!important;
  width:300px!important;
  min-width:300px!important;
  max-width:300px!important;
  height:108px!important;
  min-height:108px!important;
  max-height:108px!important;
  padding:10px!important;
  align-content:center!important;
}
.recruit-quantity-control>header{grid-column:1/-1!important;min-height:35px!important;max-height:35px!important}
.recruit-quantity-stepper{
  position:static!important;
  display:grid!important;
  grid-template-columns:36px minmax(52px,1fr) 36px!important;
  width:100%!important;
  min-width:0!important;
  height:43px!important;
  min-height:43px!important;
  max-height:43px!important;
  margin:0!important;
  overflow:hidden!important;
}
.recruit-quantity-stepper>button{width:36px!important;min-width:36px!important;max-width:36px!important;height:41px!important;padding:0!important}
.recruit-quantity-stepper>input{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  box-sizing:border-box!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:41px!important;
  min-height:41px!important;
  max-height:41px!important;
  margin:0!important;
  padding:0 4px!important;
  line-height:41px!important;
  appearance:textfield;
}
.recruit-quantity-stepper>input::-webkit-outer-spin-button,
.recruit-quantity-stepper>input::-webkit-inner-spin-button{margin:0;appearance:none}
.recruit-quantity-presets{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:3px!important;
  width:100%!important;
  min-width:0!important;
  height:43px!important;
  min-height:43px!important;
  max-height:43px!important;
  margin:0!important;
}
.recruit-quantity-presets>button{min-width:0!important;height:43px!important;min-height:43px!important;max-height:43px!important;padding:2px!important}
.recruit-unlocked-filter{min-width:200px!important;max-width:200px!important}
.recruit-preview{align-content:start!important;padding-right:2px!important;overflow:auto!important;scrollbar-width:thin}
.mythic-recruit-controls{grid-template-columns:300px minmax(360px,1fr)!important}
.mythic-recruit-controls>.recruit-preview{grid-column:auto!important}

.god-mythic-unit-art,
.asset-art.god-mythic-unit-art{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  background-image:var(--asset-image)!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-size:contain!important;
}

.spell-grid{grid-auto-rows:332px!important;align-items:start!important}
.spell-card,
.spell-card.ready,
.spell-card.on-cooldown{
  box-sizing:border-box!important;
  height:332px!important;
  min-height:332px!important;
  max-height:332px!important;
  align-self:start!important;
}
.spell-card-footer{
  box-sizing:border-box!important;
  grid-template-columns:minmax(0,1fr) 132px!important;
  height:68px!important;
  min-height:68px!important;
  max-height:68px!important;
  align-items:end!important;
  overflow:hidden!important;
}
.spell-card-economy{
  box-sizing:border-box!important;
  grid-template-columns:minmax(0,1fr) 112px!important;
  height:58px!important;
  min-height:58px!important;
  max-height:58px!important;
  overflow:hidden!important;
}
.spell-card-economy>.cost-row,
.spell-card-economy>.spell-cooldown,
.spell-card-economy>.spell-ready-state{
  box-sizing:border-box!important;
  height:58px!important;
  min-height:58px!important;
  max-height:58px!important;
  margin:0!important;
  overflow:hidden!important;
}
.spell-card-economy>.spell-cooldown>span,
.spell-card-economy>.spell-ready-state>span{align-content:center!important}
.spell-card-economy>.spell-cooldown b,
.spell-card-economy>.spell-cooldown time,
.spell-card-economy>.spell-ready-state b{display:block!important;line-height:1.25!important}
.spell-card .spell-card-action.btn,
.spell-card .spell-card-action.btn.wide,
.spell-card .spell-card-action.btn:disabled{
  box-sizing:border-box!important;
  flex:0 0 132px!important;
  width:132px!important;
  min-width:132px!important;
  max-width:132px!important;
  height:58px!important;
  min-height:58px!important;
  max-height:58px!important;
  margin:0!important;
  align-self:end!important;
}

#npcTradeForm .npc-trade-metrics-row{
  display:grid!important;
  grid-template-columns:minmax(118px,.72fr) minmax(180px,1fr) minmax(210px,1.35fr);
  gap:9px;
  align-items:stretch;
  width:100%;
}
#npcTradeForm .npc-trade-volume,
#npcTradeForm .npc-load-ledger,
#npcTradeForm .rate-preview{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  align-self:stretch!important;
}
#npcTradeForm .npc-trade-volume{display:grid!important;grid-template-rows:auto 1fr}
#npcTradeForm .npc-trade-volume input{height:100%;min-height:48px}
#npcTradeForm .npc-load-ledger{display:grid!important}
#npcTradeForm .rate-preview{display:grid!important}
#npcTradeForm .btn.primary.wide{
  display:flex!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  justify-self:stretch!important;
  align-self:stretch!important;
  margin-top:0!important;
}
@media(max-width:760px){
  #npcTradeForm .npc-trade-metrics-row{grid-template-columns:1fr 1fr}
  #npcTradeForm .rate-preview{grid-column:1/-1}
}
@media(max-width:500px){
  #npcTradeForm .npc-trade-metrics-row{grid-template-columns:1fr}
  #npcTradeForm .rate-preview{grid-column:auto}
}

.hero-footer{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:7px!important}
.hero-footer>span:first-child{margin-right:auto}
.hero-assign-button{flex:0 0 auto!important}
.hero-assignment-dossier{
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  gap:14px;
  align-items:start;
  padding:12px;
  border:1px solid rgba(199,146,79,.22);
  background:linear-gradient(145deg,rgba(31,43,43,.88),rgba(8,14,16,.94));
}
.hero-assignment-portrait{width:112px!important;height:112px!important;min-width:112px!important;min-height:112px!important}
.hero-assignment-dossier h3{margin:2px 0 3px;color:#dfcfb2;font:400 21px Georgia,serif}
.hero-assignment-dossier p{margin:0;color:#8b938d;font-size:10px}
.hero-assignment-destination{display:grid!important;gap:6px!important;margin-top:12px!important}
.hero-assignment-rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}
.hero-assignment-rules>span{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:start;padding:9px;border:1px solid rgba(199,146,79,.17);background:rgba(0,0,0,.13)}
.hero-assignment-rules>.ui-icon,.hero-assignment-rules>span>.ui-icon{width:27px;height:27px;color:#bd9257}
.hero-assignment-rules>span>span{display:grid;gap:2px}
.hero-assignment-rules b{color:#c9b99d;font-size:10px}
.hero-assignment-rules small{color:#7e8781;font-size:9px;line-height:1.45}

.hero-army-picker{
  display:grid;
  gap:8px;
  margin:12px 0;
  padding:10px;
  border:1px solid rgba(199,146,79,.22);
  background:linear-gradient(145deg,rgba(25,37,38,.90),rgba(7,13,15,.94));
}
.hero-army-picker>header{display:flex;align-items:center;justify-content:space-between;gap:10px}
.hero-army-picker>header>span{display:flex;align-items:center;gap:8px;min-width:0}
.hero-army-picker>header>span>.ui-icon{width:28px;height:28px;color:#c79a55}
.hero-army-picker>header>span>span{display:grid;min-width:0}
.hero-army-picker>header small{color:#727c76;font-size:8px;letter-spacing:.07em;text-transform:uppercase}
.hero-army-picker>header b{color:#d4c3a5;font:400 15px Georgia,serif}
.hero-army-picker>header>em{flex:0 0 auto;padding:5px 8px;border:1px solid rgba(199,146,79,.24);color:#c7a56d;font-size:10px;font-style:normal;font-weight:700;font-variant-numeric:tabular-nums}
.hero-army-picker>p{margin:0;color:#7d8680;font-size:9px}
.hero-army-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:242px;overflow-y:auto;padding-right:2px;scrollbar-width:thin}
.hero-army-choice{position:relative;display:grid;grid-template-columns:54px minmax(0,1fr) 22px;gap:8px;align-items:center;min-width:0;min-height:78px;padding:7px;border:1px solid rgba(113,124,118,.24);background:rgba(0,0,0,.14);cursor:pointer}
.hero-army-choice:hover{border-color:rgba(199,146,79,.42);background:rgba(199,146,79,.07)}
.hero-army-choice.selected,.hero-army-choice:has(input:checked){border-color:#c7924f;background:rgba(199,146,79,.11)}
.hero-army-choice>input{position:absolute;opacity:0;pointer-events:none}
.hero-army-choice:has(input:disabled){opacity:.45;cursor:not-allowed}
.hero-army-choice:has(input:checked){opacity:1}
.hero-army-portrait,.hero-army-portrait>.hero-army-art{display:block;width:54px!important;height:64px!important;min-width:54px!important;min-height:64px!important}
.hero-army-choice-copy{display:grid;gap:2px;min-width:0}
.hero-army-choice-copy>b{overflow:hidden;color:#d3c3a8;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.hero-army-choice-copy>small{overflow:hidden;color:#77817b;font-size:8px;text-overflow:ellipsis;white-space:nowrap}
.hero-army-choice-copy>i{overflow:hidden;color:#927e62;font-size:8px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
.hero-army-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;margin-top:2px}
.hero-army-stats>em{display:flex;align-items:center;gap:2px;min-width:0;color:#aaa28f;font-size:8px;font-style:normal}
.hero-army-stats .unit-stat-icon{width:14px!important;height:14px!important;min-width:14px!important;min-height:14px!important}
.hero-army-stats b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hero-army-picker.disabled{opacity:.58}
.hero-army-empty{grid-column:1/-1;display:flex;align-items:center;gap:9px;padding:10px;border:1px dashed rgba(113,124,118,.25);color:#7e8781}
.hero-army-empty>.ui-icon{width:28px;height:28px}
.hero-army-empty>span{display:grid}.hero-army-empty b{font-size:10px}.hero-army-empty small{font-size:9px}

@media(max-width:900px){
  .recruit-controls{grid-template-columns:300px minmax(220px,1fr)!important;grid-auto-rows:108px!important}
  .recruit-preview{grid-column:1/-1!important}
  .mythic-recruit-controls{grid-template-columns:300px minmax(260px,1fr)!important}
  .mythic-recruit-controls>.recruit-preview{grid-column:auto!important}
}
@media(max-width:720px){
  .recruit-controls,.mythic-recruit-controls{grid-template-columns:1fr!important;grid-auto-rows:108px!important}
  .recruit-controls>.recruit-quantity-control,.recruit-controls>.recruit-unlocked-filter,.recruit-controls>.recruit-preview{grid-column:auto!important;height:108px!important;min-height:108px!important;max-height:108px!important}
  .recruit-quantity-control{width:100%!important;min-width:0!important;max-width:none!important}
  .spell-grid{grid-auto-rows:350px!important}
  .spell-card,.spell-card.ready,.spell-card.on-cooldown{height:350px!important;min-height:350px!important;max-height:350px!important}
  .spell-card-footer{grid-template-columns:minmax(0,1fr) 118px!important}
  .spell-card .spell-card-action.btn,.spell-card .spell-card-action.btn.wide,.spell-card .spell-card-action.btn:disabled{flex-basis:118px!important;width:118px!important;min-width:118px!important;max-width:118px!important}
  .hero-army-grid{grid-template-columns:1fr}
  .hero-assignment-rules{grid-template-columns:1fr}
}
@media(max-width:430px){
  .recruit-quantity-control{grid-template-columns:minmax(126px,1fr) minmax(126px,1fr)!important;grid-template-rows:35px 43px!important}
  .recruit-quantity-control>header{grid-column:1/-1!important}
  .spell-grid{grid-auto-rows:402px!important}
  .spell-card,.spell-card.ready,.spell-card.on-cooldown{height:402px!important;min-height:402px!important;max-height:402px!important}
  .spell-card-footer{grid-template-columns:minmax(0,1fr) 104px!important}
  .spell-card .spell-card-action.btn,.spell-card .spell-card-action.btn.wide,.spell-card .spell-card-action.btn:disabled{flex-basis:104px!important;width:104px!important;min-width:104px!important;max-width:104px!important}
  .spell-card-economy{grid-template-columns:1fr!important}
  .spell-card-economy>.spell-ready-state,.spell-card-economy>.spell-cooldown{display:none!important}
  .hero-assignment-dossier{grid-template-columns:82px minmax(0,1fr)}
  .hero-assignment-portrait{width:82px!important;height:92px!important;min-width:82px!important;min-height:92px!important}
}

/* v4.4.4 · POI invasion intelligence and stationed-hero controls. */
.site-recall-unit.site-recall-hero{
  grid-template-columns:58px minmax(0,1fr) 30px;
  cursor:pointer;
}
.site-recall-unit.site-recall-hero>input[type="checkbox"]{
  position:static!important;
  display:block!important;
  width:18px!important;
  min-width:18px!important;
  max-width:18px!important;
  height:18px!important;
  min-height:18px!important;
  margin:0 auto!important;
  padding:0!important;
  transform:none!important;
  accent-color:#c7924f;
}
.site-garrison-hero{border-color:rgba(104,143,167,.28)!important;background:rgba(38,68,86,.13)!important}
.site-defense-deployment{display:grid;gap:5px;margin-top:8px;padding:8px;border:1px solid rgba(102,148,171,.28);background:rgba(28,55,70,.12)}
.site-defense-deployment b{color:#b8d2df;font-size:11px}.site-defense-deployment small{color:#8fa2aa;font-size:10px}
.invasion-intelligence-hidden{margin:10px 0;border-color:rgba(190,84,72,.38);background:rgba(92,35,31,.12)}
.special-invasion-details{display:grid;gap:9px}.special-invasion-details>.action-warning{margin:0}
.movement-card.intel-hidden .movement-composition{color:#a68f84;font-style:italic}
@media(max-width:620px){
  .site-recall-unit.site-recall-hero{grid-template-columns:52px minmax(0,1fr) 28px}
}

/* v4.4.5 · recruitment spacing and mythic-control clearance. */
.recruit-card-details>.unit-stats>span{
  grid-template-columns:19px minmax(0,auto)!important;
  column-gap:7px!important;
}
.recruit-card-details>.unit-stats .unit-stat-icon{
  width:19px!important;
  height:19px!important;
  min-width:19px!important;
  min-height:19px!important;
  max-width:19px!important;
  max-height:19px!important;
  flex:0 0 19px!important;
}
.mythic-recruit-controls{
  grid-auto-rows:118px!important;
  min-height:118px!important;
}
.mythic-recruit-controls>.recruit-quantity-control,
.mythic-recruit-controls>.recruit-preview{
  height:118px!important;
  min-height:118px!important;
  max-height:118px!important;
}
@media(max-width:900px){
  .mythic-recruit-controls{grid-auto-rows:118px!important}
}
@media(max-width:720px){
  .mythic-recruit-controls{grid-auto-rows:118px!important}
  .mythic-recruit-controls>.recruit-quantity-control,
  .mythic-recruit-controls>.recruit-preview{
    height:118px!important;
    min-height:118px!important;
    max-height:118px!important;
  }
}

/* v4.4.7 · compact realm header and authoritative NPC gift feedback. */
.city-picker{
  width:clamp(154px,11vw,180px)!important;
  max-width:180px!important;
  flex:0 1 clamp(154px,11vw,180px)!important;
}
.resource-chip{min-width:clamp(76px,5.4vw,98px)}
.resource-chip.account-resource,.resource-chip.population-resource{min-width:76px}
.npc-gift-lock{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid rgba(188,137,74,.3);background:rgba(113,70,35,.12);color:#c7aa7b}
.npc-gift-lock>.ui-icon{width:20px;height:20px;flex:0 0 20px}.npc-gift-lock small{flex:1;font-size:10px}.npc-gift-lock time{font-size:10px;font-variant-numeric:tabular-nums}
.npc-gift-preview{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:10px;min-height:72px;padding:10px 12px;border:1px solid rgba(91,155,136,.32);background:rgba(48,112,87,.08)}
.npc-gift-preview.missing{border-color:rgba(204,91,78,.34);background:rgba(125,43,36,.08)}.npc-gift-preview.loading{border-color:rgba(188,137,74,.28);background:rgba(113,70,35,.08)}
.npc-gift-preview>.ui-icon{width:26px;height:26px}.npc-gift-preview>span{display:grid;gap:3px;min-width:0}.npc-gift-preview small{color:#a89a7e;font-size:10px}.npc-gift-preview b{color:#d5ceba;font-size:12px}.npc-gift-preview b em{color:#79bc94;font-style:normal}.npc-gift-preview p{margin:0;color:#8d9893;font-size:10px;line-height:1.35}
@media(max-width:1480px){.city-picker{width:166px!important;max-width:166px!important;flex-basis:166px!important}}
@media(min-width:981px) and (max-width:1480px){
  .resource-bar{overflow:hidden}
  .resource-chip,
  .resource-chip.account-resource,
  .resource-chip.population-resource{
    flex:1 1 0;
    width:auto!important;
    min-width:0!important;
    gap:4px;
    padding-inline:5px;
    overflow:hidden;
  }
  .resource-chip .resource-glyph{
    width:23px!important;
    min-width:23px!important;
    height:23px!important;
  }
  .resource-chip span{overflow:hidden}
  .resource-chip b{font-size:12px}
}
@media(max-width:760px){.city-picker{width:142px!important;min-width:96px!important;max-width:142px!important;flex:0 1 142px!important}}
@media(max-width:430px){.city-picker{width:84px!important;min-width:68px!important;max-width:84px!important;flex-basis:84px!important}}

/* v4.4.8 · equal-width realm resources and compact divine controls. */
@media(min-width:761px){
  .topbar>.resource-bar>.resource-chip,
  .topbar>.resource-bar>.resource-chip.account-resource,
  .topbar>.resource-bar>.resource-chip.population-resource{
    flex:1 1 0!important;
    width:0!important;
    min-width:0!important;
    max-width:none!important;
    justify-content:center;
    padding-inline:clamp(4px,.55vw,10px)!important;
  }
}
@media(max-width:760px){
  .topbar>.resource-bar>.resource-chip,
  .topbar>.resource-bar>.resource-chip[data-resource="essence"],
  .topbar>.resource-bar>.resource-chip.account-resource,
  .topbar>.resource-bar>.resource-chip.population-resource{
    flex:1 0 68px!important;
    width:auto!important;
    min-width:68px!important;
    max-width:none!important;
    justify-content:center;
  }
}
@media(max-width:430px){
  .topbar>.resource-bar>.resource-chip,
  .topbar>.resource-bar>.resource-chip[data-resource="essence"],
  .topbar>.resource-bar>.resource-chip.account-resource,
  .topbar>.resource-bar>.resource-chip.population-resource{flex-basis:62px!important;min-width:62px!important}
}

.spell-card-economy{
  grid-template-columns:minmax(92px,148px) minmax(118px,132px)!important;
  justify-content:start;
}
.spell-card-economy>.cost-row.compact.resource-flow.loss{
  width:100%;
  max-width:148px;
}
.spell-card-economy>.spell-cooldown{grid-column:auto!important}
.spell-ready-state b{font-size:9px!important}

.pantheon-mythic-body{
  grid-template-columns:106px minmax(220px,1fr) minmax(390px,430px)!important;
  gap:12px!important;
  padding:11px!important;
}
.pantheon-mythic-portrait,
.pantheon-mythic-portrait>.god-mythic-unit-art{
  width:106px!important;
  height:106px!important;
}
.pantheon-mythic-profile{gap:3px!important}
.pantheon-mythic-profile>h3{font-size:20px!important}
.pantheon-mythic-profile>p{-webkit-line-clamp:2!important}
.pantheon-mythic-profile>.unit-stats{margin-top:2px!important}
.pantheon-mythic-command{
  grid-template-columns:96px minmax(0,1fr)!important;
  grid-template-rows:auto 38px!important;
  align-items:stretch!important;
  gap:7px!important;
  padding:7px!important;
}
.pantheon-mythic-command>.pantheon-stationed{grid-template-columns:22px minmax(0,1fr);padding:5px!important}
.pantheon-mythic-command>.pantheon-stationed>.ui-icon{width:20px;height:20px}
.pantheon-mythic-command>.recruit-card-ledger{grid-template-columns:minmax(0,1fr) 86px!important;gap:5px!important}
.pantheon-mythic-command>.recruit-card-ledger>span{min-height:0!important;padding:5px 6px!important}
.pantheon-mythic-command>.btn{grid-column:1/-1;min-width:0!important;min-height:38px!important;padding:5px 8px!important}

.mythic-recruit-modal{width:min(1120px,calc(100vw - 20px))!important}
.mythic-recruit-modal #modalBody{padding:14px!important}
.mythic-recruit-form{
  display:grid;
  grid-template-columns:minmax(300px,320px) minmax(0,1fr);
  gap:12px;
  align-items:stretch;
}
.mythic-recruit-modal .mythic-muster-card{
  grid-template-columns:96px minmax(0,1fr)!important;
  min-width:0;
  margin:0!important;
  padding:10px!important;
}
.mythic-recruit-modal .mythic-muster-portrait,
.mythic-recruit-modal .mythic-muster-portrait>.god-mythic-unit-art{
  width:96px!important;
  height:96px!important;
}
.mythic-recruit-modal .mythic-muster-copy>p{-webkit-line-clamp:2;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical}
.mythic-recruit-modal .mythic-muster-copy>.unit-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.mythic-recruit-modal .mythic-recruit-controls{
  position:relative!important;
  top:auto!important;
  grid-template-columns:300px minmax(0,1fr)!important;
  grid-auto-rows:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:8px!important;
  box-shadow:none!important;
}
.mythic-recruit-modal .mythic-recruit-controls>.recruit-quantity-control,
.mythic-recruit-modal .mythic-recruit-controls>.recruit-preview{
  height:auto!important;
  min-height:112px!important;
  max-height:none!important;
}
.mythic-recruit-modal .recruit-preview{align-content:start!important;overflow:visible!important}
.mythic-recruit-modal .recruit-preview-ledger{grid-template-columns:minmax(0,1fr) 145px!important}
.mythic-recruit-modal .recruit-preview-time{min-width:0!important;overflow:hidden!important}

@media(max-width:980px){
  .pantheon-mythic-body{grid-template-columns:96px minmax(0,1fr)!important}
  .pantheon-mythic-portrait,.pantheon-mythic-portrait>.god-mythic-unit-art{width:96px!important;height:96px!important}
  .pantheon-mythic-command{grid-column:1/-1;border-top:1px solid rgba(181,132,202,.18);border-left:0}
}
@media(max-width:820px){
  .mythic-recruit-form{grid-template-columns:1fr}
  .mythic-recruit-modal .mythic-muster-card{grid-template-columns:86px minmax(0,1fr)!important}
  .mythic-recruit-modal .mythic-muster-portrait,
  .mythic-recruit-modal .mythic-muster-portrait>.god-mythic-unit-art{width:86px!important;height:86px!important}
}
@media(max-width:620px){
  .pantheon-mythic-command{grid-template-columns:minmax(84px,.7fr) minmax(0,1.3fr)!important}
  .mythic-recruit-modal #modalBody{padding:10px!important}
  .mythic-recruit-modal .mythic-recruit-controls{grid-template-columns:1fr!important}
  .mythic-recruit-modal .mythic-recruit-controls>.recruit-quantity-control,
  .mythic-recruit-modal .mythic-recruit-controls>.recruit-preview{min-height:0!important}
  .spell-card-economy{grid-template-columns:minmax(82px,1fr) minmax(108px,120px)!important}
  .spell-card-economy>.cost-row.compact.resource-flow.loss{max-width:none}
}
@media(max-width:430px){
  .spell-card-economy>.spell-ready-state,
  .spell-card-economy>.spell-cooldown{display:grid!important}
}

/* v5.0.1 · resilient recruitment ledgers and compact divine muster. */
.recruit-controls:not(.mythic-recruit-controls){
  grid-auto-rows:minmax(136px,auto)!important;
  min-height:136px!important;
}
.recruit-controls:not(.mythic-recruit-controls)>.recruit-quantity-control,
.recruit-controls:not(.mythic-recruit-controls)>.recruit-unlocked-filter,
.recruit-controls:not(.mythic-recruit-controls)>.recruit-preview{
  height:auto!important;
  min-height:136px!important;
  max-height:none!important;
}
.recruit-controls:not(.mythic-recruit-controls)>.recruit-preview{
  align-content:start!important;
  overflow-y:auto!important;
}
.pantheon-mythic-body{
  grid-template-columns:100px minmax(210px,1fr) minmax(360px,420px)!important;
  align-items:center!important;
}
.pantheon-mythic-portrait,
.mythic-muster-portrait{
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
  border:0!important;
  background:transparent!important;
}
.pantheon-mythic-portrait>.god-mythic-unit-art,
.mythic-muster-portrait>.god-mythic-unit-art{
  margin:0!important;
  background-position:50% 50%!important;
  background-size:contain!important;
}
.pantheon-mythic-command{
  grid-template-columns:58px minmax(0,1fr)!important;
  grid-template-rows:auto 38px!important;
  align-items:stretch!important;
}
.pantheon-stationed{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  min-width:0!important;
  padding:5px!important;
}
.pantheon-stationed>.ui-icon{flex:0 0 20px!important;width:20px!important;height:20px!important}
.pantheon-stationed>b{color:#dac6e1;font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap}
.pantheon-mythic-command>.recruit-card-ledger{
  grid-template-columns:minmax(0,1fr) 92px!important;
  gap:5px!important;
}
.pantheon-mythic-command .recruit-card-cost>.cost-row{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(52px,1fr))!important;
  gap:3px 6px!important;
}
.pantheon-mythic-command .recruit-card-cost>.cost-row>.cost{
  min-width:0!important;
  white-space:nowrap;
}
.mythic-recruit-form{
  grid-template-columns:minmax(250px,292px) minmax(0,1fr)!important;
  align-items:start!important;
}
.mythic-recruit-modal .mythic-muster-card{
  grid-template-columns:88px minmax(0,1fr)!important;
  align-self:stretch!important;
}
.mythic-recruit-modal .mythic-muster-portrait,
.mythic-recruit-modal .mythic-muster-portrait>.god-mythic-unit-art{
  width:88px!important;
  height:88px!important;
}
.mythic-recruit-modal .mythic-muster-copy>h3{font-size:19px!important}
.mythic-recruit-modal .mythic-muster-copy>.unit-stats{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:4px!important;
}
.mythic-recruit-modal .mythic-recruit-controls{
  grid-template-columns:244px minmax(0,1fr)!important;
  grid-auto-rows:auto!important;
  align-items:start!important;
  min-height:0!important;
  padding:7px!important;
}
.mythic-recruit-modal .recruit-quantity-control{
  align-self:start!important;
  width:244px!important;
  min-width:244px!important;
  max-width:244px!important;
  height:auto!important;
  min-height:108px!important;
  max-height:none!important;
  padding:8px!important;
}
.mythic-recruit-modal .mythic-recruit-controls>.recruit-preview{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:6px!important;
  height:auto!important;
  min-height:108px!important;
  max-height:none!important;
  overflow:visible!important;
}
.mythic-recruit-modal .recruit-preview-ledger{
  grid-template-columns:minmax(0,1fr) 126px!important;
  gap:6px!important;
}
.mythic-recruit-modal .recruit-preview-cost>.cost-row{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(62px,1fr))!important;
  gap:3px 6px!important;
}
.mythic-preview-status{display:grid;grid-template-columns:minmax(300px,1fr) minmax(155px,190px);align-items:start;gap:6px;min-width:0}
.mythic-preview-requirements{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:start!important;align-content:start!important;gap:4px!important;min-width:0!important;margin:0!important;overflow:visible!important}
.mythic-preview-requirements>.requirement{min-width:0!important;min-height:38px!important}
.mythic-capacity-ledger{display:grid;grid-template-columns:1fr;align-self:start;align-content:start;gap:5px}
.mythic-capacity-ledger>.population-check{display:grid!important;grid-template-columns:18px minmax(0,1fr)!important;gap:0 5px!important;align-items:center!important;align-self:start!important;min-width:0!important;min-height:42px!important;height:auto!important;margin:0!important;padding:5px 7px!important}
.mythic-capacity-ledger>.population-check>.ui-icon{grid-row:1/3;width:17px!important;height:17px!important}
.mythic-capacity-ledger>.population-check>span{color:#77827b;font-size:10px;white-space:nowrap}
.mythic-capacity-ledger>.population-check>b{font-size:10px;font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:980px){
  .pantheon-mythic-body{grid-template-columns:92px minmax(0,1fr)!important}
  .pantheon-mythic-command{grid-column:1/-1!important;grid-template-columns:58px minmax(0,1fr) 190px!important;grid-template-rows:auto!important}
  .pantheon-mythic-command>.btn{grid-column:auto!important}
}
@media(max-width:820px){
  .mythic-recruit-form{grid-template-columns:1fr!important}
  .mythic-recruit-modal .mythic-recruit-controls{grid-template-columns:244px minmax(0,1fr)!important}
}
@media(max-width:720px){
  .recruit-controls:not(.mythic-recruit-controls){grid-auto-rows:auto!important}
  .recruit-controls:not(.mythic-recruit-controls)>.recruit-quantity-control,
  .recruit-controls:not(.mythic-recruit-controls)>.recruit-unlocked-filter,
  .recruit-controls:not(.mythic-recruit-controls)>.recruit-preview{height:auto!important;min-height:118px!important;max-height:none!important}
  .mythic-recruit-modal .mythic-recruit-controls{grid-template-columns:1fr!important}
  .mythic-recruit-modal .recruit-quantity-control{width:100%!important;min-width:0!important;max-width:none!important}
  .mythic-preview-status{grid-template-columns:1fr!important}
}
@media(max-width:620px){
  .pantheon-mythic-command{grid-template-columns:54px minmax(0,1fr)!important}
  .pantheon-mythic-command>.btn{grid-column:1/-1!important}
  .pantheon-mythic-command .recruit-card-cost>.cost-row{grid-template-columns:repeat(2,minmax(50px,1fr))!important}
  .mythic-capacity-ledger{grid-template-columns:1fr 1fr}
}
@media(max-width:430px){
  .mythic-recruit-modal .recruit-preview-ledger{grid-template-columns:1fr!important}
  .mythic-recruit-modal .recruit-preview-time{min-height:43px!important}
  .mythic-capacity-ledger{grid-template-columns:1fr!important}
}
/* Controlled holdings command ledger */
.controlled-poi-view{min-width:0}.controlled-poi-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0 0 12px;overflow:hidden;border:1px solid rgba(196,151,78,.19);background:rgba(196,151,78,.12)}.controlled-poi-summary>article{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:12px 14px;background:linear-gradient(125deg,rgba(27,39,40,.98),rgba(13,20,22,.98))}.controlled-poi-summary .ui-icon{width:34px;height:34px;color:#c79b56}.controlled-poi-summary article>span{display:grid;min-width:0}.controlled-poi-summary small{overflow:hidden;color:#7f8c85;font-size:10px;letter-spacing:.05em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.controlled-poi-summary b{color:#d7c5a5;font:500 22px Georgia,serif}.controlled-poi-summary .danger{background:linear-gradient(125deg,rgba(75,31,29,.92),rgba(24,19,20,.98))}.controlled-poi-summary .danger .ui-icon,.controlled-poi-summary .danger b{color:#df766c}
.controlled-poi-filters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;margin-bottom:14px;padding:0;overflow:hidden;background:var(--line)}.controlled-poi-filters>button{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;min-height:48px;padding:8px 11px;border:0;background:#11191b;color:#8e9891;cursor:pointer}.controlled-poi-filters>button:hover,.controlled-poi-filters>button.active{background:linear-gradient(115deg,rgba(120,83,42,.28),rgba(17,25,27,.98));color:#d2b475}.controlled-poi-filters>button.active{box-shadow:inset 0 -2px #c6924f}.controlled-poi-filters button>span{display:flex;align-items:center;gap:7px;min-width:0}.controlled-poi-filters .ui-icon{flex:0 0 auto;width:22px;height:22px}.controlled-poi-filters b{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.controlled-poi-filters em{display:grid;place-items:center;min-width:24px;height:22px;padding:0 5px;border:1px solid rgba(196,151,78,.18);border-radius:12px;background:rgba(0,0,0,.16);font-size:10px;font-style:normal}
.controlled-poi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px}.controlled-poi-grid>.empty-state{grid-column:1/-1}.controlled-poi-card{position:relative;display:grid;min-width:0;overflow:hidden;border:1px solid rgba(195,151,81,.22);background:linear-gradient(145deg,rgba(25,37,38,.98),rgba(10,16,18,.99));box-shadow:0 14px 30px rgba(0,0,0,.14)}.controlled-poi-card::before{position:absolute;inset:0 auto 0 0;width:3px;background:#9b7545;content:""}.controlled-poi-card.special::before{background:#d4ac56}.controlled-poi-card.shrine::before{background:#c7b777}.controlled-poi-card.settlement::before{background:#8d9775}.controlled-poi-card>header{display:grid;grid-template-columns:92px minmax(0,1fr) 38px;align-items:center;gap:12px;min-height:104px;padding:10px 12px;border-bottom:1px solid var(--line);background:radial-gradient(circle at 10% 25%,rgba(166,113,49,.12),transparent 44%)}.controlled-poi-card>header>span{display:grid;min-width:0}.controlled-poi-card>header small{color:#a58352;font-size:10px;letter-spacing:.05em;text-transform:uppercase}.controlled-poi-card>header h2{overflow:hidden;margin:3px 0;color:#ddcaaa;font:500 20px Georgia,serif;text-overflow:ellipsis;white-space:nowrap}.controlled-poi-card>header p{margin:0;color:#7f8b84;font-size:10px}.controlled-poi-card>header>.icon-button{width:36px;height:36px}.controlled-poi-art{display:grid;place-items:center;width:92px;height:82px;overflow:hidden}.controlled-poi-map-art{width:90px;height:80px;background-position:center!important;background-size:contain!important;filter:drop-shadow(0 5px 5px rgba(0,0,0,.3))}
.controlled-poi-yield{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:9px;margin:10px 12px 0;padding:9px 10px;border:1px solid rgba(107,151,112,.22);background:linear-gradient(105deg,rgba(42,91,60,.13),rgba(4,10,11,.16))}.controlled-poi-yield>.value-glyph,.controlled-poi-yield>.ui-icon{width:38px;height:38px}.controlled-poi-yield>span{display:grid;min-width:0}.controlled-poi-yield small{color:#829088;font-size:10px}.controlled-poi-yield b{color:#d4c5aa;font-size:16px}.controlled-poi-yield b em{color:#737f79;font-size:11px;font-style:normal}.controlled-poi-yield>strong{color:#72b68f;font-size:12px;white-space:nowrap}.controlled-poi-yield>.progress{grid-column:1/-1;height:4px}.controlled-poi-yield.shrine-yield{grid-template-columns:42px minmax(0,1fr) auto;border-color:rgba(208,176,96,.28);background:linear-gradient(105deg,rgba(126,92,37,.16),rgba(4,10,11,.16))}.controlled-poi-yield.shrine-yield>.ui-icon{color:#d3b563}.controlled-poi-yield.shrine-yield>em{color:#c9aa60;font-size:10px;font-style:normal}
.controlled-poi-fortifications,.controlled-estate-ledger{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:8px 12px 0;border:1px solid var(--line);background:var(--line)}.controlled-poi-fortifications>span,.controlled-estate-ledger>span{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:5px;padding:7px 8px;background:rgba(7,12,13,.76)}.controlled-poi-fortifications .ui-icon,.controlled-estate-ledger .ui-icon{grid-row:1/3;width:22px;height:22px;color:#a9824b}.controlled-poi-fortifications small,.controlled-estate-ledger small{color:#78847d;font-size:9px}.controlled-poi-fortifications b,.controlled-estate-ledger b{grid-column:3;grid-row:1/3;color:#cdb991;font-size:13px}
.controlled-poi-risk{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;margin:8px 12px 0;padding:7px 9px;border:1px solid rgba(96,153,121,.22);background:rgba(36,83,59,.11)}.controlled-poi-risk>.ui-icon{width:27px;height:27px;color:#72b890}.controlled-poi-risk>span{display:grid}.controlled-poi-risk small{color:#778780;font-size:9px;text-transform:uppercase}.controlled-poi-risk b{color:#b9cfbe;font-size:12px}.controlled-poi-risk time{color:#83aa94;font-size:10px;font-variant-numeric:tabular-nums}.controlled-poi-risk.watch{border-color:rgba(201,157,79,.28);background:rgba(111,74,26,.12)}.controlled-poi-risk.watch>.ui-icon,.controlled-poi-risk.watch time{color:#c9a45e}.controlled-poi-risk.critical{border-color:rgba(203,85,76,.35);background:rgba(111,38,34,.16)}.controlled-poi-risk.critical>.ui-icon,.controlled-poi-risk.critical time,.controlled-poi-risk.critical b{color:#df766c}.controlled-poi-risk.dormant{opacity:.72}
.controlled-poi-risk:has(>button){grid-template-columns:30px minmax(0,1fr) auto 34px}.controlled-poi-risk span>em{overflow:hidden;color:#778780;font-size:10px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.controlled-poi-risk>.icon-button{width:32px;height:32px;padding:5px}.controlled-poi-risk>.icon-button .resource-glyph{width:21px;height:21px}.poi-risk-payment{display:grid;gap:14px;min-width:min(520px,78vw);padding:8px}.poi-risk-payment>div:first-child{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:12px;padding:14px;border:1px solid rgba(196,151,78,.24);background:rgba(7,13,14,.55)}.poi-risk-payment>div:first-child>.ui-icon{width:48px;height:48px;color:#c49a56}.poi-risk-payment>div:first-child>span{display:grid}.poi-risk-payment small{color:#87938c;font-size:10px;text-transform:uppercase}.poi-risk-payment b{color:#d8c39e;font:500 21px Georgia,serif}.poi-risk-payment p{margin:0;color:#9da7a0;line-height:1.55}
.controlled-poi-section{min-width:0;margin:9px 12px 0;border:1px solid var(--line);background:rgba(0,0,0,.11)}.controlled-poi-section>header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:34px;padding:6px 8px;border-bottom:1px solid var(--line)}.controlled-poi-section>header>span{display:flex;align-items:center;gap:6px;color:#bb9c69;font-size:10px;text-transform:uppercase}.controlled-poi-section>header .ui-icon{width:19px;height:19px}.controlled-poi-section>header em{color:#77847d;font-size:10px;font-style:normal}.controlled-poi-garrison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line)}.controlled-poi-garrison>article{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0;padding:6px 8px;background:#10181a}.controlled-garrison-art{width:38px;height:38px;background-size:contain!important}.controlled-poi-garrison article>span{display:grid;min-width:0}.controlled-poi-garrison article b{overflow:hidden;color:#cfc0a4;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.controlled-poi-garrison article small{overflow:hidden;color:#718079;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.controlled-poi-garrison article>strong{color:#d0a85d;font-size:12px}.controlled-poi-garrison .hero-entry{background:rgba(75,50,84,.12)}.controlled-poi-garrison .hero-entry>strong .ui-icon{width:19px;height:19px}.controlled-poi-empty-garrison{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;padding:9px}.controlled-poi-empty-garrison>.ui-icon{width:25px;height:25px;color:#c17167}.controlled-poi-empty-garrison>span{display:grid}.controlled-poi-empty-garrison b{color:#bf8b82;font-size:11px}.controlled-poi-empty-garrison small{color:#76817b;font-size:10px}
.controlled-poi-movements{display:grid;gap:1px;background:var(--line)}.controlled-poi-movements>article{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:6px 8px;background:#10181a}.controlled-poi-movements>article.hostile{background:rgba(82,29,28,.27)}.controlled-movement-art{width:32px;height:32px;background-size:contain!important}.controlled-poi-movements article>span{display:grid;min-width:0}.controlled-poi-movements b,.controlled-poi-movements small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.controlled-poi-movements b{color:#c9b99e;font-size:10px}.controlled-poi-movements small{color:#74817a;font-size:9px}.controlled-poi-movements time{color:#c69b55;font-size:10px;font-variant-numeric:tabular-nums}.controlled-poi-quiet{display:flex;align-items:center;gap:7px;margin:0;padding:9px;color:#72827a;font-size:10px}.controlled-poi-quiet .ui-icon{width:20px;height:20px;color:#64a583}.controlled-poi-card>footer{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px;padding:10px 12px;border-top:1px solid var(--line);background:rgba(0,0,0,.13)}.controlled-poi-card>footer .btn{flex:1 1 auto;min-width:115px;justify-content:center;padding-inline:9px}.controlled-poi-card>footer .ui-icon{width:19px;height:19px}
@media(max-width:1100px){.controlled-poi-grid{grid-template-columns:1fr}.controlled-poi-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.controlled-poi-summary>article{padding:9px 10px}.controlled-poi-summary b{font-size:18px}.controlled-poi-filters{display:flex;overflow-x:auto;scrollbar-width:thin}.controlled-poi-filters>button{flex:0 0 142px}.controlled-poi-card>header{grid-template-columns:78px minmax(0,1fr) 34px;min-height:92px;padding:8px}.controlled-poi-art{width:78px;height:72px}.controlled-poi-map-art{width:76px;height:70px}.controlled-poi-card>header h2{font-size:17px}.controlled-poi-yield,.controlled-poi-fortifications,.controlled-estate-ledger,.controlled-poi-risk,.controlled-poi-section{margin-right:8px;margin-left:8px}.controlled-poi-garrison{grid-template-columns:1fr}.controlled-poi-card>footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:8px}.controlled-poi-card>footer .btn{min-width:0;width:100%}}
@media(max-width:430px){.controlled-poi-summary{grid-template-columns:1fr 1fr}.controlled-poi-summary small{font-size:9px}.controlled-poi-summary .ui-icon{width:29px;height:29px}.controlled-poi-card>header{grid-template-columns:68px minmax(0,1fr) 32px}.controlled-poi-art{width:68px}.controlled-poi-map-art{width:66px}.controlled-poi-fortifications>span,.controlled-estate-ledger>span{grid-template-columns:20px minmax(0,1fr);padding:6px 5px}.controlled-poi-fortifications b,.controlled-estate-ledger b{grid-column:2;grid-row:2}.controlled-poi-fortifications .ui-icon,.controlled-estate-ledger .ui-icon{width:19px;height:19px}.controlled-poi-card>footer{grid-template-columns:1fr}}

/* v5.0 player-built siege camps */
.controlled-poi-filters{grid-template-columns:repeat(6,minmax(0,1fr))}
.controlled-poi-card.siege-camp{border-color:rgba(194,123,65,.34);background:radial-gradient(circle at 12% 8%,rgba(174,94,44,.14),transparent 38%),linear-gradient(145deg,rgba(28,37,36,.99),rgba(10,15,17,.99))}
.controlled-poi-card.siege-camp::before{background:linear-gradient(#e0a158,#873f2d)}
.controlled-poi-card.siege-camp.threatened{border-color:rgba(214,85,72,.5)}
.siege-camp-supply{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:10px 12px 0;border:1px solid rgba(202,145,78,.2);background:rgba(202,145,78,.13)}
.siege-camp-supply>span{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:2px 8px;min-width:0;padding:8px;background:rgba(8,14,15,.88)}
.siege-camp-supply .value-glyph,.siege-camp-supply>.ui-icon,.siege-camp-supply>span>.ui-icon{grid-row:1/3;width:30px;height:30px;color:#c89551}
.siege-camp-supply small{overflow:hidden;color:#76847c;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.siege-camp-supply small,.siege-camp-supply b{grid-column:2}
.siege-camp-supply b{color:#d5c2a1;font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap}
.siege-camp-supply .negative b{color:#d86f66}.siege-camp-supply .positive b{color:#75b58d}
.siege-camp-supply .camp-morale{grid-template-rows:auto auto 4px}.siege-camp-supply .camp-morale>i{grid-column:2;display:block;overflow:hidden;width:100%;height:4px;background:rgba(255,255,255,.08)}.siege-camp-supply .camp-morale>i>i{display:block;height:100%;background:linear-gradient(90deg,#9a443e,#c89b58,#6da67e)}.siege-camp-supply .morale-breaking b,.siege-camp-supply .morale-shaken b{color:#e07167}.siege-camp-supply .morale-strained b{color:#d4a761}.siege-camp-supply .morale-steady b{color:#78b58c}
.siege-camp-rewards,.siege-camp-inspector-rewards{display:grid;gap:7px;margin:8px 12px 0;padding:8px 10px;border:1px solid rgba(202,156,80,.24);background:linear-gradient(110deg,rgba(112,75,27,.16),rgba(7,12,13,.32))}
.siege-camp-rewards>span{display:flex;align-items:center;gap:7px;color:#b79560;text-transform:uppercase}.siege-camp-rewards>span>.ui-icon{width:22px;height:22px}.siege-camp-rewards small,.siege-camp-inspector-rewards>small{font-size:10px}
.siege-camp-rewards .reward-row,.siege-camp-inspector-rewards .reward-row{display:flex;flex-wrap:wrap;gap:5px;min-width:0}
.siege-camp-inspector .poi-inspector-visual{background:radial-gradient(circle,rgba(143,81,39,.23),rgba(9,15,16,.93))}
.siege-camp-inspector .inspector-map-art{width:104px;height:92px;background-size:contain!important}
.siege-camp-inspector-rewards{margin:8px 0}
.siege-camp-order-summary{display:grid;grid-template-columns:124px minmax(0,1fr);align-items:center;gap:14px;margin:10px 0;padding:10px;border:1px solid rgba(198,143,71,.24);background:radial-gradient(circle at 8% 50%,rgba(159,92,39,.2),transparent 45%),rgba(7,12,13,.46)}
.siege-camp-order-summary>div{display:grid;min-width:0}.siege-camp-order-summary small{color:#ac8250;font-size:10px;letter-spacing:.05em;text-transform:uppercase}.siege-camp-order-summary h3{margin:3px 0;color:#dcc5a0;font:500 20px Georgia,serif}.siege-camp-order-summary p{margin:0;color:#849087;font-size:11px;line-height:1.45}
.siege-camp-order-art{width:120px;height:94px;background-position:center!important;background-size:contain!important}
.siege-supply-order{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.55fr);gap:12px;align-items:stretch}.siege-supply-load,.siege-supply-reserve{padding:12px;border:1px solid rgba(197,145,78,.25);background:rgba(7,13,14,.58)}.siege-supply-load label{margin:0}.siege-supply-load input[readonly]{color:#e0c188;cursor:default}.siege-supply-load .caravan-requirement{margin-top:10px}.siege-supply-reserve{display:flex;align-items:center;justify-content:center;gap:12px}.siege-supply-reserve .value-glyph{width:42px;height:42px}.siege-supply-reserve span{display:grid;gap:3px}.siege-supply-reserve small{color:#7f8d84;font-size:10px;text-transform:uppercase}.siege-supply-reserve b{color:#ddc596;font-size:21px;font-variant-numeric:tabular-nums}
.siege-camp-cost{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.siege-camp-cost>*{flex:1 1 118px;min-width:0}
.siege-camp-launch-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.siege-camp-launch-list>.content-card{display:grid;grid-template-columns:82px minmax(0,1fr) 24px;align-items:center;gap:10px;min-width:0;padding:9px;text-align:left}
.siege-camp-launch-list>.content-card>span{display:grid;min-width:0}.siege-camp-launch-list b,.siege-camp-launch-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.siege-camp-launch-list b{color:#d7c2a0;font-size:13px}.siege-camp-launch-list small{color:#77857e;font-size:10px}
.siege-camp-picker-art{width:80px;height:64px;background-position:center!important;background-size:contain!important}.siege-camp-launch-list .ui-icon{width:22px;height:22px;color:#bd8a4b}
.map-marker.siege_camp:not(.cargo-route-marker){width:calc(52px * var(--map-marker-zoom,1));height:calc(52px * var(--map-marker-zoom,1))}.map-marker.siege_camp .map-location-art{width:100%;height:100%;background-size:contain!important;clip-path:none}.map-marker.siege_camp.friendly{filter:drop-shadow(0 0 7px rgba(87,191,138,.5))}.map-marker.siege_camp.hostile{filter:drop-shadow(0 0 7px rgba(217,83,68,.45))}
@media(max-width:1120px){.controlled-poi-filters{display:flex;overflow-x:auto}.controlled-poi-filters>button{flex:0 0 140px}}
@media(max-width:900px){.siege-camp-supply{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.siege-camp-supply{grid-template-columns:1fr}.siege-supply-order{grid-template-columns:1fr}.siege-camp-order-summary{grid-template-columns:88px minmax(0,1fr);gap:9px}.siege-camp-order-art{width:86px;height:74px}.siege-camp-launch-list{grid-template-columns:1fr}.siege-camp-inspector .inspector-map-art{width:86px;height:76px}}
@media(max-width:430px){.siege-camp-order-summary{grid-template-columns:68px minmax(0,1fr);padding:7px}.siege-camp-order-art{width:66px;height:60px}.siege-camp-order-summary h3{font-size:16px}.siege-camp-order-summary p{font-size:10px}.siege-camp-supply,.siege-camp-rewards{margin-right:8px;margin-left:8px}}
@media(max-width:260px){.controlled-poi-card>header{grid-template-columns:54px minmax(0,1fr) 28px;gap:5px}.controlled-poi-art{width:54px;height:58px}.controlled-poi-map-art{width:52px;height:56px}.controlled-poi-card>header h2{font-size:15px}.controlled-poi-card>header>.icon-button{width:28px;height:28px}}

/* v5.0.1 origin-bound magic, exact caravan loads, and memorials */
.dispatch-origin-spells,.garrison-spell-ledger{margin:10px;border:1px solid rgba(111,83,154,.42);background:linear-gradient(135deg,rgba(57,39,78,.34),rgba(10,14,16,.72));box-shadow:inset 0 0 24px rgba(104,67,145,.08)}
.dispatch-origin-spells{margin:9px 0 0}.dispatch-origin-spells>header,.garrison-spell-ledger>header{display:flex;align-items:center;gap:9px;padding:9px 11px;border-bottom:1px solid rgba(111,83,154,.3)}
.dispatch-origin-spells>header>.ui-icon,.garrison-spell-ledger>header>.ui-icon{width:23px;height:23px;color:#aa8bd0}.dispatch-origin-spells>header span,.garrison-spell-ledger>header span{display:grid;gap:2px;min-width:0}.dispatch-origin-spells>header small,.garrison-spell-ledger>header small{font-size:10px;color:#aa8bd0;letter-spacing:.08em;text-transform:uppercase}.dispatch-origin-spells>header b,.garrison-spell-ledger>header b{font-size:12px;color:#c5beb0;font-weight:600}
.dispatch-origin-spells>div,.garrison-spell-ledger>div{display:grid;gap:6px;padding:8px}.dispatch-origin-spells article,.garrison-spell-ledger article{display:grid;grid-template-columns:28px minmax(120px,1fr) minmax(150px,auto) auto;align-items:center;gap:8px;padding:7px 9px;border:1px solid rgba(111,83,154,.25);background:rgba(5,8,10,.28)}
.dispatch-origin-spells article>.ui-icon,.garrison-spell-ledger article>.ui-icon{width:23px;height:23px;color:#bea0de}.dispatch-origin-spells article>span,.garrison-spell-ledger article>span{display:grid;gap:1px;min-width:0}.dispatch-origin-spells article b,.garrison-spell-ledger article b{font-size:12px;color:#d5cec0}.dispatch-origin-spells article small,.garrison-spell-ledger article small,.garrison-spell-ledger time{font-size:10px;color:#858b86}.dispatch-origin-spells article>em,.garrison-spell-ledger article>em{display:flex;flex-wrap:wrap;gap:4px;font-style:normal}.dispatch-origin-spells .spell-modifier-chips span,.garrison-spell-ledger .spell-modifier-chips span{padding:3px 5px;font-size:10px}.dispatch-origin-spells .spell-modifier-chips svg,.garrison-spell-ledger .spell-modifier-chips svg{width:13px;height:13px}
.caravan-load-field{min-width:0}.caravan-load-controls{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:5px}.caravan-load-controls button{display:flex;align-items:center;justify-content:center;gap:5px;min-height:30px;padding:4px 7px;border:1px solid rgba(185,155,91,.35);background:rgba(185,155,91,.08);color:#c9b47e;font:700 10px/1 var(--font-body);cursor:pointer}.caravan-load-controls button:hover{border-color:#b99b5b;background:rgba(185,155,91,.16)}.caravan-load-controls .ui-icon{width:14px;height:14px}
.profile-fallen-hall>header{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid rgba(144,64,70,.35)}.profile-fallen-hall>header>.ui-icon{width:25px;height:25px;color:#a55a60}.profile-fallen-hall>header span{display:grid;gap:2px}.profile-fallen-hall>header small{font-size:10px;color:#a55a60;letter-spacing:.12em}.profile-fallen-hall>header h3{margin:0}.profile-fallen-hall>header p{margin:0;color:#85817a;font-size:10px}.profile-fallen-hall>header>em{font-style:normal;font-size:18px;color:#b96f72}.profile-fallen-hall>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin-top:10px}.profile-fallen-hall article{--rarity:#969b99;display:grid;grid-template-columns:62px minmax(0,1fr);gap:10px;align-items:center;padding:8px;border:1px solid color-mix(in srgb,var(--rarity) 35%,var(--line));background:color-mix(in srgb,var(--rarity) 5%,rgba(0,0,0,.3))}.fallen-hero-art{width:62px;height:62px;filter:grayscale(.72) saturate(.55)}.profile-fallen-hall article>span{display:grid;gap:3px}.profile-fallen-hall article b{font-size:13px}.profile-fallen-hall article em{font-style:normal;font-size:10px;color:#85817a}.profile-memorial-empty{grid-column:1/-1;margin:0;padding:16px;text-align:center;color:#77736e;font-size:11px;border:1px dashed rgba(144,64,70,.3)}
@media(max-width:680px){.dispatch-origin-spells article,.garrison-spell-ledger article{grid-template-columns:24px minmax(0,1fr) auto}.dispatch-origin-spells article>em,.garrison-spell-ledger article>em{grid-column:2/-1}.garrison-spell-ledger article>time{grid-column:3;grid-row:1}.garrison-spell-ledger{margin:7px}.profile-fallen-hall>div{grid-template-columns:1fr}}

/* v5.1 player-built roads */
.map-viewport>.map-road-layer{position:absolute;inset:auto;left:var(--map-projection-left,0);top:var(--map-projection-top,0);z-index:1;width:var(--map-projection-width,100%);height:var(--map-projection-height,100%);overflow:visible;pointer-events:none;transform-origin:0 0;mix-blend-mode:normal}
.map-road{pointer-events:stroke;cursor:pointer}.map-road path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.map-road-hit{stroke:transparent;stroke-width:var(--map-road-hit-width,30px)}.map-road-shadow{stroke:rgba(11,12,10,.38);stroke-width:var(--map-road-shadow-width,11.5px);filter:blur(.18px)}.map-road-verge{stroke:#3c382f;stroke-width:var(--map-road-verge-width,9px)}.map-road-bed{stroke:#3f4038;stroke-width:var(--map-road-bed-width,8.15px);filter:drop-shadow(0 .5px .5px rgba(0,0,0,.38))}.map-road-cobbles{stroke:#65665a;stroke-width:var(--map-road-cobble-width,7.5px);stroke-linecap:round!important}.map-road-cobble-joints{stroke:#2f302a;stroke-width:var(--map-road-joint-width,7.5px);stroke-linecap:butt!important;stroke-dasharray:var(--map-road-joint-dashes,.64px 4.1px .64px 5.7px .64px 4.8px);opacity:.82}.map-road-cobble-seam{stroke:#3d3e36;stroke-width:var(--map-road-seam-width,.54px);stroke-linecap:round!important;stroke-dasharray:var(--map-road-seam-dashes,2.1px 1.05px 3.3px 1.3px);opacity:.72}.map-road.foreign{opacity:.64}.map-road.foreign .map-road-cobbles{stroke:#595a51}.map-road.building .map-road-verge{stroke:#493d30}.map-road.building .map-road-bed{stroke:#594a38;animation:road-survey-pulse 1.8s ease-in-out infinite}.map-road.building .map-road-cobbles{stroke:#725f47}.map-road.building .map-road-cobble-joints{stroke:#40362c}.map-road.selected .map-road-shadow{stroke:rgba(153,106,45,.28);stroke-width:var(--map-road-selected-shadow-width,12.5px)}.map-road.selected .map-road-verge{stroke:#544a3b;stroke-width:var(--map-road-selected-verge-width,9.75px)}.map-road.selected .map-road-cobbles{filter:drop-shadow(0 0 .7px rgba(191,148,76,.48))}@keyframes road-survey-pulse{0%,100%{opacity:.68}50%{opacity:1}}
.world-map.map-engine-active:not(.map-frame-ready) .map-road-layer{visibility:hidden}.world-map:is(.dragging,.zooming,.camera-animating) .map-road-layer{transition:none!important}
.road-proposal-summary{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:12px;padding:12px;border:1px solid rgba(192,148,78,.26);background:radial-gradient(circle at 5% 50%,rgba(170,111,45,.2),transparent 44%),rgba(5,10,11,.34)}.road-proposal-summary>.ui-icon{width:52px;height:52px;color:#c9a05e}.road-proposal-summary>div{display:grid;gap:3px}.road-proposal-summary small{color:#a98752;font-size:10px;letter-spacing:.05em;text-transform:uppercase}.road-proposal-summary h3{margin:0;color:#dec8a4;font:500 21px Georgia,serif}.road-proposal-summary p{margin:0;color:#818c85;font-size:11px;line-height:1.45}.road-cost-shares{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.road-cost-shares article,.road-total-cost{padding:8px;border:1px solid var(--line);background:rgba(0,0,0,.18)}.road-cost-shares small{display:block;margin-bottom:5px;color:#a98956;font-size:10px;text-transform:uppercase}.road-proposal-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.road-proposal-facts>span{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;padding:7px;border:1px solid var(--line);background:rgba(0,0,0,.14)}.road-proposal-facts .ui-icon{grid-row:1/3;width:24px;height:24px;color:#bd9458}.road-proposal-facts small,.road-proposal-facts b{grid-column:2}.road-proposal-facts small{color:#737f78;font-size:10px}.road-proposal-facts b{color:#cfc0a4;font-size:11px}.road-inspector .poi-inspector-compact{grid-template-columns:68px minmax(0,1fr);gap:10px;padding-right:30px}.road-inspector .inspector-icon{display:grid;place-items:center;width:64px;height:64px;margin:0;border:1px solid rgba(187,145,77,.25);background:radial-gradient(circle,rgba(161,105,43,.2),transparent 68%)}.road-inspector .inspector-icon .ui-icon{width:46px;height:46px;color:#c6a05e}.road-inspector .poi-inspector-heading h2{font-size:20px;line-height:1.12;overflow-wrap:break-word;word-break:normal;hyphens:none}
.road-inspector{padding:10px 12px 7px}.road-inspector .poi-inspector-compact{grid-template-columns:58px minmax(0,1fr);gap:9px;min-height:60px;padding:0 30px 7px 0}.road-inspector .inspector-icon{width:56px;height:56px}.road-inspector .inspector-icon .ui-icon{width:41px;height:41px}.road-inspector .poi-inspector-heading h2{font-size:18px}.road-inspector .poi-inspector-heading .coordinate-line{margin-top:1px}.road-inspector .poi-inspector-details{padding-top:6px}.road-inspector .poi-inspector-details>.stat-grid{gap:5px}.road-inspector .stat-box{min-height:42px;padding:6px}.road-inspector .cost-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:5px}.road-inspector .cost-row .cost{min-width:0}.road-inspector .terrain-note{margin-top:6px;font-size:10px;line-height:1.3}
.road-inspector .cost-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;padding:4px}.road-inspector .cost-row .cost{min-width:0;padding:3px 2px;font-size:10px}.road-inspector .cost-row .resource-glyph{width:18px;height:18px}.road-inspector .terrain-note{display:none}
.road-proposal-facts{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}
.road-escrow-note{display:flex;align-items:center;gap:8px;margin:8px 0 0;padding:8px 10px;border:1px solid rgba(81,151,111,.3);background:rgba(36,92,62,.13);color:#9fc3a7;font-size:10px;line-height:1.4}.road-escrow-note .ui-icon{flex:0 0 auto;width:21px;height:21px;color:#83b896}.road-escrow-note.blocked{border-color:rgba(186,91,69,.34);background:rgba(104,39,31,.15);color:#d49b88}.road-escrow-note.blocked .ui-icon{color:#d37863}
@media(max-width:700px){.road-cost-shares,.road-proposal-facts{grid-template-columns:1fr}}

/* v5.1 road ledger: roads are governed from Controlled POIs, not the map rail. */
.controlled-poi-filters{grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}
.controlled-roads-view{min-width:0}
.controlled-road-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0 0 10px;overflow:hidden;border:1px solid rgba(196,151,78,.2);background:rgba(196,151,78,.12)}
.controlled-road-summary>article{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;min-width:0;padding:10px 12px;background:linear-gradient(125deg,rgba(27,39,40,.98),rgba(13,20,22,.98))}
.controlled-road-summary .ui-icon{grid-row:1/3;width:30px;height:30px;color:#bd9459}.controlled-road-summary span{display:grid;min-width:0}.controlled-road-summary small{overflow:hidden;color:#7e8983;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.controlled-road-summary b{color:#d8c6a5;font:500 20px Georgia,serif}
.controlled-road-policy{display:flex;align-items:center;gap:8px;margin:0 0 12px;padding:8px 10px;border:1px solid rgba(158,91,68,.28);background:rgba(91,38,31,.13);color:#b9967c;font-size:10px;line-height:1.4}.controlled-road-policy .ui-icon{flex:0 0 auto;width:20px;height:20px;color:#c37663}
.controlled-road-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;min-width:0}
.controlled-road-section{min-width:0;border:1px solid rgba(195,151,81,.22);background:linear-gradient(145deg,rgba(24,35,36,.98),rgba(9,15,17,.99));box-shadow:0 12px 26px rgba(0,0,0,.13)}
.controlled-road-section>header{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:10px 11px;border-bottom:1px solid var(--line);background:linear-gradient(110deg,rgba(171,116,51,.11),transparent)}.controlled-road-section>header>span{display:flex;align-items:center;gap:8px;min-width:0}.controlled-road-section>header .ui-icon{flex:0 0 auto;width:28px;height:28px;color:#c09659}.controlled-road-section>header span>span{display:grid;min-width:0}.controlled-road-section h2{margin:0;color:#d6c19c;font:500 17px Georgia,serif}.controlled-road-section>header small{overflow:hidden;color:#75817a;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.controlled-road-section>header>em{display:grid;place-items:center;min-width:27px;height:25px;border:1px solid rgba(196,151,78,.24);border-radius:14px;color:#c4a46b;font-size:10px;font-style:normal}.controlled-road-section>div{display:grid;gap:7px;padding:8px}
.controlled-road-card{min-width:0;overflow:hidden;border:1px solid rgba(142,119,79,.2);background:rgba(5,10,11,.4)}.controlled-road-card>header{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:8px;padding:8px}.controlled-road-card>header>.ui-icon{width:30px;height:30px;color:#ae8750}.controlled-road-card>header>span{display:grid;min-width:0}.controlled-road-card>header small{color:#a17d4d;font-size:9px;letter-spacing:.06em;text-transform:uppercase}.controlled-road-card h3{display:flex;align-items:center;gap:5px;min-width:0;margin:2px 0;color:#d0bea0;font:500 14px/1.25 Georgia,serif;overflow-wrap:anywhere}.controlled-road-card h3 span{flex:0 0 auto;color:#8b6c43}.controlled-road-card header p{margin:1px 0 0;color:#77827c;font-size:10px}.controlled-road-contribution{display:grid;gap:5px;padding:7px 8px;border-top:1px solid var(--line);background:rgba(0,0,0,.12)}.controlled-road-contribution>small{color:#83765f;font-size:9px;text-transform:uppercase}.controlled-road-contribution>.cost-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(66px,1fr));gap:4px;padding:0}.controlled-road-progress{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 8px;border-top:1px solid var(--line)}.controlled-road-progress .progress{height:5px}.controlled-road-progress time,.controlled-road-duration,.controlled-road-speed{color:#c8a965;font-size:10px;font-variant-numeric:tabular-nums;white-space:nowrap}.controlled-road-duration,.controlled-road-speed{display:flex;align-items:center;gap:6px;margin:0 8px 7px;padding:6px 8px;border:1px solid rgba(92,139,113,.2);background:rgba(46,91,66,.1)}.controlled-road-duration .ui-icon,.controlled-road-speed .ui-icon{width:18px;height:18px}.controlled-road-card>footer{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:7px 8px;border-top:1px solid var(--line)}.controlled-road-card>footer>span{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:5px;min-width:0}.controlled-road-card>footer>span .ui-icon{grid-row:1/3;width:17px;height:17px;color:#967849}.controlled-road-card>footer small,.controlled-road-card>footer time{grid-column:2;color:#747f79;font-size:9px}.controlled-road-card>footer time{color:#c3a363;font-variant-numeric:tabular-nums}.controlled-road-card>footer>.btn{min-width:96px}.controlled-road-empty{display:flex;align-items:center;justify-content:center;gap:7px;min-height:76px;margin:0;color:#707c75;font-size:10px;text-align:center}.controlled-road-empty .ui-icon{width:20px;height:20px;color:#668471}

/* Mythic muster order: compact controls first, unit identity second. */
.mythic-recruit-form{grid-template-columns:minmax(0,1fr)!important;align-items:start!important;gap:9px!important}
.mythic-recruit-modal .mythic-recruit-controls{order:1!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;grid-template-columns:minmax(250px,280px) minmax(0,1fr)!important;margin:0!important;padding:8px!important;overflow:visible!important}
.mythic-recruit-modal .mythic-muster-card{order:2!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;grid-template-columns:88px minmax(0,1fr)!important}
.mythic-recruit-modal .recruit-quantity-control{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:none!important;overflow:visible!important}
.mythic-recruit-modal .mythic-preview-status{grid-template-columns:minmax(0,1fr) minmax(135px,170px)!important}.mythic-recruit-modal .mythic-capacity-ledger{min-width:0!important}
@media(max-width:900px){.controlled-road-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.controlled-road-board{grid-template-columns:1fr}.controlled-road-section>header small{white-space:normal}.mythic-recruit-modal .mythic-recruit-controls{grid-template-columns:1fr!important}.mythic-recruit-modal .mythic-preview-status{grid-template-columns:1fr!important}.mythic-recruit-modal .recruit-preview-ledger{grid-template-columns:minmax(0,1fr) 112px!important}}
@media(max-width:440px){.controlled-road-summary{grid-template-columns:1fr 1fr}.controlled-road-summary>article{grid-template-columns:27px minmax(0,1fr);padding:8px}.controlled-road-summary .ui-icon{width:25px;height:25px}.controlled-road-card>footer{align-items:stretch;flex-direction:column}.controlled-road-card>footer>.btn{width:100%}.mythic-recruit-modal #modalBody{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:hidden!important}.mythic-recruit-form,.mythic-recruit-modal .mythic-recruit-controls{width:100%!important;max-width:100%!important;min-width:0!important}.mythic-recruit-modal .recruit-quantity-control{grid-template-columns:1fr!important;grid-template-rows:auto auto auto!important}.mythic-recruit-modal .recruit-quantity-control>header{grid-column:1!important}.mythic-recruit-modal .mythic-muster-card{grid-template-columns:1fr!important;gap:7px!important;padding:8px!important}.mythic-recruit-modal .mythic-muster-portrait,.mythic-recruit-modal .mythic-muster-portrait>.god-mythic-unit-art{width:72px!important;height:72px!important}.mythic-recruit-modal .mythic-muster-portrait{justify-self:center!important}.mythic-recruit-modal .mythic-muster-copy,.mythic-recruit-modal .mythic-muster-copy>*{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important}.mythic-recruit-modal .mythic-muster-copy>small,.mythic-recruit-modal .mythic-muster-copy>h3,.mythic-recruit-modal .mythic-muster-copy>p{overflow:hidden!important;text-overflow:ellipsis}.mythic-recruit-modal .mythic-muster-copy>.unit-stats{grid-template-columns:1fr!important}.mythic-recruit-modal .recruit-preview-ledger{grid-template-columns:1fr!important}.mythic-recruit-modal .mythic-preview-requirements>.requirement{align-items:flex-start!important;white-space:normal!important}.mythic-recruit-modal .mythic-preview-requirements>.requirement>b{min-width:0!important;overflow-wrap:anywhere!important}}
.mythic-recruit-modal .mythic-muster-portrait>.god-mythic-unit-art{position:static!important;inset:auto!important;margin:0!important;padding:0!important;border:0!important;background-color:transparent!important}

/* v5.2 Emberforge and fixed-time auction house */
.smithy-modal{width:min(1120px,calc(100vw - 20px))}.smithy-modal .modal-frame{max-height:calc(100dvh - 20px)}.smithy-modal #modalBody{overflow:auto}.smithy-shell{display:grid;gap:10px;min-width:0}.smithy-material-ledger{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.smithy-material-ledger>article{--rarity:#969b99;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:7px;min-width:0;padding:7px;border:1px solid color-mix(in srgb,var(--rarity) 34%,var(--line));background:linear-gradient(120deg,color-mix(in srgb,var(--rarity) 8%,rgba(8,14,15,.92)),rgba(5,10,11,.92));box-shadow:inset 0 -2px color-mix(in srgb,var(--rarity) 65%,transparent)}.smithy-material-art{width:42px;height:42px;background-color:transparent!important;background-position:center!important;background-size:contain!important;filter:drop-shadow(0 3px 7px var(--rarity-glow))}.smithy-material-ledger span{display:grid;min-width:0}.smithy-material-ledger small{overflow:hidden;color:var(--rarity);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.smithy-material-ledger b{color:#ded0b5;font:500 18px Georgia,serif}
.smithy-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;padding:1px;background:rgba(185,139,72,.17)}.smithy-tabs>button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:0;background:#10191a;color:#7d8882;font:700 11px var(--font-body);cursor:pointer}.smithy-tabs>button:hover,.smithy-tabs>button.active{background:linear-gradient(115deg,rgba(137,84,39,.32),rgba(18,26,27,.98));color:#e0bd77;box-shadow:inset 0 -2px #c17f3e}.smithy-tabs .ui-icon{width:22px;height:22px}.smithy-workspace{min-width:0;border:1px solid rgba(191,132,65,.22);background:radial-gradient(circle at 4% 0,rgba(178,88,34,.12),transparent 34%),rgba(5,10,11,.34)}.smithy-workspace>header{display:grid;grid-template-columns:42px minmax(0,1fr);gap:11px;align-items:center;padding:11px 13px;border-bottom:1px solid var(--line)}.smithy-workspace>header>span{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(206,133,58,.35);background:rgba(131,57,27,.16);color:#dd944c}.smithy-workspace>header .ui-icon{width:28px;height:28px}.smithy-workspace>header>div{display:grid;gap:2px}.smithy-workspace>header small{color:#b57339;font-size:10px;font-weight:800;letter-spacing:.12em}.smithy-workspace>header h3{margin:0;color:#e0cba8;font:500 21px Georgia,serif}.smithy-workspace>header p{margin:0;color:#82908a;font-size:10px;line-height:1.45}
.smithy-equipment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}.smithy-equipment-card{--rarity:#969b99;position:relative;display:grid;grid-template-columns:84px minmax(0,1fr) auto;gap:10px;align-items:center;min-width:0;padding:8px;border:1px solid color-mix(in srgb,var(--rarity) 45%,var(--line));background:radial-gradient(circle at 8% 50%,var(--rarity-glow),transparent 35%),rgba(6,12,13,.7);overflow:hidden}.smithy-equipment-card::after{position:absolute;right:0;bottom:0;left:0;height:2px;background:linear-gradient(90deg,transparent,var(--rarity),transparent);content:""}.smithy-equipment-card.locked{filter:saturate(.6);opacity:.72}.smithy-equipment-art{width:84px;height:84px;background-color:transparent!important;background-position:center!important;background-size:contain!important}.smithy-equipment-card>div{display:grid;gap:4px;min-width:0}.smithy-equipment-card .item-rarity{width:max-content;margin:0;color:var(--rarity);border-color:var(--rarity)}.smithy-equipment-card h3{margin:0;overflow:hidden;color:#d9cbae;font:500 16px Georgia,serif;text-overflow:ellipsis;white-space:nowrap}.smithy-equipment-card>div>small,.smithy-equipment-card>div>em{color:#7a8680;font-size:10px;font-style:normal}.smithy-equipment-card>div>em{display:flex;align-items:center;gap:5px;color:#b37b68}.smithy-equipment-card>div>em .ui-icon{width:15px;height:15px}.smithy-equipment-card>.btn{white-space:nowrap}
.smithy-craft-form{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(180px,.7fr) minmax(180px,.8fr);gap:9px;padding:11px}.smithy-craft-form>label{display:grid;gap:5px}.smithy-craft-form>label>span{color:#9b815c;font-size:10px;font-weight:700;text-transform:uppercase}.smithy-craft-form select{width:100%}.smithy-material-cost{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:8px;padding:7px;border:1px solid var(--line);background:rgba(0,0,0,.22)}.smithy-material-cost>span{display:grid;gap:2px}.smithy-material-cost small{color:#7c8881;font-size:10px}.smithy-material-cost b{font-size:11px}.smithy-cost-art{width:48px;height:48px}.smithy-craft-chances,.smithy-craft-form>.btn{grid-column:1/-1}.smithy-chance-wheel{display:grid;grid-template-columns:repeat(6,minmax(70px,1fr));gap:7px}.smithy-quality-chance{--rarity:#969b99;display:grid;justify-items:center;gap:4px;min-width:0;padding:7px;border:1px solid color-mix(in srgb,var(--rarity) 27%,var(--line));background:color-mix(in srgb,var(--rarity) 6%,rgba(0,0,0,.24));color:var(--rarity)}.smithy-quality-chance>i{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:radial-gradient(circle at center,#101718 53%,transparent 55%),conic-gradient(var(--rarity) var(--chance),rgba(92,99,95,.17) 0);box-shadow:0 0 9px var(--rarity-glow);font-style:normal}.smithy-quality-chance b{font-size:11px}.smithy-quality-chance small{max-width:100%;overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.smithy-quality-chance.impossible{filter:saturate(.25);opacity:.45}
.smithy-confirm,.smithy-upgrade-confirm{--rarity:#969b99;display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;align-items:center;min-width:0;padding:13px;border:1px solid color-mix(in srgb,var(--rarity) 44%,var(--line));background:radial-gradient(circle at 8% 45%,var(--rarity-glow),transparent 35%),rgba(5,10,11,.54)}.smithy-confirm-art{width:150px;height:150px;background-position:center!important;background-size:contain!important}.smithy-confirm>div,.smithy-upgrade-confirm>div{display:grid;gap:7px;min-width:0}.smithy-confirm .item-rarity,.smithy-upgrade-confirm .item-rarity{width:max-content;margin:0;color:var(--rarity);border-color:var(--rarity)}.smithy-confirm h3,.smithy-upgrade-confirm h3{margin:0;color:#decfb3;font:500 22px Georgia,serif}.smithy-confirm p,.smithy-upgrade-confirm p{margin:0;color:#87928c;font-size:11px;line-height:1.5}.smithy-rewards{display:flex;flex-wrap:wrap;gap:6px}.smithy-reward-chip{--rarity:#969b99;display:grid;grid-template-columns:35px auto;gap:0 6px;align-items:center;padding:5px 8px;border:1px solid color-mix(in srgb,var(--rarity) 42%,var(--line));color:var(--rarity)}.smithy-chip-art{grid-row:1/3;width:34px;height:34px}.smithy-reward-chip b{font-size:13px}.smithy-reward-chip small{font-size:10px}.smithy-upgrade-confirm{grid-template-columns:130px minmax(160px,1fr);align-items:start}.smithy-upgrade-confirm>.smithy-confirm-art{grid-row:1/4;width:130px;height:130px}.smithy-upgrade-odds{display:grid!important;grid-template-columns:repeat(3,minmax(78px,1fr));gap:5px}.smithy-upgrade-odds>span{display:grid;place-items:center;padding:8px;border:1px solid var(--line);background:rgba(0,0,0,.2)}.smithy-upgrade-odds b{font:600 20px Georgia,serif}.smithy-upgrade-odds small{font-size:10px}.smithy-upgrade-material{display:grid!important;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:7px;padding:6px;border:1px solid var(--line);background:rgba(0,0,0,.2)}.smithy-upgrade-material>.smithy-material-art{width:45px;height:45px}.smithy-upgrade-material>span{display:grid}.smithy-upgrade-material small{font-size:10px}.smithy-upgrade-material b{font-size:11px}.smithy-upgrade-material-choices{grid-column:1/-1;display:grid!important;grid-template-columns:repeat(6,minmax(64px,1fr));gap:4px}.smithy-upgrade-material-choices>button{--rarity:#969b99;display:grid;grid-template-columns:35px minmax(0,1fr);align-items:center;gap:4px;min-width:0;padding:4px;border:1px solid color-mix(in srgb,var(--rarity) 25%,var(--line));background:rgba(3,7,8,.55);color:var(--rarity);cursor:pointer}.smithy-upgrade-material-choices>button.active{border-color:var(--rarity);box-shadow:inset 0 0 12px var(--rarity-glow)}.smithy-choice-art{width:34px;height:34px}.smithy-upgrade-material-choices span{display:grid;min-width:0}.smithy-upgrade-material-choices b,.smithy-upgrade-material-choices small{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.smithy-animation{position:relative;display:grid;place-items:center;align-content:center;gap:16px;min-height:330px;overflow:hidden;background:radial-gradient(circle,rgba(161,70,24,.28),transparent 55%)}.smithy-animation .forge-anvil{z-index:2;display:grid;place-items:center;width:100px;height:100px;border:1px solid rgba(223,144,67,.55);border-radius:50%;background:radial-gradient(circle,#58301f,#15191a 66%);box-shadow:0 0 45px rgba(231,108,32,.42);animation:forge-hammer-pulse .42s ease-in-out infinite alternate}.smithy-animation .forge-anvil .ui-icon{width:62px;height:62px;color:#f0b05d;filter:drop-shadow(0 0 9px #f07a2b)}.smithy-animation>i{position:absolute;width:5px;height:5px;border-radius:50%;background:#ffbd58;box-shadow:0 0 8px #ee682d;animation:forge-ember 1s ease-out infinite}.smithy-animation>i:nth-of-type(1){--x:-95px;animation-delay:.05s}.smithy-animation>i:nth-of-type(2){--x:85px;animation-delay:.22s}.smithy-animation>i:nth-of-type(3){--x:-45px;animation-delay:.4s}.smithy-animation>i:nth-of-type(4){--x:50px;animation-delay:.62s}.smithy-animation>b{z-index:2;color:#e5c38d;font:500 18px Georgia,serif;letter-spacing:.04em}@keyframes forge-hammer-pulse{to{transform:scale(1.06);box-shadow:0 0 60px rgba(239,105,28,.64)}}@keyframes forge-ember{0%{transform:translate(0,90px);opacity:0}30%{opacity:1}100%{transform:translate(var(--x),-100px);opacity:0}}
.smithy-particle-field{position:absolute;z-index:1;inset:0;overflow:hidden;pointer-events:none}.smithy-particle{position:absolute;top:50%;left:50%;width:var(--size);height:var(--size);border-radius:50%;background:#ffc068;box-shadow:0 0 calc(var(--size)*2.5) #ed6a28;opacity:0;transform:translate(-50%,-50%) rotate(var(--angle)) translateX(8px);animation:smithy-particle-burst .92s cubic-bezier(.12,.58,.26,1) var(--delay) both}.smithy-particle.ember{background:#ef7131;box-shadow:0 0 calc(var(--size)*3) rgba(241,84,27,.92)}.smithy-particle.shard{width:calc(var(--size)*1.8);height:var(--size);border-radius:1px;background:#aeb8b6;box-shadow:0 0 calc(var(--size)*1.5) rgba(176,192,190,.6)}.smithy-particle.ash{background:#555e5c;box-shadow:none}.smithy-result{--rarity:#969b99;position:relative;display:grid;gap:17px;min-height:330px;padding:20px;overflow:hidden;border:1px solid color-mix(in srgb,var(--rarity) 52%,var(--line));background:radial-gradient(circle at 50% 30%,var(--rarity-glow),transparent 38%),linear-gradient(145deg,rgba(20,29,30,.98),rgba(5,10,11,.99));box-shadow:inset 0 0 50px color-mix(in srgb,var(--rarity) 7%,transparent)}.smithy-result::before,.smithy-result::after{position:absolute;inset:50% auto auto 50%;width:290px;height:290px;border:1px solid color-mix(in srgb,var(--rarity) 25%,transparent);border-radius:50%;content:"";transform:translate(-50%,-50%);animation:smithy-result-ring 1.8s ease-out both}.smithy-result::after{width:220px;height:220px;animation-delay:.12s}.smithy-result>header{position:relative;z-index:2;display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;align-items:center}.smithy-result-seal{display:grid;place-items:center;width:56px;height:56px;border:1px solid var(--rarity);border-radius:50%;background:color-mix(in srgb,var(--rarity) 12%,#0a1011);box-shadow:0 0 22px var(--rarity-glow)}.smithy-result-seal>.ui-icon{width:33px;height:33px;color:var(--rarity)}.smithy-result header small{color:var(--rarity);font-size:10px;letter-spacing:.12em}.smithy-result header h2{margin:2px 0;color:#e2d4ba;font:500 clamp(24px,3vw,34px) Georgia,serif}.smithy-result header p{margin:0;color:#8f9993;font-size:11px;line-height:1.5}.smithy-result-reveal{position:relative;z-index:2;display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;align-items:center;padding:14px;border:1px solid color-mix(in srgb,var(--rarity) 38%,var(--line));background:rgba(4,9,10,.7);animation:smithy-result-reveal .52s cubic-bezier(.2,.78,.22,1) both}.smithy-result-art{width:150px;height:150px;background-color:transparent!important;background-position:center!important;background-size:contain!important;filter:drop-shadow(0 11px 17px rgba(0,0,0,.55)) drop-shadow(0 0 10px var(--rarity-glow))}.smithy-result-item,.smithy-result-rewards{display:grid;gap:6px;min-width:0}.smithy-result-item h3{margin:0;color:#e1d1b3;font:500 24px Georgia,serif}.smithy-result-item>small,.smithy-result-rewards>small{color:#8a948e;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.smithy-result-rewards .smithy-rewards{margin-top:5px}.smithy-result.destroyed{--rarity:#a94848;--rarity-glow:rgba(169,72,72,.34)}.smithy-result.destroyed .smithy-result-art{filter:grayscale(.75) contrast(1.12) opacity(.58) drop-shadow(0 10px 12px rgba(0,0,0,.65))}.smithy-result.failed{--rarity:#8e8678;--rarity-glow:rgba(114,106,91,.25)}.smithy-result-fallback{display:grid;place-items:center;width:150px;height:150px;color:#b4534d}.smithy-result-fallback>.ui-icon{width:84px;height:84px}@keyframes smithy-particle-burst{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle)) translateX(4px) scale(.35)}18%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle)) translateX(var(--distance)) scale(.1)}}@keyframes smithy-result-ring{0%{opacity:0;transform:translate(-50%,-50%) scale(.35)}40%{opacity:.65}100%{opacity:0;transform:translate(-50%,-50%) scale(1.18)}}@keyframes smithy-result-reveal{from{opacity:0;transform:translateY(13px) scale(.975)}to{opacity:1;transform:none}}
@media(max-width:620px){.smithy-result{padding:12px}.smithy-result>header{grid-template-columns:46px minmax(0,1fr)}.smithy-result-seal{width:44px;height:44px}.smithy-result-seal>.ui-icon{width:27px;height:27px}.smithy-result-reveal{grid-template-columns:86px minmax(0,1fr);gap:10px;padding:9px}.smithy-result-art,.smithy-result-fallback{width:86px;height:86px}.smithy-result-item h3{font-size:18px}.smithy-result-rewards{grid-column:1/-1}.smithy-result-rewards .smithy-rewards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.smithy-animation .forge-anvil,.smithy-particle,.smithy-result::before,.smithy-result::after,.smithy-result-reveal{animation-duration:.01ms!important;animation-iteration-count:1!important}}
.auction-house-panel{min-width:0}.auction-rule-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(191,143,73,.14)}.auction-rule-strip>span{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:1px 8px;padding:9px 11px;background:#111a1b}.auction-rule-strip .ui-icon{grid-row:1/3;width:27px;height:27px;color:#c28a4c}.auction-rule-strip b{color:#cfbd9f;font-size:11px}.auction-rule-strip small{color:#76817b;font-size:10px;line-height:1.3}.auction-listing-panel{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:9px;border-bottom:1px solid var(--line);background:linear-gradient(120deg,rgba(115,65,28,.14),rgba(0,0,0,.12))}.auction-listing-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;align-content:start;padding:9px;border:1px solid rgba(191,143,73,.22);background:rgba(5,10,11,.44)}.auction-listing-form>header,.auction-listing-form>.wide,.auction-listing-form>.terrain-note{grid-column:1/-1}.auction-listing-form>header{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px}.auction-listing-form>header>.ui-icon{width:27px;height:27px;color:#c58e50}.auction-listing-form>header span{display:grid}.auction-listing-form>header small{color:#a8723e;font-size:10px;letter-spacing:.1em}.auction-listing-form>header b{color:#d8c4a3;font-size:13px}.auction-listing-form>label{display:grid;gap:4px;min-width:0}.auction-listing-form>label>span{color:#8b806d;font-size:10px}.auction-listing-form input,.auction-listing-form select{box-sizing:border-box;width:100%;min-width:0}.auction-filters{display:flex;gap:5px;padding:8px;border-bottom:1px solid var(--line)}.auction-filters>button{display:flex;align-items:center;gap:6px;min-height:34px;padding:5px 10px;border:1px solid var(--line);background:rgba(0,0,0,.17);color:#7d8781;cursor:pointer}.auction-filters>button.active{border-color:#bb844a;background:rgba(145,77,32,.17);color:#ddb778}.auction-filters .ui-icon{width:19px;height:19px}.auction-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:9px}.auction-grid>.empty-state{grid-column:1/-1}.auction-card{--rarity:#969b99;position:relative;display:grid;grid-template-columns:88px minmax(0,1fr) 126px;gap:9px;align-items:center;min-width:0;padding:8px;border:1px solid color-mix(in srgb,var(--rarity) 38%,var(--line));background:radial-gradient(circle at 7% 50%,var(--rarity-glow),transparent 32%),rgba(5,10,11,.62);overflow:hidden}.auction-card.highest-bid{box-shadow:inset 0 -2px #5da579}.auction-card.own-listing{box-shadow:inset 0 -2px #b18650}.auction-item-art{width:86px;height:86px;background-color:transparent!important;background-position:center!important;background-size:contain!important}.auction-card-copy{display:grid;gap:3px;min-width:0}.auction-card .item-rarity{width:max-content;margin:0;color:var(--rarity);border-color:var(--rarity)}.auction-card h3{margin:0;overflow:hidden;color:#d8c8aa;font:500 16px Georgia,serif;text-overflow:ellipsis;white-space:nowrap}.auction-card h3 em{font:700 11px var(--font-body);color:#a8a08f}.auction-card-copy>small,.auction-card-copy>p{margin:0;color:#77827c;font-size:10px}.auction-price{display:grid;justify-items:end;gap:5px;min-width:0;text-align:right}.auction-price>small{color:#7d867f;font-size:10px}.auction-price>b,.auction-own-ledger strong,.auction-bid-form p>b{display:flex;align-items:center;gap:4px;color:#dab264;font-size:15px}.auction-price .resource-glyph,.auction-own-ledger .resource-glyph,.auction-bid-form .resource-glyph{width:20px;height:20px}.auction-price time{color:#bda46f;font-size:10px}.auction-price>em{color:#a98b5c;font-size:10px;font-style:normal}.auction-price>.positive{color:#72af83}.auction-own-ledger{margin:0 9px 9px;border:1px solid var(--line)}.auction-own-ledger>header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--line)}.auction-own-ledger>header>span{display:flex;align-items:center;gap:7px}.auction-own-ledger>header .ui-icon{width:22px;height:22px;color:#b98b4e}.auction-own-ledger>header b{font-size:11px}.auction-own-ledger>header em{font-size:10px;font-style:normal}.auction-own-ledger>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line)}.auction-own-ledger article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;min-width:0;padding:6px 8px;background:#101718}.auction-own-ledger article>span{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:5px;min-width:0}.auction-ledger-art{width:34px;height:34px;background-size:contain!important}.auction-own-ledger article b{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.auction-own-ledger article em{color:#898b83;font-size:10px;font-style:normal}.auction-own-ledger article strong{font-size:11px}
.auction-bid-preview{--rarity:#969b99;display:grid;grid-template-columns:140px minmax(0,1fr);gap:14px;align-items:center;padding:12px;border:1px solid color-mix(in srgb,var(--rarity) 40%,var(--line));background:radial-gradient(circle at 8% 50%,var(--rarity-glow),transparent 36%)}.auction-bid-art{width:140px;height:140px;background-size:contain!important}.auction-bid-preview>div{display:grid;gap:7px}.auction-bid-preview .item-rarity{width:max-content;margin:0;color:var(--rarity);border-color:var(--rarity)}.auction-bid-preview h3{margin:0;color:#ddccb0;font:500 21px Georgia,serif}.auction-bid-preview p{margin:0;color:#818c86;font-size:11px}.auction-bid-deadline{display:flex;align-items:center;gap:6px;color:#cfaa65;font-size:11px}.auction-bid-deadline .ui-icon{width:19px;height:19px}.auction-bid-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;margin-top:9px}.auction-bid-form>label{display:grid;gap:4px}.auction-bid-form>label>span{color:#8d816d;font-size:10px}.auction-bid-form p{margin:0;padding:9px;border:1px solid var(--line);font-size:10px}.auction-bid-form>.btn{grid-column:1/-1}
.auction-listing-panel{grid-template-columns:minmax(0,760px);justify-content:center}.auction-equipment-picker{grid-column:1/-1;min-width:0}.auction-equipment-picker .universal-field{display:grid;gap:4px}.auction-equipment-picker .universal-field-label{color:#8b806d;font-size:10px}.auction-equipment-picker .universal-combobox-trigger{min-height:64px;border-color:color-mix(in srgb,var(--rarity,#969b99) 48%,var(--line));background:radial-gradient(circle at 7% 50%,var(--rarity-glow,transparent),transparent 34%),rgba(4,9,10,.76)}.auction-equipment-picker .universal-combobox-trigger .combobox-item-art{width:48px;height:48px;background-size:contain!important}.auction-equipment-picker .universal-combobox-copy b{color:var(--rarity,#d8c4a3)}.auction-equipment-picker .universal-combobox-copy small{color:color-mix(in srgb,var(--rarity,#969b99) 78%,#8b938d)}.auction-equipment-picker .universal-combobox-option{--rarity:#969b99;min-height:62px;border-left:2px solid var(--rarity);background:radial-gradient(circle at 4% 50%,var(--rarity-glow,transparent),transparent 31%),#101819}.auction-equipment-picker .universal-combobox-option .combobox-item-art{width:46px;height:46px;background-size:contain!important}.auction-equipment-picker .universal-combobox-option b{color:var(--rarity)}.auction-silver-input{display:grid!important;grid-template-columns:34px minmax(0,1fr);align-items:center;overflow:hidden;border:1px solid var(--line);background:#0c1314}.auction-silver-input:focus-within{border-color:var(--bronze)}.auction-silver-input>.resource-glyph{width:28px;height:28px;margin-left:4px}.auction-silver-input>input{border:0!important;background:transparent!important;box-shadow:none!important}.auction-bid-form .auction-silver-input{min-height:42px}
@media(max-width:900px){.smithy-material-ledger{grid-template-columns:repeat(3,minmax(0,1fr))}.smithy-equipment-grid,.auction-grid{grid-template-columns:1fr}.smithy-craft-form{grid-template-columns:1fr 1fr}.smithy-material-cost{grid-column:1/-1}.auction-own-ledger>div{grid-template-columns:1fr}}
@media(max-width:680px){.smithy-modal{width:calc(100vw - 8px)}.smithy-material-ledger{grid-template-columns:repeat(2,minmax(0,1fr))}.smithy-tabs>button{font-size:10px}.smithy-workspace>header p{font-size:10px}.smithy-equipment-grid{padding:7px}.smithy-equipment-card{grid-template-columns:68px minmax(0,1fr)}.smithy-equipment-art{width:68px;height:68px}.smithy-equipment-card>.btn{grid-column:1/-1;width:100%}.smithy-craft-form{grid-template-columns:1fr}.smithy-material-cost{grid-column:auto}.smithy-craft-chances,.smithy-craft-form>.btn{grid-column:1}.smithy-chance-wheel{grid-template-columns:repeat(3,minmax(68px,1fr))}.smithy-confirm,.smithy-upgrade-confirm{grid-template-columns:88px minmax(0,1fr);gap:9px}.smithy-confirm-art,.smithy-upgrade-confirm>.smithy-confirm-art{width:88px;height:88px}.smithy-upgrade-odds,.smithy-upgrade-material,.smithy-upgrade-material-choices{grid-column:1/-1}.smithy-upgrade-material-choices{grid-template-columns:repeat(3,minmax(64px,1fr))}.auction-rule-strip,.auction-listing-panel{grid-template-columns:1fr}.auction-card{grid-template-columns:70px minmax(0,1fr)}.auction-item-art{width:68px;height:68px}.auction-price{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;justify-items:start;width:100%;text-align:left}.auction-price>.btn{justify-self:end}.auction-bid-preview{grid-template-columns:90px minmax(0,1fr)}.auction-bid-art{width:90px;height:90px}.auction-bid-form{grid-template-columns:1fr}.auction-bid-form>.btn{grid-column:1}}
@media(max-width:420px){.smithy-material-ledger{grid-template-columns:1fr 1fr}.smithy-material-ledger>article{grid-template-columns:34px minmax(0,1fr);padding:5px}.smithy-material-ledger .smithy-material-art{width:34px;height:34px}.smithy-tabs span{display:none}.smithy-tabs .ui-icon{width:25px;height:25px}.smithy-chance-wheel{grid-template-columns:repeat(2,minmax(70px,1fr))}.smithy-confirm,.smithy-upgrade-confirm{grid-template-columns:1fr}.smithy-confirm-art,.smithy-upgrade-confirm>.smithy-confirm-art{grid-row:auto;justify-self:center}.smithy-upgrade-odds{grid-template-columns:repeat(3,minmax(62px,1fr))}.auction-listing-form{grid-template-columns:1fr}.auction-listing-form>header,.auction-listing-form>.wide,.auction-listing-form>.terrain-note{grid-column:1}.auction-filters>button{flex:1;justify-content:center}.auction-filters>button span{display:none}.auction-card{grid-template-columns:60px minmax(0,1fr);padding:6px}.auction-item-art{width:58px;height:58px}.auction-card h3{white-space:normal}.auction-price{grid-template-columns:1fr auto}.auction-price>small{display:none}.auction-price time{grid-column:1}.auction-price>.btn{grid-column:2;grid-row:1/3}.auction-own-ledger article{grid-template-columns:minmax(0,1fr) auto}.auction-own-ledger article em{display:none}.auction-bid-preview{grid-template-columns:72px minmax(0,1fr)}.auction-bid-art{width:72px;height:72px}}
/* Smithy composition and equipment quality rendering. Component defaults are
   intentionally weaker than these scoped rarity tokens so cards never fall
   back to grey after later layout rules are appended. */
:is(.hero-equipped-slot,.hero-equipment-option,.smithy-material-ledger>article,.smithy-equipment-card,.smithy-quality-chance,.smithy-reward-chip,.smithy-composition-grid>article,.auction-card,.auction-bid-preview).rarity-ordinary{--rarity:#969b99;--rarity-glow:rgba(150,155,153,.26)}
:is(.hero-equipped-slot,.hero-equipment-option,.smithy-material-ledger>article,.smithy-equipment-card,.smithy-quality-chance,.smithy-reward-chip,.smithy-composition-grid>article,.auction-card,.auction-bid-preview).rarity-unusual{--rarity:#62b477;--rarity-glow:rgba(98,180,119,.31)}
:is(.hero-equipped-slot,.hero-equipment-option,.smithy-material-ledger>article,.smithy-equipment-card,.smithy-quality-chance,.smithy-reward-chip,.smithy-composition-grid>article,.auction-card,.auction-bid-preview).rarity-rare{--rarity:#579fdf;--rarity-glow:rgba(87,159,223,.34)}
:is(.hero-equipped-slot,.hero-equipment-option,.smithy-material-ledger>article,.smithy-equipment-card,.smithy-quality-chance,.smithy-reward-chip,.smithy-composition-grid>article,.auction-card,.auction-bid-preview).rarity-epic{--rarity:#a66ee0;--rarity-glow:rgba(166,110,224,.36)}
:is(.hero-equipped-slot,.hero-equipment-option,.smithy-material-ledger>article,.smithy-equipment-card,.smithy-quality-chance,.smithy-reward-chip,.smithy-composition-grid>article,.auction-card,.auction-bid-preview).rarity-legendary{--rarity:#e0b34d;--rarity-glow:rgba(224,179,77,.4)}
:is(.hero-equipped-slot,.hero-equipment-option,.smithy-material-ledger>article,.smithy-equipment-card,.smithy-quality-chance,.smithy-reward-chip,.smithy-composition-grid>article,.auction-card,.auction-bid-preview).rarity-mythical{--rarity:#a8343d;--rarity-glow:rgba(168,52,61,.44)}
.smithy-craft-form{grid-template-columns:1fr!important;align-items:start}
.smithy-slot-select{max-width:360px}
.smithy-composition{display:grid;gap:7px;min-width:0;padding:8px;border:1px solid rgba(189,127,61,.24);background:rgba(2,8,9,.32)}
.smithy-composition>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.smithy-composition>header>span{display:flex;align-items:center;gap:7px;color:#c99352;font-size:11px;text-transform:uppercase}.smithy-composition>header .ui-icon{width:19px;height:19px}.smithy-composition-summary{color:#9b8870;font-size:10px;font-style:normal}.smithy-composition-summary.positive{color:#71bd8d}.smithy-composition-summary.negative{color:#d4746e}
.smithy-composition-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.smithy-composition-grid>article{--rarity:#969b99;display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:7px;align-items:center;min-width:0;padding:6px;border:1px solid color-mix(in srgb,var(--rarity) 42%,var(--line));background:linear-gradient(120deg,color-mix(in srgb,var(--rarity) 10%,rgba(7,13,14,.96)),rgba(4,9,10,.94));box-shadow:inset 2px 0 var(--rarity)}
.smithy-composition-art{width:42px;height:42px;background-color:transparent!important;background-size:contain!important}.smithy-composition-grid>article>span{display:grid;min-width:0}.smithy-composition-grid small{overflow:hidden;color:var(--rarity);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.smithy-composition-grid b{color:#9da59f;font-size:10px;font-weight:500}
.smithy-material-stepper{display:grid;grid-template-columns:25px 43px 25px;align-items:stretch;height:32px}.smithy-material-stepper button,.smithy-material-stepper input{min-width:0;border:1px solid color-mix(in srgb,var(--rarity) 42%,var(--line));border-radius:0;background:#091112;color:#d8c9ac;text-align:center}.smithy-material-stepper button{padding:0;color:var(--rarity);cursor:pointer}.smithy-material-stepper input{border-right:0;border-left:0;font-size:11px;appearance:textfield}.smithy-material-stepper input::-webkit-inner-spin-button{appearance:none}
.smithy-upgrade-confirm{display:grid!important;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr)!important;gap:9px!important}.smithy-upgrade-item{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;align-items:center;padding:9px;border:1px solid color-mix(in srgb,var(--rarity) 42%,var(--line));background:radial-gradient(circle at 10% 50%,var(--rarity-glow),transparent 42%)}.smithy-upgrade-item .smithy-confirm-art{width:96px;height:96px;background-color:transparent!important;background-size:contain!important}.smithy-upgrade-item h3{margin:3px 0;color:#dfceb0;font:500 18px Georgia,serif}.smithy-upgrade-item p{margin:0;color:#89938d;font-size:10px}.smithy-upgrade-confirm>.smithy-composition{grid-column:1/-1}.smithy-upgrade-confirm>.btn{grid-column:1/-1}.smithy-upgrade-odds{align-self:stretch}
@media(max-width:760px){.smithy-composition-grid{grid-template-columns:1fr 1fr}.smithy-upgrade-confirm{grid-template-columns:1fr!important}.smithy-upgrade-item,.smithy-upgrade-confirm>.smithy-composition,.smithy-upgrade-confirm>.btn{grid-column:1}.smithy-material-stepper{grid-template-columns:24px 38px 24px}}
@media(max-width:480px){.smithy-composition-grid{grid-template-columns:1fr}.smithy-composition-grid>article{grid-template-columns:40px minmax(0,1fr) auto}.smithy-upgrade-item{grid-template-columns:76px minmax(0,1fr)}.smithy-upgrade-item .smithy-confirm-art{width:76px;height:76px}}

/* v5.2.4 bound relics and expiring intelligence */
.movement-relic-picker{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(240px,1.35fr);gap:8px;align-items:end;margin:9px 0;padding:8px;border:1px solid rgba(164,109,54,.28);background:linear-gradient(115deg,rgba(103,55,27,.13),rgba(4,10,11,.56))}.movement-relic-picker>header{display:grid;grid-template-columns:34px minmax(0,1fr);gap:7px;align-items:center}.movement-relic-picker>header>.ui-icon{width:30px;height:30px;color:#c78345}.movement-relic-picker>header>span{display:grid;min-width:0}.movement-relic-picker>header b{color:#d7c39f;font-size:11px}.movement-relic-picker>header small,.movement-relic-picker>p{margin:0;color:#7f8a84;font-size:10px}.movement-relic-picker>label{display:grid;gap:4px;min-width:0}.movement-relic-picker>label>span{color:#9f815d;font-size:10px;text-transform:uppercase}.movement-relic-picker select{box-sizing:border-box;width:100%;min-width:0}
.garrison-relic-panel{display:grid;gap:7px;margin-bottom:9px;padding:9px;border:1px solid rgba(88,128,160,.27);background:radial-gradient(circle at 0 50%,rgba(44,92,137,.13),transparent 42%),rgba(3,9,11,.4)}.garrison-relic-panel>header{display:grid;grid-template-columns:36px minmax(0,1fr);gap:8px;align-items:center}.garrison-relic-panel>header>.ui-icon{width:32px;height:32px;color:#70a7d4}.garrison-relic-panel>header>span{display:grid}.garrison-relic-panel>header b{color:#d1c4ab;font-size:11px}.garrison-relic-panel>header small{color:#7f8a84;font-size:10px}.armed-defense-relics,.available-defense-relics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.armed-defense-relic,.defense-relic-option{--rarity:#969b99;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:7px;align-items:center;min-width:0;padding:6px;border:1px solid color-mix(in srgb,var(--rarity) 38%,var(--line));background:radial-gradient(circle at 6% 50%,var(--rarity-glow),transparent 34%),rgba(5,11,12,.72);color:#cfc0a4;text-align:left}.armed-defense-relic{grid-template-columns:48px minmax(0,1fr)}.defense-relic-option{cursor:pointer}.defense-relic-art{width:46px;height:46px;background-color:transparent!important;background-size:contain!important}.armed-defense-relic>span,.defense-relic-option>span{display:grid;min-width:0}.armed-defense-relic small,.defense-relic-option small{color:var(--rarity);font-size:10px}.armed-defense-relic b,.defense-relic-option b{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.armed-defense-relic em{color:#89948e;font-size:10px;font-style:normal}.defense-relic-option>.ui-icon{width:18px;height:18px;color:var(--rarity)}
.intelligence-validity{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:8px;align-items:center;margin-bottom:8px;padding:7px 9px;border:1px solid rgba(166,125,66,.3);background:rgba(96,63,28,.12)}.intelligence-validity>.ui-icon{width:29px;height:29px;color:#c59555}.intelligence-validity>span{display:grid;min-width:0}.intelligence-validity small{color:#a67a48;font-size:10px;text-transform:uppercase}.intelligence-validity b{color:#c8baa0;font-size:10px;font-weight:500}.intelligence-validity time{color:#dfb66f;font-size:11px;white-space:nowrap}
.market-offer-modal,.auction-listing-modal{width:min(780px,calc(100vw - 20px))}.market-offer-modal-form{display:grid;grid-template-columns:1fr;gap:11px;padding:2px}.market-offer-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:10px}.market-offer-pair>.resource-field,.market-offer-pair>.market-offer-amount{display:grid;grid-template-rows:auto 52px;align-content:start;gap:7px;min-width:0;margin:0}.market-offer-pair>.market-offer-amount{margin-top:0!important}.market-offer-pair .universal-combobox-trigger,.market-offer-pair .market-offer-amount>input{box-sizing:border-box;width:100%;height:52px;min-height:52px}.market-offer-pair :is(.universal-field-label,.market-offer-amount>span){color:#9b8d74;font-size:10px;font-weight:700;line-height:14px;letter-spacing:.06em;text-transform:uppercase}.market-offer-modal-form .caravan-requirement{min-height:48px;margin:1px 0 0}.market-offer-modal-form .terrain-note{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;margin:0}.market-offer-modal-form .terrain-note>.ui-icon{width:27px;height:27px;color:#b88a4e}.auction-listing-modal-form{border:0;padding:0;background:transparent}.auction-listing-modal-form>header{padding:8px 10px;border:1px solid rgba(191,143,73,.22);background:rgba(5,10,11,.44)}.auction-modal-policy{grid-column:1/-1;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;padding:8px 10px;border:1px solid rgba(187,143,74,.25);background:rgba(112,72,30,.1)}.auction-modal-policy>.ui-icon{width:27px;height:27px;color:#bc8e50}.auction-modal-policy>span{display:grid;gap:2px}.auction-modal-policy b{color:#cdbb9c;font-size:11px}.auction-modal-policy small{color:#7e8781;font-size:10px}.auction-listing-modal .universal-combobox-menu,.market-offer-modal .universal-combobox-menu{z-index:120}
@media(max-width:620px){.market-offer-pair,.auction-listing-modal-form{grid-template-columns:1fr}.auction-listing-modal-form>header,.auction-listing-modal-form>.auction-equipment-picker,.auction-listing-modal-form>.auction-modal-policy{grid-column:1}.market-offer-modal .modal-frame>footer,.auction-listing-modal .modal-frame>footer{grid-template-columns:1fr 1fr}}
:is(.armed-defense-relic,.defense-relic-option).rarity-ordinary{--rarity:#969b99;--rarity-glow:rgba(150,155,153,.22)}:is(.armed-defense-relic,.defense-relic-option).rarity-unusual{--rarity:#62b477;--rarity-glow:rgba(98,180,119,.25)}:is(.armed-defense-relic,.defense-relic-option).rarity-rare{--rarity:#579fdf;--rarity-glow:rgba(87,159,223,.28)}:is(.armed-defense-relic,.defense-relic-option).rarity-epic{--rarity:#a66ee0;--rarity-glow:rgba(166,110,224,.3)}:is(.armed-defense-relic,.defense-relic-option).rarity-legendary{--rarity:#e0b34d;--rarity-glow:rgba(224,179,77,.33)}:is(.armed-defense-relic,.defense-relic-option).rarity-mythical{--rarity:#a8343d;--rarity-glow:rgba(168,52,61,.36)}
@media(max-width:680px){.movement-relic-picker{grid-template-columns:1fr}.armed-defense-relics,.available-defense-relics{grid-template-columns:1fr}.intelligence-validity{grid-template-columns:30px minmax(0,1fr)}.intelligence-validity time{grid-column:2}}
.smithy-result-rewards>p{margin:3px 0;color:#9ba49e;font-size:11px;line-height:1.5}

/* v5.2.5 discovery signals, smithy quality and panorama readiness */
.smithy-result.rarity-ordinary,.smithy-result-reveal.rarity-ordinary{--rarity:#969b99;--rarity-glow:rgba(150,155,153,.22)}
.smithy-result.rarity-unusual,.smithy-result-reveal.rarity-unusual{--rarity:#62b477;--rarity-glow:rgba(98,180,119,.25)}
.smithy-result.rarity-rare,.smithy-result-reveal.rarity-rare{--rarity:#579fdf;--rarity-glow:rgba(87,159,223,.28)}
.smithy-result.rarity-epic,.smithy-result-reveal.rarity-epic{--rarity:#a66ee0;--rarity-glow:rgba(166,110,224,.3)}
.smithy-result.rarity-legendary,.smithy-result-reveal.rarity-legendary{--rarity:#e0b34d;--rarity-glow:rgba(224,179,77,.33)}
.smithy-result.rarity-mythical,.smithy-result-reveal.rarity-mythical{--rarity:#a8343d;--rarity-glow:rgba(168,52,61,.36)}
.smithy-result-reveal{border-color:color-mix(in srgb,var(--rarity) 55%,var(--line));background:radial-gradient(circle at 8% 50%,var(--rarity-glow),transparent 36%),rgba(4,9,10,.75);box-shadow:inset 0 -2px color-mix(in srgb,var(--rarity) 62%,transparent)}
.smithy-result-item .item-rarity{color:var(--rarity);border-color:var(--rarity);box-shadow:0 0 10px var(--rarity-glow)}
.smithy-result-item h3{color:color-mix(in srgb,var(--rarity) 30%,#e7dac0)}
.smithy-result.destroyed{--rarity:#a94848;--rarity-glow:rgba(169,72,72,.34)}
.city-building-plot .panorama-upgrade-ready{position:absolute;right:3px;bottom:3px;z-index:12;display:grid!important;place-items:center;width:25px;height:25px;border:1px solid rgba(112,181,117,.72);border-radius:50%;background:linear-gradient(145deg,#173a29,#0a2118);box-shadow:0 2px 7px rgba(0,0,0,.7),0 0 8px rgba(67,166,102,.34);pointer-events:none}
.city-building-plot .panorama-upgrade-ready>.ui-icon{width:15px;height:15px;color:#92d19a;transform:rotate(-90deg)}
.notification-item.discovery{--rarity:#969b99;border-left-color:var(--rarity);background:linear-gradient(90deg,color-mix(in srgb,var(--rarity) 10%,transparent),transparent 66%)}
.notification-item.discovery .notification-open>.ui-icon{flex:0 0 25px;width:25px;height:25px;color:var(--rarity);filter:drop-shadow(0 0 5px var(--rarity-glow))}
.notification-item.discovery .notification-open b{color:color-mix(in srgb,var(--rarity) 42%,#d8cdb9)}
.notification-item.discovery.rarity-unusual{--rarity:#62b477;--rarity-glow:rgba(98,180,119,.25)}.notification-item.discovery.rarity-rare{--rarity:#579fdf;--rarity-glow:rgba(87,159,223,.28)}.notification-item.discovery.rarity-epic{--rarity:#a66ee0;--rarity-glow:rgba(166,110,224,.3)}.notification-item.discovery.rarity-legendary{--rarity:#e0b34d;--rarity-glow:rgba(224,179,77,.33)}.notification-item.discovery.rarity-mythical{--rarity:#a8343d;--rarity-glow:rgba(168,52,61,.36)}
.dispatch-origin-spells .spell-timing{display:flex;align-items:center;gap:4px;width:max-content;padding:3px 6px;border:1px solid rgba(161,132,194,.28);background:rgba(91,59,122,.16);color:#bca7d1;font-size:10px!important;font-style:normal}.dispatch-origin-spells .spell-timing>.ui-icon{width:13px;height:13px;color:#bca7d1}

/* v5.2.6 realm wiki */
.wiki-page{max-width:1280px;margin:0 auto}.wiki-categories{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(188px,1fr);gap:8px;margin:0 0 14px;padding:2px 2px 8px;overflow-x:auto;scrollbar-width:thin;overscroll-behavior-inline:contain;scroll-snap-type:x proximity}.wiki-category{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);gap:9px;align-items:center;min-height:66px;padding:9px 11px;overflow:hidden;border:1px solid color-mix(in srgb,var(--wiki-accent) 26%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--wiki-accent) 7%,#111a1c),#0b1214);color:#8d9690;text-align:left;scroll-snap-align:start;cursor:pointer}.wiki-category::after{position:absolute;right:0;bottom:0;left:0;height:2px;background:var(--wiki-accent);opacity:.18;content:""}.wiki-category>.ui-icon{width:34px;height:34px;color:var(--wiki-accent);opacity:.72}.wiki-category>span{display:grid;gap:2px}.wiki-category b{color:#b8b3a5;font:500 14px Georgia,serif;line-height:1.2}.wiki-category small{overflow:hidden;color:#6f7974;font-size:10px!important;text-overflow:ellipsis;white-space:nowrap}.wiki-category:hover,.wiki-category.active{border-color:color-mix(in srgb,var(--wiki-accent) 72%,#d5c49d);background:linear-gradient(135deg,color-mix(in srgb,var(--wiki-accent) 16%,#172225),#0b1214)}.wiki-category.active{box-shadow:inset 0 0 24px color-mix(in srgb,var(--wiki-accent) 9%,transparent),0 6px 18px rgba(0,0,0,.16)}.wiki-category.active::after{opacity:.85}.wiki-category.active>.ui-icon{opacity:1;filter:drop-shadow(0 0 7px color-mix(in srgb,var(--wiki-accent) 45%,transparent))}
.wiki-workspace{overflow:hidden;border-color:color-mix(in srgb,var(--wiki-accent) 30%,var(--line));background:radial-gradient(circle at 12% 0,color-mix(in srgb,var(--wiki-accent) 10%,transparent),transparent 34%),linear-gradient(145deg,rgba(24,35,37,.98),rgba(9,15,17,.98))}.wiki-article-hero{display:grid;grid-template-columns:150px minmax(0,1fr) minmax(220px,300px);gap:20px;align-items:center;min-height:180px;padding:18px 20px;border-bottom:1px solid color-mix(in srgb,var(--wiki-accent) 24%,var(--line));background:linear-gradient(105deg,color-mix(in srgb,var(--wiki-accent) 8%,rgba(9,15,17,.92)),rgba(5,10,11,.6))}.wiki-art-frame{display:grid;place-items:center;width:150px;height:150px;overflow:hidden;border:1px solid color-mix(in srgb,var(--wiki-accent) 45%,var(--line));background:radial-gradient(circle,color-mix(in srgb,var(--wiki-accent) 14%,#11191b),#080e0f 72%);box-shadow:inset 0 0 24px rgba(0,0,0,.4)}.wiki-feature-art{width:100%;height:100%;background-color:transparent!important;background-size:contain!important;background-position:center!important;background-repeat:no-repeat!important}.wiki-icon-art{display:grid;place-items:center;width:100%;height:100%}.wiki-icon-art>.ui-icon{width:78px;height:78px;color:var(--wiki-accent)}.wiki-article-hero>div:nth-child(2){display:grid;align-content:center}.wiki-article-hero>div:nth-child(2)>small{color:var(--wiki-accent);font-size:10px!important;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.wiki-article-hero h2{margin:4px 0 8px;color:#e1d4b9;font:500 clamp(25px,2.4vw,36px) Georgia,serif}.wiki-article-hero p{max-width:72ch;margin:0;color:#a0a69f;font-size:13px!important;line-height:1.65}.wiki-article-hero>aside{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:start;padding:12px;border:1px solid color-mix(in srgb,var(--wiki-accent) 32%,var(--line));background:color-mix(in srgb,var(--wiki-accent) 7%,rgba(3,8,9,.72))}.wiki-article-hero>aside>.ui-icon{width:30px;height:30px;color:var(--wiki-accent)}.wiki-article-hero>aside>span{display:grid;gap:3px}.wiki-article-hero>aside small{color:var(--wiki-accent);font-size:10px!important;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.wiki-article-hero>aside b{color:#c9c0aa;font-size:11px;line-height:1.55}
.wiki-section-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px}.wiki-section-card{padding:15px;border:1px solid rgba(205,178,126,.13);background:linear-gradient(145deg,rgba(24,34,36,.8),rgba(8,14,15,.74))}.wiki-section-card>header{display:grid;grid-template-columns:32px minmax(0,1fr);gap:8px;align-items:center;margin-bottom:9px}.wiki-section-card>header>span{display:grid;place-items:center;width:30px;height:30px;border:1px solid color-mix(in srgb,var(--wiki-accent) 42%,var(--line));color:var(--wiki-accent);font:700 10px Georgia,serif}.wiki-section-card h3{margin:0;color:#d6c9ae;font:500 18px Georgia,serif}.wiki-section-card>p{min-height:63px;margin:0 0 10px;color:#909a94;font-size:12px!important;line-height:1.6}.wiki-section-card ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}.wiki-section-card li{display:grid;grid-template-columns:17px minmax(0,1fr);gap:6px;align-items:start;color:#abb0a8;font-size:11px;line-height:1.5}.wiki-section-card li>.ui-icon{width:15px;height:15px;margin-top:1px;color:var(--wiki-accent)}
.wiki-poi-atlas{margin:0 14px 14px;border:1px solid color-mix(in srgb,var(--wiki-accent) 24%,var(--line));background:rgba(3,8,9,.4)}.wiki-poi-atlas>header{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr);gap:16px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line)}.wiki-poi-atlas>header>span{display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:8px;align-items:center}.wiki-poi-atlas>header .ui-icon{grid-row:1/3;width:31px;height:31px;color:var(--wiki-accent)}.wiki-poi-atlas>header small{color:var(--wiki-accent);font-size:10px!important;letter-spacing:.09em;text-transform:uppercase}.wiki-poi-atlas h3{margin:0;color:#d5c8ad;font:500 19px Georgia,serif}.wiki-poi-atlas>header p{margin:0;color:#89938d;font-size:11px!important}.wiki-poi-atlas>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(205,178,126,.1)}.wiki-poi-card{display:grid;grid-template-columns:70px minmax(0,1fr);gap:9px;align-items:center;min-height:88px;padding:8px;background:#0d1517}.wiki-poi-art{display:grid;place-items:center;width:68px;height:68px;background-color:transparent!important;background-size:contain!important;background-position:center!important;background-repeat:no-repeat!important}.wiki-road-card .wiki-poi-art>.ui-icon{width:44px;height:44px;color:#a69272}.wiki-poi-card>span:last-child{display:grid;gap:3px}.wiki-poi-card b{color:#cbbfa6;font-size:11px}.wiki-poi-card small{color:#7e8983;font-size:10px!important;line-height:1.45}.wiki-article-footer{display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;align-items:center;padding:11px 15px;border-top:1px solid color-mix(in srgb,var(--wiki-accent) 22%,var(--line));background:color-mix(in srgb,var(--wiki-accent) 5%,rgba(3,8,9,.66))}.wiki-article-footer>.ui-icon{width:27px;height:27px;color:var(--wiki-accent)}.wiki-article-footer p{margin:0!important;color:#a99f8b!important;font-size:11px!important}
@media(max-width:980px){.wiki-article-hero{grid-template-columns:116px minmax(0,1fr)}.wiki-art-frame{width:116px;height:116px}.wiki-article-hero>aside{grid-column:1/-1}.wiki-section-grid{grid-template-columns:1fr}.wiki-section-card>p{min-height:0}.wiki-poi-atlas>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.wiki-categories{grid-auto-columns:minmax(160px,68vw)}.wiki-category{min-height:60px}.wiki-article-hero{grid-template-columns:82px minmax(0,1fr);gap:12px;padding:12px}.wiki-art-frame{width:82px;height:82px}.wiki-article-hero h2{font-size:24px}.wiki-article-hero>div:nth-child(2)>p{grid-column:1/-1}.wiki-article-hero>aside{padding:9px}.wiki-section-grid{padding:9px}.wiki-section-card{padding:12px}.wiki-poi-atlas{margin:0 9px 9px}.wiki-poi-atlas>header{grid-template-columns:1fr}.wiki-poi-atlas>div{grid-template-columns:1fr}.wiki-poi-card{min-height:78px}.wiki-article-footer{margin-top:0}}

/* v5.2.6.1 Wiki art isolation and compact POI filters */
.wiki-art-frame>.asset-art.modular-art.wiki-feature-art{
  position:relative!important;
  inset:auto!important;
  right:auto!important;
  bottom:auto!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:100%!important;
  max-height:100%!important;
  aspect-ratio:1!important;
  background-position:center!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  box-shadow:none!important;
  filter:none!important;
  transform:none!important;
}
.map-filter-switch{align-items:center;justify-content:flex-start;gap:5px;max-width:100%;padding:4px;overflow-x:auto;border:1px solid rgba(202,174,119,.14);background:linear-gradient(90deg,rgba(7,13,14,.94),rgba(12,20,21,.86));scrollbar-width:thin;overscroll-behavior-inline:contain}
.map-filter-switch>.map-filter-label,.map-filter-switch>button{flex:0 0 auto;min-height:34px;padding:5px 8px;border:1px solid rgba(202,174,119,.14);background:rgba(7,13,14,.68);font-size:10px;letter-spacing:.035em;text-transform:none}
.map-filter-switch>.map-filter-label{position:sticky;left:0;z-index:3;gap:6px;border-color:transparent;background:#0b1315;color:#a78e66;text-transform:uppercase}
.map-filter-switch>.map-filter-label>.ui-icon{width:17px;height:17px}.map-filter-switch>.map-filter-label>b{font-size:10px}
.map-filter-switch>button>.ui-icon{width:17px;height:17px;color:#777f7a}.map-filter-switch>button>span{line-height:1;white-space:nowrap}
.map-filter-switch>button:hover>.ui-icon,.map-filter-switch>button.active>.ui-icon{color:#d8b775}.map-filter-switch>button.active{border-color:rgba(199,146,79,.62);background:linear-gradient(145deg,rgba(199,146,79,.16),rgba(53,39,24,.13));box-shadow:inset 0 -2px rgba(199,146,79,.28)}
@media(max-width:620px){.map-filter-switch{gap:3px;padding:3px}.map-filter-switch>.map-filter-label,.map-filter-switch>button{min-height:30px;padding:4px 6px;font-size:10px}.map-filter-switch>.map-filter-label>b{display:none}.map-filter-switch>button>.ui-icon{width:15px;height:15px}}

/* Terrain Engine v4: the bitmap is already DPR-resolved in the worker. Keep
   the presentation surface isolated and free of browser interpolation effects
   that would make biome edges blur or shift independently from DOM markers. */
.world-map.map-engine-active .map-viewport{contain:strict;isolation:isolate}
.world-map.map-engine-active .map-viewport>#mapCanvas{contain:strict;backface-visibility:hidden;transform-origin:0 0!important}
.world-map.map-engine-active .map-viewport>:is(.map-road-layer,.map-movement-layer,.map-marker-layer,.map-moving-marker-layer){transform:none!important;will-change:auto;backface-visibility:visible}
.admin-map-preview>.admin-preview-retry{display:flex;margin:12px auto 18px}
.terrain-snow,.terrain-badge[data-terrain="snow"],[data-terrain="snow"]>.terrain-badge{
  border-color:rgba(187,207,211,.38)!important;
  background:linear-gradient(135deg,rgba(174,196,202,.15),rgba(36,48,53,.3))!important;
  color:#c9d8da!important;
}

/* Terrain Engine v4: one-time post-rebuild city placement. */
.world-placement-oath{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;margin:0 0 12px;padding:12px 14px;border:1px solid rgba(108,207,181,.42);background:linear-gradient(105deg,rgba(17,40,38,.96),rgba(13,23,27,.94));box-shadow:inset 0 0 24px rgba(71,189,174,.08),0 8px 24px rgba(0,0,0,.25)}
.world-placement-oath>.ui-icon{width:34px;height:34px;color:#78c9af}.world-placement-oath span{min-width:0}.world-placement-oath small{color:#78c9af;letter-spacing:.12em}.world-placement-oath h2{margin:2px 0;font-size:clamp(16px,2vw,22px)}.world-placement-oath p{margin:0;color:var(--text-muted);font-size:12px}.world-placement-oath>strong{white-space:nowrap;color:#e5c77c}
.world-placement-confirm{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start;padding:16px;border:1px solid rgba(111,202,174,.32);background:rgba(8,18,20,.72)}.world-placement-confirm>.ui-icon{width:44px;height:44px;color:#7dd0b3}.world-placement-confirm h3{margin:3px 0 6px;font-size:22px}.world-placement-confirm p{margin:0 0 12px;color:var(--text-muted)}
@media(max-width:720px){.world-placement-oath{grid-template-columns:auto minmax(0,1fr)}.world-placement-oath>strong{grid-column:2}.world-placement-oath>.btn{grid-column:1/-1;width:100%}}

/* 6.2.3: compact mode-first NSC trading workspace. */
.npc-trading-rebuild{overflow:visible}
.npc-trading-rebuild>.npc-trading-heading{align-items:center}
.npc-trade-flow{display:grid;gap:8px}
.npc-trade-step{
  display:grid;
  gap:8px;
  min-width:0;
  padding:10px;
  border:1px solid rgba(157,132,82,.21);
  background:linear-gradient(135deg,rgba(12,21,22,.78),rgba(3,9,10,.5));
}
.npc-trade-step.locked{opacity:.72}
.npc-trade-step>header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.npc-trade-step>header>span{display:grid;gap:2px;min-width:max-content}
.npc-trade-step>header>span>small{
  color:#987746;
  font-size:9px;
  font-weight:800;
  letter-spacing:.14em;
}
.npc-trade-step>header>span>b{color:#d5c7a9;font:500 16px Georgia,serif}
.npc-trade-step>header>span>em{color:#777f79;font-size:9px;font-style:normal}
.npc-trade-step>header>p{
  max-width:62ch;
  margin:0!important;
  color:#7f8a84!important;
  font-size:10px!important;
  line-height:1.48!important;
  text-align:right;
}
.npc-step-gate{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:42px;
  padding:7px 9px;
  border:1px dashed rgba(107,124,114,.23);
  background:rgba(0,0,0,.11);
}
.npc-step-gate>.ui-icon{flex:0 0 auto;width:25px;height:25px;color:#6e7772}
.npc-step-gate>span{display:grid;gap:2px}
.npc-step-gate b{color:#999d96;font-size:11px}
.npc-step-gate small{color:#6f7973;font-size:9px;line-height:1.4}

.npc-mode-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
.npc-mode-option{
  appearance:none;
  position:relative;
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  grid-template-rows:auto auto;
  gap:8px 11px;
  min-width:0;
  min-height:84px;
  padding:8px;
  overflow:hidden;
  border:1px solid rgba(106,124,113,.25);
  background:linear-gradient(118deg,rgba(21,33,33,.92),rgba(5,12,13,.9));
  color:#a2aaa4;
  text-align:left;
  cursor:pointer;
  transition:border-color .16s ease,background .16s ease,transform .16s ease;
}
.npc-mode-option:hover{border-color:rgba(180,142,79,.46);transform:translateY(-1px)}
.npc-mode-option.active{
  border-color:rgba(210,165,84,.65);
  background:linear-gradient(118deg,rgba(66,49,25,.55),rgba(8,17,17,.93));
  box-shadow:inset 0 0 0 1px rgba(211,165,82,.11);
}
.npc-mode-option.missing:not(.active){opacity:.68}
.npc-mode-option-art{
  grid-row:1/3;
  display:grid;
  place-items:center;
  width:58px;
  height:66px;
  overflow:hidden;
  border:1px solid rgba(117,132,123,.17);
  background:radial-gradient(circle,rgba(140,103,50,.13),rgba(0,0,0,.17) 70%);
}
.npc-mode-option-art>.asset-art{
  position:static!important;
  inset:auto!important;
  display:block!important;
  width:52px!important;
  height:52px!important;
  background-position:center!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  filter:drop-shadow(0 6px 5px rgba(0,0,0,.54));
}
.npc-mode-option-copy{display:grid;align-content:center;gap:2px;min-width:0}
.npc-mode-option-copy>small{color:#9c7842;font-size:8px;font-weight:800;letter-spacing:.12em}
.npc-mode-option-copy>b{color:#d7c9ab;font:500 15px Georgia,serif}
.npc-mode-option-copy>em{color:#7d8881;font-size:9px;font-style:normal;line-height:1.35}
.npc-mode-option-ledger{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:4px;
  min-width:0;
}
.npc-mode-option-ledger>strong{
  display:grid;
  gap:1px;
  min-width:0;
  padding:5px 6px;
  border:1px solid rgba(104,122,112,.16);
  background:rgba(0,0,0,.13);
  color:#c8b993;
  font-size:11px;
  font-variant-numeric:tabular-nums;
}
.npc-mode-option-ledger small{overflow:hidden;color:#6f7a74;font-size:7px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.npc-mode-check{
  position:absolute;
  top:7px;
  right:7px;
  width:20px!important;
  height:20px!important;
  color:#dfb461;
}

.npc-resource-filter-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
}
.npc-resource-filter-option{
  appearance:none;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  min-width:0;
  min-height:54px;
  padding:6px 7px;
  border:1px solid rgba(108,124,115,.23);
  background:linear-gradient(110deg,rgba(23,34,34,.86),rgba(7,13,14,.84));
  color:#9ca69f;
  text-align:left;
  cursor:pointer;
}
.npc-resource-filter-option:hover{border-color:rgba(183,143,76,.42)}
.npc-resource-filter-option.active{
  border-color:rgba(207,159,78,.64);
  background:linear-gradient(110deg,rgba(65,49,27,.52),rgba(8,16,17,.92));
}
.npc-resource-filter-option>.resource-glyph{width:32px;height:32px}
.npc-resource-filter-option>span{display:grid;gap:2px;min-width:0}
.npc-resource-filter-option>span>b{color:#d2c4a7;font-size:12px}
.npc-resource-filter-option>span>small{overflow:hidden;color:#78827c;font-size:8px;text-overflow:ellipsis;white-space:nowrap}
.npc-resource-filter-option>strong{display:grid;gap:1px;color:#c7a363;font-size:12px;text-align:right;font-variant-numeric:tabular-nums}
.npc-resource-filter-option>strong>small{color:#716d61;font-size:7px;font-weight:600;text-transform:uppercase}

.npc-poi-toolbar{
  display:grid;
  grid-template-columns:auto minmax(180px,1fr);
  gap:9px;
  align-items:center;
}
.npc-poi-toolbar>div{
  display:flex;
  gap:4px;
  padding:3px;
  border:1px solid rgba(105,122,112,.18);
  background:rgba(0,0,0,.13);
}
.npc-poi-toolbar>div>button{
  appearance:none;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-height:29px;
  padding:5px 9px;
  border:1px solid transparent;
  background:transparent;
  color:#7b857f;
  font-size:9px;
  cursor:pointer;
}
.npc-poi-toolbar>div>button>.ui-icon{width:15px;height:15px}
.npc-poi-toolbar>div>button.active{
  border-color:rgba(188,146,77,.4);
  background:rgba(115,78,31,.2);
  color:#d0b47e;
}
.npc-poi-toolbar>label{
  display:grid;
  grid-template-columns:18px minmax(0,1fr) auto;
  align-items:center;
  gap:6px;
  min-width:0;
  min-height:36px;
  padding:3px 8px;
  border:1px solid rgba(105,122,112,.2);
  background:rgba(2,8,9,.34);
}
.npc-poi-toolbar>label>.ui-icon{width:17px;height:17px;color:#747f79}
.npc-poi-toolbar input{
  min-width:0;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.npc-poi-toolbar>label>span{color:#707a74;font-size:8px;white-space:nowrap}
.npc-poi-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  max-height:426px;
  padding-right:3px;
  overflow:auto;
  scrollbar-gutter:stable;
}
.npc-poi-card{
  appearance:none;
  position:relative;
  display:grid;
  grid-template-columns:52px minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  min-width:0;
  min-height:70px;
  padding:6px 7px;
  overflow:hidden;
  border:1px solid rgba(104,122,112,.22);
  background:linear-gradient(112deg,rgba(20,31,31,.86),rgba(4,10,11,.83));
  color:#9da69f;
  text-align:left;
  cursor:pointer;
}
.npc-poi-card:hover{border-color:rgba(182,142,76,.43)}
.npc-poi-card.selected{
  border-color:rgba(211,165,83,.64);
  background:linear-gradient(112deg,rgba(65,48,25,.5),rgba(6,14,15,.9));
}
.npc-poi-card>.npc-poi-card-art{
  position:static!important;
  display:block!important;
  width:50px!important;
  height:50px!important;
  background-position:center!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  filter:drop-shadow(0 6px 4px rgba(0,0,0,.5));
}
.npc-poi-card-copy{display:grid;gap:2px;min-width:0}
.npc-poi-card-copy>small{
  overflow:hidden;
  color:#807b6c;
  font-size:8px;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}
.npc-poi-card-copy>b{
  overflow:hidden;
  color:#d4c5a7;
  font:500 14px Georgia,serif;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.npc-poi-card-copy>em{
  display:flex;
  align-items:center;
  gap:4px;
  overflow:hidden;
  color:#9a855d;
  font-size:9px;
  font-style:normal;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.npc-poi-card-copy>em>.resource-glyph{flex:0 0 auto;width:18px;height:18px}
.npc-poi-card-metrics{display:grid;grid-template-columns:repeat(2,minmax(72px,1fr));gap:3px;min-width:158px}
.npc-poi-card-metrics>strong{
  display:grid;
  grid-template-columns:17px minmax(0,1fr);
  grid-template-rows:auto auto;
  align-items:center;
  gap:0 5px;
  padding:4px 5px;
  border:1px solid rgba(99,116,106,.14);
  background:rgba(0,0,0,.1);
}
.npc-poi-card-metrics .ui-icon{grid-row:1/3;width:16px;height:16px;color:#a47c42}
.npc-poi-card-metrics b{overflow:hidden;color:#c0b59d;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.npc-poi-card-metrics small{color:#6f7973;font-size:7px;white-space:nowrap}
.npc-poi-card-check{
  position:absolute;
  top:5px;
  right:5px;
  width:17px!important;
  height:17px!important;
  color:#dfb461;
}
.npc-poi-list>[data-npc-filter-empty]{
  grid-column:1/-1;
  margin:0!important;
  padding:16px;
  border:1px dashed rgba(105,122,112,.23);
  color:#78827c!important;
  font-size:10px!important;
  text-align:center;
}
.npc-partner-picker.empty{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:68px;
  padding:12px;
  border:1px dashed rgba(105,122,112,.24);
  background:rgba(0,0,0,.1);
}
.npc-partner-picker.empty>.ui-icon{flex:0 0 auto;width:27px;height:27px;color:#80775f}
.npc-partner-picker.empty>span{display:grid;gap:3px;color:#a6aaa2;font-size:10px}
.npc-partner-picker.empty small{color:#727c76;font-size:9px}
.npc-partner-picker.empty progress{width:min(220px,36%);margin-left:auto}
.npc-partner-scan-status{display:flex;align-items:center;gap:8px}
.npc-partner-scan-status>small{color:#737d77;font-size:8px}

.npc-selected-poi{
  display:grid;
  grid-template-columns:58px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  min-width:0;
  padding:8px;
  overflow:hidden;
  border:1px solid rgba(183,142,74,.27);
  background:linear-gradient(110deg,rgba(43,34,22,.38),rgba(5,12,13,.78));
}
.npc-selected-poi>.npc-selected-poi-art{
  position:static!important;
  display:block!important;
  width:56px!important;
  height:56px!important;
  background-position:center!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  filter:drop-shadow(0 6px 5px rgba(0,0,0,.52));
}
.npc-selected-poi>span{display:grid;gap:2px;min-width:0}
.npc-selected-poi>span>small{color:#9b7640;font-size:8px;font-weight:800;letter-spacing:.12em}
.npc-selected-poi>span>b{overflow:hidden;color:#dfcfad;font:500 16px Georgia,serif;text-overflow:ellipsis;white-space:nowrap}
.npc-selected-poi>span>em{color:#858d86;font-size:9px;font-style:normal}
.npc-selected-poi>div{
  display:grid;
  grid-template-columns:repeat(3,minmax(82px,1fr));
  gap:5px;
}
.npc-selected-poi>div>strong{
  display:grid;
  grid-template-columns:19px minmax(0,1fr);
  grid-template-rows:auto auto;
  align-items:center;
  gap:0 4px;
  padding:5px 6px;
  border:1px solid rgba(105,122,112,.17);
  background:rgba(0,0,0,.12);
  color:#cbb582;
  font-size:10px;
  font-variant-numeric:tabular-nums;
}
.npc-selected-poi>div>strong>.resource-glyph,
.npc-selected-poi>div>strong>.ui-icon{grid-row:1/3;width:18px;height:18px}
.npc-selected-poi>div>strong>small{color:#706f67;font-size:7px;font-weight:600;text-transform:uppercase}

.npc-quote-loading,.npc-quote-empty{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  padding:8px 9px;
  border:1px dashed rgba(105,122,112,.23);
  background:rgba(0,0,0,.11);
}
.npc-quote-loading>.ui-icon,.npc-quote-empty>.ui-icon{flex:0 0 auto;width:26px;height:26px;color:#92784d}
.npc-quote-loading>span,.npc-quote-empty>span{display:grid;gap:2px}
.npc-quote-loading b,.npc-quote-empty b{color:#aeb0a7;font-size:11px}
.npc-quote-loading small,.npc-quote-empty small{color:#727c76;font-size:9px}

.npc-rate-options{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}
.npc-rate-option{
  appearance:none;
  position:relative;
  display:grid;
  grid-template-columns:32px minmax(0,1fr) 20px minmax(0,1fr);
  align-items:center;
  gap:7px;
  min-width:0;
  min-height:82px;
  padding:23px 8px 8px;
  overflow:hidden;
  border:1px solid rgba(104,122,112,.22);
  background:linear-gradient(112deg,rgba(19,30,30,.88),rgba(4,10,11,.85));
  color:#9ca69f;
  text-align:left;
  cursor:pointer;
}
.npc-rate-option:hover:not(:disabled){border-color:rgba(181,141,75,.44)}
.npc-rate-option.unavailable{
  opacity:.58;
  cursor:not-allowed;
}
.npc-rate-option.unavailable>span>em{color:#a86f5d}
.npc-rate-option.selected{
  border-color:rgba(211,165,83,.65);
  background:linear-gradient(112deg,rgba(65,48,25,.5),rgba(6,14,15,.91));
}
.npc-rate-option>.resource-glyph{width:31px;height:31px}
.npc-rate-option>span,.npc-rate-option>strong{display:grid;gap:1px;min-width:0}
.npc-rate-option>span>small,.npc-rate-option>strong>small{color:#727c76;font-size:7px;text-transform:uppercase}
.npc-rate-option>span>b,.npc-rate-option>strong>b{overflow:hidden;color:#d0c2a5;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.npc-rate-option>span>em,.npc-rate-option>strong>em{overflow:hidden;color:#7c857f;font-size:8px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
.npc-rate-option>.ui-icon{width:18px;height:18px;color:#92784b}
.npc-rate-option>.npc-rate-option-check{
  position:absolute;
  top:5px;
  right:5px;
  width:17px!important;
  height:17px!important;
  color:#dfb461;
}
.npc-rate-multipliers{
  border:1px solid rgba(104,122,112,.18);
  background:rgba(0,0,0,.1);
}
.npc-rate-multipliers>summary{
  display:flex;
  align-items:center;
  gap:6px;
  min-height:34px;
  padding:7px 9px;
  color:#9b9483;
  font-size:9px;
  cursor:pointer;
}
.npc-rate-multipliers>summary>.ui-icon{width:16px;height:16px;color:#a27b42}
.npc-rate-multipliers>div{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:4px;
  padding:0 8px 8px;
}
.npc-rate-multipliers>div>span{
  display:grid;
  gap:1px;
  padding:5px 6px;
  border:1px solid rgba(99,116,106,.13);
  background:rgba(0,0,0,.11);
}
.npc-rate-multipliers small{color:#707a74;font-size:7px}
.npc-rate-multipliers b{color:#bcb097;font-size:10px;font-variant-numeric:tabular-nums}
.npc-rate-multipliers .total{border-color:rgba(191,147,76,.33)}
.npc-rate-multipliers .total b{color:#dfb86e}

.npc-amount-workbench{
  display:grid;
  grid-template-columns:minmax(180px,.45fr) auto minmax(340px,1fr);
  align-items:start;
  gap:8px;
}
.npc-amount-workbench>label{
  display:grid;
  gap:4px;
  min-width:0;
}
.npc-amount-workbench>label>span{color:#8d8f86;font-size:9px}
.npc-amount-workbench>label>input{min-height:39px;font-variant-numeric:tabular-nums}
.npc-amount-shortcuts{
  display:grid;
  grid-template-columns:1fr;
  gap:3px;
  padding-top:18px;
}
.npc-amount-shortcuts>button{
  appearance:none;
  min-height:38px;
  padding:5px 9px;
  border:1px solid rgba(105,122,112,.21);
  background:rgba(4,12,12,.8);
  color:#928c7e;
  font-size:9px;
  cursor:pointer;
}
.npc-amount-shortcuts>button:hover:not(:disabled){border-color:rgba(184,143,76,.42);color:#c8ad78}
.npc-trade-preview{
  display:grid;
  gap:6px;
  min-width:0;
  padding:9px;
  border:1px solid rgba(104,122,112,.2);
  background:rgba(0,0,0,.11);
}
.npc-trade-preview.ready{border-color:rgba(91,158,129,.36)}
.npc-trade-preview.blocked{border-color:rgba(169,91,64,.28)}
.npc-preview-result{
  display:grid;
  grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr);
  align-items:center;
  gap:5px;
}
.npc-preview-result>span{display:grid;gap:1px;min-width:0}
.npc-preview-result>span:last-child{text-align:right}
.npc-preview-result small{color:#737d77;font-size:10px;line-height:1.25;text-transform:uppercase;white-space:normal}
.npc-preview-result b{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:4px;
  overflow:visible;
  color:#d1c3a4;
  font-size:12px;
  text-overflow:clip;
  white-space:normal;
}
.npc-preview-result>span:last-child b{justify-content:flex-end;color:#78b99f}
.npc-preview-result .resource-glyph{flex:0 0 auto;width:20px;height:20px}
.npc-preview-result>.ui-icon{width:18px;height:18px;color:#8f754b}
.npc-preview-facts{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(118px,1fr));
  gap:4px;
}
.npc-preview-facts>span{
  display:grid;
  grid-template-columns:15px minmax(0,1fr);
  grid-template-rows:auto auto;
  align-items:center;
  gap:0 4px;
  min-width:0;
  padding:4px 5px;
  border:1px solid rgba(99,116,106,.13);
}
.npc-preview-facts>span>.ui-icon{grid-row:1/3;width:14px;height:14px;color:#987544}
.npc-preview-facts small{grid-column:2;overflow:visible;color:#6c7670;font-size:10px;line-height:1.25;text-overflow:clip;white-space:normal;overflow-wrap:break-word;word-break:normal}
.npc-preview-facts b{grid-column:2;overflow:visible;color:#bdb29b;font-size:12px;line-height:1.25;text-overflow:clip;white-space:normal;overflow-wrap:break-word;word-break:normal}
.npc-preview-route{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
  padding:5px 6px;
  border:1px solid rgba(99,116,106,.13);
}
.npc-preview-route>.ui-icon{flex:0 0 auto;width:18px;height:18px;color:#a27a41}
.npc-preview-route>span{display:grid;gap:1px;min-width:0}
.npc-preview-route b{color:#bcb19a;font-size:12px}
.npc-preview-route small{color:#6f7973;font-size:10px;white-space:normal}
.npc-preview-warning,.npc-preview-ready{
  display:flex;
  align-items:flex-start;
  gap:5px;
  margin:0!important;
  font-size:10px!important;
  line-height:1.35!important;
}
.npc-preview-warning{color:#bd826e!important}
.npc-preview-ready{color:#75a990!important}
.npc-preview-warning>.ui-icon,.npc-preview-ready>.ui-icon{flex:0 0 auto;width:14px;height:14px}
.npc-dispatch-button{justify-self:end;min-width:220px}

.npc-trade-step>header>em{align-self:center;color:#7b857e;font-size:9px;font-style:normal;white-space:nowrap}
.npc-partner-scan-status{min-height:34px;padding:5px 7px;border:1px solid rgba(104,122,112,.16);background:rgba(0,0,0,.09)}
.npc-partner-scan-status>.ui-icon{flex:0 0 auto;width:18px;height:18px;color:#a27c44}
.npc-partner-scan-status>span{display:grid;gap:1px;min-width:0}
.npc-partner-scan-status b{color:#aeb0a7;font-size:9px}
.npc-partner-scan-status small{color:#737d77;font-size:8px}
.npc-partner-scan-status>progress{width:min(180px,28%);margin-left:auto}
.npc-partner-scan-status.error>.ui-icon{color:#b97860}
.npc-selected-poi>div>strong.npc-pressure-active{border-color:rgba(190,145,70,.32)}
.npc-selected-poi>div>strong.npc-pressure-strained{border-color:rgba(180,91,64,.42);color:#c58a73}
.npc-rate-option.preferred{border-color:rgba(177,145,75,.42)}
.npc-rate-preference{
  position:absolute;
  top:5px;
  left:6px;
  z-index:1;
  display:flex!important;
  align-items:center;
  gap:4px!important;
  max-width:calc(100% - 30px);
  color:#8e958e!important;
  font-size:7px!important;
  font-style:normal!important;
  font-weight:700;
  letter-spacing:.06em;
  line-height:1!important;
  text-transform:uppercase;
  white-space:nowrap;
}
.npc-rate-preference>.ui-icon{width:12px;height:12px;color:#9b7c49}
.npc-rate-preference.preferred{color:#d2ad68!important}
.npc-rate-preference.wanted{color:#b6a079!important}
.npc-rate-option.preferred .npc-rate-preference>.ui-icon{color:#dfb461}

@media(max-width:1100px){
  .npc-poi-list{grid-template-columns:1fr}
  .npc-amount-workbench{grid-template-columns:minmax(170px,.45fr) auto}
  .npc-trade-preview{grid-column:1/-1}
}
@media(max-width:860px){
  .npc-mode-grid{grid-template-columns:1fr}
  .npc-resource-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .npc-selected-poi{grid-template-columns:68px minmax(0,1fr)}
  .npc-selected-poi>.npc-selected-poi-art{width:66px!important;height:66px!important}
  .npc-selected-poi>div{grid-column:1/-1}
  .npc-rate-options{grid-template-columns:1fr}
  .npc-rate-multipliers>div{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:660px){
  .npc-trade-step>header{display:grid;gap:6px}
  .npc-mode-option{grid-template-columns:52px minmax(0,1fr)}
  .npc-mode-option-art{width:52px;height:60px}
  .npc-mode-option-art>.asset-art{width:47px!important;height:47px!important}
  .npc-mode-option-ledger{grid-column:1/-1}
  .npc-poi-toolbar{grid-template-columns:1fr}
  .npc-poi-toolbar>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .npc-poi-card{grid-template-columns:54px minmax(0,1fr)}
  .npc-poi-card>.npc-poi-card-art{width:52px!important;height:52px!important}
  .npc-poi-card-metrics{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}
  .npc-selected-poi{grid-template-columns:58px minmax(0,1fr)}
  .npc-selected-poi>.npc-selected-poi-art{width:56px!important;height:56px!important}
  .npc-selected-poi>div{grid-template-columns:repeat(2,minmax(0,1fr))}
  .npc-rate-multipliers>div{grid-template-columns:1fr}
  .npc-amount-workbench{grid-template-columns:1fr}
  .npc-amount-shortcuts{padding-top:0;grid-template-columns:1fr}
  .npc-preview-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .npc-dispatch-button{width:100%;min-width:0}
}
@media(max-width:420px){
  .npc-resource-filter-grid{grid-template-columns:1fr}
  .npc-preview-result{grid-template-columns:1fr}
  .npc-preview-result>.ui-icon{transform:rotate(90deg);justify-self:center}
  .npc-preview-result>span:last-child{text-align:left}
  .npc-preview-result>span:last-child b{justify-content:flex-start}
  .npc-preview-facts{grid-template-columns:1fr}
}

/* Hero roster: compact preselection with one stable, full-width commander workspace. */
.hero-roster-categories{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));
  gap:9px;
  margin:2px 0 12px;
}
.hero-roster-option{
  --category:var(--rarity,#969b99);
  grid-template-columns:58px minmax(0,1fr) 36px;
  gap:9px;
  min-width:0;
  min-height:78px;
  padding:9px;
  border-color:color-mix(in srgb,var(--rarity) 34%,var(--line));
  background:linear-gradient(140deg,color-mix(in srgb,var(--rarity) 9%,#142022),#0b1214);
}
.hero-roster-option:hover,.hero-roster-option.active{
  border-color:color-mix(in srgb,var(--rarity) 76%,#d2bb85);
  background:linear-gradient(140deg,color-mix(in srgb,var(--rarity) 18%,#142022),#0b1214);
}
.hero-roster-option.active{
  box-shadow:inset 3px 0 var(--rarity),inset 0 0 24px color-mix(in srgb,var(--rarity) 10%,transparent),0 7px 18px rgba(0,0,0,.2);
}
.hero-roster-option.fallen{filter:saturate(.48)}
.hero-roster-art{
  width:58px!important;
  height:58px!important;
  min-width:58px;
  border:1px solid color-mix(in srgb,var(--rarity) 62%,var(--line));
  background-color:rgba(1,7,8,.62)!important;
  background-size:contain!important;
  background-position:center!important;
  box-shadow:0 5px 12px rgba(0,0,0,.35);
}
.hero-roster-option>span:nth-child(2){display:grid;gap:3px;min-width:0}
.hero-roster-option>span:nth-child(2)>b{
  display:-webkit-box;
  overflow:hidden;
  color:#d8cfbd;
  font-size:15px;
  line-height:1.15;
  overflow-wrap:normal;
  word-break:normal;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.hero-roster-option>span:nth-child(2)>small{
  overflow:hidden;
  color:var(--rarity);
  font-size:10px;
  line-height:1.2;
  letter-spacing:.04em;
  text-overflow:ellipsis;
  text-transform:none;
  white-space:nowrap;
}
.hero-roster-option>strong{display:grid;align-content:center;justify-items:center;gap:1px;min-width:0}
.hero-roster-option>strong>small{color:#737d77;font-size:8px;letter-spacing:.05em}
.hero-roster-option>strong>b{color:var(--rarity);font:600 18px/1 Georgia,serif}
.hero-selected-workspace{min-width:0;margin-bottom:8px}
.hero-selected-grid{grid-template-columns:minmax(0,1fr)!important;min-width:0}
.hero-selected-grid>.hero-card{width:100%;min-width:0;min-height:0;padding:21px}
.hero-selected-grid .hero-head>span:nth-child(2){min-width:0}
.hero-selected-grid .hero-head h2,.hero-selected-grid .hero-head p{word-break:normal;overflow-wrap:break-word}
.hero-selected-grid .hero-modifiers,.hero-selected-grid .hero-footer{min-width:0}

@media(max-width:760px){
  .hero-roster-categories{
    display:flex;
    gap:8px;
    margin-right:-2px;
    padding:1px 2px 7px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x proximity;
    scrollbar-width:thin;
  }
  .hero-roster-option{flex:0 0 min(230px,78vw);scroll-snap-align:start}
  .hero-selected-grid>.hero-card{padding:15px}
}
@media(max-width:480px){
  .hero-roster-option{flex-basis:min(216px,82vw);grid-template-columns:52px minmax(0,1fr) 32px;min-height:70px;padding:8px}
  .hero-roster-art{width:52px!important;height:52px!important;min-width:52px}
  .hero-roster-option>span:nth-child(2)>b{font-size:14px}
  .hero-selected-grid .hero-head{grid-template-columns:68px minmax(0,1fr) auto}
  .hero-selected-grid .hero-portrait-art{width:68px;height:68px;flex-basis:68px}
  .hero-selected-grid .hero-head h2{font-size:20px}
  .hero-selected-grid .hero-vitals{align-items:flex-start;flex-direction:column;gap:4px}
  .hero-selected-grid .skill-list{grid-template-columns:1fr}
  .hero-selected-grid .hero-equipped-slots{grid-template-columns:1fr}
}

/* Fresh reports remain highlighted until their detail view is actually opened. */
.report-row.unread{position:relative;border-color:rgba(205,157,76,.38);background:linear-gradient(90deg,rgba(205,157,76,.085),rgba(255,255,255,.012) 38%)}
.report-unread-indicator{position:absolute;z-index:2;top:7px;left:7px;width:8px;height:8px;border:1px solid rgba(248,211,132,.85);border-radius:50%;background:#d5a654;box-shadow:0 0 8px rgba(213,166,84,.72);pointer-events:none}
.report-row.unread .report-open h3{color:#e0c98f}

.hero-dismiss-confirm{display:grid;grid-template-columns:112px minmax(0,1fr);gap:18px;align-items:center;padding:16px;border:1px solid rgba(154,63,52,.52);background:linear-gradient(135deg,rgba(90,31,28,.22),rgba(11,16,17,.9))}
.hero-dismiss-art{width:112px;height:112px}
.hero-dismiss-confirm h3{margin:4px 0 8px;font:600 24px/1.1 Georgia,serif;color:#e4d5b7}
.hero-dismiss-confirm p{margin:0;color:#bbb4a2;line-height:1.55}
@media(max-width:520px){.hero-dismiss-confirm{grid-template-columns:76px minmax(0,1fr);gap:12px;padding:12px}.hero-dismiss-art{width:76px;height:76px}.hero-dismiss-confirm h3{font-size:19px}}

/* Dynasty authority is readable where it originates: ruler, marriage and house. */
.regent-dossier-ledger{grid-template-columns:repeat(3,minmax(0,1fr))}
.regent-dossier-ledger>.combined-house-effects{background:linear-gradient(145deg,rgba(151,108,43,.08),rgba(0,0,0,.08))}
.marriage-modifier-panel{display:grid;gap:7px;padding:10px;border:1px solid rgba(176,132,65,.24);background:linear-gradient(135deg,rgba(102,71,29,.09),rgba(5,11,12,.28))}
.marriage-modifier-panel .dynasty-modifier-ledger{grid-template-columns:repeat(2,minmax(0,1fr))}

/* Mobile map controls occupy their own rails, leaving the viewport and each
   other unobstructed. Inspectors and map-origin dialogs use one stable scroll
   surface so their footer cannot be clipped or painted as an empty half-card. */
@media(max-width:760px){
  body:has(.world-map-view) .main-content{height:calc(100dvh - var(--topbar) - 68px);padding:6px 6px 8px}
  .world-map-view{position:relative;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:4px;height:100%;min-height:0}
  .world-map-view>.map-style-switch,.world-map-view>.map-filter-switch{position:relative!important;inset:auto!important;z-index:2;width:100%;min-width:0;min-height:0;margin:0!important;backdrop-filter:none}
  .world-map-view>.map-style-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:3px;border:1px solid rgba(202,174,119,.14);background:rgba(7,13,14,.94)}
  .world-map-view>.map-style-switch button{justify-content:center;min-width:0;min-height:32px;padding:5px 4px}
  .world-map-view>.map-filter-switch{display:flex;gap:3px;padding:3px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none}
  .world-map-view>.map-filter-switch::-webkit-scrollbar{display:none}
  .world-map-view>.map-layout{grid-row:3;height:100%!important;min-height:0!important;padding-top:0!important}
  .world-map-view .map-panel-toggles{z-index:32;top:6px}
  .world-map-view .map-shell:not(.navigation-hidden) .map-navigation{top:50px}

  .map-inspector{position:fixed!important;z-index:1900!important;top:auto!important;right:6px!important;bottom:calc(74px + env(safe-area-inset-bottom))!important;left:6px!important;width:auto!important;height:auto!important;max-height:min(72dvh,calc(100dvh - var(--topbar) - 86px))!important;overflow:hidden!important;overscroll-behavior:contain;backdrop-filter:none!important;transition:none!important;isolation:isolate}
  .map-inspector-frame{display:flex!important;flex-direction:column;height:auto!important;max-height:inherit!important;min-height:0;overflow:hidden}
  .map-inspector-content{flex:0 1 auto;min-height:0;max-height:calc(72dvh - 48px);padding:10px 11px 8px;overflow-x:hidden;overflow-y:auto;overflow-anchor:none;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .map-inspector>.map-inspector-scroll{box-sizing:border-box;height:auto!important;max-height:min(72dvh,calc(100dvh - var(--topbar) - 86px))!important;padding:18px 14px 20px!important;overflow-x:hidden;overflow-y:auto!important;overflow-anchor:none;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .map-inspector-footer.map-inspector-actions{position:relative;z-index:3;flex:0 0 auto;overflow-x:auto;overscroll-behavior-inline:contain;background:rgba(12,19,20,.98);-webkit-overflow-scrolling:touch}

  .modal.map-command-modal{width:calc(100vw - 8px)!important;max-width:none!important;max-height:calc(100dvh - 8px)!important;margin:4px auto;transition:none!important}
  .modal.map-command-modal .modal-frame{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:100%;height:calc(100dvh - 8px);max-height:calc(100dvh - 8px)!important;overflow:hidden;contain:layout paint}
  .modal.map-command-modal .modal-body{min-height:0;max-height:none!important;padding:12px;overflow-x:hidden;overflow-y:auto!important;overflow-anchor:none;overscroll-behavior:contain;scrollbar-gutter:auto;-webkit-overflow-scrolling:touch}
  .modal.map-command-modal .modal-frame>footer{position:relative;z-index:5;flex:0 0 auto;padding:9px 10px max(9px,env(safe-area-inset-bottom));background:#111a1c}
}
@media(max-width:820px){
  .regent-dossier-ledger{grid-template-columns:1fr}
  .regent-dossier-ledger>div+div{border-top:1px solid var(--line);border-left:0}
}
@media(max-width:430px){
  .world-map-view>.map-style-switch button span{display:none}
  .world-map-view>.map-style-switch button .ui-icon{width:18px;height:18px}
  .map-inspector{max-height:min(76dvh,calc(100dvh - var(--topbar) - 82px))!important}
  .map-inspector-content{max-height:calc(76dvh - 46px)}
  .marriage-modifier-panel .dynasty-modifier-ledger{grid-template-columns:1fr}
}

/* v6.2.5: compact modifier trigger and a roomier, icon-led city ledger. */
.city-modifier-summary{display:inline-flex;align-items:center;flex-wrap:nowrap;gap:8px;width:max-content;max-width:100%;min-height:34px;padding:6px 11px;color:#b8955d}
.city-modifier-summary>.ui-icon{display:inline-block!important;flex:0 0 20px;width:20px;height:20px;padding:0;border:0;background-color:transparent;background-image:var(--ui-icon-image)!important;background-position:center!important;background-repeat:no-repeat!important;background-size:contain!important}
.city-modifier-summary>span:not(.ui-icon){display:inline;flex:none;min-height:0;padding:0;border:0;background:none;color:#b9b4a7;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.city-modifier-modal{width:min(1040px,calc(100vw - 24px))}
.city-modifier-modal .modifier-ledger-row{grid-template-columns:minmax(210px,260px) minmax(0,1fr)}
.city-modifier-modal .modifier-source>span>.ui-icon{object-fit:contain;background-position:center;background-size:contain}
@media(max-width:760px){
  .city-modifier-summary{width:max-content}
  .city-modifier-summary>span:not(.ui-icon){display:inline;flex:none;width:auto;justify-content:initial}
  .city-modifier-modal .modifier-ledger-row{grid-template-columns:1fr}
}

/* v6.2.6: stable mobile command surfaces, illustrated lore cards and a
   concise mythic muster. Native dialog owns the viewport; only its body
   scrolls, preventing nested compositor layers from flickering on phones. */
.cosmetic-category-toolbar>.previous .ui-icon{transform:rotate(90deg)!important}
.cosmetic-category-toolbar>.icon-button:not(.previous) .ui-icon{transform:rotate(-90deg)!important}

.spell-card-art-frame,.tech-art-frame{position:relative;display:block;overflow:hidden;border:1px solid color-mix(in srgb,var(--category,var(--bronze)) 46%,rgba(255,255,255,.05));background:#090f10;box-shadow:inset 0 0 16px rgba(0,0,0,.5)}
.spell-card-art-frame{width:46px;height:46px;border-color:rgba(161,119,184,.42)}
.tech-art-frame{width:54px;height:54px}
.spell-card-art,.research-card-art{display:block!important;width:100%!important;height:100%!important;background-position:center!important;background-size:cover!important;filter:none!important;transform:none!important}
.spell-card.hostile-spell .spell-card-art-frame{border-color:rgba(190,90,95,.5);box-shadow:inset 0 0 16px rgba(57,12,22,.55)}
.tech-card-head{grid-template-columns:54px minmax(0,1fr) auto}

.pantheon-mythic-muster>.section-heading>span{min-width:0;color:#dfd0e6;font:500 16px Georgia,serif;text-transform:none;letter-spacing:.02em}
.pantheon-mythic-muster>.section-heading>em{color:#b88ccc;font-size:9px;letter-spacing:.08em;text-transform:uppercase}
.pantheon-mythic-profile{align-content:center;gap:10px}
.pantheon-mythic-profile>p{margin:0;line-height:1.55;-webkit-line-clamp:4}
.pantheon-mythic-profile>.unit-stats{margin-top:2px}
.npc-poi-card.trade-locked{opacity:.58;border-color:rgba(155,62,58,.38);background:linear-gradient(110deg,rgba(73,26,27,.16),rgba(5,10,11,.96));cursor:not-allowed}
.npc-poi-card.trade-locked .npc-poi-card-metrics>strong:last-child{color:#d27269}

@media(max-width:760px){
  .world-map-view .map-inspector{z-index:2000!important;max-height:calc(100% - 78px)!important}
  .map-inspector-frame,.map-inspector-content,.map-inspector>.map-inspector-scroll{contain:none!important;transform:none!important;will-change:auto!important}

  dialog.modal.map-command-modal{position:fixed!important;inset:max(4px,env(safe-area-inset-top)) 4px max(4px,env(safe-area-inset-bottom)) 4px!important;box-sizing:border-box;width:auto!important;height:auto!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;overflow:hidden!important;transform:none!important;transition:none!important;animation:none!important}
  .modal.map-command-modal .modal-frame{box-sizing:border-box;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;grid-template-rows:max-content minmax(0,1fr) max-content;overflow:hidden!important;contain:none!important;transform:none!important;will-change:auto!important}
  .modal.map-command-modal .modal-frame>header{min-height:58px;padding:11px 50px 9px 13px}
  .modal.map-command-modal .modal-frame>header h2{font-size:clamp(20px,6vw,27px);line-height:1.08}
  .modal.map-command-modal .modal-body{box-sizing:border-box;width:100%;height:auto!important;min-height:0!important;max-height:none!important;padding:10px!important;overflow-x:hidden!important;overflow-y:auto!important;contain:none!important;transform:none!important;will-change:auto!important;scrollbar-gutter:auto!important;-webkit-overflow-scrolling:touch}
  .modal.map-command-modal .modal-frame>footer{display:flex;flex-wrap:wrap;gap:7px;min-height:0;padding:8px 9px max(8px,env(safe-area-inset-bottom));overflow:visible!important}
  .modal.map-command-modal .modal-frame>footer>.btn{flex:1 1 132px;min-width:0;min-height:40px;padding:7px 9px}

  .spell-card-head{grid-template-columns:44px minmax(0,1fr)!important}
  .spell-card-art-frame{width:42px;height:42px}
  .tech-card-head{grid-template-columns:48px minmax(0,1fr)!important}
  .tech-art-frame{width:46px;height:46px}
  .pantheon-mythic-muster>.section-heading{align-items:flex-start;gap:8px}
  .pantheon-mythic-muster>.section-heading>span{font-size:14px;line-height:1.25}
  .pantheon-mythic-muster>.section-heading>em{max-width:42%;line-height:1.3;text-align:right}
  .pantheon-mythic-body{grid-template-columns:84px minmax(0,1fr)!important}
  .pantheon-mythic-portrait,.pantheon-mythic-portrait>.god-mythic-unit-art{width:84px!important;height:84px!important}
  .pantheon-mythic-profile>p{-webkit-line-clamp:3}
  .pantheon-mythic-command{grid-column:1/-1;grid-template-columns:minmax(72px,.32fr) minmax(0,1fr)!important;border-top:1px solid rgba(181,132,202,.18);border-left:0}
  .pantheon-mythic-command>.btn{grid-column:1/-1}
}

/* v6.2.7: mobile viewport authority. The account actions stay reachable in
   the drawer, inspectors never grow behind the realm header, and long map
   commands use one paint layer whose height follows the visual viewport. */
.mobile-account-bar{display:none}
.pantheon-mythic-body{column-gap:20px!important}
.pantheon-mythic-profile>.unit-stats{gap:5px!important}
.pantheon-mythic-profile>.unit-stats>span{min-height:30px!important;padding:4px 6px!important;gap:5px!important}
.pantheon-mythic-profile>.unit-stats .unit-stat-icon{flex:0 0 21px!important;width:21px!important;height:21px!important;min-width:21px!important;min-height:21px!important;max-width:21px!important;max-height:21px!important}
.pantheon-mythic-profile>.unit-stats b{font-size:11px!important}

@media(max-width:760px){
  .mobile-account-bar{
    position:sticky;z-index:4;top:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;
    margin:-2px -2px 10px;padding:8px;border-bottom:1px solid rgba(194,145,76,.25);
    background:linear-gradient(180deg,rgba(20,31,33,.99),rgba(12,20,21,.97));box-shadow:0 7px 14px rgba(0,0,0,.25)
  }
  .mobile-account-bar>button{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:38px;padding:6px 8px;border:1px solid rgba(190,148,81,.24);background:rgba(255,255,255,.025);color:#c8bdab;font-size:10px;font-weight:700;letter-spacing:.035em;text-transform:uppercase}
  .mobile-account-bar>button:last-child{border-color:rgba(164,72,65,.35);color:#d3a19a;background:rgba(91,30,29,.13)}
  .mobile-account-bar .ui-icon{flex:0 0 19px;width:19px;height:19px}

  .world-map-view .map-inspector{
    top:auto!important;right:6px!important;bottom:calc(74px + env(safe-area-inset-bottom))!important;left:6px!important;
    width:auto!important;height:min(68dvh,calc(100dvh - var(--topbar) - 82px))!important;
    max-height:calc(100dvh - var(--topbar) - 82px)!important;z-index:2000!important
  }
  .world-map-view .map-inspector-frame{height:100%!important;max-height:100%!important;min-height:0!important}
  .world-map-view .map-inspector-content{flex:1 1 auto!important;height:auto!important;max-height:none!important;padding-top:48px!important;-webkit-overflow-scrolling:auto!important}
  .world-map-view .map-inspector>.map-inspector-scroll{height:100%!important;max-height:100%!important;padding-top:52px!important;-webkit-overflow-scrolling:auto!important}
  .world-map-view .map-inspector-close{position:absolute!important;z-index:12!important;top:8px!important;right:8px!important}
  .world-map-view .map-inspector-footer.map-inspector-actions{min-height:52px;scrollbar-width:none;-webkit-overflow-scrolling:auto!important}
  .world-map-view .map-inspector-footer.map-inspector-actions::-webkit-scrollbar{display:none}

  dialog.modal.map-command-modal{
    --mobile-dialog-top:max(4px,env(safe-area-inset-top));
    --mobile-dialog-bottom:max(4px,env(safe-area-inset-bottom));
    inset:var(--mobile-dialog-top) 4px auto 4px!important;
    width:auto!important;height:calc(var(--mobile-modal-height,100svh) - var(--mobile-dialog-top) - var(--mobile-dialog-bottom))!important;
    min-height:0!important;max-height:none!important;overscroll-behavior:none
  }
  .modal.map-command-modal .modal-frame{height:100%!important;max-height:100%!important;clip-path:none!important;border-radius:0!important;contain:none!important;backface-visibility:visible!important;-webkit-backface-visibility:visible!important}
  .modal.map-command-modal .modal-body{height:auto!important;min-height:0!important;max-height:none!important;touch-action:pan-y;-webkit-overflow-scrolling:auto!important}
  .modal.map-command-modal :is(.panel,.content-card,.army-card,.army-input,.dispatch-force-zone,.hero-army-picker,.hero-army-grid,.site-command-summary,.movement-plan){content-visibility:visible!important;contain:none!important;transform:none!important;backface-visibility:visible!important;-webkit-backface-visibility:visible!important;will-change:auto!important}

  .pantheon-mythic-body{column-gap:14px!important;row-gap:10px!important}
  .pantheon-mythic-body>.pantheon-mythic-portrait{grid-column:1!important}
  .pantheon-mythic-body>.pantheon-mythic-profile{grid-column:2!important;padding-left:2px}
  .pantheon-mythic-body>.pantheon-mythic-command{grid-column:1/-1!important}
  .pantheon-mythic-profile>.unit-stats{gap:4px!important}
  .pantheon-mythic-profile>.unit-stats>span{min-height:27px!important;padding:3px 5px!important;gap:4px!important}
  .pantheon-mythic-profile>.unit-stats .unit-stat-icon{flex:0 0 19px!important;width:19px!important;height:19px!important;min-width:19px!important;min-height:19px!important;max-width:19px!important;max-height:19px!important}
  .pantheon-mythic-profile>.unit-stats b{font-size:10px!important}
}

@media(max-width:760px) and (max-height:520px){
  .world-map-view{display:block!important;height:100%;overflow:hidden}
  .world-map-view>.map-layout{position:absolute!important;z-index:1;inset:0!important;width:100%!important;height:100%!important}
  .world-map-view>.map-style-switch,.world-map-view>.map-filter-switch{position:absolute!important;z-index:34;width:auto!important;right:44px!important;left:44px!important}
  .world-map-view>.map-style-switch{top:4px!important;grid-template-columns:repeat(3,minmax(0,1fr))}
  .world-map-view>.map-filter-switch{top:45px!important}
  .world-map-view .map-panel-toggles{top:4px!important}
  .world-map-view .map-shell:not(.navigation-hidden) .map-navigation{top:88px}
  .world-map-view .map-inspector{height:calc(100dvh - var(--topbar) - 82px)!important}
}

/* v6.3 release: Ember Path rewards remain contained at every phone width.
   The reward ledger owns the available row instead of forcing the quest card
   wider than the viewport when several illustrated resources are present. */
@media(max-width:430px){
  .quest-card,.quest-card>.quest-copy,.quest-card .quest-rewards,.quest-card .reward-row,.quest-card .value-chip{min-width:0;max-width:100%}
  .quest-card .quest-rewards{display:grid;grid-template-columns:1fr;align-items:start;gap:4px}
  .quest-card .quest-rewards>small{white-space:normal}
  .quest-card .quest-rewards .reward-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(82px,1fr));width:100%;gap:4px}
  .quest-card .quest-rewards .value-chip{box-sizing:border-box;width:100%;grid-template-columns:26px minmax(0,1fr);padding:3px 5px}
  .quest-card .quest-rewards .value-chip>.resource-glyph,.quest-card .quest-rewards .value-chip>.value-glyph{width:26px;height:26px}
}
@media(max-width:320px){
  .quest-card{grid-template-columns:minmax(0,1fr)}
  .quest-card>.quest-icon{display:none}
  .quest-card>.quest-copy{padding-right:24px}
  .quest-card .quest-rewards .reward-row{grid-template-columns:minmax(0,1fr)}
}

/* v6.4 Premium: ceremonial presentation and compact command surfaces only.
   No layout rule changes authoritative game values. */
.premium-nav-item{position:relative;color:#e2c87c!important;background:linear-gradient(90deg,rgba(110,68,20,.12),transparent)!important}
.nav-item[hidden]{display:none!important}
.premium-nav-item::after{content:"";position:absolute;right:8px;width:5px;height:5px;border-radius:50%;background:#e9c86b;box-shadow:0 0 10px #e9c86b}
.premium-view,.premium-cities-view{display:grid;gap:14px}
.premium-hero{display:grid;grid-template-columns:clamp(180px,25vw,300px) minmax(0,1fr);gap:24px;padding:20px;overflow:hidden;background:radial-gradient(circle at 14% 30%,rgba(212,165,70,.18),transparent 34%),linear-gradient(135deg,rgba(37,29,25,.98),rgba(10,22,24,.98))}
.premium-sovereign-art{width:100%;aspect-ratio:1;object-fit:cover;border:1px solid rgba(235,199,107,.65);clip-path:polygon(8% 0,92% 0,100% 8%,100% 92%,92% 100%,8% 100%,0 92%,0 8%);box-shadow:0 0 30px rgba(225,179,72,.22)}
.premium-hero>div{align-self:center}.premium-hero>div>small,.premium-product>small{color:#d8ae55;letter-spacing:.16em}.premium-hero h2{font-size:clamp(28px,4vw,48px);margin:4px 0}.premium-hero p{max-width:720px;color:#b9b4a8;line-height:1.55}
.premium-status{display:flex;align-items:center;gap:12px;margin-top:18px;padding:12px;border:1px solid rgba(184,142,69,.25);background:rgba(0,0,0,.2)}.premium-status.active{border-color:rgba(231,195,95,.55);box-shadow:inset 0 0 20px rgba(221,176,67,.08)}.premium-status>.ui-icon{width:34px;height:34px}.premium-status span{display:grid}.premium-status small,.premium-status em{color:#958d7e}.premium-status b{color:#e6d6ad}
.premium-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.premium-feature-grid article{display:flex;gap:10px;align-items:center;min-height:74px;padding:12px;border:1px solid rgba(183,143,74,.2);background:rgba(12,24,25,.9)}.premium-feature-grid .ui-icon{flex:0 0 30px;width:30px;height:30px}.premium-feature-grid span{display:grid;min-width:0}.premium-feature-grid small{color:#8f958e;line-height:1.35}
.premium-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.premium-product{display:grid;grid-template-rows:auto auto auto 1fr auto;gap:8px;padding:18px}.premium-product.featured{border-color:#c99f50;background:radial-gradient(circle at 80% 0,rgba(221,176,67,.13),transparent 40%),rgba(14,27,28,.96)}.premium-product h3{margin:0;font-size:22px}.premium-product>strong{font:700 28px var(--font-display);color:#ead49a}.premium-product p{color:#9da39b}.premium-gem-packs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.premium-gem-packs button{display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;text-align:left}.premium-gem-packs .resource-glyph{grid-row:1/3}.premium-gem-packs small{color:#a99d86}
.premium-orders>div{display:grid}.premium-orders article{display:flex;justify-content:space-between;align-items:center;padding:9px 14px;border-top:1px solid rgba(255,255,255,.05)}.premium-orders article span{display:grid}.premium-orders small{color:#818b86}.premium-orders em{color:#c0aa7c}.premium-orders .status-paid{color:#75c39b}.premium-orders .status-refunded,.premium-orders .status-failed{color:#c7736d}.premium-provider-note{display:flex;gap:7px;align-items:center;justify-content:center;color:#858c86;font-size:11px}
.premium-city-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px}.premium-city-card{display:grid;gap:10px;padding:12px}.premium-city-card.under-attack{border-color:#a85049;box-shadow:inset 0 0 22px rgba(135,44,38,.12)}.premium-city-card>header,.premium-city-card>header>span{display:flex;align-items:center;justify-content:space-between;gap:9px}.premium-city-card>header>span>span{display:grid}.premium-city-card h3{margin:0}.premium-city-card>header strong{display:grid;justify-items:center;color:#d07267}.premium-city-resources{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.premium-city-resources>span{display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;min-width:0;padding:5px;border:1px solid rgba(255,255,255,.06);background:rgba(0,0,0,.16)}.premium-city-resources .resource-glyph{grid-row:1/3;width:27px;height:27px}.premium-city-resources b,.premium-city-resources small{overflow:hidden;text-overflow:ellipsis}.premium-city-resources small{color:#777f7b}.premium-city-queues{display:grid;grid-template-columns:1fr 1fr;gap:6px}.premium-city-queues>span{display:grid;grid-template-columns:25px minmax(0,1fr);padding:8px;border:1px solid rgba(176,138,73,.14)}.premium-city-queues .ui-icon{grid-row:1/3}.premium-city-queues small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#888f8a}.premium-locked{display:grid;justify-items:center;text-align:center;gap:10px;padding:42px}.premium-locked>.ui-icon{width:60px;height:60px}.premium-gem-balance{display:flex;align-items:center;gap:5px}
.premium-npc-search{display:grid;grid-template-columns:minmax(220px,1fr) minmax(150px,220px) auto;align-items:end;gap:10px;padding:12px;border:1px solid rgba(220,177,75,.32);background:linear-gradient(90deg,rgba(100,67,22,.14),rgba(6,18,19,.7))}.premium-npc-search>span{display:flex;align-items:center;gap:9px}.premium-npc-search>span>span{display:grid}.premium-npc-search small{color:#92988f}.premium-npc-search label{display:grid;gap:4px}.premium-npc-search label>span{font-size:10px;text-transform:uppercase;color:#a99161}
.premium-ranking-entry{position:relative;border-color:rgba(226,187,85,.55)!important;background:linear-gradient(100deg,rgba(96,61,15,.18),rgba(14,30,31,.95))!important;box-shadow:inset 3px 0 #d1a64e,0 0 14px rgba(200,151,51,.12)!important}.premium-ranking-entry::after{content:"✦";position:absolute;right:8px;top:5px;color:#d6ad54;font-size:11px}
.ruler-profile.premium-ruler-profile .ruler-profile-banner{border-color:#d1aa54;background:radial-gradient(circle at 85% 0,rgba(223,176,66,.2),transparent 45%),linear-gradient(135deg,#332519,#102224)}
@media(max-width:900px){.premium-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.premium-products{grid-template-columns:1fr 1fr}.premium-product.gems{grid-column:1/-1}.premium-npc-search{grid-template-columns:1fr 1fr}.premium-npc-search>span{grid-column:1/-1}}
@media(max-width:600px){.premium-hero{grid-template-columns:1fr}.premium-sovereign-art{max-width:260px;margin:auto}.premium-feature-grid,.premium-products{grid-template-columns:1fr}.premium-product.gems{grid-column:auto}.premium-city-grid{grid-template-columns:minmax(0,1fr)}.premium-city-resources{grid-template-columns:repeat(3,minmax(0,1fr))}.premium-city-queues,.premium-npc-search{grid-template-columns:1fr}.premium-npc-search>span{grid-column:auto}}

/* v6.4.1 Premium command ledger: compact sortable authority view. */
.premium-cosmetic-link{margin-top:12px}.premium-support-note{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border:1px solid rgba(201,159,80,.3);background:linear-gradient(90deg,rgba(113,70,18,.14),rgba(9,23,24,.86),rgba(113,70,18,.14));color:#cbbf9f;text-align:center}.premium-support-note .ui-icon{flex:0 0 30px;width:30px;height:30px}.premium-support-note p{margin:0;max-width:820px;line-height:1.45}
.premium-city-table-panel{min-width:0;padding:0;overflow:hidden}.premium-city-table-wrap{width:100%;overflow:auto;scrollbar-width:thin}.premium-city-table{width:100%;min-width:1040px;border-collapse:collapse;table-layout:auto}.premium-city-table th,.premium-city-table td{padding:10px;border-bottom:1px solid rgba(183,143,74,.14);vertical-align:middle}.premium-city-table thead th{position:sticky;top:0;z-index:2;padding:0;background:#101d1e;text-align:left}.premium-city-table tbody tr{background:rgba(6,14,15,.38);transition:background .15s ease}.premium-city-table tbody tr:hover{background:rgba(190,145,64,.07)}.premium-city-table tbody tr.under-attack{background:linear-gradient(90deg,rgba(123,40,35,.15),rgba(6,14,15,.45))}.premium-sort{display:flex;width:100%;min-height:42px;align-items:center;justify-content:space-between;gap:6px;padding:8px 10px;border:0;background:transparent;color:#9f998b;font:600 10px var(--font-ui);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.premium-sort .ui-icon{width:16px;height:16px;opacity:.35;transform:rotate(90deg)}.premium-sort.active{color:#e1c477;background:rgba(202,157,76,.07)}.premium-sort.active.asc .ui-icon{opacity:1;transform:rotate(-90deg)}.premium-sort.active.desc .ui-icon{opacity:1;transform:rotate(90deg)}
.premium-table-city{display:grid;grid-template-columns:34px minmax(145px,1fr);align-items:center;gap:9px;text-align:left}.premium-table-city>.ui-icon{width:34px;height:34px}.premium-table-city>span,.premium-table-queue>span{display:grid;min-width:0}.premium-table-city b{color:#d9ceb5;font:700 16px var(--font-display);white-space:nowrap}.premium-table-city small,.premium-table-queue small{color:#7f8983;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.premium-table-resources{display:grid;grid-template-columns:repeat(3,minmax(76px,1fr));gap:4px;min-width:250px}.premium-table-resources>span{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:4px;padding:4px 5px;border:1px solid rgba(255,255,255,.055);background:rgba(0,0,0,.16)}.premium-table-resources .resource-glyph{width:24px;height:24px}.premium-table-resources b{font-size:11px;color:#c6c3b7;overflow:hidden;text-overflow:ellipsis}.premium-table-queue{display:grid;grid-template-columns:25px minmax(105px,1fr);gap:7px;align-items:center}.premium-table-queue>.ui-icon{width:25px;height:25px}.premium-table-queue b{color:#c7bdab;font-size:11px}.premium-table-action-cell{display:grid;grid-template-columns:minmax(130px,1fr) 32px;align-items:center;gap:6px}.premium-table-action-cell>small{grid-column:1/-1;color:#807d73;text-align:right}.premium-quick-build{width:32px;height:32px;border-color:rgba(206,162,73,.45);background:rgba(113,73,19,.2)}.premium-city-threat{display:grid;grid-template-columns:26px minmax(45px,1fr);align-items:center;gap:5px;color:#79a68e}.premium-city-threat .ui-icon{grid-row:1/3;width:26px;height:26px}.premium-city-threat small{color:#9d7772}.premium-city-threat.active{color:#d47d72}.premium-table-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px}.premium-table-actions .icon-button{width:34px;height:34px}.premium-table-actions .btn{white-space:nowrap}
.premium-building-modal{width:min(980px,calc(100vw - 24px))}.premium-building-ledger{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.premium-building-option{display:grid;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:8px;border:1px solid rgba(176,138,73,.18);background:rgba(5,13,14,.58)}.premium-building-option.available{border-color:rgba(94,169,130,.32);background:linear-gradient(100deg,rgba(36,98,72,.1),rgba(5,13,14,.65))}.premium-building-option.blocked{opacity:.77}.premium-building-art{width:76px;height:64px;object-fit:contain}.premium-building-option>span{display:grid;min-width:0}.premium-building-option h3{margin:0;color:#d4c8af;font-size:15px}.premium-building-option>span>small{color:#aa8b53;text-transform:uppercase;letter-spacing:.08em}.premium-building-option em{color:#8b918c;font-style:normal}.premium-building-option .cost-row{margin-top:5px;max-width:100%;flex-wrap:wrap}.premium-building-option p{margin:3px 0 0;color:#8f9690;font-size:10px}.premium-building-option>.btn{align-self:center;white-space:nowrap}
.premium-ruler-mark{display:inline-grid;place-items:center;width:21px;height:21px;border:1px solid rgba(227,189,85,.5);background:radial-gradient(circle,#634b21,#161c1b 70%);clip-path:polygon(50% 0,88% 14%,100% 50%,88% 86%,50% 100%,12% 86%,0 50%,12% 14%)}.premium-ruler-mark .ui-icon{width:14px;height:14px}.ranking-ruler-line{display:flex;align-items:center;gap:6px;min-width:0}.premium-ranking-entry{overflow:hidden}.premium-ranking-entry::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(112deg,transparent 15%,rgba(236,196,87,.08) 45%,transparent 70%);transform:translateX(-60%);animation:premium-regalia-glint 7s ease-in-out infinite}.premium-ranking-entry .ranking-avatar,.premium-ranking-entry .ranking-row-avatar{border-color:#d0a755!important;box-shadow:0 0 0 2px rgba(90,57,15,.5),0 0 18px rgba(209,166,78,.18)}.premium-profile-seal{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border:1px solid rgba(226,188,87,.5);background:linear-gradient(90deg,rgba(96,61,15,.35),rgba(21,37,37,.75));color:#e2c77d;font:700 10px var(--font-ui);letter-spacing:.05em;text-transform:uppercase}.premium-profile-seal .ui-icon{width:18px;height:18px}.ruler-profile.premium-ruler-profile{position:relative;padding:6px;border:1px solid rgba(213,171,75,.32);background:radial-gradient(circle at 90% 0,rgba(215,169,67,.1),transparent 38%),linear-gradient(155deg,rgba(40,28,20,.52),rgba(6,17,18,.6))}.ruler-profile.premium-ruler-profile::before,.ruler-profile.premium-ruler-profile::after{content:"✦";position:absolute;z-index:2;color:#d4ac56;text-shadow:0 0 12px rgba(227,186,83,.6)}.ruler-profile.premium-ruler-profile::before{top:10px;left:11px}.ruler-profile.premium-ruler-profile::after{top:10px;right:11px}.ruler-profile.premium-ruler-profile .profile-avatar-art{border-color:#d5ad58;box-shadow:0 0 0 3px rgba(82,52,17,.55),0 0 22px rgba(222,180,74,.18)}.ruler-profile.premium-ruler-profile .profile-score{gap:4px}
@keyframes premium-regalia-glint{0%,55%{transform:translateX(-70%)}75%,100%{transform:translateX(90%)}}
@media(max-width:760px){.premium-city-table{min-width:900px}.premium-building-ledger{grid-template-columns:minmax(0,1fr)}.premium-building-option{grid-template-columns:64px minmax(0,1fr)}.premium-building-art{width:64px;height:58px}.premium-building-option>.btn{grid-column:1/-1;width:100%}.premium-profile-seal{font-size:10px}}
.premium-gem-confirm{display:grid;gap:18px;width:min(520px,100%);max-width:100%}
.premium-gem-confirm>div:first-child{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid rgba(195,151,72,.28);background:rgba(8,15,17,.56)}
.premium-gem-confirm>div:first-child>.ui-icon{width:54px;height:54px;flex:0 0 54px}
.premium-gem-confirm h3,.premium-gem-confirm p{margin:3px 0}
.premium-gem-confirm-cost{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.premium-gem-confirm-cost>span{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid rgba(195,151,72,.24);background:rgba(4,10,12,.46)}
.premium-gem-confirm-cost b{display:inline-flex;align-items:center;gap:6px;font-size:1.05rem}
.premium-gem-confirm-cost .resource-icon{width:24px;height:24px}
@media(max-width:560px){.premium-gem-confirm-cost{grid-template-columns:1fr}}

/* v6.4.2 Premium command and exchange polish. */
.premium-products{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(300px,1.08fr);align-items:stretch}
.premium-product{position:relative;overflow:hidden;grid-template-rows:auto auto 1fr auto auto;gap:12px;padding:20px;border-color:rgba(199,157,75,.28);background:linear-gradient(145deg,rgba(20,34,35,.97),rgba(7,17,19,.98))}
.premium-product::after{content:"";position:absolute;right:-34px;bottom:-48px;width:130px;height:130px;border:1px solid rgba(208,166,75,.1);transform:rotate(45deg);pointer-events:none}
.premium-product>header{display:flex;align-items:center;gap:12px;min-width:0}.premium-product>header>span:not(.premium-product-emblem){display:grid;min-width:0}.premium-product>header h3{font-size:21px}.premium-product>header em{margin-left:auto;padding:5px 8px;border:1px solid rgba(225,185,84,.42);background:rgba(120,79,20,.25);color:#e1bf70;font-size:10px;font-style:normal;text-transform:uppercase;white-space:nowrap}
.premium-product-emblem{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border:1px solid rgba(219,176,75,.42);background:radial-gradient(circle,rgba(133,87,24,.4),rgba(7,18,19,.8) 72%);clip-path:polygon(50% 0,90% 16%,100% 50%,90% 84%,50% 100%,10% 84%,0 50%,10% 16%)}.premium-product-emblem>.ui-icon,.premium-product-emblem>.resource-glyph{width:29px;height:29px}.premium-product-emblem.gem{border-color:rgba(153,91,195,.58);background:radial-gradient(circle,rgba(94,38,132,.45),rgba(7,18,19,.86) 72%)}
.premium-product-price{display:flex;align-items:center;gap:7px;color:#ead49a}.premium-product-price>.resource-glyph{width:32px;height:32px}.premium-product-price>b{font:700 30px var(--font-display)}.premium-product-price>small{color:#948a76;text-transform:uppercase}
.premium-product ul{display:grid;gap:5px;margin:0;padding:0;list-style:none;color:#a8aaa0}.premium-product li{display:flex;align-items:center;gap:6px}.premium-product li>.ui-icon{width:18px;height:18px}
.premium-gem-vault{grid-template-rows:auto auto 1fr}.premium-gem-vault>p{margin:0}.premium-gem-packs{align-content:start;gap:8px}.premium-gem-packs button{position:relative;min-height:58px;padding:8px 10px;border-color:rgba(139,78,178,.25);background:linear-gradient(110deg,rgba(66,29,90,.2),rgba(9,22,24,.8))}.premium-gem-packs button:hover{border-color:rgba(195,119,228,.55)}
.premium-orders{padding:0;overflow:hidden}.premium-orders>.section-heading{margin:0;padding:12px 14px;border-bottom:1px solid rgba(199,157,75,.2);background:linear-gradient(90deg,rgba(105,68,21,.14),transparent)}.premium-orders>.section-heading>span,.premium-orders>.section-heading>span>span{display:flex;align-items:center;gap:8px}.premium-orders>.section-heading>span>span{display:grid;gap:1px}.premium-orders>.section-heading small{font-size:10px}.premium-order-list{display:grid}.premium-orders .premium-order{display:grid;grid-template-columns:42px minmax(180px,1fr) minmax(135px,.55fr) auto;gap:12px;align-items:center;min-height:70px;padding:10px 14px;border-top:0;border-bottom:1px solid rgba(255,255,255,.055)}.premium-order:last-child{border-bottom:0}.premium-order-mark{display:grid!important;place-items:center;width:40px;height:40px;border:1px solid rgba(205,161,73,.3);background:rgba(84,55,20,.16)}.premium-order-mark>.ui-icon,.premium-order-mark>.resource-glyph{width:26px;height:26px}.premium-order-copy,.premium-order-payment{display:grid!important;min-width:0}.premium-order-copy>b{color:#d8cdb4}.premium-order-copy>em,.premium-order-payment>small{color:#7f8983;font-size:10px;font-style:normal}.premium-order-payment{justify-items:end}.premium-order-payment>b{color:#aaa28f;font-size:11px}.premium-order-payment small{display:flex;align-items:center;gap:4px}.premium-order-payment .resource-glyph{width:18px;height:18px}.premium-order>.status-paid{display:flex;align-items:center;gap:4px;padding:5px 8px;border:1px solid rgba(80,166,121,.3);background:rgba(31,104,70,.14);font-style:normal;white-space:nowrap}.premium-order>.status-paid>.ui-icon{width:16px;height:16px}
.premium-city-table{min-width:1180px}.premium-city-table thead th,.premium-sort,.premium-table-static-heading{font-size:10px}.premium-sort{min-height:36px;padding:6px 8px;letter-spacing:.055em}.premium-table-static-heading{display:flex;min-height:36px;align-items:center;padding:6px 8px;color:#9f998b;font-weight:600;letter-spacing:.055em;text-transform:uppercase}.premium-table-points{min-width:80px}.premium-table-points>b,.premium-table-points>small{display:block}.premium-table-points>b{color:#d9c47e;font:700 15px var(--font-display)}.premium-table-points>small{color:#7f8983;font-size:10px}.premium-queue-add{width:32px;height:32px;border-color:rgba(206,162,73,.45);background:rgba(113,73,19,.2)}
.premium-city-table thead th,.premium-city-table thead th *,.premium-sort,.premium-table-static-heading{white-space:nowrap;word-break:normal;overflow-wrap:normal}
.premium-overview-command{display:grid;gap:9px}.premium-overview-stats{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr)) 42px;gap:7px}.premium-overview-stats>span{display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;column-gap:8px;min-height:58px;padding:8px 10px;border:1px solid rgba(190,148,72,.2);background:linear-gradient(110deg,rgba(103,68,23,.12),rgba(5,14,15,.68))}.premium-overview-stats>span>.ui-icon{grid-row:1/3;width:32px;height:32px}.premium-overview-stats small{color:#888f87;font-size:10px;text-transform:uppercase;white-space:nowrap}.premium-overview-stats b{color:#ddcfaf;font:700 18px var(--font-display)}.premium-overview-stats>span.danger{border-color:rgba(192,77,69,.35);background:linear-gradient(110deg,rgba(109,38,34,.18),rgba(5,14,15,.68))}.premium-overview-stats>.icon-button{width:42px;height:100%}.premium-overview-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.premium-overview-tabs button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:58px;padding:8px 12px;border:1px solid rgba(181,140,69,.2);background:rgba(5,14,15,.68);color:#8e958d;cursor:pointer}.premium-overview-tabs button:hover,.premium-overview-tabs button.active{border-color:rgba(210,164,75,.55);background:linear-gradient(120deg,rgba(108,72,23,.26),rgba(7,18,19,.8));color:#e1ca8c}.premium-overview-tabs .ui-icon{width:29px;height:29px}.premium-overview-tabs span{display:grid;text-align:left}.premium-overview-tabs b{font:700 14px var(--font-display);white-space:nowrap}.premium-overview-tabs small{color:#8e8c80;font-size:10px}
.premium-army-table{min-width:1080px}.premium-city-link{width:100%;border:0;background:transparent;color:inherit;cursor:pointer}.premium-force-total{display:inline-flex;min-width:52px;justify-content:center;padding:6px 8px;border:1px solid rgba(192,150,75,.22);background:rgba(84,56,20,.13);color:#d4c394;font:700 15px var(--font-display)}.premium-force-total.fleet{border-color:rgba(75,138,155,.3);color:#8fc1cb}.premium-force-total.away{border-color:rgba(130,113,169,.3);color:#b8a9d0}.premium-unit-ledger{display:flex;flex-wrap:wrap;gap:5px;min-width:280px}.premium-unit-ledger>span{position:relative;display:grid;grid-template-columns:34px auto;grid-template-rows:18px 14px;align-items:center;min-width:68px;padding:3px 6px;border:1px solid rgba(255,255,255,.07);background:rgba(0,0,0,.18)}.premium-unit-art{grid-row:1/3;width:32px;height:32px;object-fit:contain;background-size:contain!important}.premium-unit-ledger b{color:#d2c9b5;font-size:11px}.premium-unit-ledger small{color:#938aa5;font-size:10px;white-space:nowrap}.premium-support-ledger{display:grid;gap:4px;min-width:185px}.premium-support-ledger>span{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:6px}.premium-support-ledger>.ui-icon,.premium-support-ledger>span>.ui-icon{width:23px;height:23px}.premium-support-ledger>span>span{display:grid}.premium-support-ledger b,.premium-support-ledger small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.premium-support-ledger b{font-size:11px;color:#a9c7b7}.premium-support-ledger small,.premium-empty-ledger{color:#777f7a;font-size:10px}
.premium-movement-grid{display:grid;gap:10px}.premium-movement-panel{padding:0;overflow:hidden}.premium-movement-panel>.section-heading{margin:0;padding:10px 12px;border-bottom:1px solid rgba(185,143,70,.18)}.premium-movement-panel>.section-heading>span{display:flex;align-items:center;gap:7px}.premium-movement-table{min-width:780px}.premium-movement-command,.premium-route-name{display:flex;align-items:center;gap:7px;min-width:150px}.premium-movement-command>.ui-icon{width:28px;height:28px}.premium-movement-command>span,.premium-route-name{display:grid}.premium-movement-command b,.premium-route-name b{color:#cec4af;white-space:nowrap}.premium-movement-command small,.premium-route-name small{color:#7f8983;font-size:10px}.premium-force-composition,.premium-hidden-force{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.premium-force-composition>.ui-icon,.premium-hidden-force>.ui-icon{width:24px;height:24px}.premium-hidden-force{color:#817b88}.premium-movement-table time{color:#d1bc7f;white-space:nowrap}
@media(max-width:760px){.premium-overview-stats{grid-template-columns:repeat(3,minmax(105px,1fr)) 40px;overflow-x:auto}.premium-overview-tabs{grid-template-columns:1fr}.premium-overview-tabs button{justify-content:flex-start}.premium-overview-tabs span{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}.premium-overview-stats>span{min-width:112px}.premium-overview-stats small{font-size:10px}.premium-army-table{min-width:980px}}
.game-confirmation-modal{width:min(610px,calc(100vw - 22px))}.game-confirmation{display:grid;grid-template-columns:66px minmax(0,1fr);align-items:center;gap:15px;padding:18px;border:1px solid rgba(188,85,73,.36);background:radial-gradient(circle at 0 50%,rgba(133,50,42,.2),transparent 48%),linear-gradient(120deg,rgba(24,31,30,.96),rgba(7,16,17,.98));box-shadow:inset 0 0 0 1px rgba(235,194,103,.05)}.game-confirmation.caution{border-color:rgba(196,154,72,.4);background:radial-gradient(circle at 0 50%,rgba(124,85,25,.2),transparent 48%),linear-gradient(120deg,rgba(24,31,30,.96),rgba(7,16,17,.98))}.game-confirmation>.ui-icon{width:62px;height:62px;padding:10px;border:1px solid rgba(204,152,77,.28);background:rgba(4,11,12,.6)}.game-confirmation>div{display:grid;gap:4px}.game-confirmation small{color:#b89056;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.game-confirmation h3{margin:0;color:#e2d2b4;font:700 23px var(--font-display)}.game-confirmation p{margin:4px 0 0;color:#a9aca4;line-height:1.55}.game-confirmation-modal .modal-footer{gap:8px}.game-confirmation-modal .modal-footer .btn{min-width:132px}@media(max-width:520px){.game-confirmation{grid-template-columns:48px minmax(0,1fr);padding:13px;gap:10px}.game-confirmation>.ui-icon{width:46px;height:46px;padding:7px}.game-confirmation h3{font-size:19px}.game-confirmation-modal .modal-footer .btn{min-width:0;flex:1}}
.quest-mini header{align-items:center;gap:6px}.quest-mini header>span:first-child{display:grid;min-width:0;margin-right:auto}.quest-mini header>span:first-child>small{display:flex;align-items:center;gap:3px;color:#727b76;font-size:10px;text-transform:uppercase}.quest-mini header>span:first-child>small>.ui-icon{width:13px;height:13px}.quest-mini.pinned header>span:first-child>small{color:#bd9651}.quest-mini header>.icon-button{flex:0 0 22px;width:22px;height:22px;padding:3px}.quest-mini header>.icon-button>.ui-icon{width:14px;height:14px}
.premium-building-modal{width:min(1080px,calc(100vw - 24px))}.premium-building-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px;padding:10px 12px;border:1px solid rgba(190,148,72,.22);background:linear-gradient(90deg,rgba(102,67,22,.14),rgba(5,14,15,.7))}.premium-building-summary>span{display:flex;align-items:center;gap:9px}.premium-building-summary>span>.ui-icon{width:32px;height:32px}.premium-building-summary>span>span{display:grid}.premium-building-summary small{color:#938b79}.premium-building-resources{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.premium-building-resources>span{display:flex;align-items:center;gap:3px;padding:3px 6px;border:1px solid rgba(255,255,255,.06);background:rgba(0,0,0,.18)}.premium-building-resources .resource-glyph{width:22px;height:22px}.premium-building-ledger{gap:9px}.premium-building-option{grid-template-columns:92px minmax(0,1fr) auto;min-height:126px;padding:10px;gap:12px}.premium-building-visual{display:grid;place-items:center;width:92px;height:96px;overflow:hidden;border:1px solid rgba(184,142,68,.2);background:radial-gradient(circle at 50% 60%,rgba(122,87,37,.13),rgba(3,9,10,.35) 70%)}.premium-building-art{position:relative!important;inset:auto!important;display:block!important;width:88px!important;height:92px!important;background-repeat:no-repeat!important;background-position:center!important;background-size:contain!important;transform:none!important;filter:none!important}.premium-building-copy{align-content:center}.premium-building-option .cost-row{gap:4px}.premium-building-option>.btn{min-width:94px}
.premium-recruit-context{display:flex;align-items:center;gap:9px;margin:0 0 10px;padding:9px 12px;border:1px solid rgba(193,151,74,.24);background:rgba(90,58,18,.12)}.premium-recruit-context>.ui-icon{width:28px;height:28px}.premium-recruit-context>span{display:grid}.premium-recruit-context small{color:#998e79}.premium-recruit-modal .recruit-controls{top:-18px}
.npc-resource-choice{display:grid;gap:10px}.npc-resource-choice-label{display:block;margin:0 0 5px;color:#aa946a;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.premium-npc-search{grid-template-columns:minmax(190px,.85fr) minmax(0,1.5fr) auto;align-items:center;padding:10px}.premium-npc-search-heading{display:flex;align-items:center;gap:9px}.premium-npc-search-heading>.ui-icon{flex:0 0 30px;width:30px;height:30px}.premium-npc-search-heading>span{display:grid}.premium-npc-give-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.premium-npc-give{position:relative;display:grid;grid-template-columns:30px minmax(0,1fr) 18px;align-items:center;gap:6px;min-width:0;min-height:48px;padding:5px 7px;border:1px solid rgba(177,137,70,.18);background:rgba(2,10,11,.5);color:#a9a293;text-align:left;cursor:pointer}.premium-npc-give:hover{border-color:rgba(198,155,77,.45)}.premium-npc-give.active{border-color:#bd9148;background:linear-gradient(100deg,rgba(111,73,20,.28),rgba(5,15,16,.7));color:#e2cf9f}.premium-npc-give>.resource-glyph{width:30px;height:30px}.premium-npc-give>span{display:grid;min-width:0}.premium-npc-give b,.premium-npc-give small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.premium-npc-give small{color:#7f8983}.premium-npc-give>.ui-icon{width:18px;height:18px}.premium-npc-find{min-height:46px;white-space:nowrap}
@media(max-width:980px){.premium-products{grid-template-columns:1fr 1fr}.premium-gem-vault{grid-column:1/-1}.premium-npc-search{grid-template-columns:1fr}.premium-order-payment{justify-items:start}.premium-orders .premium-order{grid-template-columns:42px minmax(0,1fr) auto}.premium-order-payment{grid-column:2}.premium-order>.status-paid{grid-column:3;grid-row:1/3}.premium-building-option{grid-template-columns:80px minmax(0,1fr)}.premium-building-visual{width:80px;height:86px}.premium-building-art{width:76px!important;height:82px!important}.premium-building-option>.btn{grid-column:1/-1;width:100%}}
@media(max-width:620px){.premium-products{grid-template-columns:1fr}.premium-gem-vault{grid-column:auto}.premium-gem-packs{grid-template-columns:1fr 1fr}.premium-orders .premium-order{grid-template-columns:38px minmax(0,1fr)}.premium-order>.status-paid{grid-column:2;grid-row:auto;justify-self:start}.premium-building-summary{align-items:flex-start;flex-direction:column}.premium-building-resources{justify-content:flex-start}.premium-npc-give-picker{grid-template-columns:1fr}.premium-npc-search{padding:9px}.premium-building-option{grid-template-columns:70px minmax(0,1fr)}.premium-building-visual{width:70px;height:78px}.premium-building-art{width:68px!important;height:74px!important}}

/* v6.5 siege logistics, neutral shrines, and illustrated inspector facts. */
.inspector-environment-stats,.siege-camp-inspector-stats{grid-template-columns:repeat(auto-fit,minmax(116px,1fr))}
.stat-box.inspector-icon-stat{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;min-height:54px;padding:7px 9px}
.inspector-icon-stat>.inspector-stat-glyph{display:grid;place-items:center;width:34px;height:34px}
.inspector-icon-stat>.inspector-stat-glyph>.ui-icon,.inspector-icon-stat>.inspector-stat-glyph>.resource-glyph{width:32px;height:32px}
.inspector-icon-stat>b{min-width:0;margin:0;font-size:12px;line-height:1.25;overflow-wrap:anywhere}
.inspector-icon-stat>small{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
.siege-host-deployed{display:flex;align-items:center;gap:7px;margin:7px 0;padding:7px 9px;border:1px solid rgba(179,126,66,.24);background:rgba(107,66,22,.13);color:#c5a76e;font-size:10px}.siege-host-deployed>.ui-icon{flex:0 0 22px;width:22px;height:22px}
.siege-supply-source-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:10px}
.siege-supply-source-picker>button{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:9px;min-height:64px;padding:8px 10px;border:1px solid rgba(179,139,72,.18);background:rgba(4,12,13,.58);color:#8d9690;text-align:left;cursor:pointer}
.siege-supply-source-picker>button>.ui-icon{width:34px;height:34px}.siege-supply-source-picker>button>span{display:grid}.siege-supply-source-picker>button small{color:#77807b;font-size:10px}.siege-supply-source-picker>button.active{border-color:#c69a4e;background:linear-gradient(110deg,rgba(113,72,21,.27),rgba(5,15,16,.8));color:#e0c888}.siege-supply-source-picker>button:disabled{opacity:.42;cursor:not-allowed}
.siege-supply-load[hidden]{display:none}.siege-loot-supply input{font-variant-numeric:tabular-nums}
.siege-loot-resource-picker{display:grid;gap:7px;margin:10px 0;padding:10px;border:1px solid rgba(190,145,73,.2);background:rgba(4,12,13,.5)}.siege-loot-resource-picker>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.siege-loot-resource-picker>header>span{display:flex;align-items:center;gap:6px}.siege-loot-resource-picker>header>.ui-icon,.siege-loot-resource-picker>header>span>.ui-icon{width:24px;height:24px}.siege-loot-resource-picker>header small{color:#7f8781;font-size:10px}.siege-loot-resource-picker>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.siege-loot-resource-picker label{margin:0}.siege-loot-resource-picker input{position:absolute;opacity:0;pointer-events:none}.siege-loot-resource-picker label>span{display:grid;grid-template-columns:31px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:0 6px;min-height:46px;padding:5px 7px;border:1px solid rgba(255,255,255,.07);background:rgba(0,0,0,.16);cursor:pointer}.siege-loot-resource-picker .resource-glyph,.siege-loot-resource-picker .value-glyph{grid-row:1/3;width:30px;height:30px}.siege-loot-resource-picker label small{color:#92998f}.siege-loot-resource-picker input:checked+span{border-color:rgba(198,155,77,.62);background:rgba(113,73,20,.22);box-shadow:inset 3px 0 #bd9148}.siege-loot-resource-picker input:not(:checked)+span{opacity:.46}
.siege-collect-loads{position:relative;margin:0}.siege-collect-loads>.caravan-load-controls{margin-top:5px}.siege-collect-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}.siege-collect-preview>span{display:grid;grid-template-columns:26px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:0 6px;padding:7px;border:1px solid rgba(178,139,71,.18);background:rgba(0,0,0,.17)}.siege-collect-preview>.ui-icon{grid-row:1/3;width:25px;height:25px}.siege-collect-preview small{color:#7e8882;font-size:10px}.siege-collect-preview.met b{color:#9fd1b5}.siege-collect-preview.missing b{color:#d47b70}
.god-shrine-ledger article.neutral{border-color:rgba(135,145,139,.24);box-shadow:inset 3px 0 #687772}.god-shrine-ledger article>.btn{white-space:nowrap}.controlled-poi-yield.shrine-yield.neutral{border-color:rgba(128,143,135,.3);background:linear-gradient(100deg,rgba(43,58,54,.23),rgba(7,16,17,.72))}.divine-shrine-inspector.neutral{border-color:rgba(132,147,139,.34)}
.shrine-god-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.shrine-god-choice>button{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:9px;min-height:92px;padding:7px;border:1px solid rgba(190,145,70,.2);background:rgba(5,14,15,.72);color:#a5a79e;text-align:left;cursor:pointer}.shrine-god-choice>button:hover{border-color:#c79a4d;background:rgba(104,67,20,.2)}.shrine-god-choice .god-portrait{width:74px;height:78px;min-height:0}.shrine-god-choice>button>span{display:grid;min-width:0}.shrine-god-choice small,.shrine-god-choice em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shrine-god-choice small{color:#9b7e4b}.shrine-god-choice b{color:#ddcfad;font:700 17px var(--font-display)}.shrine-god-choice em{color:#bc9a54;font-size:10px;font-style:normal}
@media(max-width:620px){.siege-supply-source-picker,.shrine-god-choice,.siege-collect-preview{grid-template-columns:1fr}.siege-loot-resource-picker>header{align-items:flex-start;flex-direction:column}.siege-loot-resource-picker>div{grid-template-columns:repeat(2,minmax(0,1fr))}.inspector-environment-stats,.siege-camp-inspector-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-box.inspector-icon-stat{grid-template-columns:29px minmax(0,1fr);padding:6px}.inspector-icon-stat>.inspector-stat-glyph{width:29px;height:29px}.inspector-icon-stat>.inspector-stat-glyph>.ui-icon,.inspector-icon-stat>.inspector-stat-glyph>.resource-glyph{width:27px;height:27px}}

/* v6.6 alliance communication, quest focus, and forum workspace. */
.quest-mini-open{display:flex;align-items:center;justify-content:space-between;gap:7px;min-width:0;flex:1;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}
.quest-mini-open>span{display:grid;min-width:0;margin-right:auto}.quest-mini-open>span>small{display:flex;align-items:center;gap:3px;color:#727b76;font-size:10px;text-transform:uppercase}.quest-mini-open>span>small>.ui-icon{width:13px;height:13px}.quest-mini-open b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quest-mini-open>strong{color:#bda66f;font-size:10px;white-space:nowrap}.quest-mini-open:hover b{color:#dec889}.quest-mini.pinned .quest-mini-open>span>small{color:#bd9651}
.quest-focus-pulse{animation:quest-focus-pulse 1.1s ease-in-out 2;scroll-margin:100px}@keyframes quest-focus-pulse{0%,100%{box-shadow:inset 0 0 0 1px rgba(197,151,73,.25)}50%{border-color:#d2a44f;box-shadow:0 0 22px rgba(201,145,53,.35),inset 0 0 0 1px rgba(238,196,109,.42)}}
.alliance-chat-panel .chat-form{display:grid;gap:5px}.alliance-chat-panel .chat-form>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.alliance-mention-hint{display:flex;align-items:center;gap:5px;margin:0;color:#7f8983;font-size:10px}.alliance-mention-hint>.ui-icon{width:17px;height:17px}.alliance-mention{padding:1px 3px;border-radius:2px;background:rgba(128,98,50,.22);color:#d4b66f}.alliance-mention.self{background:rgba(158,105,34,.4);color:#ffe19b;box-shadow:0 0 10px rgba(217,158,57,.18)}
.alliance-mention-notice{border-color:rgba(197,151,73,.38)!important;background:linear-gradient(100deg,rgba(113,72,22,.21),rgba(7,16,17,.96))!important}
.alliance-strategy-row{display:grid;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.alliance-strategy-row>.panel{min-width:0;margin:0}.alliance-strategy-row .alliance-operation-grid{grid-template-columns:1fr}.alliance-mention-field{position:relative;display:block;min-width:0}.alliance-mention-field>input,.alliance-mention-field>textarea{width:100%}.alliance-mention-suggestions{position:absolute;top:calc(100% + 4px);right:0;left:0;z-index:80;display:grid;max-height:232px;overflow:auto;border:1px solid rgba(191,145,70,.48);background:linear-gradient(145deg,rgba(24,36,36,.99),rgba(5,12,13,.995));box-shadow:0 14px 34px rgba(0,0,0,.62)}.alliance-mention-suggestions[hidden]{display:none}.alliance-mention-suggestions>button{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;min-height:42px;padding:5px 8px;border:0;border-bottom:1px solid rgba(255,255,255,.055);background:transparent;color:#c8c8bd;text-align:left;cursor:pointer}.alliance-mention-suggestions>button:last-child{border-bottom:0}.alliance-mention-suggestions>button:is(:hover,:focus-visible){outline:0;background:rgba(173,126,53,.16);color:#f2d792}.alliance-mention-suggestions>button>span{display:grid;gap:1px;min-width:0}.alliance-mention-suggestions b{overflow:hidden;color:inherit;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.alliance-mention-suggestions small{color:#78817c;font-size:10px}.alliance-mention-avatar{width:30px;height:30px;border:1px solid rgba(184,139,67,.35)}.alliance-chat-panel .alliance-mention-suggestions{top:auto;bottom:calc(100% + 4px)}.alliance-player-mention{display:inline;padding:1px 3px;border:0;border-radius:2px;font:inherit;line-height:inherit;cursor:pointer}.alliance-player-mention:is(:hover,:focus-visible){outline:1px solid rgba(225,180,101,.48);color:#ffe19b}
.alliance-forum-panel{overflow:hidden}.forum-category-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;padding:7px;border-bottom:1px solid var(--line);background:rgba(0,0,0,.14)}.forum-category-tabs button{display:grid;grid-template-columns:23px minmax(0,1fr) auto;align-items:center;gap:6px;min-height:42px;padding:6px 8px;border:1px solid transparent;background:rgba(5,13,14,.54);color:#7f8882;cursor:pointer;text-align:left}.forum-category-tabs button:hover,.forum-category-tabs button.active{border-color:rgba(196,150,72,.42);background:linear-gradient(110deg,rgba(105,68,20,.25),rgba(5,14,15,.72));color:#d8c592}.forum-category-tabs .ui-icon{width:22px;height:22px}.forum-category-tabs span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.forum-category-tabs b{display:grid;place-items:center;min-width:20px;height:20px;border:1px solid rgba(255,255,255,.08);color:#a7a598;font-size:9px}
.forum-board{gap:6px}.forum-thread-row{position:relative;grid-template-columns:minmax(0,1fr) 34px;border:1px solid rgba(255,255,255,.055);background:linear-gradient(100deg,rgba(13,25,26,.88),rgba(6,14,15,.78))}.forum-thread-row.pinned{border-color:rgba(191,146,69,.3);box-shadow:inset 3px 0 #9b7337}.forum-thread-open{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-width:0;min-height:68px;padding:8px 10px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.forum-thread-open:hover{background:rgba(189,145,69,.07)}.forum-thread-glyph{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(181,139,69,.22);background:#081113}.forum-thread-glyph>.ui-icon{width:28px;height:28px}.forum-thread-copy{display:grid;min-width:0}.forum-thread-copy small{color:#9c8050;font-size:9px;text-transform:uppercase}.forum-thread-copy h3{display:flex;align-items:center;gap:4px;margin:2px 0;color:#d4cebc;font:600 15px var(--font-display);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forum-thread-copy h3>.ui-icon{flex:0 0 14px;width:14px;height:14px}.forum-thread-copy p{margin:0;color:#737d78;font-size:10px}.forum-thread-activity{display:grid;justify-items:end;min-width:80px}.forum-thread-activity b{color:#c9b277;font:700 16px var(--font-display)}.forum-thread-activity small,.forum-thread-activity time{color:#737c77;font-size:9px}.forum-moderate{align-self:center;justify-self:center}
.alliance-forum-modal{width:min(860px,calc(100vw - 22px))}.forum-thread-view{display:grid;gap:12px}.forum-thread-meta{justify-content:flex-start;flex-wrap:wrap;padding:9px 11px}.forum-thread-meta>span{display:flex;align-items:center;gap:5px;padding-right:10px;border-right:1px solid var(--line)}.forum-thread-meta .danger-text{margin-left:auto}.forum-post-list{display:grid;gap:8px}.forum-post{border:1px solid rgba(255,255,255,.07);background:linear-gradient(120deg,rgba(19,31,32,.92),rgba(6,14,15,.92))}.forum-post header{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.055)}.forum-post-number{color:#8e7348;font:700 10px Consolas,monospace}.forum-post header h3{margin:0;color:#d7c9aa;font-size:12px}.forum-post header small{color:#737d78}.forum-post .message-body{min-height:44px;margin:0;padding:11px 12px;color:#b7b9af;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.forum-reply-form,.forum-compose-form{display:grid;gap:9px}.forum-reply-form textarea,.forum-compose-form textarea{min-height:110px}
@media(max-width:700px){.forum-category-tabs{grid-template-columns:repeat(5,minmax(42px,1fr));overflow-x:auto}.forum-category-tabs button{grid-template-columns:1fr;justify-items:center;padding:5px}.forum-category-tabs button span{font-size:9px}.forum-category-tabs button b{display:none}.forum-thread-open{grid-template-columns:36px minmax(0,1fr);min-height:62px}.forum-thread-glyph{width:34px;height:34px}.forum-thread-glyph>.ui-icon{width:24px;height:24px}.forum-thread-activity{grid-column:2;display:flex;align-items:center;justify-content:flex-start;gap:4px}.forum-thread-activity b{font-size:11px}.forum-thread-activity time:before{content:'·';margin-right:4px}.alliance-chat-panel .chat-form>div{grid-template-columns:1fr}.alliance-forum-modal{width:calc(100vw - 10px)}.alliance-strategy-row{grid-template-columns:1fr}}

/* Checkbox controls stay visually represented by their illustrated labels;
   global form-input sizing must never widen the siege collection dialog. */
.siege-loot-resource-picker input[type="checkbox"]{position:absolute!important;width:1px!important;height:1px!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;opacity:0;pointer-events:none}
.siege-collect-preview>span{min-width:0}
.siege-collect-preview>span>.ui-icon{grid-row:1/3;width:25px;height:25px}
.siege-collect-preview>span>small,.siege-collect-preview>span>b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* v7.1 map clarity, movement council, and compact realm ledgers. */
.map-legend{
  right:14px;
  bottom:14px;
  display:grid;
  grid-template-columns:repeat(3,max-content);
  justify-content:end;
  gap:6px 11px;
  max-width:min(430px,calc(100% - 28px));
  font-size:8px;
}
.map-legend span{min-width:0;white-space:nowrap}
.map-legend span::before{flex:0 0 9px;width:9px;height:9px;border-radius:2px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.map-legend .ocean::before{background:hsl(202 54% 13%)}
.map-legend .river::before{background:hsl(191 52% 22%)}
.map-legend .riverbank::before{background:hsl(83 31% 29%)}
.map-legend .coast::before{background:hsl(48 30% 34%)}
.map-legend .plains::before{background:hsl(91 16% 27%)}
.map-legend .vale::before{background:hsl(103 23% 29%)}
.map-legend .forest::before{background:hsl(147 25% 22%)}
.map-legend .marsh::before{background:hsl(170 25% 21%)}
.map-legend .desert::before{background:hsl(38 43% 36%)}
.map-legend .badlands::before{background:hsl(19 28% 29%)}
.map-legend .highlands::before{background:hsl(48 14% 30%)}
.map-legend .mountain::before{background:hsl(210 12% 24%);clip-path:none}
.map-legend .snow::before{background:hsl(193 19% 68%)}

.hero-army-grid{grid-auto-rows:max-content;align-content:start;max-height:390px}
.hero-army-choice{grid-template-columns:62px minmax(0,1fr) 22px;align-items:start;height:max-content;min-height:142px;padding:8px}
.hero-army-choice>input{position:absolute!important;width:1px!important;height:1px!important;margin:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important}
.hero-army-portrait,.hero-army-portrait>.hero-army-art{width:62px!important;height:78px!important;min-width:62px!important;min-height:78px!important}
.hero-army-choice-copy{gap:4px}
.hero-army-modifiers,.hero-army-equipment{display:flex;align-items:center;flex-wrap:wrap;gap:4px;min-width:0}
.hero-army-modifiers>em{display:inline-flex;align-items:center;gap:2px;padding:2px 4px;border:1px solid rgba(91,142,118,.24);background:rgba(49,98,75,.1);color:#93c5a9;font-size:8px;font-style:normal;white-space:nowrap}
.hero-army-modifiers .ui-icon{width:13px;height:13px}
.hero-army-equipment>span{display:grid;place-items:center;width:29px;height:29px;border:1px solid color-mix(in srgb,var(--rarity,#777) 42%,var(--line));background:radial-gradient(circle,var(--rarity-glow,rgba(255,255,255,.04)),transparent 72%)}
.hero-army-equipment-art{width:27px!important;height:27px!important;background-size:contain!important}
.hero-army-equipment.empty{width:29px;height:29px;color:#59625d;opacity:.7}
.hero-army-equipment.empty>.ui-icon{width:20px;height:20px}

.movement-relic-picker{align-items:start}
.movement-relic-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:6px;max-height:230px;overflow:auto;min-width:0;padding-right:2px;scrollbar-width:thin}
.movement-relic-option{--rarity:#969b99;--rarity-glow:rgba(150,155,153,.18);position:relative;display:grid;grid-template-columns:46px minmax(0,1fr) 18px;align-items:center;gap:7px;min-width:0;min-height:58px;padding:6px;border:1px solid color-mix(in srgb,var(--rarity) 34%,var(--line));background:radial-gradient(circle at 8% 50%,var(--rarity-glow),transparent 38%),rgba(4,11,12,.68);cursor:pointer}
.movement-relic-option:hover,.movement-relic-option:has(input:checked){border-color:color-mix(in srgb,var(--rarity) 70%,#c99752);background:radial-gradient(circle at 8% 50%,var(--rarity-glow),transparent 45%),rgba(105,70,27,.13)}
.movement-relic-option>input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.movement-relic-option>span:nth-of-type(2){display:grid;min-width:0;gap:1px}
.movement-relic-option small{color:var(--rarity);font-size:8px;text-transform:uppercase}
.movement-relic-option b,.movement-relic-option em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.movement-relic-option b{color:#d8c8aa;font-size:10px}
.movement-relic-option em{color:#8f9992;font-size:9px;font-style:normal}
.movement-relic-option>i{color:transparent}
.movement-relic-option:has(input:checked)>i{color:var(--rarity)}
.movement-relic-option>i>.ui-icon{width:17px;height:17px}
.movement-relic-art,.movement-relic-none-art{display:grid!important;place-items:center;width:44px!important;height:44px!important;background-color:transparent!important;background-size:contain!important}
.movement-relic-none-art>.ui-icon{width:22px;height:22px;color:#68716c}
:is(.movement-relic-option,.hero-army-equipment>span).rarity-unusual{--rarity:#62b477;--rarity-glow:rgba(98,180,119,.25)}
:is(.movement-relic-option,.hero-army-equipment>span).rarity-rare{--rarity:#579fdf;--rarity-glow:rgba(87,159,223,.28)}
:is(.movement-relic-option,.hero-army-equipment>span).rarity-epic{--rarity:#a66ee0;--rarity-glow:rgba(166,110,224,.3)}
:is(.movement-relic-option,.hero-army-equipment>span).rarity-legendary{--rarity:#e0b34d;--rarity-glow:rgba(224,179,77,.33)}
:is(.movement-relic-option,.hero-army-equipment>span).rarity-mythical{--rarity:#a8343d;--rarity-glow:rgba(168,52,61,.36)}

.report-select-all{display:inline-flex!important;flex-flow:row nowrap!important;align-items:center!important;justify-content:flex-start!important}
.report-select-all>span{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.premium-army-table th,.premium-force-total,.premium-unit-ledger>span,.premium-unit-ledger b,.premium-unit-ledger small{white-space:nowrap}

@media(max-width:760px){
  .hero-army-choice{grid-template-columns:56px minmax(0,1fr) 20px;min-height:142px}
  .hero-army-portrait,.hero-army-portrait>.hero-army-art{width:56px!important;height:72px!important;min-width:56px!important;min-height:72px!important}
  .movement-relic-options{grid-template-columns:1fr}
}

/* v7.1.1 command council and holding-management polish. */
.map-legend{z-index:12;display:block;right:14px;bottom:14px;width:max-content;max-width:min(430px,calc(100% - 28px));padding:5px;border:1px solid rgba(202,174,119,.17);background:rgba(7,13,14,.9);font-size:8px;backdrop-filter:blur(7px)}
.map-legend-toggle{display:grid;grid-template-columns:17px minmax(0,1fr) 14px;align-items:center;gap:6px;width:100%;min-height:28px;padding:4px 6px;border:0;background:transparent;color:#aa9774;font:700 9px var(--font-body);letter-spacing:.055em;text-align:left;text-transform:uppercase;cursor:pointer}
.map-legend-toggle>.ui-icon{width:17px;height:17px}.map-legend-toggle>.ui-icon:last-child{width:13px;height:13px;color:#727b76}
.map-legend-items{display:grid;grid-template-columns:repeat(5,max-content);justify-content:end;gap:5px 9px;padding:5px 6px 4px;border-top:1px solid rgba(202,174,119,.1)}
.map-legend-items[hidden]{display:none!important}.map-legend-items>span{display:flex;align-items:center;gap:5px;min-width:0;white-space:nowrap}.map-legend-items>span::before{content:""}

.hero-army-grid{grid-auto-rows:136px;align-content:start;max-height:420px}
.hero-army-choice{--rarity:#969b99;--rarity-glow:rgba(150,155,153,.16);grid-template-columns:60px minmax(0,1fr) 20px;align-items:start;box-sizing:border-box;width:100%;height:136px;min-height:136px;max-height:136px;padding:8px;overflow:hidden;border-color:color-mix(in srgb,var(--rarity) 42%,rgba(113,124,118,.24));background:linear-gradient(100deg,color-mix(in srgb,var(--rarity) 8%,transparent),rgba(0,0,0,.16));box-shadow:inset 3px 0 color-mix(in srgb,var(--rarity) 68%,transparent)}
.hero-army-choice:hover,.hero-army-choice.selected,.hero-army-choice:has(input:checked){border-color:color-mix(in srgb,var(--rarity) 78%,#c7924f);background:radial-gradient(circle at 8% 45%,var(--rarity-glow),transparent 40%),rgba(199,146,79,.07)}
.hero-army-portrait,.hero-army-portrait>.hero-army-art{width:60px!important;height:76px!important;min-width:60px!important;min-height:76px!important}
.hero-army-choice-copy{align-content:start;gap:3px;min-width:0}.hero-army-choice-copy>b{color:color-mix(in srgb,var(--rarity) 32%,#e3d4b5);font-size:12px}.hero-army-choice-copy>small{color:#858d87;font-size:9px}
.hero-army-stats.unit-stats.compact{display:grid;grid-template-columns:repeat(4,minmax(35px,1fr));gap:3px;margin:2px 0 0}
.hero-army-stats.unit-stats.compact>span{display:flex;align-items:center;justify-content:flex-start;gap:3px;box-sizing:border-box;min-width:0;min-height:27px;padding:3px 4px;border:1px solid rgba(128,139,132,.17);background:rgba(1,6,7,.26)}
.hero-army-stats.unit-stats.compact .unit-stat-icon{flex:0 0 17px;width:17px!important;height:17px!important;min-width:17px!important;min-height:17px!important}.hero-army-stats.unit-stats.compact b{overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.hero-army-modifiers,.hero-army-equipment{min-height:22px;gap:3px}.hero-army-modifiers>em{height:22px;box-sizing:border-box;padding:2px 4px}.hero-army-modifiers .unit-stat-icon{flex:0 0 15px;width:15px!important;height:15px!important;min-width:15px!important;min-height:15px!important}
.hero-army-equipment>span{width:22px;height:22px}.hero-army-equipment-art{width:20px!important;height:20px!important}.hero-army-equipment.empty{display:none!important}
.hero-army-choice.rarity-unusual{--rarity:#62b477;--rarity-glow:rgba(98,180,119,.25)}.hero-army-choice.rarity-rare{--rarity:#579fdf;--rarity-glow:rgba(87,159,223,.27)}.hero-army-choice.rarity-epic{--rarity:#a66ee0;--rarity-glow:rgba(166,110,224,.28)}.hero-army-choice.rarity-legendary{--rarity:#e0b34d;--rarity-glow:rgba(224,179,77,.31)}.hero-army-choice.rarity-mythical{--rarity:#a8343d;--rarity-glow:rgba(168,52,61,.34)}

.movement-relic-combobox.rarity-unusual{--rarity:#62b477;--rarity-glow:rgba(98,180,119,.25)}.movement-relic-combobox.rarity-rare{--rarity:#579fdf;--rarity-glow:rgba(87,159,223,.28)}.movement-relic-combobox.rarity-epic{--rarity:#a66ee0;--rarity-glow:rgba(166,110,224,.3)}.movement-relic-combobox.rarity-legendary{--rarity:#e0b34d;--rarity-glow:rgba(224,179,77,.33)}.movement-relic-combobox.rarity-mythical{--rarity:#a8343d;--rarity-glow:rgba(168,52,61,.36)}

#dispatchPlan[data-render-layer="stable-v1"],#dispatchForcePicker{min-width:0;overflow-anchor:none}#dispatchPlan[data-render-layer="stable-v1"]{isolation:isolate}#dispatchPlan[data-render-layer="stable-v1"] [hidden]{display:none!important}
.dispatch-applied-modifiers{display:grid;gap:7px;margin-top:8px}.dispatch-applied-modifiers>header{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:7px;padding:6px 8px;border:1px solid rgba(199,146,79,.16);background:rgba(0,0,0,.15)}.dispatch-applied-modifiers>header>.ui-icon{width:25px;height:25px;color:#bd8d4b}.dispatch-applied-modifiers>header>span{display:grid}.dispatch-applied-modifiers>header small{color:#9f8152;font-size:8px;text-transform:uppercase}.dispatch-applied-modifiers>header b{color:#b9b3a5;font-size:10px}.dispatch-applied-modifiers>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:5px}
.dispatch-modifier-source{--rarity:#969b99;display:grid;grid-template-columns:36px minmax(0,1fr) minmax(92px,auto);align-items:center;gap:7px;min-width:0;min-height:44px;padding:4px 6px;border:1px solid color-mix(in srgb,var(--rarity) 34%,var(--line));background:linear-gradient(100deg,color-mix(in srgb,var(--rarity) 7%,transparent),rgba(0,0,0,.15))}.dispatch-modifier-art{width:34px!important;height:34px!important;background-size:contain!important}.dispatch-modifier-source>span{display:grid;min-width:0}.dispatch-modifier-source>span small{color:#7e8882;font-size:8px}.dispatch-modifier-source>span b{overflow:hidden;color:#d0c3a9;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.dispatch-modifier-source>.spell-modifier-chips{display:flex;justify-content:flex-end;min-width:0;font-style:normal}.dispatch-modifier-source>.spell-modifier-chips>span{padding:3px 5px}.dispatch-modifier-source>.spell-modifier-chips>small{max-width:130px;color:#747e78;font-size:8px;text-align:right}.dispatch-modifier-source.rarity-unusual{--rarity:#62b477}.dispatch-modifier-source.rarity-rare{--rarity:#579fdf}.dispatch-modifier-source.rarity-epic{--rarity:#a66ee0}.dispatch-modifier-source.rarity-legendary{--rarity:#e0b34d}.dispatch-modifier-source.rarity-mythical{--rarity:#a8343d}

.siege-camp-command-modal{width:min(1040px,calc(100vw - 24px))}.poi-management-modal{width:min(920px,calc(100vw - 24px))}.siege-camp-management>.controlled-poi-card,.poi-management-modal .controlled-poi-card{margin:0}.controlled-poi-card.management-card>footer{flex-wrap:wrap}

@media(max-width:900px){.map-legend{display:none!important}}
@media(max-width:760px){
  .world-map-view:has(.map-inspector:not(.empty))>.map-style-switch,.world-map-view:has(.map-inspector:not(.empty))>.map-filter-switch{visibility:hidden!important;pointer-events:none!important}
  .world-map-view:has(.map-inspector:not(.empty))>.map-layout{overflow:visible!important;clip-path:none!important}
  .world-map-view .map-inspector{top:calc(var(--topbar) + 4px)!important;right:6px!important;bottom:calc(74px + env(safe-area-inset-bottom))!important;left:6px!important;width:auto!important;height:auto!important;max-height:none!important}
  .world-map-view .map-inspector-frame,.world-map-view .map-inspector>.map-inspector-scroll{height:100%!important;max-height:100%!important}
  .world-map-view .map-inspector .map-inspector-close{z-index:30!important;top:8px!important;right:8px!important;border-color:rgba(213,177,105,.5)!important;background:rgba(11,20,22,.98)!important;box-shadow:0 5px 15px rgba(0,0,0,.55)}
  .hero-army-grid{grid-auto-rows:134px}.hero-army-choice{grid-template-columns:54px minmax(0,1fr) 19px;height:134px;min-height:134px;max-height:134px;padding:7px}.hero-army-portrait,.hero-army-portrait>.hero-army-art{width:54px!important;height:70px!important;min-width:54px!important;min-height:70px!important}.hero-army-stats.unit-stats.compact{grid-template-columns:repeat(4,minmax(31px,1fr))}.hero-army-stats.unit-stats.compact>span{min-height:25px;padding:2px}.hero-army-stats.unit-stats.compact .unit-stat-icon{flex-basis:15px;width:15px!important;height:15px!important;min-width:15px!important;min-height:15px!important}
  .movement-relic-picker,.movement-relic-combobox{grid-template-columns:1fr}.movement-relic-combobox select{height:42px}.dispatch-applied-modifiers>div{grid-template-columns:1fr}.dispatch-modifier-source{grid-template-columns:34px minmax(0,1fr)}.dispatch-modifier-source>.spell-modifier-chips{grid-column:2;justify-content:flex-start}.siege-camp-command-modal,.poi-management-modal{width:calc(100vw - 8px)!important}
}
/* Release 7.0.5 · calm building art, focused equipment slots and auction facets. */
.asset-art.modular-art.building-art.building-modal-art{
  position:relative!important;
  right:auto!important;
  bottom:auto!important;
  transform:none!important;
  clip-path:none!important;
  border:0!important;
  box-shadow:none!important;
}
.asset-art.modular-art.building-art.demolition-art{clip-path:none!important;border:0!important;box-shadow:none!important}
.hero-equipped-slot{
  appearance:none;
  width:100%;
  color:inherit;
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.hero-equipped-slot:not(:disabled):hover,.hero-equipped-slot:not(:disabled):focus-visible{
  border-color:var(--rarity,var(--bronze));
  box-shadow:inset 2px 0 var(--rarity,var(--bronze)),0 0 14px var(--rarity-glow,rgba(199,146,79,.18));
  outline:0;
}
.hero-equipped-slot:disabled{cursor:not-allowed}
.hero-equipment-manager.focused-slot .hero-equipment-slot-group{margin-top:0}
.auction-filters{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  padding:9px;
  border-bottom:1px solid var(--line);
  background:rgba(0,0,0,.12);
}
.auction-filters>label{display:grid;gap:4px;min-width:0}
.auction-filters>label>span{color:#8b806d;font-size:9px;letter-spacing:.06em;text-transform:uppercase}
.auction-filters select{box-sizing:border-box;width:100%;min-width:0;height:36px;padding:0 28px 0 9px;border:1px solid var(--line);background:#0c1415;color:#c8bea9;font-size:10px}
.auction-filters select:focus{border-color:#bb844a;outline:0;box-shadow:0 0 0 1px rgba(187,132,74,.2)}
@media(max-width:760px){.auction-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.auction-filters{grid-template-columns:1fr}}

/* Release 7.0.6 · stable movement council, compact relics and aligned facets. */
.hero-army-grid{
  grid-auto-rows:auto;
  align-items:stretch;
  align-content:start;
  max-height:none;
  overflow:visible;
  padding-right:0;
}
.hero-army-choice,.hero-army-choice+.hero-army-choice{
  align-self:stretch;
  box-sizing:border-box;
  height:auto;
  min-height:126px;
  max-height:none;
  margin:0;
}
.movement-relic-picker{
  display:block;
  width:min(100%,560px);
  margin:9px 0;
  padding:0;
  border:0;
  background:transparent;
}
.movement-relic-picker>p{margin:5px 0 0}
.movement-relic-combobox{
  --rarity:#969b99;
  --rarity-glow:rgba(150,155,153,.18);
  position:relative;
  display:grid;
  grid-template-columns:46px minmax(0,1fr) 18px;
  align-items:center;
  gap:8px;
  box-sizing:border-box;
  min-width:0;
  min-height:56px;
  margin:0;
  padding:5px 9px;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--rarity) 46%,var(--line));
  background:radial-gradient(circle at 6% 50%,var(--rarity-glow),transparent 37%),rgba(4,11,12,.78);
  box-shadow:inset 3px 0 color-mix(in srgb,var(--rarity) 62%,transparent);
  cursor:pointer;
}
.movement-relic-combobox:focus-within,.movement-relic-combobox:hover{border-color:color-mix(in srgb,var(--rarity) 78%,#c7924f)}
.movement-relic-copy{display:grid;gap:1px;min-width:0}
.movement-relic-copy small{color:var(--rarity);font-size:8px;letter-spacing:.06em;text-transform:uppercase}
.movement-relic-copy b,.movement-relic-copy em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.movement-relic-copy b{color:color-mix(in srgb,var(--rarity) 28%,#e0d0b3);font-size:11px}
.movement-relic-copy em{color:#8d9791;font-size:9px;font-style:normal}
.movement-relic-combobox>.ui-icon{width:17px;height:17px;color:var(--rarity);pointer-events:none}
.movement-relic-combobox .movement-relic-art,.movement-relic-combobox .movement-relic-none-art{width:44px!important;height:44px!important}
.movement-relic-combobox select{
  position:absolute;
  inset:0;
  z-index:2;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  opacity:0;
  cursor:pointer;
}
.dispatch-applied-modifiers>div{display:flex;flex-wrap:wrap;gap:5px}
.dispatch-modifier-source:is(.hero,.relic){
  display:flex;
  flex:0 1 auto;
  align-items:center;
  gap:5px;
  min-height:40px;
  padding:3px 5px;
}
.dispatch-modifier-identity{display:grid!important;place-items:center;flex:0 0 auto;min-width:0;outline:0}
.dispatch-modifier-source:is(.hero,.relic)>.spell-modifier-chips{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:3px}
.dispatch-modifier-source:is(.hero,.relic)>.spell-modifier-chips>span{display:inline-flex;align-items:center;gap:2px;padding:3px 5px;white-space:nowrap}
.dispatch-modifier-source:is(.hero,.relic)>.spell-modifier-chips>span b{font-size:9px}
.dispatch-modifier-source:is(.hero,.relic)>.spell-modifier-chips>span .unit-stat-icon{width:15px!important;height:15px!important;min-width:15px!important;min-height:15px!important}
.dispatch-modifier-identity:focus-visible,.dispatch-modifier-source .spell-modifier-chips>span:focus-visible{outline:1px solid var(--bronze-bright);outline-offset:2px}
.auction-filters{align-items:start}
.auction-filters>label,.auction-filters>label+label{
  grid-template-rows:14px 36px;
  align-content:start;
  align-self:start;
  gap:4px;
  margin:0;
  padding:0;
}
.auction-filters>label>span{display:flex;align-items:center;height:14px;line-height:14px;white-space:nowrap}
.premium-movement-actions{display:flex;align-items:center;gap:4px;white-space:nowrap}

/* Release 7.0.7 · compact notification channels and unified movement modifiers. */
.notification-settings.full>header,.notification-settings.full .notification-setting-row{grid-template-columns:minmax(170px,1fr) 76px 76px;gap:4px;padding:7px 9px}
.notification-settings.full .notification-setting-row>span,.notification-settings.full .notification-setting-row label{gap:5px}
.notification-settings.full .notification-setting-row .ui-icon{width:18px;height:18px}
.notification-settings.full input[type="checkbox"]{box-sizing:border-box;width:14px!important;height:14px!important;min-width:14px!important;min-height:14px!important;margin:0}
@media(max-width:520px){.notification-settings.full>header,.notification-settings.full .notification-setting-row{grid-template-columns:minmax(100px,1fr) 46px 46px;gap:2px;padding:6px}.notification-settings.full .notification-setting-row label{gap:2px}}
.premium-movement-actions .icon-button{width:32px;height:32px;margin:0}

@media(max-width:760px){
  .hero-army-grid{grid-auto-rows:auto!important;grid-template-columns:1fr;max-height:none!important;overflow:visible!important}
  .hero-army-choice,.hero-army-choice+.hero-army-choice{height:auto!important;min-height:124px!important;max-height:none!important;margin:0!important}
  .movement-relic-picker{width:100%}
  .movement-relic-combobox{grid-template-columns:42px minmax(0,1fr) 17px;min-height:52px}
  .world-map-view .map-inspector{z-index:2200!important}
  .world-map-view .map-inspector .map-inspector-close{position:absolute!important;z-index:40!important;top:8px!important;right:8px!important}
}

/* v7.1.3 expedition pacing, sealed reports and dedicated diary */
.expedition-detail-status{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 9px;border:1px solid rgba(143,154,147,.14);background:rgba(2,8,9,.52)}
.expedition-detail-status>span:last-child{display:flex;align-items:center;gap:6px;color:#a88b62;font-size:10px;font-variant-numeric:tabular-nums}.expedition-detail-status>span:last-child .ui-icon{width:15px;height:15px}
.expedition-stage-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid rgba(166,133,82,.32);background:rgba(108,73,34,.12);color:#c7a66e;font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.expedition-stage-badge .ui-icon{width:14px;height:14px}.expedition-stage-badge.decision{border-color:rgba(94,164,126,.38);background:rgba(48,111,79,.12);color:#82b99d}.expedition-stage-badge.executing,.expedition-stage-badge.resolving{border-color:rgba(178,113,67,.4);background:rgba(128,67,31,.14);color:#d39a62}.expedition-stage-badge.resolved{border-color:rgba(81,157,116,.4);color:#7db798}
.expedition-state-panel{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:14px;min-height:190px;padding:22px;border:1px solid rgba(147,157,150,.16);background:radial-gradient(circle at 7% 20%,rgba(161,119,63,.12),transparent 34%),rgba(4,10,11,.56)}.expedition-state-panel>.ui-icon{width:52px;height:52px;color:#a17b4d}.expedition-state-panel>div{display:grid;gap:5px}.expedition-state-panel small{color:#a27b49;font-size:8px;letter-spacing:.12em}.expedition-state-panel h3{margin:0;color:#d2c4a8;font:500 22px Georgia,serif}.expedition-state-panel p{max-width:680px;margin:0;color:#84908a;font-size:10px;line-height:1.55}.expedition-state-panel time,.expedition-state-panel em{justify-self:start;margin-top:5px;padding:6px 9px;border:1px solid rgba(171,130,75,.26);background:rgba(0,0,0,.2);color:#c59a60;font-size:11px;font-style:normal;font-variant-numeric:tabular-nums}.expedition-state-panel.sealed{border-color:rgba(173,103,62,.26);background:radial-gradient(circle at 8% 20%,rgba(142,69,35,.18),transparent 34%),linear-gradient(135deg,rgba(23,19,16,.78),rgba(5,11,12,.78))}.expedition-state-panel.sealed>.ui-icon{color:#bd7a4e}.expedition-state-panel.resolved>.ui-icon{color:#67a181}
.expedition-waiting.decision-open{display:grid;grid-template-columns:44px minmax(0,1fr) auto;justify-content:stretch;text-align:left}.expedition-waiting.decision-open>small{color:#9d7a4b}.expedition-waiting.decision-open>.btn{white-space:nowrap}
.expedition-decision-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,310px);align-items:start;gap:10px}.expedition-decision-company{display:grid;align-content:start;gap:10px;min-width:0}.expedition-decision-forecast{position:sticky;top:0;min-width:0;overflow-anchor:none}.expedition-live-forecast{display:grid;gap:9px;padding:12px;border:1px solid rgba(190,142,71,.28);background:linear-gradient(150deg,rgba(21,28,27,.98),rgba(6,13,14,.98));box-shadow:0 10px 22px rgba(0,0,0,.2)}.expedition-live-forecast>header{display:flex;align-items:center;gap:8px}.expedition-live-forecast>header>.ui-icon{width:30px;height:30px;color:#bb8d50}.expedition-live-forecast>header>span{display:grid}.expedition-live-forecast>header small{color:#a47b48;font-size:7px;letter-spacing:.11em}.expedition-live-forecast h3{margin:0;color:#d5c8ad;font:500 17px Georgia,serif}.expedition-live-forecast>p{margin:0;color:#77837d;font-size:8px;line-height:1.5}.expedition-forecast-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.expedition-forecast-metrics>span{display:grid;gap:2px;padding:7px;border:1px solid rgba(135,147,140,.14);background:rgba(0,0,0,.18)}.expedition-forecast-metrics small{color:#737e78;font-size:6px;text-transform:uppercase}.expedition-forecast-metrics b{color:#c9b99d;font-size:11px;font-variant-numeric:tabular-nums}.expedition-support-forecast{display:flex;align-items:center;gap:7px;padding:7px;border:1px solid rgba(81,150,111,.24);background:rgba(43,104,73,.09);color:#77aa8c}.expedition-support-forecast>.ui-icon{width:20px;height:20px}.expedition-support-forecast>span{display:grid}.expedition-support-forecast b{font-size:8px}.expedition-support-forecast small{font-size:7px}
.expedition-decision-submit>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.expedition-decision-submit>div .btn{min-width:150px}
.expedition-diary-view{display:grid;gap:12px;min-width:0}.expedition-diary-heading{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:12px;padding:14px;border:1px solid rgba(184,139,72,.24);background:radial-gradient(circle at 4% 20%,rgba(156,108,49,.17),transparent 30%),rgba(5,11,12,.65)}.expedition-diary-heading>.ui-icon{width:50px;height:50px;color:#bd8d4d}.expedition-diary-heading>div{display:grid;gap:2px}.expedition-diary-heading small,.expedition-diary-ledger>header small{color:#a67a43;font-size:8px;letter-spacing:.12em}.expedition-diary-heading h3,.expedition-diary-ledger>header h3{margin:0;color:#d7c9ad;font:500 22px Georgia,serif}.expedition-diary-heading p,.expedition-diary-ledger>header p{margin:0;color:#808b85;font-size:9px;line-height:1.5}.expedition-diary-ledger{display:grid;gap:10px}.expedition-diary-ledger>header{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px;border-bottom:1px solid rgba(184,139,72,.18)}.expedition-diary-ledger>header>.ui-icon{width:32px;height:32px;color:#ac814b}.expedition-diary-ledger>header>span{display:grid}.expedition-diary-ledger>header h3{font-size:18px}.expedition-diary-ledger>header strong{display:grid;place-items:center;min-width:31px;height:31px;border:1px solid rgba(183,136,70,.3);color:#c39a60}.expedition-diary-ledger>div{display:grid;gap:8px}.expedition-diary-view .expedition-journal-entry{margin:0}.expedition-diary-view>.empty-state{min-height:200px}
.expedition-detail.stage-executing .expedition-rewards-panel.possible,.expedition-detail.stage-resolving .expedition-rewards-panel.possible{border-color:rgba(176,104,61,.27);background:linear-gradient(145deg,rgba(35,21,16,.5),rgba(5,11,12,.65))}.expedition-detail.stage-executing .expedition-rewards-panel.possible .expedition-reward,.expedition-detail.stage-resolving .expedition-rewards-panel.possible .expedition-reward{filter:saturate(.7);opacity:.78}
@media(max-width:1060px){.expedition-decision-layout{grid-template-columns:minmax(0,1fr)}.expedition-decision-forecast{position:relative;top:auto}.expedition-live-forecast{grid-template-columns:minmax(0,1fr)}}
@media(max-width:680px){.expedition-detail-status{align-items:flex-start;flex-direction:column}.expedition-state-panel{grid-template-columns:38px minmax(0,1fr);min-height:150px;padding:14px}.expedition-state-panel>.ui-icon{width:36px;height:36px}.expedition-state-panel h3{font-size:18px}.expedition-waiting.decision-open{grid-template-columns:34px minmax(0,1fr)}.expedition-waiting.decision-open>.btn{grid-column:1/-1;width:100%}.expedition-forecast-metrics{grid-template-columns:1fr}.expedition-decision-submit>div{display:grid;width:100%;grid-template-columns:1fr}.expedition-decision-submit>div .btn{width:100%;min-width:0}.expedition-diary-heading{grid-template-columns:38px minmax(0,1fr);padding:10px}.expedition-diary-heading>.ui-icon{width:34px;height:34px}.expedition-diary-heading h3{font-size:18px}.expedition-diary-ledger>header{grid-template-columns:30px minmax(0,1fr) auto}.expedition-diary-ledger>header p{display:none}}

/* v7.1.5 expedition chronicles, rotating oaths and resilient company states */
.expedition-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}
.expedition-board-heading>div>span:last-child,.expedition-card-copy,.expedition-card-copy>header>span,.expedition-card-copy>p,.expedition-section-heading>div,.expedition-detail-party,.expedition-member>span,.expedition-report-view,.expedition-report-view section,.expedition-report-view header>span,.expedition-report-view p,.expedition-report-view blockquote{min-width:0}
.expedition-board-heading h2,.expedition-board-heading p,.expedition-card-copy h3,.expedition-card-copy>p,.expedition-section-heading h3,.expedition-member b,.expedition-member small,.expedition-member em,.expedition-report-view h2,.expedition-report-view h3,.expedition-report-view p,.expedition-report-view blockquote{overflow-wrap:anywhere}
.expedition-card-copy{gap:10px}.expedition-card-copy>p{min-height:0;-webkit-line-clamp:4}.expedition-report-card .expedition-card-copy>p{display:block;overflow:visible}
.expedition-card-copy>header,.expedition-card-facts,.expedition-card-rewards,.expedition-card-copy>footer{margin:0}
.expedition-hero-choice{transition:border-color .16s,background .16s,box-shadow .16s,transform .16s}
.expedition-hero-checkbox{position:absolute!important;width:1px!important;height:1px!important;min-width:1px!important;min-height:1px!important;margin:0!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.expedition-hero-include{display:inline-flex;align-items:center;justify-content:center;min-width:64px;min-height:31px;padding:6px 9px;border:1px solid rgba(131,145,137,.25);background:rgba(3,9,10,.58);color:#929b95;font:700 8px/1 system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.expedition-hero-include:hover,.expedition-hero-include:focus-visible{border-color:rgba(193,145,74,.55);color:#d2b27e;outline:none}.expedition-hero-include[aria-pressed="true"]{border-color:rgba(91,169,127,.58);background:rgba(47,113,79,.17);color:#8fc3a5}
.expedition-hero-choice:has(input[name="hero_ids"]:checked){border-color:rgba(102,181,139,.68);background:linear-gradient(90deg,rgba(49,111,79,.25),rgba(7,15,15,.94));box-shadow:inset 3px 0 #68af89,0 0 0 1px rgba(70,134,99,.12)}
.expedition-hero-choice:has(input[name="leader_hero_id"]:checked){box-shadow:inset 3px 0 #d0a05e,0 0 0 1px rgba(188,138,69,.16)}
.expedition-hero-choice>label:focus-within span{outline:1px solid #d5ad6a;outline-offset:2px}
.expedition-party-hero.unavailable{filter:grayscale(.82);opacity:.48}.expedition-party-hero.unavailable>i{opacity:.35}.expedition-party-hero.unavailable>b{position:absolute;z-index:3;right:-2px;top:-3px;display:grid;place-items:center;width:18px;height:18px;border:1px solid rgba(185,119,91,.55);border-radius:50%;background:#1b1614;color:#c67f69}.expedition-party-hero.unavailable>b .ui-icon{width:12px;height:12px}
.expedition-member.unavailable{border-color:rgba(125,123,116,.2);background:linear-gradient(90deg,rgba(34,37,35,.72),rgba(7,12,12,.9));filter:saturate(.45)}.expedition-member.unavailable .expedition-member-avatar{filter:grayscale(1);opacity:.58}.expedition-member.unavailable>span>b{color:#aaa69a}.expedition-member.unavailable>span>small:not(.expedition-member-note){color:#696f6b}.expedition-member.unavailable>span>em{display:flex;align-items:center;gap:4px;color:#bd826b}.expedition-member-note{display:block!important;margin-top:2px;color:#8e8a80!important;font-size:7px!important;line-height:1.4!important;white-space:normal!important}
.expedition-unavailable-roster{display:grid;gap:8px;margin-top:10px;padding:10px;border:1px solid rgba(135,142,135,.14);background:rgba(4,9,10,.4)}.expedition-unavailable-roster>header{display:flex;align-items:center;gap:8px}.expedition-unavailable-roster>header>.ui-icon{width:26px;height:26px;color:#8a8577}.expedition-unavailable-roster>header>span{display:grid}.expedition-unavailable-roster>header small{color:#86745b;font-size:7px;letter-spacing:.1em}.expedition-unavailable-roster h3{margin:0;color:#bdb29b;font:500 15px Georgia,serif}.expedition-unavailable-roster>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:6px}.expedition-unavailable-roster article{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:8px;padding:7px;border:1px solid rgba(128,135,129,.13);background:rgba(0,0,0,.14);filter:saturate(.48)}.expedition-unavailable-avatar{width:42px!important;height:42px!important;filter:grayscale(1);opacity:.58}.expedition-unavailable-roster article>span{display:grid;min-width:0;gap:1px}.expedition-unavailable-roster b{overflow:hidden;color:#aaa599;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.expedition-unavailable-roster small{color:#b47765;font-size:7px;text-transform:uppercase}.expedition-unavailable-roster em{color:#777c77;font-size:7px;font-style:normal;line-height:1.35}
.expedition-waiting.wounded-company{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;min-height:146px;padding:18px;border:1px solid rgba(132,140,134,.16);background:radial-gradient(circle at 5% 20%,rgba(111,93,70,.12),transparent 34%),rgba(4,10,11,.52);text-align:left}.expedition-waiting.wounded-company>.ui-icon{width:40px;height:40px;color:#8f806a}.expedition-waiting.wounded-company>div{display:grid;gap:4px}.expedition-waiting.wounded-company small{color:#9b7d55;font-size:8px;letter-spacing:.11em}.expedition-waiting.wounded-company h3{margin:0;color:#cfc1a5;font:500 19px Georgia,serif}.expedition-waiting.wounded-company p{margin:0;color:#7f8983;font-size:9px;line-height:1.55}
.expedition-report-seal{display:inline-flex;align-items:center;justify-content:center;gap:5px;max-width:100%;padding:5px 7px;border:1px solid rgba(194,145,75,.42);background:rgba(123,80,34,.15);color:#d1a464;font-size:7px;font-weight:700;letter-spacing:.08em;text-align:center;text-transform:uppercase;white-space:normal}.expedition-report-seal .ui-icon{flex:0 0 auto;width:14px;height:14px}.expedition-report-card.retreated .expedition-report-seal,.expedition-report-hero.retreated .expedition-report-seal{border-color:rgba(157,117,91,.38);background:rgba(91,59,42,.15);color:#bd8c70}
.expedition-report-modal{width:min(1180px,calc(100vw - 28px))!important;max-width:1180px!important}.expedition-report-modal .modal-body{padding:12px;background:radial-gradient(circle at 50% -10%,rgba(160,111,48,.1),transparent 34%),#081011}.expedition-report-modal .modal-frame>footer{gap:7px}
.expedition-report-view{display:grid;gap:12px;width:100%}.expedition-report-view>*{box-sizing:border-box;margin:0}
.expedition-report-hero{--expedition-tone:#b78b4e;display:grid;grid-template-columns:minmax(220px,38%) minmax(0,1fr);min-height:270px;overflow:hidden;border:1px solid rgba(192,143,71,.32);background:linear-gradient(145deg,rgba(25,30,27,.98),rgba(7,13,14,.98));box-shadow:inset 0 -3px rgba(183,132,63,.4),0 14px 30px rgba(0,0,0,.25)}.expedition-report-hero>.expedition-art{min-height:270px}.expedition-report-hero>.expedition-art:after{background:linear-gradient(90deg,transparent 52%,rgba(7,13,14,.97)),linear-gradient(0deg,rgba(5,10,10,.5),transparent 48%)}.expedition-report-hero>div{display:grid;align-content:center;gap:7px;padding:20px}.expedition-report-hero>div>small{color:#897f6d;font-size:8px;line-height:1.4}.expedition-report-hero h2{margin:0;color:#dfd0b1;font:500 clamp(25px,3vw,38px)/1.08 Georgia,serif}.expedition-report-hero p{margin:0;color:#8f9891;font-size:10px;line-height:1.65}.expedition-report-hero blockquote{margin:4px 0 0;padding:9px 11px;border-left:2px solid #b78548;background:rgba(130,84,34,.09);color:#c3b496;font:italic 12px/1.55 Georgia,serif}
.expedition-report-company,.expedition-report-ledger,.expedition-report-treasury{display:grid;gap:9px;padding:12px;border:1px solid rgba(146,154,147,.15);background:rgba(5,11,12,.68)}.expedition-report-company>header,.expedition-report-ledger>header,.expedition-report-treasury>header{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;padding:0 2px 9px;border-bottom:1px solid rgba(180,136,71,.18)}.expedition-report-company>header>.ui-icon,.expedition-report-ledger>header>.ui-icon,.expedition-report-treasury>header>.ui-icon{width:34px;height:34px;color:#ad824b}.expedition-report-company>header>span,.expedition-report-ledger>header>span,.expedition-report-treasury>header>span{display:grid}.expedition-report-company>header small,.expedition-report-ledger>header small,.expedition-report-treasury>header small{color:#a37a47;font-size:7px;letter-spacing:.11em}.expedition-report-company h3,.expedition-report-ledger h3,.expedition-report-treasury h3{margin:0;color:#d3c5a8;font:500 19px Georgia,serif}.expedition-report-ledger>header>strong{display:grid;place-items:center;min-width:32px;height:32px;border:1px solid rgba(184,138,70,.3);color:#c49a5d;font-size:11px}.expedition-report-company>.expedition-detail-party{padding:0;border:0;background:transparent}.expedition-report-company>.expedition-detail-party>header{display:none}
.expedition-report-ledger{gap:10px}.expedition-report-chapter{display:grid;gap:9px;padding:12px;border:1px solid rgba(142,151,144,.16);background:linear-gradient(145deg,rgba(15,23,23,.94),rgba(5,11,12,.96));box-shadow:inset 2px 0 rgba(86,151,112,.58)}.expedition-report-chapter.setback{box-shadow:inset 2px 0 rgba(176,88,71,.62)}.expedition-report-chapter>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid rgba(144,153,146,.13)}.expedition-report-chapter>header>span{display:flex;align-items:center;gap:8px}.expedition-report-chapter>header>span>.ui-icon{width:26px;height:26px;color:#6da180}.expedition-report-chapter.setback>header>span>.ui-icon{color:#ba6e5e}.expedition-report-chapter>header>span>span{display:grid}.expedition-report-chapter>header small{color:#8f754f;font-size:7px;letter-spacing:.09em}.expedition-report-chapter>header h3{margin:0;color:#d4c7ab;font:500 18px Georgia,serif}.expedition-report-chapter>header>em{flex:0 0 auto;padding:4px 7px;border:1px solid rgba(84,153,112,.27);color:#78aa8c;font-size:7px;font-style:normal;letter-spacing:.06em;text-transform:uppercase}.expedition-report-chapter.setback>header>em{border-color:rgba(174,87,70,.3);color:#c37464}
.expedition-report-story,.expedition-report-followup,.expedition-report-consequences,.expedition-report-loot,.expedition-report-decisions{display:grid;gap:5px;margin:0}.expedition-report-story>small,.expedition-report-followup>small,.expedition-report-consequences>small,.expedition-report-loot>small,.expedition-report-decisions>small{color:#9c794c;font-size:7px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.expedition-report-story p,.expedition-report-followup p,.expedition-report-consequences p,.expedition-report-decisions>div>p{margin:0;color:#929b94;font-size:9px;line-height:1.62}.expedition-report-story{padding:9px 10px;border:1px solid rgba(183,135,67,.17);background:rgba(101,66,29,.07)}.expedition-report-story p{color:#b8ad96;font:11px/1.6 Georgia,serif}.expedition-report-followup{padding:9px 10px;border-left:2px solid rgba(96,150,119,.6);background:rgba(48,99,71,.07)}.expedition-report-consequences blockquote{margin:0;padding:8px 10px;border-left:2px solid rgba(185,105,75,.65);background:rgba(104,43,31,.09);color:#b99b89;font:italic 10px/1.55 Georgia,serif}.expedition-report-consequences>p{display:flex;align-items:flex-start;gap:6px;padding:7px 8px;border:1px solid rgba(164,117,58,.16);background:rgba(79,55,27,.07)}.expedition-report-consequences>p>.ui-icon{flex:0 0 auto;width:17px;height:17px;color:#a98452}.expedition-report-epilogue{color:#c1b292!important;font-family:Georgia,serif!important;font-style:italic}
.expedition-report-decisions>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:6px}.expedition-report-decision{display:grid;grid-template-columns:46px minmax(0,1fr);align-items:start;gap:8px;padding:8px;border:1px solid rgba(92,151,117,.18);background:rgba(38,85,60,.06)}.expedition-report-decision.setback{border-color:rgba(173,84,68,.2);background:rgba(91,35,28,.06)}.expedition-report-avatar{width:46px!important;height:46px!important}.expedition-report-decision>span{display:grid;gap:2px;min-width:0}.expedition-report-decision small{color:#877759;font-size:7px;text-transform:uppercase}.expedition-report-decision b{color:#c8baa0;font-size:9px}.expedition-report-decision p{margin:1px 0!important;color:#838d87!important;font-size:8px!important;line-height:1.45!important}.expedition-report-decision em{color:#75a88a;font-size:7px;font-style:normal}.expedition-report-decision.setback em{color:#bd7465}
.expedition-claim-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:5px}.expedition-claim{--rarity:#959a97;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0;padding:7px 8px;border:1px solid color-mix(in srgb,var(--rarity) 32%,#293434);background:linear-gradient(90deg,color-mix(in srgb,var(--rarity) 6%,#0b1415),rgba(3,8,9,.75));box-shadow:inset 2px 0 color-mix(in srgb,var(--rarity) 54%,transparent)}.expedition-claim>i{display:grid;place-items:center;color:#bd945a}.expedition-claim>i .ui-icon,.expedition-claim>i .value-glyph,.expedition-claim>i .resource-glyph{width:25px;height:25px}.expedition-claim>span{display:grid;gap:1px;min-width:0}.expedition-claim small{overflow:hidden;color:#777f7a;font-size:7px;text-overflow:ellipsis;white-space:nowrap}.expedition-claim b{overflow:hidden;color:#d0c2a6;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.expedition-claim em{color:var(--rarity);font-size:7px;font-style:normal;text-transform:uppercase}.expedition-claim>strong{color:#86b293;font-size:9px}.expedition-claim>strong .ui-icon{width:17px;height:17px}
.expedition-report-treasury>.expedition-reward-ledger,.expedition-report-treasury>.expedition-claim-list{margin:0}.expedition-report-treasury>.expedition-claim-list+.expedition-ledger-empty{margin-top:0}
.expedition-ledger-empty{margin:0;line-height:1.45}
@media(max-width:860px){.expedition-report-hero{grid-template-columns:1fr}.expedition-report-hero>.expedition-art{min-height:190px;aspect-ratio:16/7}.expedition-report-hero>.expedition-art:after{background:linear-gradient(0deg,rgba(7,13,14,.96),transparent 52%)}.expedition-report-hero>div{padding:14px}.expedition-report-decisions>div,.expedition-claim-list{grid-template-columns:1fr}}
@media(max-width:680px){.expedition-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.expedition-tabs button:nth-child(2){border-right:0}.expedition-tabs button:nth-child(-n+2){border-bottom:1px solid rgba(184,139,72,.14)}.expedition-card-copy>header{gap:7px}.expedition-card-marks{justify-items:start}.expedition-hero-include{min-width:58px}.expedition-report-modal{width:calc(100vw - 8px)!important;max-width:calc(100vw - 8px)!important}.expedition-report-modal .modal-body{padding:8px}.expedition-report-hero>.expedition-art{min-height:155px}.expedition-report-hero>div{padding:11px}.expedition-report-hero h2{font-size:23px}.expedition-report-company,.expedition-report-ledger,.expedition-report-treasury{padding:9px}.expedition-report-company>header,.expedition-report-ledger>header,.expedition-report-treasury>header{grid-template-columns:30px minmax(0,1fr) auto}.expedition-report-company>header>.ui-icon,.expedition-report-ledger>header>.ui-icon,.expedition-report-treasury>header>.ui-icon{width:27px;height:27px}.expedition-report-company h3,.expedition-report-ledger h3,.expedition-report-treasury h3{font-size:17px}.expedition-report-chapter{padding:9px}.expedition-report-chapter>header{align-items:flex-start;flex-direction:column}.expedition-report-chapter>header>em{align-self:flex-start}.expedition-report-story,.expedition-report-followup{padding:8px}.expedition-unavailable-roster>div{grid-template-columns:1fr}.expedition-waiting.wounded-company{grid-template-columns:34px minmax(0,1fr);padding:13px}.expedition-waiting.wounded-company>.ui-icon{width:31px;height:31px}.expedition-waiting.wounded-company h3{font-size:17px}}
@media(max-width:420px){.expedition-report-decision{grid-template-columns:38px minmax(0,1fr)}.expedition-report-avatar{width:38px!important;height:38px!important}.expedition-claim{grid-template-columns:25px minmax(0,1fr) auto}.expedition-report-seal{align-self:flex-start}.expedition-hero-choice:has(input[name="hero_ids"]:checked),.expedition-hero-choice:has(input[name="leader_hero_id"]:checked){box-shadow:inset 2px 0 #74ae8c}}

/* v7.1.7 · settlement estates, caravan stores, allied outposts, auctions and scouting ledgers */
.allied-outpost-banner{
  display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;
  padding:9px 11px;border:1px solid rgba(91,145,117,.35);
  background:linear-gradient(100deg,rgba(50,105,78,.14),rgba(5,13,14,.72));
}
.allied-outpost-banner>.ui-icon{width:31px;height:31px;color:#7fb394}
.allied-outpost-banner>span{display:grid;gap:2px;min-width:0}
.allied-outpost-banner small{color:#77a78b;font-size:8px;letter-spacing:.1em}
.allied-outpost-banner b{color:#bfd2c3;font-size:11px;line-height:1.35}

.npc-estate-modal .modal-frame>main{overflow-x:hidden}
.npc-estate-management{gap:10px}
.npc-estate-hero{
  grid-template-columns:112px minmax(0,1fr) auto;
  min-width:0;padding:11px 13px;
}
.npc-estate-hero-art{width:112px!important;height:84px!important;object-fit:contain}
.npc-estate-hero>div{display:grid;gap:3px;min-width:0}
.npc-estate-hero>div h2{overflow-wrap:anywhere}
.npc-estate-loyalty-seal{
  display:grid!important;justify-items:center;align-content:center;gap:1px;min-width:86px;min-height:72px;
  padding:7px;border:1px solid rgba(190,143,72,.28);background:rgba(6,13,14,.72)
}
.npc-estate-loyalty-seal>.ui-icon{width:26px;height:26px;color:#c69a59}
.npc-estate-loyalty-seal small{font-size:8px!important}
.npc-estate-loyalty-seal b{color:#ddc58f;font-size:16px}
.npc-estate-yield{display:grid;gap:7px;padding:10px 12px;border:1px solid var(--line);background:rgba(4,11,12,.55)}
.npc-estate-yield>div:first-child{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px}
.npc-estate-yield>div:first-child>.resource-glyph{width:34px;height:34px}
.npc-estate-yield>div:first-child>span{display:grid;min-width:0}
.npc-estate-yield small{color:#818b85;font-size:8px;letter-spacing:.06em;text-transform:uppercase}
.npc-estate-yield b{color:#d6c29b;font-size:14px}
.npc-estate-yield b em{color:#7f8882;font-size:10px;font-style:normal}
.npc-estate-yield>div:first-child>strong{color:#c29a5c;font-size:12px;white-space:nowrap}
.npc-estate-yield>.progress{height:5px;overflow:hidden;background:#111b1c}
.npc-estate-yield>.progress>i{display:block;height:100%;background:linear-gradient(90deg,#8e683e,#c99b57)}
.npc-estate-yield>footer{display:flex;flex-wrap:wrap;align-items:center;gap:7px}
.npc-estate-yield>footer>span{display:grid;grid-template-columns:19px auto;grid-template-rows:auto auto;align-items:center;gap:0 5px;min-width:130px;padding:5px 7px;border:1px solid rgba(142,151,145,.14)}
.npc-estate-yield>footer>span>.ui-icon{grid-row:1/3;width:18px;height:18px;color:#a8885b}
.npc-estate-yield>footer>span small,.npc-estate-yield>footer>span b{grid-column:2}
.npc-estate-yield>footer>.btn{margin-left:auto}
.npc-estate-yield .positive{color:#78b18e}.npc-estate-yield .negative{color:#cd7d72}
.npc-estate-invasion-warning,.npc-estate-calm{
  display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:9px;
  padding:9px 11px;border:1px solid rgba(181,76,66,.38);background:rgba(120,46,39,.12)
}
.npc-estate-invasion-warning>.ui-icon,.npc-estate-calm>.ui-icon{width:28px;height:28px}
.npc-estate-invasion-warning>span,.npc-estate-calm>span{display:grid;gap:2px;min-width:0}
.npc-estate-invasion-warning small{color:#d18b80;font-size:8px;letter-spacing:.09em}
.npc-estate-invasion-warning b{color:#d5b2a7;font-size:11px}
.npc-estate-invasion-warning time{color:#cfa66c;font-size:10px}
.npc-estate-calm{border-color:rgba(91,143,116,.3);background:rgba(48,96,74,.08)}
.npc-estate-calm>.ui-icon{color:#79aa8d}.npc-estate-calm b{color:#a8c2b0;font-size:11px}.npc-estate-calm small{color:#74837a;font-size:9px;line-height:1.4}
.npc-estate-command-grid{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:9px}
.npc-estate-command-grid>.npc-estate-card{height:100%}
.npc-estate-levy-card>header{grid-template-columns:28px minmax(0,1fr) auto}
.npc-estate-levy-card>header>strong{color:#d4ae70;font-size:15px;white-space:nowrap}
.npc-estate-tax-slider{grid-column:1/-1}
.npc-estate-tax-slider input{width:100%;accent-color:#b8894d}
.npc-estate-levy-preview{grid-column:1/-1;display:grid;gap:7px;padding:8px;border:1px solid rgba(185,140,73,.22);background:rgba(0,0,0,.18)}
.npc-estate-levy-preview>header{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:7px}
.npc-estate-levy-preview>header>.ui-icon{width:22px;height:22px;color:#bc8e51}
.npc-estate-levy-preview>header>span{display:grid}.npc-estate-levy-preview>header small{font-size:7px}.npc-estate-levy-preview>header b{font-size:11px}
.npc-estate-levy-preview>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.npc-estate-levy-preview article{display:grid;align-content:start;gap:2px;min-width:0;padding:6px;border:1px solid rgba(139,150,143,.12);background:rgba(7,14,15,.64)}
.npc-estate-levy-preview article small{font-size:7px}.npc-estate-levy-preview article b{font-size:10px;overflow-wrap:anywhere}.npc-estate-levy-preview article em{color:#76817b;font-size:8px;font-style:normal;line-height:1.35}
.npc-estate-levy-preview article.positive b{color:#79b18e}.npc-estate-levy-preview article.negative b{color:#cf7e73}
.npc-estate-loyalty-entry p{min-height:0;line-height:1.45}
.npc-estate-upgrade-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 11px;border:1px solid var(--line);background:rgba(5,13,14,.58)}
.npc-estate-upgrade-card>header{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;min-width:0}
.npc-estate-upgrade-card>header>.ui-icon{width:27px;height:27px;color:#bd8f51}.npc-estate-upgrade-card>header>span{display:grid}.npc-estate-upgrade-card small{color:#878f89;font-size:8px}.npc-estate-upgrade-card b{color:#d0bf9f;font-size:11px}
.npc-estate-upgrade-card>.special-cost-row{grid-column:1/-1}.npc-estate-upgrade-card>.requirement{grid-column:1/-1}
.npc-loyalty-modal{width:min(860px,calc(100vw - 20px))}
.npc-loyalty-audience{display:grid;gap:11px}
.npc-loyalty-audience>header{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;padding:10px;border:1px solid rgba(190,143,73,.24);background:linear-gradient(110deg,rgba(120,77,35,.14),rgba(5,13,14,.72))}
.npc-loyalty-audience>header>.ui-icon{width:40px;height:40px;color:#c39757}.npc-loyalty-audience>header>span{display:grid;gap:2px}.npc-loyalty-audience h2{margin:0;color:#dbc8a5;font:500 19px Georgia,serif}.npc-loyalty-audience p{margin:0;color:#7f8983;font-size:10px;line-height:1.45}.npc-loyalty-audience>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.npc-loyalty-audience .npc-estate-card{grid-template-columns:1fr}
.npc-loyalty-preview{display:grid;gap:6px;padding:8px;border:1px solid rgba(188,143,75,.22);background:rgba(0,0,0,.18)}
.npc-loyalty-preview>header{display:grid;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:7px}.npc-loyalty-preview>header>.ui-icon{width:24px;height:24px;color:#bf9558}.npc-loyalty-preview>header>span{display:grid}.npc-loyalty-preview>header small{font-size:7px}.npc-loyalty-preview>header b{font-size:11px}.npc-loyalty-preview>header strong{color:#7db593;font-size:13px}.npc-loyalty-preview>div{display:grid;grid-template-columns:1fr 1fr;gap:5px}.npc-loyalty-preview>div>span{display:grid;padding:5px;border:1px solid rgba(139,150,143,.12)}.npc-loyalty-preview>div small{font-size:7px}.npc-loyalty-preview>div b{font-size:10px}

/* Captured NPC settlements retain a compact POI ledger instead of inheriting city screens. */
.npc-estate-storehouse,.npc-estate-buildings{
  display:grid;gap:9px;padding:10px 12px;border:1px solid var(--line);background:rgba(4,11,12,.55);min-width:0
}
.npc-estate-storehouse>header,.npc-estate-buildings>header{
  display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0
}
.npc-estate-storehouse>header>span,.npc-estate-buildings>header>span{
  display:grid;grid-template-columns:26px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:0 8px;min-width:0
}
.npc-estate-storehouse>header .ui-icon,.npc-estate-buildings>header .ui-icon{
  grid-row:1/3;width:25px;height:25px;color:#bd9052
}
.npc-estate-storehouse>header small,.npc-estate-buildings>header small{
  color:#8b806c;font-size:8px;letter-spacing:.08em;text-transform:uppercase
}
.npc-estate-storehouse>header b,.npc-estate-buildings>header b{
  color:#d2c09d;font-size:12px;overflow-wrap:anywhere
}
.npc-estate-storehouse>div{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;min-width:0
}
.npc-estate-storehouse article{
  display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:7px;min-width:0;padding:8px;
  border:1px solid rgba(139,150,143,.13);background:rgba(0,0,0,.17)
}
.npc-estate-storehouse article>.resource-glyph{width:28px;height:28px}
.npc-estate-storehouse article>span{display:grid;min-width:0}
.npc-estate-storehouse article small{color:#79837d;font-size:8px;line-height:1.35;overflow-wrap:anywhere}
.npc-estate-storehouse article b{color:#c9bca1;font-size:11px;white-space:nowrap}
.npc-estate-storehouse article b em{color:#737e78;font-size:8px;font-style:normal}
.npc-estate-storehouse article>.progress{grid-column:1/-1;height:4px;overflow:hidden;background:#111b1c}
.npc-estate-storehouse article>.progress>i{display:block;height:100%;background:linear-gradient(90deg,#6d775d,#b18a51)}
.npc-estate-storehouse>p{margin:0;color:#77817b;font-size:9px;line-height:1.45}
.npc-estate-buildings>div{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:8px;min-width:0
}
.npc-estate-building{
  display:grid;grid-template-rows:auto auto auto 1fr auto;align-content:start;gap:8px;min-width:0;padding:10px;
  border:1px solid rgba(139,150,143,.15);background:linear-gradient(145deg,rgba(14,23,24,.82),rgba(4,10,11,.78))
}
.npc-estate-building.ready{border-color:rgba(185,140,73,.38);box-shadow:inset 0 0 0 1px rgba(185,140,73,.06)}
.npc-estate-building>header{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;min-width:0}
.npc-estate-building>header>.ui-icon{width:29px;height:29px;color:#bf9253}
.npc-estate-building>header>span{display:grid;min-width:0}
.npc-estate-building>header small{color:#8d806b;font-size:8px;letter-spacing:.07em;text-transform:uppercase}
.npc-estate-building>header b{color:#d0bea0;font-size:11px;overflow-wrap:anywhere}
.npc-estate-building>p{min-height:46px;margin:0;color:#7f8983;font-size:9px;line-height:1.5}
.npc-estate-building-effects{display:grid;gap:4px}
.npc-estate-building-effects>span{
  display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;padding:5px 6px;
  border:1px solid rgba(139,150,143,.11);background:rgba(0,0,0,.16)
}
.npc-estate-building-effects small{color:#768079;font-size:7px;line-height:1.3}
.npc-estate-building-effects b{color:#bdb49e;font-size:9px;white-space:nowrap}
.npc-estate-building-effects i{color:#887d68;font-style:normal}
.npc-estate-building-cost{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;align-self:start
}
.npc-estate-building-cost>.requirement{
  display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:5px;min-width:0;padding:4px 5px
}
.npc-estate-building-cost .resource-glyph{width:19px;height:19px}
.npc-estate-building-cost small{font-size:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.npc-estate-building-cost b{font-size:8px;white-space:nowrap}
.npc-estate-building>.building-prerequisite{min-height:0;margin:0;font-size:8px}
.npc-estate-building>.btn{align-self:end;width:100%;min-width:0;white-space:normal;line-height:1.25}
.npc-city-supply-form{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;min-width:0
}
.poi-caravan-fields{
  grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:9px;min-width:0
}
.poi-caravan-fields>.resource-field,.poi-caravan-fields>.caravan-load-field{
  display:grid;grid-template-rows:14px 52px auto;align-content:start;gap:5px;min-width:0;margin:0
}
.poi-caravan-fields :is(.universal-field-label,.caravan-load-field>span:first-child){
  color:#8d806c;font-size:9px;font-weight:600;line-height:14px;letter-spacing:.06em;text-transform:uppercase
}
.poi-caravan-fields .universal-combobox-trigger,.poi-caravan-fields .caravan-load-field>input{
  box-sizing:border-box;width:100%;height:52px;min-height:52px
}
.poi-caravan-fields .caravan-load-controls{align-self:start}
.npc-city-supply-form>label{display:grid;align-content:start;gap:5px;min-width:0}
.npc-city-supply-form>label>span{color:#8d806c;font-size:9px;letter-spacing:.06em;text-transform:uppercase}
.npc-city-supply-form select,.npc-city-supply-form input{box-sizing:border-box;width:100%;min-width:0}
.npc-convoy-origin{
  grid-column:1/-1;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;padding:8px 10px;
  border:1px solid rgba(139,150,143,.15);background:rgba(0,0,0,.17)
}
.npc-convoy-origin>.ui-icon{width:28px;height:28px;color:#a98551}
.npc-convoy-origin>span{display:grid;min-width:0}.npc-convoy-origin small{color:#7f8982;font-size:8px}.npc-convoy-origin b{color:#c8bda4;font-size:11px;overflow-wrap:anywhere}
.npc-convoy-load-stepper{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:5px}
.npc-convoy-load-stepper>.icon-button{width:34px;height:34px;margin:0}
.npc-convoy-load-stepper input{text-align:center;font-variant-numeric:tabular-nums}
.npc-city-supply-preview{
  grid-column:1/-1;display:grid;gap:8px;padding:9px;border:1px solid rgba(185,140,73,.25);background:rgba(0,0,0,.19);min-width:0
}
.npc-city-supply-preview.blocked{border-color:rgba(173,75,67,.28)}
.npc-city-supply-preview>header{
  display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0
}
.npc-city-supply-preview>header>.ui-icon{width:30px;height:30px;color:#bd9255}
.npc-city-supply-preview>header>span{display:grid;min-width:0}
.npc-city-supply-preview>header small{color:#7b857f;font-size:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.npc-city-supply-preview>header b{color:#cec0a5;font-size:11px;overflow-wrap:anywhere}
.npc-city-supply-preview>header strong{color:#b9935c;font-size:10px;white-space:nowrap}
.npc-city-logistics-ledger{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.npc-city-logistics-ledger>span,.npc-loyalty-impact>span{
  display:grid;align-content:start;gap:2px;min-width:0;padding:6px;border:1px solid rgba(139,150,143,.12);background:rgba(6,13,14,.58)
}
.npc-city-logistics-ledger small,.npc-loyalty-impact small{color:#747e78;font-size:7px;line-height:1.35}
.npc-city-logistics-ledger b,.npc-loyalty-impact b{color:#bfb69f;font-size:10px;overflow-wrap:anywhere}
.npc-loyalty-impact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.npc-loyalty-impact>span{grid-template-columns:22px minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;gap:1px 6px}
.npc-loyalty-impact>span>.ui-icon,.npc-loyalty-impact>span>.resource-glyph{grid-row:1/3;width:21px;height:21px;color:#ad8b58}
.npc-loyalty-impact>span small,.npc-loyalty-impact>span b{grid-column:2}
.npc-loyalty-impact>span em{grid-column:3;grid-row:1/3;color:#79af8d;font-size:10px;font-style:normal;white-space:nowrap}
.npc-loyalty-impact i{color:#807a69;font-style:normal}
.controlled-estate-ledger{grid-template-columns:repeat(auto-fit,minmax(105px,1fr))}

.auction-listing-modal-form>[data-auction-equipment-fields],.auction-listing-modal-form>[data-auction-resource-fields]{
  grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;
  padding:9px;border:1px solid rgba(191,143,73,.2);background:rgba(5,11,12,.5)
}
.auction-listing-modal-form>[data-auction-equipment-fields].hidden,.auction-listing-modal-form>[data-auction-resource-fields].hidden{display:none!important}
.auction-listing-modal-form>[data-auction-equipment-fields]>header,.auction-listing-modal-form>[data-auction-resource-fields]>header,.auction-listing-modal-form>[data-auction-equipment-fields]>.auction-equipment-picker,.auction-listing-modal-form>[data-auction-resource-fields]>.terrain-note{grid-column:1/-1}
.auction-listing-modal-form>[data-auction-equipment-fields]>header,.auction-listing-modal-form>[data-auction-resource-fields]>header{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px}
.auction-listing-modal-form>[data-auction-equipment-fields]>header>.ui-icon,.auction-listing-modal-form>[data-auction-resource-fields]>header>.ui-icon{width:28px;height:28px;color:#c39251}
.auction-listing-modal-form>[data-auction-equipment-fields]>header>span,.auction-listing-modal-form>[data-auction-resource-fields]>header>span{display:grid}.auction-listing-modal-form section header small{color:#a77745;font-size:8px;letter-spacing:.09em}.auction-listing-modal-form section header b{color:#d4c3a5;font-size:11px}
.auction-listing-modal-form>[data-auction-resource-fields]>label{display:grid;gap:4px;min-width:0}.auction-listing-modal-form>[data-auction-resource-fields]>label>span{color:#8b806d;font-size:9px}.auction-listing-modal-form>[data-auction-resource-fields] :is(select,input){box-sizing:border-box;width:100%;min-width:0}
.auction-resource-art{width:86px;height:86px;object-fit:contain}
.auction-card[data-item-kind="special_resource"]{--rarity:#9a8458;--rarity-glow:rgba(154,132,88,.25)}

.scout-company-ledger{display:grid;gap:7px;margin-top:9px;padding:10px;border:1px solid rgba(91,145,117,.24);background:rgba(4,12,13,.55)}
.scout-company-ledger>header{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:8px}.scout-company-ledger>header>.ui-icon{width:30px;height:30px;color:#78a98d}.scout-company-ledger>header>span{display:grid;min-width:0}.scout-company-ledger>header small{color:#73917f;font-size:7px;letter-spacing:.09em}.scout-company-ledger h3{margin:0;color:#c8c3aa;font:500 14px Georgia,serif}.scout-company-ledger>header>b{color:#9fc1ad;font-size:10px;white-space:nowrap}
.scout-company-ledger>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:5px}.scout-company-ledger article{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0;padding:6px;border:1px solid rgba(133,147,139,.13);background:rgba(0,0,0,.17)}.scout-company-art{width:40px!important;height:40px!important}.scout-company-ledger article>span{display:grid;min-width:0}.scout-company-ledger article>span b{overflow:hidden;color:#c9bea5;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.scout-company-ledger article>span small{color:#747e78;font-size:7px;line-height:1.25}.scout-company-ledger dl{display:grid;grid-template-columns:repeat(3,auto);gap:4px;margin:0}.scout-company-ledger dl>div{display:grid;justify-items:end;min-width:40px;padding:3px 4px;border-left:1px solid rgba(137,149,142,.12)}.scout-company-ledger dt{color:#707a74;font-size:6px;text-transform:uppercase}.scout-company-ledger dd{margin:0;color:#bcb49f;font-size:9px}.scout-company-ledger .loss dd{color:#c37a70}.scout-company-ledger .returned dd{color:#78ad8b}
.scout-morale-field{display:grid;grid-template-columns:31px minmax(0,1fr);align-items:center;gap:8px;margin-top:7px;padding:8px 10px;border:1px solid rgba(141,151,145,.17);background:rgba(5,13,14,.56)}.scout-morale-field>.ui-icon{width:29px;height:29px;color:#a58b60}.scout-morale-field>span{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1px 8px;min-width:0}.scout-morale-field small{grid-column:1/-1;color:#828b85;font-size:7px;letter-spacing:.06em}.scout-morale-field b{display:flex;align-items:center;gap:5px;color:#c9bca2;font-size:11px}.scout-morale-field b>.ui-icon{width:14px;height:14px}.scout-morale-field em{color:#9a927f;font-size:9px;font-style:normal}.scout-morale-field.positive{border-color:rgba(78,145,103,.3)}.scout-morale-field.positive em{color:#75ad89}.scout-morale-field.negative{border-color:rgba(177,73,64,.3)}.scout-morale-field.negative em{color:#ca786e}
.expedition-claim-list.combined{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:6px}.expedition-claim-list.combined .expedition-claim{min-height:48px;padding:8px 10px}.expedition-claim-list.combined .expedition-claim b{white-space:normal;overflow-wrap:anywhere}.expedition-claim-list.combined .expedition-claim>strong{min-width:26px;text-align:right}

@media(max-width:760px){
  .npc-estate-storehouse>div,.npc-estate-buildings>div{grid-template-columns:repeat(2,minmax(0,1fr))}.npc-city-logistics-ledger{grid-template-columns:1fr}.npc-estate-building>p{min-height:0}
  .npc-estate-hero{grid-template-columns:84px minmax(0,1fr)}.npc-estate-hero-art{width:84px!important;height:68px!important}.npc-estate-loyalty-seal{grid-column:1/-1;grid-template-columns:24px auto auto;justify-content:start;justify-items:start;min-height:0;min-width:0}.npc-estate-loyalty-seal>.ui-icon{grid-row:1/3}.npc-estate-loyalty-seal small,.npc-estate-loyalty-seal b{grid-column:2}.npc-estate-loyalty-seal b{font-size:14px}.npc-estate-command-grid,.npc-loyalty-audience>div{grid-template-columns:1fr}.npc-estate-levy-preview>div{grid-template-columns:1fr}.npc-estate-upgrade-card{grid-template-columns:1fr}.npc-estate-upgrade-card>.btn{width:100%}.npc-estate-yield>footer>.btn{width:100%;margin-left:0}.scout-company-ledger>div{grid-template-columns:1fr}
}
@media(max-width:520px){
  .npc-estate-storehouse>header,.npc-estate-buildings>header{align-items:stretch;flex-direction:column}.npc-estate-storehouse>header>.btn{width:100%}.npc-estate-storehouse>div,.npc-estate-buildings>div,.npc-city-supply-form,.poi-caravan-fields,.npc-loyalty-impact{grid-template-columns:1fr}.npc-convoy-origin{grid-column:1}.poi-caravan-fields{grid-column:1}.npc-city-supply-preview{grid-column:1}.npc-city-supply-preview>header{grid-template-columns:28px minmax(0,1fr)}.npc-city-supply-preview>header>strong{grid-column:2}.npc-estate-building-cost{grid-template-columns:1fr}
  .npc-estate-yield>div:first-child{grid-template-columns:32px minmax(0,1fr)}.npc-estate-yield>div:first-child>strong{grid-column:2}.npc-estate-garrison>header{grid-template-columns:1fr}.npc-estate-garrison>header>button{grid-column:1;grid-row:auto;width:100%}.npc-estate-garrison>header>label{grid-column:1;grid-row:auto}.auction-listing-modal-form>[data-auction-equipment-fields],.auction-listing-modal-form>[data-auction-resource-fields]{grid-template-columns:1fr}.auction-listing-modal-form>[data-auction-resource-fields]>label{grid-column:1}.scout-company-ledger>header{grid-template-columns:28px minmax(0,1fr)}.scout-company-ledger>header>b{grid-column:2}.scout-company-ledger article{grid-template-columns:36px minmax(0,1fr)}.scout-company-art{width:34px!important;height:34px!important}.scout-company-ledger dl{grid-column:1/-1;width:100%;justify-content:stretch}.scout-company-ledger dl>div{justify-items:center;min-width:0}.scout-morale-field>span{grid-template-columns:1fr}.scout-morale-field em{justify-self:start}
}

/* v7.1.7 auction category and special-resource market hotfix. */
.auction-category-navigation{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:0;
  padding:10px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,rgba(6,12,13,.84),rgba(10,17,18,.72));
}
.auction-category-card{
  grid-template-columns:54px minmax(0,1fr) auto;
  min-height:88px;
  margin:0;
}
.auction-category-card>strong,.auction-listing-category-card>strong{
  display:grid;
  align-content:center;
  justify-items:end;
  min-width:58px;
  color:color-mix(in srgb,var(--category) 78%,#e5d3b1);
  font:600 18px Georgia,serif;
  font-variant-numeric:tabular-nums;
}
.auction-category-card>strong small,.auction-listing-category-card>strong small{
  max-width:70px;
  color:#737d77;
  font:700 7px/1.25 var(--font-body);
  letter-spacing:.07em;
  text-align:right;
}
.auction-category-card.active::before,.auction-listing-category-card.active::before{
  position:absolute;
  inset:9px auto 9px 0;
  width:3px;
  background:var(--category);
  box-shadow:0 0 12px color-mix(in srgb,var(--category) 70%,transparent);
  content:"";
}
.auction-filters.resource-mode{
  grid-template-columns:minmax(190px,330px);
  justify-content:start;
}
.auction-grid[data-auction-kind="special_resource"]{
  background:radial-gradient(circle at 80% 0,rgba(78,128,111,.08),transparent 38%);
}
.auction-card[data-item-kind="special_resource"]{
  --rarity:#78a891;
  --rarity-glow:rgba(79,139,113,.25);
  background:radial-gradient(circle at 7% 50%,var(--rarity-glow),transparent 34%),linear-gradient(115deg,rgba(10,24,22,.82),rgba(5,10,11,.76));
}
.auction-card[data-item-kind="special_resource"] .auction-item-art{
  width:76px;
  height:76px;
  margin:5px;
  filter:drop-shadow(0 7px 8px rgba(0,0,0,.55));
}
.auction-card[data-item-kind="special_resource"] .auction-card-copy>p{
  display:-webkit-box;
  overflow:hidden;
  line-height:1.35;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.auction-listing-modal{width:min(840px,calc(100vw - 20px))}
.auction-listing-kind-native{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
}
.auction-listing-categories{
  grid-column:1/-1;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:0;
}
.auction-listing-category-card{
  grid-template-columns:48px minmax(0,1fr) auto;
  min-height:82px;
  padding:10px;
}
.auction-listing-category-card .research-lore-emblem{
  width:48px;
  height:48px;
}
.auction-listing-category-card .research-lore-emblem>.ui-icon{
  width:30px;
  height:30px;
}
.auction-listing-modal-form>[data-auction-equipment-fields],
.auction-listing-modal-form>[data-auction-resource-fields]{
  align-content:start;
  border-color:rgba(191,143,73,.25);
  background:linear-gradient(145deg,rgba(17,26,26,.8),rgba(5,11,12,.68));
}
.auction-special-resource-picker{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(155px,.65fr);
  align-items:start;
  gap:8px;
  min-width:0;
}
.auction-special-resource-picker>.special-resource-field{
  display:grid;
  align-content:start;
  gap:4px;
  min-width:0;
  margin:0;
}
.auction-special-resource-picker .universal-field-label,
.auction-resource-quantity>span{
  color:#9b8d74;
  font-size:9px;
  font-weight:700;
  line-height:14px;
  letter-spacing:.065em;
  text-transform:uppercase;
}
.special-resource-field .universal-combobox-trigger{
  --rarity:#78a891;
  --rarity-glow:rgba(79,139,113,.22);
  min-height:62px;
  border-color:color-mix(in srgb,var(--rarity) 52%,var(--line));
  background:radial-gradient(circle at 7% 50%,var(--rarity-glow),transparent 36%),linear-gradient(135deg,#142321,#0c1516);
  box-shadow:inset 3px 0 color-mix(in srgb,var(--rarity) 52%,transparent),inset 0 1px rgba(255,255,255,.025);
}
.special-resource-field .universal-combobox-trigger:hover,
.special-resource-field .universal-combobox-trigger:focus-visible{
  border-color:color-mix(in srgb,var(--rarity) 78%,#c8a56d);
}
.special-resource-field .universal-combobox-art,
.special-resource-field .combobox-item-art{
  width:46px;
  height:46px;
}
.special-resource-field .universal-combobox-copy b{
  color:#d7cfb8;
  font:500 15px Georgia,serif;
}
.special-resource-field .universal-combobox-copy small{color:#82a797}
.special-resource-field .universal-combobox-option{
  --rarity:#78a891;
  min-height:60px;
  border-left:2px solid color-mix(in srgb,var(--rarity) 72%,transparent);
  background:radial-gradient(circle at 5% 50%,rgba(79,139,113,.2),transparent 32%),#0e1818;
}
.special-resource-field .universal-combobox-option:hover,
.special-resource-field .universal-combobox-option[aria-selected="true"]{
  background:radial-gradient(circle at 5% 50%,rgba(79,139,113,.3),transparent 38%),#14201f;
}
.auction-resource-quantity{
  display:grid;
  grid-template-rows:auto 62px;
  align-content:start;
  gap:4px;
  min-width:0;
}
.auction-resource-quantity>input{
  height:62px;
  padding:0 12px;
  border-color:rgba(103,150,130,.4);
  background:linear-gradient(135deg,#13201f,#0b1314);
  color:#d6ceb8;
  font:600 18px Georgia,serif;
  font-variant-numeric:tabular-nums;
  text-align:center;
}
.auction-resource-quantity>input:focus{
  border-color:#78a891;
  outline:0;
  box-shadow:0 0 0 1px rgba(120,168,145,.2);
}
.auction-resource-stock{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:56px minmax(0,1fr);
  align-items:center;
  gap:10px;
  min-height:66px;
  padding:7px 10px;
  border:1px solid rgba(103,150,130,.3);
  background:linear-gradient(100deg,rgba(47,91,72,.18),rgba(4,11,12,.66));
}
.auction-resource-stock-art{
  width:54px!important;
  height:54px!important;
  filter:drop-shadow(0 6px 7px rgba(0,0,0,.5));
}
.auction-resource-stock>span{display:grid;gap:2px;min-width:0}
.auction-resource-stock small{
  color:#7fa28f;
  font-size:8px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.auction-resource-stock b{
  color:#d8ccb2;
  font:500 15px Georgia,serif;
  overflow-wrap:anywhere;
}
.auction-resource-stock em{
  color:#7f8982;
  font-size:9px;
  font-style:normal;
  line-height:1.35;
  overflow-wrap:anywhere;
}
@media(max-width:760px){
  .auction-category-card,.auction-listing-category-card{grid-template-columns:46px minmax(0,1fr) auto;min-height:80px;padding:9px}
  .auction-category-card .research-lore-emblem,.auction-listing-category-card .research-lore-emblem{width:46px;height:46px}
  .auction-category-card .research-lore-emblem>.ui-icon,.auction-listing-category-card .research-lore-emblem>.ui-icon{width:28px;height:28px}
}
@media(max-width:560px){
  .auction-category-navigation,.auction-listing-categories{grid-template-columns:1fr}
  .auction-category-card,.auction-listing-category-card{min-height:74px}
  .auction-special-resource-picker{grid-template-columns:1fr}
  .auction-resource-quantity{grid-template-rows:auto 50px}
  .auction-resource-quantity>input{height:50px}
  .auction-resource-stock{grid-template-columns:48px minmax(0,1fr)}
  .auction-resource-stock-art{width:46px!important;height:46px!important}
  .auction-filters.resource-mode{grid-template-columns:1fr}
}
@media(max-width:390px){
  .auction-category-card,.auction-listing-category-card{grid-template-columns:42px minmax(0,1fr)}
  .auction-category-card>strong,.auction-listing-category-card>strong{grid-column:2;grid-row:2;justify-items:start;min-width:0;font-size:12px}
  .auction-category-card>strong small,.auction-listing-category-card>strong small{display:inline;max-width:none;text-align:left}
}

/* v7.1.8 city-morale, expedition chronicle, and auction presentation. */
.auction-category-count{
  display:grid!important;
  grid-template-columns:auto;
  align-content:center;
  justify-items:end;
  gap:1px;
  min-width:64px!important;
  padding:7px 9px;
  border:1px solid color-mix(in srgb,var(--category) 30%,var(--line));
  background:linear-gradient(145deg,color-mix(in srgb,var(--category) 9%,transparent),rgba(0,0,0,.2));
}
.auction-category-count>b{
  color:color-mix(in srgb,var(--category) 78%,#e5d3b1);
  font:600 18px/1 Georgia,serif;
  font-variant-numeric:tabular-nums;
}
.auction-category-count>small{display:block;line-height:1.15}
.auction-special-resource-picker{
  grid-template-columns:minmax(0,1.35fr) minmax(155px,.65fr);
  align-items:stretch;
  column-gap:12px;
  row-gap:10px;
}
.auction-special-resource-picker>.special-resource-field,
.auction-special-resource-picker>.auction-resource-quantity{
  grid-template-rows:14px 62px;
  align-content:start;
  gap:6px;
  margin:0;
}
.auction-special-resource-picker .universal-combobox-trigger,
.auction-resource-quantity>input{box-sizing:border-box;width:100%;height:62px;min-height:62px}
.auction-own-ledger .auction-resource-art.auction-ledger-art{
  width:34px!important;
  height:34px!important;
  margin:0!important;
  filter:drop-shadow(0 4px 5px rgba(0,0,0,.5));
}
.expedition-journal-entry{
  gap:9px;
  padding:12px;
  background:linear-gradient(145deg,rgba(12,21,21,.92),rgba(6,13,14,.82));
}
.expedition-journal-entry>p{
  color:#9aa39d;
  font:400 10px/1.65 Georgia,serif;
}
.expedition-journal-opening{
  padding:8px 10px;
  border-left:2px solid rgba(190,142,73,.5);
  background:rgba(116,76,35,.08);
  color:#c3b79f!important;
  font-size:11px!important;
}
.expedition-journal-opening::first-letter{
  color:#d0a563;
  font-size:18px;
  font-weight:700;
}
.expedition-journal-company{
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border:1px solid rgba(104,148,125,.2);
  background:linear-gradient(100deg,rgba(45,91,70,.14),rgba(0,0,0,.12));
}
.expedition-journal-company>.ui-icon{width:26px;height:26px;color:#78a98c}
.expedition-journal-company>span{display:grid;gap:3px;min-width:0}
.expedition-journal-company b{color:#c9bda4;font-size:10px;line-height:1.4}
.expedition-journal-company small{color:#7f8b84;font-size:8px;line-height:1.5}
.expedition-journal-loot{
  display:grid;
  gap:6px;
  padding-top:8px;
  border-top:1px solid rgba(181,139,75,.18);
}
.expedition-journal-loot>small{color:#9f7c4f;font-size:7px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:760px){
  .auction-listing-categories{grid-template-columns:1fr}
  .auction-listing-category-card{min-height:74px}
}
@media(max-width:560px){
  .auction-special-resource-picker{grid-template-columns:1fr;column-gap:0}
  .auction-special-resource-picker>.special-resource-field,
  .auction-special-resource-picker>.auction-resource-quantity{grid-template-rows:14px 52px}
  .auction-special-resource-picker .universal-combobox-trigger,
  .auction-resource-quantity>input{height:52px;min-height:52px}
}
@media(max-width:390px){
  .auction-category-count{grid-column:2;grid-row:2;grid-template-columns:auto auto;justify-content:start;justify-items:start;gap:6px;min-width:0!important;padding:4px 7px}
  .auction-category-count>b{font-size:13px}
}

/* v7.2 expedition calls, contextual support, and city morale. */
.expedition-reward-ledger.qualitative .expedition-reward{min-width:106px}
.expedition-reward-ledger.qualitative .expedition-reward b{letter-spacing:.04em;text-transform:uppercase}
.expedition-reward-ledger.qualitative .likelihood-low b{color:#93a69b}
.expedition-reward-ledger.qualitative .likelihood-medium b{color:#cfaa68}
.expedition-reward-ledger.qualitative .likelihood-high b{color:#de806f}
.expedition-reward-ledger.qualitative .likelihood-decision-dependent b{color:#89aeb4;font-size:8px}
.expedition-active-card.needs-decision{border-color:rgba(217,160,74,.64);box-shadow:inset 0 -3px rgba(218,156,65,.72),0 0 26px rgba(203,137,49,.12)}
.expedition-decision-needed{display:inline-flex!important;align-items:center;gap:5px;flex:0 0 auto;padding:5px 7px;border:1px solid rgba(218,161,75,.48);background:rgba(129,81,18,.22);color:#e2b96e!important;font-size:8px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.expedition-decision-needed .ui-icon{width:15px;height:15px}
.expedition-support-story{margin:0 0 7px;color:#87938c;font-size:8px;line-height:1.5}
.expedition-company-lead{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;padding:9px 10px;border:1px solid rgba(111,158,132,.22);background:linear-gradient(100deg,rgba(38,90,65,.12),rgba(0,0,0,.13))}
.expedition-company-lead>.ui-icon{width:27px;height:27px;color:#79a98d}
.expedition-company-lead p{margin:0;color:#a3afa7;font-size:9px;line-height:1.55}
.expedition-offer-report{display:grid;grid-template-columns:minmax(280px,44%) minmax(0,1fr);min-height:280px;overflow:hidden;border:1px solid rgba(188,142,70,.28);background:rgba(4,11,12,.62)}
.expedition-offer-report>.expedition-art{min-height:280px}
.expedition-offer-report>div{display:grid;align-content:center;gap:8px;padding:18px}
.expedition-offer-report>div>small{color:#b18652;font-size:9px;letter-spacing:.08em;text-transform:uppercase}
.expedition-offer-report h2{margin:0;color:#ddcfb2;font:500 28px/1.1 var(--font-display)}
.expedition-offer-report p{margin:0;color:#98a39c;line-height:1.65}
.expedition-card-rewards.report{gap:9px;padding:13px;border:1px solid rgba(188,142,70,.2);border-top:0;background:rgba(6,14,15,.64)}
.premium-city-morale{display:inline-flex;align-items:center;gap:6px;min-width:72px;padding:6px 8px;border:1px solid rgba(86,157,117,.24);background:rgba(37,93,66,.1);color:#80b394;white-space:nowrap}
.premium-city-morale .ui-icon{width:21px;height:21px}.premium-city-morale b{font-size:12px}
.premium-city-morale.strained{border-color:rgba(190,143,72,.3);background:rgba(108,72,25,.11);color:#cfaa69}
.premium-city-morale.low{border-color:rgba(190,76,68,.35);background:rgba(106,34,31,.13);color:#d77b70}
@media(max-width:680px){
  .expedition-decision-needed{align-self:flex-start}
  .expedition-offer-report{grid-template-columns:minmax(0,1fr)}
  .expedition-offer-report>.expedition-art{min-height:170px;aspect-ratio:16/7}
  .expedition-offer-report>div{padding:13px}
}
