/* World 347: continuous terrain, game-scale labels and compact contextual controls.
   Terrain is painted by the world renderer; interface surfaces follow the bot theme. */
#tab-clan.clan-renewal:has(#cpanel-lands.active) { max-width:none; }
#app-main:has(#tab-clan.clan-renewal.active #cpanel-lands.active) {
  padding-top:0 !important;
  padding-inline:0 !important;
}
#tab-clan.clan-renewal .is-world {
  border:0;
  border-radius:0;
  min-height:280px;
  background:#284d40;
}
#tab-clan.clan-renewal .land-stage { border-radius:0; overflow:hidden; }
#tab-clan.clan-renewal .land-ground-canvas {
  position:absolute; inset:0; display:block; width:100%; height:100%;
  pointer-events:none; z-index:0;
}
#tab-clan.clan-renewal .is-world .land-map {
  position:absolute; inset:0; z-index:1;
  background:transparent !important;
}
#tab-clan.clan-renewal :is(.land-unexplored-base,.land-unexplored-lines,.land-ground-detail,.land-water-ripple,.land-place-label) { display:none; }
#tab-clan.clan-renewal .land-hex polygon {
  fill:transparent !important; stroke:none !important; filter:none; vector-effect:non-scaling-stroke;
}
#tab-clan.clan-renewal .world-grid .land-hex polygon { stroke:#10282e2b !important; stroke-width:.65; }
#tab-clan.clan-renewal .world-wide .land-hex polygon { stroke:none !important; }
#tab-clan.clan-renewal .land-hex.is-village polygon { fill:transparent !important; stroke:none; }
#tab-clan.clan-renewal .land-hex.is-owned polygon,
#tab-clan.clan-renewal .land-hex.is-foreign polygon { stroke:none; }
#tab-clan.clan-renewal .land-territory-border {
  fill:none; stroke:#e18e80; stroke-width:2;
  vector-effect:non-scaling-stroke; stroke-linejoin:round; pointer-events:none;
}
#tab-clan.clan-renewal .land-territory-border.is-mine { stroke:#88d6f5; }
#tab-clan.clan-renewal .land-territory-border.is-other { stroke:#e18e80; }
#tab-clan.clan-renewal :is(.land-terrain-layer,.land-scenery-layer) { filter:none; }
#tab-clan.clan-renewal .land-hex:is(.is-selected,:focus-visible) polygon { stroke:#fff0b1 !important; stroke-width:3; }
#tab-clan.clan-renewal .land-hex:hover:not(.is-selected,:focus-visible) polygon { stroke:#ffffffe0 !important; stroke-width:1; }
#tab-clan.clan-renewal .land-map-labels {
  position:absolute; inset:0; z-index:2; overflow:hidden; pointer-events:none;
}
#tab-clan.clan-renewal .land-map-name {
  position:absolute; transform:translateX(-50%); display:block;
  max-width:132px; min-height:24px; padding:3px 9px;
  border:1px solid var(--border); border-radius:7px;
  background:var(--nav-bg); color:var(--text);
  font:600 11px/16px ReverseMenu,ClanText,system-ui,sans-serif;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  text-shadow:none; letter-spacing:normal; box-shadow:0 2px 5px #0002;
}
#tab-clan.clan-renewal .land-map-name.is-mine { border-color:var(--accent); }
#tab-clan.clan-renewal .land-map-name.is-village { font-weight:500; }
#tab-clan.clan-renewal :is(.land-map-name,.land-place-result)[hidden] { display:none !important; }
#tab-clan.clan-renewal .world-wide .land-map-name { max-width:104px; min-height:21px; font-size:10px; line-height:14px; padding:3px 7px; }
#tab-clan.clan-renewal .land-deposit-mark { display:none; }
#tab-clan.clan-renewal .land-caravan-route {
  stroke:#f8dda0; stroke-width:1.5; stroke-dasharray:1 4;
  stroke-linecap:round; fill:none; pointer-events:none;
}
#tab-clan.clan-renewal :is(.land-caravan,.land-squad) circle { fill:#172c2b75; stroke:#f9e4b7; stroke-width:1.5; }
#tab-clan.clan-renewal :is(.land-caravan,.land-squad):focus-visible circle { stroke:#fff; stroke-width:3; }

/* Controls float over the map instead of consuming a separate toolbar row. */
#tab-clan.clan-renewal .land-world-search {
  top:10px; inset-inline:10px; gap:7px; max-width:none; z-index:4;
}
#tab-clan.clan-renewal .land-world-search button {
  height:44px; min-height:44px; border-radius:12px;
  background:var(--nav-bg); color:var(--text); border:1px solid var(--border);
  box-shadow:0 3px 10px #0002;
}
#tab-clan.clan-renewal .land-map-round { width:44px; min-width:44px; }
#tab-clan.clan-renewal .land-search-button { padding:0 12px; gap:9px; font-size:12px; font-weight:500; }
#tab-clan.clan-renewal .land-search-button .clan-icon { width:17px; height:17px; opacity:.7; }
#tab-clan.clan-renewal .land-world-search button:not(:disabled):active { background:var(--bg-hover); }
#tab-clan.clan-renewal .is-world .land-map-canvas>.land-resources {
  top:62px; left:10px; right:auto; width:fit-content; max-width:calc(100% - 20px);
  display:flex; flex-wrap:nowrap; gap:11px; padding:7px 11px; margin:0;
  border:1px solid var(--border); border-radius:999px;
  background:var(--nav-bg); color:var(--text); box-shadow:0 2px 7px #0002;
}
#tab-clan.clan-renewal .is-world .land-map-canvas>.land-resources>span { display:flex; gap:4px; min-width:0; }
#tab-clan.clan-renewal .is-world .land-map-canvas>.land-resources .clan-icon { width:15px; height:15px; color:var(--accent); }
#tab-clan.clan-renewal .is-world .land-map-canvas>.land-resources b { font-size:11px; font-weight:650; line-height:16px; }
#tab-clan.clan-renewal .is-world .land-map-canvas>.land-resources small { display:none; }
#tab-clan.clan-renewal .land-stage .land-map-controls {
  inset:auto 10px 98px auto; display:flex; flex-direction:column; gap:7px; z-index:4;
}
#tab-clan.clan-renewal .land-map-controls button {
  width:44px; height:44px; min-width:44px; min-height:44px; padding:0;
  border:1px solid var(--border); border-radius:12px;
  background:var(--nav-bg); color:var(--text);
  box-shadow:0 2px 8px #0002; font-size:22px; font-weight:400;
}
#tab-clan.clan-renewal .land-zoom-pair { border-radius:12px; border:1px solid var(--border); background:var(--nav-bg); box-shadow:0 2px 8px #0002; }
#tab-clan.clan-renewal .land-zoom-pair button { border:0; border-radius:0; background:none; box-shadow:none; }
#tab-clan.clan-renewal .land-zoom-pair button+button { border-top:1px solid var(--border); }
#tab-clan.clan-renewal .land-map-controls button:not(:disabled):active { background:var(--bg-hover); }
#tab-clan.clan-renewal .land-world-actions {
  inset:auto auto 12px 50%; transform:translateX(-50%);
  width:252px; max-width:calc(100% - 24px); padding:5px;
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px;
  border:1px solid var(--border); border-radius:21px;
  background:var(--nav-bg); box-shadow:0 5px 16px #0003;
}
#tab-clan.clan-renewal .land-world-actions button {
  display:grid; justify-items:center; align-content:center; gap:1px;
  min-height:60px; min-width:0; padding:3px 4px 5px;
  background:none; color:var(--text); border-radius:15px;
  font-size:11px; font-weight:600; line-height:16px;
}
#tab-clan.clan-renewal .land-world-actions button:not(:disabled):active { background:var(--bg-hover); }
#tab-clan.clan-renewal .land-world-actions .land-mini-art { width:36px; height:36px; }
#tab-clan.clan-renewal .land-world-actions [aria-pressed="true"] { background:var(--accent-soft); color:var(--text); border-radius:15px; }
#tab-clan.clan-renewal .land-map-legend { display:none; }

/* One sheet, one content surface. The map stays visible behind it. */
#tab-clan.clan-renewal .land-sheet-backdrop { background:#07130f70; }
html[data-theme="light"] #tab-clan.clan-renewal .land-sheet-backdrop { background:#0a1c204f; }
#tab-clan.clan-renewal :is(.land-map-selection,.land-world-sheet) {
  inset:auto 0 0; width:auto; max-height:80%;
  padding:9px 0 0; border:1px solid var(--border); border-bottom:0;
  border-radius:22px 22px 0 0; background:var(--bg-card); color:var(--text);
  overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain;
  scrollbar-width:thin; box-shadow:0 -8px 30px #0003;
}
#tab-clan.clan-renewal .land-sheet-grabber { width:34px; height:4px; margin:0 auto 7px; opacity:.35; }
#tab-clan.clan-renewal .land-world-sheet>header {
  max-width:936px; margin-inline:auto; padding:0 18px 8px;
  min-height:48px; background:var(--bg-card); border:0;
}
#tab-clan.clan-renewal .land-world-sheet>header h3 { font-size:15px; font-weight:650; line-height:21px; }
#tab-clan.clan-renewal .land-world-sheet>header button,
#tab-clan.clan-renewal .land-map-selection .land-sheet-close {
  width:44px; height:44px; min-width:44px; border:0;
  border-radius:50%; color:var(--text); background:var(--bg-card-2);
}
#tab-clan.clan-renewal .land-world-sheet>div:not(.land-sheet-grabber) { max-width:936px; margin-inline:auto; padding:8px 18px 20px; }
#tab-clan.clan-renewal .land-world-sheet>header button .clan-icon { width:18px; height:18px; }
#tab-clan.clan-renewal .land-map-selection { padding:9px max(18px,calc((100% - 900px)/2)) 18px; }
#tab-clan.clan-renewal .land-map-selection>header { min-height:44px; }
#tab-clan.clan-renewal .land-map-selection h3 { font-size:15px; line-height:21px; }
#tab-clan.clan-renewal .land-map-selection .land-cell-meta { gap:5px; margin:3px 0 8px; font-size:11px; line-height:17px; }
#tab-clan.clan-renewal .land-object-card {
  min-height:76px; padding:7px 0; margin:3px 0 11px;
  border:0; border-radius:0; background:none; gap:12px;
}
#tab-clan.clan-renewal .land-cell-art { width:64px; height:64px; }
#tab-clan.clan-renewal .land-object-card>div { min-width:0; gap:4px; }
#tab-clan.clan-renewal .land-object-card b { font-size:14px; font-weight:650; line-height:20px; }
#tab-clan.clan-renewal .land-object-card small { font-size:12px; line-height:18px; }
#tab-clan.clan-renewal .land-sheet-primary.clan-cta {
  min-height:46px; padding:10px 13px !important;
  background:var(--bg-hover) !important; color:var(--text) !important;
  border:1px solid var(--border) !important; border-radius:11px !important;
  box-shadow:none !important; font-size:13px !important; font-weight:650;
}
#tab-clan.clan-renewal .land-sheet-primary.clan-cta:not(:disabled):hover { background:var(--bg-card-2) !important; }
#tab-clan.clan-renewal .land-sheet-primary.clan-cta:disabled { color:var(--text-sub) !important; opacity:.55; }
#tab-clan.clan-renewal .land-order-cost { font-size:12px; line-height:18px; margin:8px 0; }
#tab-clan.clan-renewal .land-acquire { margin:12px 0 0; }
#tab-clan.clan-renewal .land-world-sheet .land-section { margin:18px 0 0; padding-bottom:14px; }
#tab-clan.clan-renewal .land-world-sheet .land-section h3 { font-size:14px; font-weight:650; }
#tab-clan.clan-renewal .land-world-sheet .land-caption { font-size:12px; line-height:18px; }
#tab-clan.clan-renewal .land-world-sheet .land-empty { padding:14px 0; }
#tab-clan.clan-renewal .land-world-sheet :is(.land-notice:not(:empty),.land-pending) { margin:0 0 12px; padding:10px 12px; }
#tab-clan.clan-renewal .land-notice:not(:empty) { display:flex; align-items:center; gap:8px; font-size:12px; line-height:18px; }
#tab-clan.clan-renewal .land-notice>span { flex:1; }
#tab-clan.clan-renewal .land-notice>[data-dismiss-notice] {
  flex:0 0 44px; width:44px; min-height:44px; padding:0;
  border:0; border-radius:50%; background:none; color:inherit;
}
#tab-clan.clan-renewal .land-notice>[data-dismiss-notice] .clan-icon { width:16px; height:16px; }
#tab-clan.clan-renewal .is-world>.land-notice:not(:empty):not(.is-error) {
  top:108px; inset-inline:10px auto; width:calc(100% - 20px); max-width:400px;
  margin:0; padding:5px 10px; box-shadow:0 3px 12px #0002;
}
#tab-clan.clan-renewal .land-chunk-status { bottom:89px; max-width:calc(100% - 76px); border:1px solid var(--border); padding:6px 10px; line-height:18px; }
#tab-clan.clan-renewal :is(.land-map-selection,.land-world-sheet) .land-chunk-status { position:static; padding:8px 10px; margin:0 0 10px; }

/* Caravan cards are readable route summaries, with the real route as their action. */
#tab-clan.clan-renewal .land-caravan-card {
  display:grid; grid-template-columns:60px minmax(0,1fr) auto;
  align-items:center; gap:12px; margin:0; padding:14px 0;
  border:0; border-bottom:1px solid var(--border); background:none;
}
#tab-clan.clan-renewal .land-caravan-card:last-child { border-bottom:0; }
#tab-clan.clan-renewal .land-caravan-emblem { width:60px; height:60px; display:grid; place-items:center; }
#tab-clan.clan-renewal .land-caravan-emblem>svg { width:60px; height:60px; }
#tab-clan.clan-renewal .land-caravan-info { min-width:0; }
#tab-clan.clan-renewal .land-caravan-info>strong { display:block; font-size:14px; line-height:20px; font-weight:650; }
#tab-clan.clan-renewal .land-caravan-info>p { margin:3px 0 5px; color:var(--text-sub); font-size:12px; line-height:18px; overflow-wrap:anywhere; }
#tab-clan.clan-renewal .land-trip-meta { display:flex; flex-wrap:wrap; align-items:center; gap:4px 10px; font-size:11px; line-height:18px; color:var(--text-sub); }
#tab-clan.clan-renewal .land-trip-meta b { color:var(--text); font-weight:600; }
#tab-clan.clan-renewal .land-caravan-card>button {
  min-height:44px; padding:10px 13px !important;
  border:1px solid var(--border) !important; border-radius:10px !important;
  background:var(--bg-hover) !important; color:var(--text) !important;
  font-size:12px !important; font-weight:600; box-shadow:none !important;
}
#tab-clan.clan-renewal .land-caravan-card>button .clan-icon { width:16px; height:16px; }
#tab-clan.clan-renewal .land-caravan-info progress {
  width:100%; height:4px; display:block; margin:8px 0 0;
  appearance:none; border:0; border-radius:3px; overflow:hidden;
  accent-color:var(--accent); background:var(--border);
}
#tab-clan.clan-renewal .land-caravan-info progress::-webkit-progress-bar { background:var(--border); }
#tab-clan.clan-renewal .land-caravan-info progress::-webkit-progress-value { background:var(--accent); border-radius:3px; }
#tab-clan.clan-renewal .land-caravan-info progress::-moz-progress-bar { background:var(--accent); border-radius:3px; }

#tab-clan.clan-renewal .land-cover { height:140px; border-radius:11px; }
#tab-clan.clan-renewal .land-cover>div { padding:27px 13px 10px; }
#tab-clan.clan-renewal .land-cover b { font-size:19px; line-height:24px; }
#tab-clan.clan-renewal .land-cover span { font-size:11px; line-height:17px; }
#tab-clan.clan-renewal .land-settlement-stats {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px; margin:12px 0; padding:0; color:var(--text);
}
#tab-clan.clan-renewal .land-settlement-stats>div { display:grid; gap:3px; min-width:0; }
#tab-clan.clan-renewal .land-settlement-stats :is(dt,small,span) { margin:0; font-size:11px; line-height:16px; color:var(--text-sub); }
#tab-clan.clan-renewal .land-settlement-stats :is(dd,b,strong) { margin:0; font-size:14px; line-height:20px; font-weight:650; }
#tab-clan.clan-renewal :is(.land-settlement-actions,.land-links) { gap:6px; margin:12px 0; }
#tab-clan.clan-renewal .land-settlement-actions button {
  min-height:54px; border-radius:10px; gap:4px; padding:7px 3px;
  font-size:11px; line-height:15px; font-weight:500;
}
#tab-clan.clan-renewal .land-settlement-actions .clan-icon { width:19px; height:19px; }
#tab-clan.clan-renewal .land-links button { min-height:48px; border:0; border-radius:8px; padding:6px 3px; background:var(--bg-card-2); font-size:11px; line-height:15px; }
#tab-clan.clan-renewal .land-links button .clan-icon { width:18px; height:18px; }
#tab-clan.clan-renewal .land-building-list { margin:16px 0 0; }
#tab-clan.clan-renewal .land-building-list h3 { margin:0 0 6px; font-size:12px; line-height:18px; font-weight:500; }
#tab-clan.clan-renewal .land-building-list>button {
  min-height:62px; padding:10px 0; gap:12px; margin:0;
  border:0; border-bottom:1px solid var(--border); border-radius:0; background:none;
}
#tab-clan.clan-renewal .land-building-list>button:last-child { border-bottom:0; }
#tab-clan.clan-renewal .land-building-list>button>span { gap:3px; min-width:0; }
#tab-clan.clan-renewal .land-building-list b { font-size:13px; line-height:19px; font-weight:650; }
#tab-clan.clan-renewal .land-building-list small { font-size:11px; line-height:17px; }
#tab-clan.clan-renewal .land-building-list>button>.clan-icon:first-child { width:27px; height:27px; }
#tab-clan.clan-renewal .land-building-head { gap:12px; min-height:70px; margin-bottom:14px; }
#tab-clan.clan-renewal .land-building-head>.clan-icon { width:54px; height:54px; padding:10px; border-radius:12px; }
#tab-clan.clan-renewal :is(.land-storage,.land-building-upgrade) { padding:12px; margin-bottom:13px; border-radius:12px; background:var(--bg-card-2); }
#tab-clan.clan-renewal .land-storage>div { margin-top:10px; }
#tab-clan.clan-renewal .land-merchant>svg { width:66px; height:66px; }
#tab-clan.clan-renewal .land-merchant { gap:10px; margin-bottom:10px; }
#tab-clan.clan-renewal .land-good-action .clan-cta { border-radius:10px !important; min-height:44px; font-size:12px !important; }
#tab-clan.clan-renewal .land-village-good { padding:12px 0; }

@media(min-width:760px) {
  #tab-clan.clan-renewal .land-world-search { inset-inline:12px; top:12px; }
  #tab-clan.clan-renewal .is-world .land-map-canvas>.land-resources { left:12px; top:65px; }
  #tab-clan.clan-renewal .land-stage .land-map-controls { right:12px; }
  #tab-clan.clan-renewal :is(.land-map-selection,.land-world-sheet) { inset:auto 0 0; width:auto; max-height:80%; }
}
@media(max-width:480px) {
  #tab-clan.clan-renewal .land-cover { height:120px; }
  #tab-clan.clan-renewal .land-caravan-card { grid-template-columns:48px minmax(0,1fr); gap:9px; padding:12px 0; }
  #tab-clan.clan-renewal .land-caravan-emblem,#tab-clan.clan-renewal .land-caravan-emblem>svg { width:48px; height:48px; }
  #tab-clan.clan-renewal .land-caravan-card>button { grid-column:2; justify-self:start; padding:9px 12px !important; }
  #tab-clan.clan-renewal .land-world-sheet>div:not(.land-sheet-grabber) { padding:7px 14px 18px; }
  #tab-clan.clan-renewal .land-world-sheet>header { padding-inline:14px; }
  #tab-clan.clan-renewal .land-map-selection { padding-inline:14px; }
  #tab-clan.clan-renewal .land-map-name { max-width:118px; }
}
@media(max-width:359px) {
  #tab-clan.clan-renewal .is-world .land-map-canvas>.land-resources { gap:8px; padding:7px 9px; }
  #tab-clan.clan-renewal .is-world .land-map-canvas>.land-resources b { font-size:10px; }
  #tab-clan.clan-renewal .is-world .land-map-canvas>.land-resources .clan-icon { width:13px; }
  #tab-clan.clan-renewal .land-settlement-stats { gap:7px; }
  #tab-clan.clan-renewal .land-settlement-stats :is(dd,b,strong) { font-size:13px; }
}
@media(max-height:550px) {
  #tab-clan.clan-renewal .land-stage .land-map-controls { bottom:86px; }
  #tab-clan.clan-renewal .land-world-actions { bottom:8px; }
  #tab-clan.clan-renewal .land-world-actions button { min-height:54px; }
  #tab-clan.clan-renewal :is(.land-map-selection,.land-world-sheet) { max-height:87%; }
}
@media(prefers-reduced-motion:reduce) {
  #tab-clan.clan-renewal .land-stage * { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}
