/* Edgepedia shares the landing page's warm orange, paper and charcoal palette. */
body:has(.ep) { --ink:#202020; --dim:#74716d; --violet:#d76d24; --line:#e7e4df; background:#fff; }
body:has(.ep) .nav-in { max-width:1320px; padding-inline:24px; }
body:has(.ep) .brand { gap:10px; }
body:has(.ep) .brand img { width:42px; height:42px; object-fit:contain; }
.ep { gap:32px; padding-top:32px; }
.ep-side { gap:18px; }
.ep-wordmark { color:#202020; font:600 clamp(36px,3.5vw,48px)/1.1 Manrope,-apple-system,sans-serif; letter-spacing:-.065em; margin:0 0 4px; }
.ep-side .search { border:1px solid #e7e4df; border-radius:16px; height:56px; background:#faf9f7; padding-inline:18px; }
.ep-side .search:focus-within { border-color:#ff963f; box-shadow:0 0 0 3px #ff963f18; }
.ep-side .search input { font-size:15px; color:#202020; }
.ep-side .search input::placeholder { color:#96918b; }
.ep-nav { gap:8px; }
.ep-nav a { border-radius:12px; padding-inline:16px; font-size:14px; font-weight:650; min-height:48px; }
.ep-nav a em { color:#938a80; font-size:11px; font-variant-numeric:tabular-nums; }
.ep-nav a:hover { border-color:#edc7a9; background:#fff8f0; }
.ep-nav a[aria-pressed="true"] { background:#fff2e5; border-color:#ff963f; color:#9e4919; }
.ep-nav a[aria-pressed="true"] em { color:#b66530; }
.ep-nav a:focus-visible { outline-color:#ff963f; }
.ep-random { padding:22px; border-color:#e9e4dd; border-radius:18px; background:linear-gradient(135deg,#fff6eb,#fff 70%); }
.ep-random-link b { color:#d76d24; letter-spacing:.1em; }
.ep-random-link .ep-random-title { font-weight:650; font-size:22px; }
.ep-random-link p { color:#77716a; }
.ep-random .dice { background:#fff; border-color:#e9e4dd; color:#70665b; }
.ep-tree { border:1px solid #30302d; border-radius:22px; background-color:#181818; background-image:radial-gradient(ellipse at 0% 0%,#ff963f10,transparent 48%),radial-gradient(#ffffff0b .8px,transparent .8px); background-size:100% 100%,22px 22px; box-shadow:0 12px 36px #2020200a; }
.ep-tree-node rect { fill:#252523; stroke:#4b4843; stroke-width:1; transition:fill .18s,stroke .18s; }
.ep-tree-node.is-open rect { fill:#34271e; stroke:#c68049; }
.ep-tree-node[data-i="0"] rect { fill:#ff963f; stroke:#ffad69; }
.ep-tree-node[data-i="0"] .ep-tree-label { fill:#241a13; }
.ep-tree-node[data-i="0"] .ep-tree-count { fill:#674321; }
.ep-tree-node[data-i="0"] .ep-tree-chevron { stroke:#674321; }
.ep-tree-node:hover rect { filter:none; fill:#3c3026; stroke:#ff963f; }
.ep-tree-node[data-i="0"]:hover rect { fill:#ffad69; stroke:#ffc18e; }
.ep-tree-node:focus-visible rect,.ep-tree-nodes a:focus-visible rect,.ep-tree-node.is-selected rect { stroke:#ffb578; stroke-width:1; }
.ep-tree-label { fill:#f6f3ee; font-weight:550; }
.ep-tree-count { fill:#b6afa5; font-weight:500; }
.ep-tree-chevron { stroke:#d0b395; }
.ep-tree-links path { stroke:#ac8059; stroke-opacity:.5; stroke-width:1.2; }
.ep-tree-bar { right:16px; bottom:16px; gap:5px; padding:6px; border:1px solid #ffffff12; border-radius:15px; background:#222220ee; box-shadow:0 8px 24px #0003; }
.ep-tree-bar button { width:36px; height:36px; background:transparent; border:0; border-radius:9px; color:#ede6dc; }
.ep-tree-bar button:hover { background:#ff963f25; color:#ffad69; }
.ep-tree-bar button:focus-visible { outline-color:#ff963f; }
.ep-tree-failed { color:#d8c5b4; }
@media(max-width:920px) {
 .ep { gap:24px; }
 .ep-wordmark { font-size:36px; }
 .ep-tree { height:clamp(400px,65svh,620px); border-radius:18px; }
}
@media(max-width:600px) {
 body:has(.ep) .nav-in { padding-inline:20px; }
 .ep { padding-inline:20px; padding-top:24px; }
 .ep-nav a { padding-inline:12px; gap:6px; }
 .ep-tree-bar { bottom:10px; right:10px; }
}
@media(prefers-reduced-motion:reduce) { .ep-tree-node rect { transition:none; } }
/* A persistent path sits outside the draggable canvas. */
.ep-tree-breadcrumbs { position:relative; z-index:2; height:56px; display:flex; align-items:center; gap:10px; padding:0 20px; overflow-x:auto; white-space:nowrap; border-bottom:1px solid #ffffff0d; background:#1c1c1a; scrollbar-width:thin; scrollbar-color:#68503b transparent; }
.ep-tree-breadcrumbs button { flex:none; border:0; background:transparent; color:#bdb6ac; padding:8px 2px; font:500 12px/1.4 Manrope,sans-serif; cursor:pointer; }
.ep-tree-breadcrumbs button[aria-current] { color:#ffad69; }
.ep-tree-breadcrumbs button:hover { color:#fff4e8; }
.ep-tree-breadcrumbs button:focus-visible { outline:2px solid #ff963f; outline-offset:2px; border-radius:3px; }
.ep-tree-breadcrumbs span { color:#6e6257; font-size:12px; }
.ep-tree-svg { height:calc(100% - 56px); }
.ep-tree-icon { fill:none; stroke:#c5b8a8; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
.ep-tree-node[data-i="0"] .ep-tree-icon { stroke:#674321; }
.ep-tree-node.is-path:not([data-i="0"]) rect { stroke:#ff963f; fill:#382b20; }
.ep-tree-node.is-path:not([data-i="0"]) .ep-tree-icon { stroke:#ffad69; }
.ep-tree-node.is-muted { opacity:.55; }
.ep-tree-node.is-muted:hover,.ep-tree-node.is-muted:focus-within { opacity:1; }
.ep-tree-links path.is-active-path { stroke:#ff963f; stroke-opacity:1; stroke-width:2; }
@media(max-width:600px) { .ep-tree-breadcrumbs { padding-inline:14px; gap:8px; } }

.ep-tree-nodes a:focus { outline:none; }
.ep-tree-nodes a:focus-visible .ep-tree-node rect { stroke:#ffd5ad; stroke-width:1; }

/* The Topic / Geo switch on the breadcrumb line, right-aligned (Dave 2026-09-26) */
.ep-tree-head { position:relative; z-index:3; height:56px; display:flex; align-items:center; gap:12px; padding-right:16px; border-bottom:1px solid #ffffff0d; background:#1c1c1a; }
.ep-tree-head .ep-tree-breadcrumbs { flex:1; min-width:0; height:100%; border-bottom:0; background:transparent; }
.ep-tree-tabs { flex:none; display:flex; gap:2px; padding:3px; border:1px solid #ffffff1a; border-radius:10px; background:#141412; }
.ep-tree-tabs button { border:0; border-radius:7px; background:transparent; color:#bdb6ac; padding:5px 12px; font:600 12px/1.2 Manrope,sans-serif; cursor:pointer; }
.ep-tree-tabs button[aria-pressed="true"] { background:#ff963f; color:#231507; }
.ep-tree-tabs button:hover:not([aria-pressed="true"]) { color:#fff4e8; }
.ep-tree-tabs button:focus-visible { outline:2px solid #ff963f; outline-offset:2px; }
.ep-tree.is-tab-geo > .ep-tree-head > .ep-tree-breadcrumbs > * { display:none; }
.ep-tree.is-tab-geo > .ep-tree-head > .ep-tree-breadcrumbs::before { content:"Edgepedia"; color:#ffad69; font:500 12px/1.4 Manrope,sans-serif; }
.ep-tree.is-tab-geo > .ep-tree-svg, .ep-tree.is-tab-geo > .ep-tree-bar, .ep-tree.is-tab-geo > .ep-tree-failed { display:none; }
.ep-tree:not(.is-tab-geo) > .ep-geo { display:none; }

/* The geo tab (Dave 2026-09-26, second look): a thin time strip on top, the region × time tree filling the rest, the map in
   its lower-left corner, the tree's path on the "Edgepedia" line */
.ep-geo { position:absolute; inset:56px 0 0 0; display:flex; flex-direction:column; background:#161614; }
.ep-geo-crumbs { display:none; }
.ep-tree.is-tab-geo > .ep-tree-head > .ep-geo-crumbs { flex:1; min-width:0; height:100%; display:flex; align-items:center; gap:10px; padding-left:20px; overflow:hidden; }
.ep-tree.is-tab-geo > .ep-tree-head > .ep-tree-breadcrumbs { display:none; }
.ep-geo-home { flex:none; color:#ffad69; font:500 12px/1.4 Manrope,sans-serif; }
.ep-geo-crumbs:not(.is-shown) > .ep-geo-sep, .ep-geo-crumbs:not(.is-shown) > .ep-tree-breadcrumbs { display:none; }
.ep-geo-crumbs.is-shown .ep-geo-home { color:#bdb6ac; }
.ep-geo-sep { flex:none; color:#6e6257; font-size:12px; }
.ep-geo-crumbs > .ep-tree-breadcrumbs { flex:1; min-width:0; height:100%; padding:0; border:0; background:transparent; }
.ep-geo-time { position:sticky; top:0; z-index:2; flex:none; display:flex; align-items:center; gap:14px; padding:8px 16px; border-bottom:1px solid #ffffff0d; background:#1a1a18; }
.ep-geo-notches { flex:1; min-width:0; display:flex; position:relative; }
.ep-geo-notches::before { content:""; position:absolute; left:6%; right:6%; top:8px; height:2px; background:#3a332b; }
.ep-geo-notches button { flex:1; min-width:0; position:relative; display:flex; flex-direction:column; align-items:center; gap:5px; border:0; background:transparent; padding:0 2px; cursor:pointer; color:#9c948a; font:500 11px/1.25 Manrope,sans-serif; }
.ep-geo-dot { width:12px; height:12px; border-radius:50%; background:#2a2520; border:2px solid #6e6257; }
.ep-geo-when { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }
.ep-geo-notches button[aria-pressed="true"] { color:#ffad69; }
.ep-geo-notches button[aria-pressed="true"] .ep-geo-dot { background:#ff963f; border-color:#ffd5ad; }
.ep-geo-notches button:hover .ep-geo-dot { border-color:#ffad69; }
.ep-geo-nodate { flex:none; border:1px solid #ffffff1a; border-radius:8px; background:transparent; color:#bdb6ac; padding:5px 10px; font:600 11px/1.2 Manrope,sans-serif; cursor:pointer; }
.ep-geo-nodate[aria-pressed="true"] { background:#ff963f; color:#231507; border-color:#ff963f; }
.ep-geo button:focus-visible, .ep-geo-world path:focus-visible { outline:2px solid #ff963f; outline-offset:2px; }
.ep-geo-body { position:relative; flex:1; min-height:0; }
.ep-geo-tree { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.ep-geo-tree > div { position:absolute; inset:0; height:auto; min-height:0; border:0; border-radius:0; }
.ep-geo-tree > div > .ep-tree-head { display:none; }
.ep-geo-tree > div > .ep-tree-svg { height:100%; }
.ep-geo-tree:not(.is-shown) > div { display:none; }
.ep-geo-tree.is-shown .ep-geo-prompt { display:none; }
.ep-geo-prompt { margin:0 0 30% 0; padding:24px; color:#9c948a; font:500 14px/1.5 Manrope,sans-serif; text-align:center; }
.ep-geo-map { position:absolute; left:12px; bottom:12px; z-index:2; width:min(34%, 360px); display:flex; flex-direction:column; align-items:flex-start; gap:6px; padding:10px; border:1px solid #ffffff14; border-radius:12px; background:rgba(22,22,20,.88); backdrop-filter:blur(4px); }
.ep-geo-world { display:block; width:100%; height:auto; }
.ep-geo-world path { fill:#ff963f; fill-opacity:.55; stroke:#161614; stroke-width:.6; cursor:pointer; transition:fill-opacity .15s ease; }
.ep-geo-world path.is-empty { fill-opacity:.12; }
.ep-geo-world path:hover { fill-opacity:1 !important; }
.ep-geo-world path.is-chosen { fill:#ffe2c4; fill-opacity:1 !important; stroke:#ffe2c4; stroke-width:.8; }
.ep-geo-nongeo { border:1px solid #ffffff1a; border-radius:8px; background:transparent; color:#bdb6ac; padding:5px 10px; font:600 11px/1.2 Manrope,sans-serif; cursor:pointer; }
.ep-geo-nongeo.is-chosen { background:#ff963f; color:#231507; border-color:#ff963f; }
.ep-results.is-geo #libraryNodeDice { display:none; }
@media(max-width:900px) {
 .ep-tree.is-tab-geo { height:auto; min-height:0; }
 .ep-tree.is-tab-geo > .ep-geo { position:relative; inset:auto; }
 .ep-geo-body { display:flex; flex-direction:column; }
 .ep-geo-map { position:static; width:auto; margin:10px; order:-1; }
 .ep-geo-tree { position:relative; inset:auto; height:420px; }
 .ep-geo-tree:not(.is-shown) { height:auto; }
 .ep-geo-when { font-size:10px; white-space:normal; text-align:center; overflow:visible; }
}
