:root{
  color-scheme:dark;
  --bg:#090c08;--panel:#111711;--panel2:#182018;--line:#2a3428;--line2:#3a4837;
  --text:#eef3e9;--muted:#9ca796;--accent:#b7d877;--accent2:#d8eea8;
  --gold:#e4c66d;--danger:#e27770;--nav-h:60px;--shadow:0 16px 38px rgba(0,0,0,.32)
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--bg)}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input,select{font:inherit}
button{cursor:pointer}
button:active{transform:translateY(1px)}
.hidden,.compat-hooks{display:none!important}

/* One persistent navigation element; everything else belongs to its own view. */
.tabs{
  position:fixed;left:0;right:0;bottom:0;z-index:50;
  height:calc(var(--nav-h) + env(safe-area-inset-bottom));
  padding-bottom:env(safe-area-inset-bottom);
  display:flex;
  background:rgba(8,11,7,.97);
  border-top:1px solid var(--line);
  backdrop-filter:blur(16px);
}
.tab{
  flex:1;min-width:0;border:0;background:transparent;color:#75816f;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  font-size:9px;font-weight:760;position:relative;padding:7px 2px 5px;
}
.tab-icon{font-size:15px;line-height:1}
.tab.active{color:var(--accent2)}
.tab.active:before{content:"";position:absolute;top:-1px;left:30%;right:30%;height:2px;background:var(--accent);border-radius:0 0 2px 2px}

main{
  width:100%;height:calc(100% - var(--nav-h) - env(safe-area-inset-bottom));
  position:relative;overflow:hidden;
}
.tabpane{display:none;width:100%;height:100%;min-height:0}
.tabpane.active{display:flex;flex-direction:column}

/* MAP: deliberately nothing but the map. */
.map-only-pane{background:#050704}
.map-viewport{
  width:100%;height:100%;position:relative;overflow:hidden;touch-action:none;background:#050704;
  -webkit-touch-callout:none;user-select:none;
}
.map-stage{
  position:absolute;left:0;top:0;width:9216px;height:6528px;transform-origin:0 0;
  will-change:transform;background:#11160f;
}
.map-stage img{
  position:absolute;inset:0;width:9216px;height:6528px;object-fit:fill;
  user-select:none;-webkit-user-drag:none;filter:saturate(.76) brightness(.72) contrast(.96);
}
.unlock-layer{position:absolute;inset:0;pointer-events:none}
.chunk-unlocked{
  position:absolute;width:192px;height:192px;
  background:rgba(188,220,130,.035);
  border:2px solid rgba(207,238,151,.88);
  -webkit-backdrop-filter:brightness(1.38) saturate(1.28) contrast(1.02);
  backdrop-filter:brightness(1.38) saturate(1.28) contrast(1.02);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.22);
}
.selection-box{
  position:absolute;width:192px;height:192px;
  border:3px solid rgba(242,211,116,.96);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.45),0 0 10px rgba(228,198,109,.18);
  pointer-events:none;
}

/* Shared non-map screens */
.page-pane{overflow:hidden;background:linear-gradient(180deg,#0b0f0a,#090c08)}
.screen-header{
  flex:0 0 auto;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;
  padding:18px 16px 13px;border-bottom:1px solid var(--line);
  background:radial-gradient(circle at 85% 0%,rgba(183,216,119,.07),transparent 38%),#0d110c;
}
.screen-header h1{font-size:22px;letter-spacing:-.035em;margin:2px 0 3px}
.screen-header p{margin:0;color:var(--muted);font-size:11px;max-width:650px}
.eyebrow{font-size:8px;letter-spacing:.12em;color:#8da46c;font-weight:850}
.big-count{text-align:right;min-width:70px}
.big-count b{display:block;font-size:24px;line-height:1;color:var(--accent2)}
.big-count small{color:var(--muted);font-size:9px;text-transform:uppercase}

.page-toolbar,.wiki-controls{
  flex:0 0 auto;display:flex;gap:8px;padding:9px 11px;background:#111710;border-bottom:1px solid var(--line)
}
.search-wrap{
  display:flex;align-items:center;gap:7px;flex:1;min-width:0;border:1px solid var(--line);
  background:#0b100a;border-radius:11px;padding:0 10px;
}
.search-wrap span{color:#72806c}
.search-wrap input{flex:1;min-width:0;border:0!important;background:transparent!important;padding-left:0!important}
input,select{
  border:1px solid var(--line);border-radius:11px;background:#0c110b;color:var(--text);
  padding:9px 11px;font-size:11px;outline:none;
}
input:focus,select:focus,.search-wrap:focus-within{border-color:#586d45;box-shadow:0 0 0 2px rgba(183,216,119,.06)}
.page-toolbar select{min-width:190px}
.quiet-btn,.secondary-action{
  border:1px solid var(--line2);border-radius:10px;padding:8px 10px;font-size:10px;font-weight:760;color:var(--text);
}
.quiet-btn{background:#151b14}
.secondary-action{background:#26351c;border-color:#465f2f;color:#d8ecae}
.danger-text{color:#efaaa4}

.content-results,.task-results{overflow:auto;flex:1;padding:11px 12px 24px}
.content-group{border:1px solid var(--line);background:#111711;border-radius:14px;padding:11px;margin-bottom:9px}
.content-group h3{margin:0 0 9px;font-size:12px;display:flex;align-items:center;gap:7px}
.pill{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:3px 6px;font-size:9px;background:#171e16;color:#9daa96}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.entity-chip{
  border:1px solid #334230;padding:6px 9px;border-radius:9px;font-size:10px;font-weight:650;
  background:#192218;color:var(--text);max-width:100%;overflow:hidden;text-overflow:ellipsis;
}
.entity-chip:disabled{opacity:.62;cursor:default}
.notice-card{margin:9px 12px 0;padding:9px 11px;border-radius:11px;border:1px solid #584c2c;background:#1d1a10;color:#c7b678;font-size:10px}
.notice-card b{color:#ead48c}
.task-row{
  display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:11px 12px;
  border:1px solid var(--line);background:#111711;border-radius:12px;margin-bottom:7px;
}
.task-row>div:first-child{min-width:0}
.task-row b{display:block;font-size:11px;line-height:1.35;overflow-wrap:anywhere}
.task-row small{display:block;color:#6f7b6b;margin-top:3px;font-size:8px}
.task-entities{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end;max-width:46%}

/* Wiki: browser and article are separate screens, never split-pane. */
.wiki-view{display:none;flex:1;min-height:0;flex-direction:column}
.wiki-view.active{display:flex}
.wiki-browser{flex:1;overflow:auto;padding:10px 11px 22px}
.wiki-result{
  padding:11px;border:1px solid var(--line);border-radius:12px;margin-bottom:8px;background:#111711;cursor:pointer;
}
.wiki-result b{display:block;font-size:12px}
.wiki-result small{display:block;color:var(--muted);font-size:8px;margin:2px 0 5px}
.wiki-result div{font-size:10px;line-height:1.4;color:#b8c1b2}
.article-toolbar{
  flex:0 0 auto;height:48px;display:grid;grid-template-columns:72px 1fr 72px;align-items:center;
  border-bottom:1px solid var(--line);background:#0d120c;padding:0 8px;
}
.back-button{
  border:0;background:transparent;color:var(--accent2);font-weight:760;font-size:12px;text-align:left;padding:8px 4px;
}
.article-toolbar-title{font-size:11px;font-weight:760;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#cad4c3}
.article-toolbar-spacer{width:72px}
.wiki-article{
  flex:1;overflow:auto;padding:18px 15px 34px;line-height:1.55;font-size:12px;background:#0c100b;
}
.wiki-article .wiki-content{max-width:820px;margin:0 auto}
.wiki-article h1,.wiki-article h2,.wiki-article h3,.wiki-article h4{color:#f4f7ef;line-height:1.2}
.wiki-article h1{font-size:25px;margin:0 0 14px}
.wiki-article h2{font-size:19px;margin:26px 0 9px;padding-bottom:5px;border-bottom:1px solid var(--line)}
.wiki-article h3{font-size:15px;margin:20px 0 7px}
.wiki-article h4{font-size:13px;margin:17px 0 6px}
.wiki-article p{margin:8px 0;color:#d5ddd0}
.wiki-article ul,.wiki-article ol{padding-left:22px;margin:8px 0}
.wiki-article li{margin:5px 0;color:#d3dccd}
.wiki-article a{color:#b9db7c;text-decoration:none}
.wiki-article a:active{text-decoration:underline}
.wiki-article b,.wiki-article strong{color:#f2f5ed}
.wiki-article code{background:#171d16;border:1px solid var(--line);border-radius:5px;padding:1px 4px;font-size:.92em}
.wiki-article blockquote{margin:12px 0;padding:8px 12px;border-left:3px solid #60794a;background:#121811;color:#bcc7b6}
.wiki-article .table-wrap{overflow-x:auto;margin:12px -2px;border:1px solid var(--line);border-radius:10px}
.wiki-article table{border-collapse:collapse;min-width:100%;width:max-content;max-width:none;background:#101610;font-size:10px}
.wiki-article th,.wiki-article td{border:1px solid #2a3428;padding:7px 8px;vertical-align:top;text-align:left}
.wiki-article th{background:#182018;color:#e7ede1;position:sticky;top:0}
.wiki-article tr:nth-child(even) td{background:#0d130c}
.wiki-article dl{margin:10px 0}.wiki-article dt{font-weight:800;margin-top:8px}.wiki-article dd{margin-left:16px;color:#cbd5c5}
.wiki-article img{max-width:100%;height:auto}
.wiki-article .infobox,.wiki-article .wikitable{max-width:100%}
.wiki-article .mw-collapsible-toggle,.wiki-article .navbox,.wiki-article .toc,.wiki-article .mw-editsection,.wiki-article sup.reference{display:none!important}
.wiki-meta{font-size:9px;color:var(--muted);margin-bottom:13px}

/* More owns setup/status/actions */
.about{overflow:auto}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}
.setting-card{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px;
  border:1px solid var(--line);border-radius:14px;background:#111711;
}
.setting-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#1a2418;color:var(--accent2);border:1px solid #34442f}
.setting-card h3{font-size:12px;margin:0 0 3px}.setting-card p{font-size:9px;color:var(--muted);margin:0;line-height:1.45}
.setting-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.status-detail{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:8px;font-size:8px;color:#7e8a79}
.badge{border:1px solid var(--line2);border-radius:999px;padding:4px 7px;font-size:9px;font-weight:760}
.badge.ok{border-color:#536d36;color:#c9e899;background:#172013}.badge.warn{border-color:#66582f;color:#ecd78f;background:#211d11}.badge.bad{border-color:#79433f;color:#f3aaa4;background:#261513}
.legal-note{padding:0 14px 24px;color:#657060;font-size:9px}

/* Toasts stay above bottom nav. */
.toast{
  position:fixed;left:50%;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 12px);
  transform:translateX(-50%);z-index:80;background:#111710;border:1px solid var(--line2);
  border-radius:11px;padding:9px 12px;box-shadow:var(--shadow);font-size:10px;max-width:80vw;text-align:center;
}

@media(max-width:760px){
  .screen-header{padding:13px 11px 10px}
  .screen-header h1{font-size:20px}.screen-header p{display:none}
  .big-count b{font-size:20px}
  .page-toolbar,.wiki-controls{flex-wrap:wrap;padding:8px}
  .page-toolbar .search-wrap,.wiki-controls .search-wrap{order:-1;flex-basis:100%}
  .page-toolbar select{flex:1;min-width:0}
  .content-results,.task-results{padding:8px 8px 18px}
  .task-row{display:block}.task-entities{max-width:none;justify-content:flex-start;margin-top:7px}
  .notice-card{margin:7px 8px 0}
  .wiki-browser{padding:8px 8px 18px}
  .wiki-article{padding:15px 12px 26px;font-size:11px}
  .wiki-article h1{font-size:23px}.wiki-article h2{font-size:18px}.wiki-article h3{font-size:14px}
  .settings-grid{grid-template-columns:1fr;padding:9px}
  .setting-card{grid-template-columns:auto 1fr}
  .setting-card>button,.setting-card>.setting-actions{grid-column:2;justify-self:start}
}


/* v4.2 route snapshots, delta leads, and Wiki find */
.snapshot-card{grid-template-columns:auto 1fr}
.snapshot-copy{min-width:0}
.snapshot-create{display:flex;gap:6px;margin-top:9px}
.snapshot-create input{flex:1;min-width:0}
.snapshot-list{display:grid;gap:6px;margin-top:9px}
.snapshot-empty{font-size:9px;color:var(--muted);padding:4px 1px}
.snapshot-row{display:grid;grid-template-columns:1fr 30px;gap:5px;align-items:stretch}
.snapshot-load,.snapshot-delete{
  border:1px solid var(--line);background:#0d130c;color:var(--text);border-radius:9px
}
.snapshot-load{text-align:left;padding:7px 9px;min-width:0}
.snapshot-load b{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.snapshot-load small{display:block;font-size:8px;color:var(--muted);margin-top:2px}
.snapshot-delete{font-size:15px;color:#c98f8a;padding:0}
.group-note{font-size:9px;color:var(--muted);margin:-2px 0 9px;line-height:1.4}
.delta-task-refs{border-color:#4b5f38;background:linear-gradient(180deg,#151d12,#111710)}

.article-tool-button{
  justify-self:end;width:36px;height:34px;border:0;border-radius:9px;background:transparent;color:var(--accent2);
  font-size:16px
}
.article-find{
  flex:0 0 auto;display:flex;gap:6px;align-items:center;padding:7px 8px;
  background:#111710;border-bottom:1px solid var(--line)
}
.article-find .search-wrap{height:34px}
.article-find .quiet-btn{height:34px;min-width:34px;padding:0 8px}
.find-count{font-size:9px;color:var(--muted);min-width:38px;text-align:center}
.wiki-find-hit{background:#685b27;color:#fff3b7;border-radius:2px;padding:0 1px}
.wiki-find-hit.active{background:#b7892e;color:#101008;outline:2px solid rgba(232,198,104,.25)}
.wiki-image-alt{display:inline-block;color:#879581;font-size:.85em;font-style:italic}

@media(max-width:760px){
  .snapshot-create{flex-wrap:wrap}
  .snapshot-create input{flex-basis:100%}
  .article-find{gap:4px}
  .article-find .quiet-btn{min-width:31px;padding:0 6px}
  .find-count{min-width:34px}
}
