:root { color-scheme: dark; --bg: #0b0e14; --surface: #11151c; --card: #171c25; --card2: #1d2430; --border: #2b3545; --text: #e6edf3; --muted: #9aa7b4; --accent: #7aa2f7; --accent2: #e0af68; --warning: #e0af68; --danger: #f7768e; --success: #9ece6a; --link: #7dcfff; --button: #1a2330; --input: #0f141b; --shadow: 0 12px 32px rgba(0,0,0,.28); --radius: 14px; --max: 1240px; --font: system-ui,-apple-system,Segoe UI,sans-serif; --scale: 1; --gap: 16px; --pad: 18px; }
[data-theme="terminus-dark"] { --bg: #0b0e14; --surface: #11151c; --card: #171c25; --card2: #1d2430; --border: #2b3545; --text: #e6edf3; --muted: #9aa7b4; --accent: #7aa2f7; --accent2: #e0af68; --warning: #e0af68; --danger: #f7768e; --success: #9ece6a; --link: #7dcfff; --button: #1a2330; --input: #0f141b; --shadow: 0 12px 32px rgba(0,0,0,.28); }
[data-theme="terminus-amber"] { --bg: #0f0d09; --surface: #17130d; --card: #1f1a12; --card2: #2b2317; --border: #4a3922; --text: #f4e7cf; --muted: #c7ad82; --accent: #ffb454; --accent2: #7fd962; --warning: #ffb454; --danger: #ff6b6b; --success: #8bdc76; --link: #ffd08a; --button: #2a2116; --input: #120f0a; --shadow: 0 12px 32px rgba(0,0,0,.3); }
[data-theme="tokyo-night"] { --bg: #1a1b26; --surface: #1f2335; --card: #24283b; --card2: #2f3549; --border: #414868; --text: #c0caf5; --muted: #9aa5ce; --accent: #7aa2f7; --accent2: #bb9af7; --warning: #e0af68; --danger: #f7768e; --success: #9ece6a; --link: #7dcfff; --button: #292e42; --input: #16161e; --shadow: 0 14px 38px rgba(0,0,0,.25); }
[data-theme="gruvbox"] { --bg: #1d2021; --surface: #282828; --card: #32302f; --card2: #3c3836; --border: #504945; --text: #ebdbb2; --muted: #bdae93; --accent: #fabd2f; --accent2: #8ec07c; --warning: #fe8019; --danger: #fb4934; --success: #b8bb26; --link: #83a598; --button: #3c3836; --input: #1d2021; --shadow: 0 12px 32px rgba(0,0,0,.25); }
[data-theme="nord"] { --bg: #2e3440; --surface: #343b49; --card: #3b4252; --card2: #434c5e; --border: #4c566a; --text: #eceff4; --muted: #c2cad8; --accent: #88c0d0; --accent2: #a3be8c; --warning: #ebcb8b; --danger: #bf616a; --success: #a3be8c; --link: #8fbcbb; --button: #434c5e; --input: #2e3440; --shadow: 0 12px 34px rgba(0,0,0,.22); }
[data-theme="dracula"] { --bg: #191a21; --surface: #22232e; --card: #282a36; --card2: #343746; --border: #4b5064; --text: #f8f8f2; --muted: #bdb8d7; --accent: #bd93f9; --accent2: #50fa7b; --warning: #f1fa8c; --danger: #ff5555; --success: #50fa7b; --link: #8be9fd; --button: #343746; --input: #1e1f29; --shadow: 0 12px 34px rgba(0,0,0,.28); }
[data-theme="catppuccin"] { --bg: #1e1e2e; --surface: #252537; --card: #2b2b40; --card2: #36364f; --border: #4b4b68; --text: #cdd6f4; --muted: #a6adc8; --accent: #89b4fa; --accent2: #f5c2e7; --warning: #f9e2af; --danger: #f38ba8; --success: #a6e3a1; --link: #94e2d5; --button: #36364f; --input: #181825; --shadow: 0 12px 34px rgba(0,0,0,.26); }
[data-theme="solarized-light"] { color-scheme: light; --bg: #fdf6e3; --surface: #eee8d5; --card: #f9f2df; --card2: #eee8d5; --border: #d7ceb2; --text: #073642; --muted: #586e75; --accent: #268bd2; --accent2: #2aa198; --warning: #b58900; --danger: #dc322f; --success: #859900; --link: #006ba6; --button: #e9dfc3; --input: #fffaf0; --shadow: 0 10px 28px rgba(101,88,55,.16); }
[data-theme="paper"] { color-scheme: light; --bg: #f7f3e8; --surface: #fffdf7; --card: #fffaf0; --card2: #f2eadb; --border: #d8c8aa; --text: #20241f; --muted: #6b6256; --accent: #2f6f4e; --accent2: #8b5e24; --warning: #9a641f; --danger: #9d342e; --success: #2d7d57; --link: #225f8a; --button: #efe4cf; --input: #fff; --shadow: 0 10px 26px rgba(67,53,31,.13); }
[data-theme="high-contrast"] { --bg: #000; --surface: #050505; --card: #101010; --card2: #1a1a1a; --border: #fff; --text: #fff; --muted: #e8e8e8; --accent: #00ffff; --accent2: #ffff00; --warning: #ffff00; --danger: #ff3333; --success: #00ff66; --link: #00ffff; --button: #111; --input: #000; --shadow: none; }
[data-font="reader"] { --font: Georgia, 'Times New Roman', serif; }
[data-font="technical"] { --font: ui-monospace,SFMono-Regular,Consolas,'Liberation Mono',monospace; }
[data-size="small"] { --scale: .92; }
[data-size="normal"] { --scale: 1; }
[data-size="large"] { --scale: 1.12; }
[data-size="xlarge"] { --scale: 1.28; }
[data-density="compact"] { --gap: 10px; --pad: 14px; --radius: 12px; }
[data-density="field"] { --gap: 24px; --pad: 26px; --radius: 22px; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0px; font: calc(16px*var(--scale))/1.55 var(--font); }
.app-shell { min-height: 100vh; }
.topbar { position: sticky; top: 0px; z-index: 10; }
.nav-inner { max-width: var(--max); margin: auto; display: flex; gap: 16px; align-items: center; justify-content: space-between; padding: 12px 20px; }
.brand { font-weight: 800; text-decoration: none; color: var(--text); letter-spacing: 0.2px; }
.main-nav { display: flex; gap: 8px; flex-wrap: wrap; }
.nav-link, .icon-btn, .btn { text-decoration: none; border-radius: var(--control-radius); padding: 7px 10px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; line-height: 1.2; white-space: nowrap; }
.right-tools { display: flex; gap: 8px; align-items: center; }
.theme-select, .input, select { border: 1px solid var(--border); background: var(--input); color: var(--text); border-radius: var(--control-radius); padding: 10px 12px; font: inherit; }
.container { max-width: var(--max); margin: auto; padding: 28px 20px; }
.hero { display: grid; grid-template-columns: minmax(0px, 1.4fr) minmax(280px, 0.6fr); gap: var(--gap); align-items: stretch; }
.panel, .card { border-radius: var(--radius); padding: var(--pad); }
.hero h1 { font-size: clamp(2.2rem, 6vw, 5rem); line-height: 0.95; margin: 0.2rem 0px 1rem; }
.subtitle { font-size: 1.18rem; color: var(--muted); max-width: 760px; }
.searchbar { display: flex; gap: 10px; margin: 24px 0px 10px; }
.searchbar input { flex: 1 1 0%; min-width: 220px; font-size: 1.05rem; padding: 16px 18px; border-radius: var(--control-radius); }
.searchbar button { font: inherit; }
.note { color: var(--muted); font-size: 0.95rem; }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--gap); }
.grid.small { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }
.card h3 { margin: 0.1rem 0px 0.45rem; }
.card-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.chip, .badge { display: inline-flex; align-items: center; border-radius: var(--control-radius); padding: 2px 7px; font-size: 0.72rem; margin: 1px; }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin: 34px 0px 12px; }
.section-head h2 { margin: 0px; }
.muted { color: var(--muted); }
.primary-card { min-height: 190px; }
.primary-card .big { font-size: 2rem; }
.tabs { display: flex; gap: 8px; flex-wrap: wrap; margin: 14px 0px; }
.filters { display: flex; gap: 6px; flex-wrap: wrap; margin: 10px 0px; max-height: 9rem; overflow: auto; padding: 4px 2px; }
.filter-panel { margin: 10px 0px 14px; border: 1px solid var(--border); border-radius: var(--control-radius); background: color-mix(in srgb,var(--card2) 72%,transparent); padding: 10px 12px; }
.filter-panel summary { cursor: pointer; color: var(--muted); font-weight: 700; }
.tab, .filter { border-radius: var(--control-radius); padding: 5px 9px; font-size: 0.82rem; cursor: pointer; }
[data-source-results] { gap: 10px; display: grid !important; grid-template-columns: 1fr !important; }
.source-card { display: grid; grid-template-columns: minmax(0px, 1fr) max-content; gap: 12px; align-items: start; padding: 14px 16px; }
.source-card h3 { font-size: 1.02rem; margin: 0px 0px 0.25rem; }
.source-card p { margin: 0.35rem 0px; }
.source-card .card-actions { margin: 0px; display: grid; grid-template-columns: 1fr; gap: 6px; min-width: 118px; }
.source-card .btn { font-size: 0.84rem; padding: 6px 9px; }
.source-meta { display: flex; flex-wrap: wrap; gap: 4px; margin: 6px 0px; }
.toolbar { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.empty { border: 1px dashed var(--border); border-radius: var(--radius); padding: var(--pad); color: var(--muted); }
.saved-list, .recent-list { display: grid; gap: 10px; }
.hidden { display: none !important; }
.admin-box { margin-top: 30px; border-top: 1px solid var(--border); padding-top: 20px; }
.footer { max-width: var(--max); margin: 30px auto 0px; padding: 20px; color: var(--muted); border-top: 1px solid var(--border); }
@media (max-width: 820px) {
  .hero { grid-template-columns: 1fr; }
  .nav-inner { align-items: flex-start; flex-direction: column; }
  .right-tools { width: 100%; justify-content: space-between; }
  .searchbar { flex-direction: column; }
  .source-card { grid-template-columns: 1fr; }
  .container { padding: 18px 12px; }
}
@media print {
  .topbar, .right-tools, .toolbar, .card-actions, .footer { display: none !important; }
  body { background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; }
  .card, .panel { background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; }
}
.source-desc { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tag-line { display: flex; flex-wrap: wrap; gap: 3px; margin-top: 6px; }
.tag-more { color: var(--muted); font-size: 0.72rem; align-self: center; }
.source-compact { font-size: 0.9rem; }
.library-controls { position: relative; z-index: 1; background: color-mix(in srgb,var(--card) 92%,transparent); border: 1px solid var(--border); border-radius: var(--radius); padding: 10px; margin: 12px 0px; }
.btn.secondary { background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; }
.theme-preview { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; margin-top: 12px; }
.theme-preview .card { padding: 12px; }
.theme-preview code { color: var(--accent); }
@media (max-width: 820px) {
  .source-card { grid-template-columns: 1fr; }
  .source-card .card-actions { grid-template-columns: repeat(3, minmax(0px, 1fr)); min-width: 0px; }
  .filters { max-height: 12rem; }
}
.topic-card h3 a { color: var(--text); text-decoration: none; border-bottom: 1px solid color-mix(in srgb,var(--accent) 50%,transparent); }
.topic-card h3 a:hover { color: var(--accent); border-bottom-color: var(--accent); }
.topic-tags { max-height: 2.2rem; overflow: hidden; }
.collection-card { display: block; color: var(--text); text-decoration: none; }
.collection-card:hover, .topic-card:hover { border-color: color-mix(in srgb,var(--accent) 72%,var(--border)); transform: translateY(-1px); }
.collection-card h3 { color: var(--text); text-decoration: none; }
.collection-card:hover h3 { color: var(--accent); }
.hero-simple { grid-template-columns: 1fr; }
.map-app { display: grid; grid-template-columns: 330px minmax(0px, 1fr) 330px; gap: var(--gap); align-items: stretch; }
.map-sidebar, .map-inspector { min-height: 72vh; overflow: auto; }
.map-canvas-card { padding: 10px; }
.map-toolbar { display: flex; gap: 8px; flex-wrap: wrap; margin: 0px 0px 10px; }
.map-frame { position: relative; border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; background: linear-gradient(180deg,color-mix(in srgb,var(--surface) 80%,#101820 20%),var(--bg)); height: 72vh; touch-action: none; }
.map-frame svg { width: 100%; height: 100%; display: block; cursor: grab; }
.map-frame svg:active { cursor: grabbing; }
.map-layer-row { display: grid; grid-template-columns: auto auto 1fr; gap: 8px; align-items: start; border: 1px solid var(--border); border-radius: var(--radius); padding: 8px; margin: 7px 0px; background: color-mix(in srgb,var(--card2) 78%,transparent); }
.map-layer-row small { display: block; color: var(--muted); font-size: 0.76rem; }
.layer-swatch { width: 14px; height: 14px; border-radius: 999px; margin-top: 4px; border: 1px solid var(--border); }
.map-result { display: block; width: 100%; text-align: left; border: 1px solid var(--border); border-radius: var(--radius); background: var(--button); color: var(--text); padding: 9px; margin: 7px 0px; cursor: pointer; }
.map-result span { display: block; color: var(--muted); font-size: 0.78rem; }
.map-result:hover { border-color: var(--accent); }
.map-feature { cursor: pointer; }
.map-feature:hover { stroke: var(--accent); fill-opacity: 0.42; }
.map-point { cursor: pointer; }
.grid-line { stroke: color-mix(in srgb,var(--muted) 18%,transparent); stroke-width: 0.0015; vector-effect: non-scaling-stroke; }
.map-props { width: 100%; border-collapse: collapse; font-size: 0.82rem; }
.map-props th, .map-props td { border-bottom: 1px solid var(--border); padding: 4px; text-align: left; vertical-align: top; }
.pin-tools { display: grid; gap: 8px; }
.pin-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.map-warning { border-left: 4px solid var(--warning); padding-left: 12px; }
.map-status { min-height: 1.8em; }
@media (max-width: 1100px) {
  .map-app { grid-template-columns: 1fr; }
  .map-sidebar, .map-inspector { min-height: auto; }
  .map-frame { height: 68vh; }
}
@media (max-width: 720px) {
  .map-frame { height: 62vh; }
  .pin-row { grid-template-columns: 1fr; }
  .map-toolbar .btn { flex: 1 1 0%; }
}
.imagery-tile { opacity: 0.96; }
.map-frame { background: rgb(16, 24, 32); }
.map-feature { filter: drop-shadow(rgba(0, 0, 0, 0.75) 0px 0px 1px); }
.route-line { filter: drop-shadow(rgba(0, 0, 0, 0.75) 0px 0px 4px); }
.route-box { border: 1px solid var(--border); border-radius: var(--radius); padding: 10px; background: color-mix(in srgb,var(--card2) 62%,transparent); }
.danger { color: var(--danger); }
.map-app-clean { grid-template-columns: minmax(0px, 1.45fr) 300px 330px; align-items: start; }
.map-command { display: grid; grid-template-columns: minmax(0px, 0.85fr) minmax(260px, 1.15fr); gap: 12px; align-items: end; margin-bottom: 10px; }
.map-command h2 { margin: 0.1rem 0px; }
.map-search { font-size: 1.05rem; padding: 14px 16px; }
.map-sidebar details, .map-inspector details { border: 1px solid var(--border); border-radius: var(--radius); padding: 10px; margin: 0px 0px 10px; background: color-mix(in srgb,var(--card2) 55%,transparent); }
.map-sidebar summary, .map-inspector summary { cursor: pointer; color: var(--text); }
.map-sidebar { order: 2; }
.map-inspector { order: 3; }
.map-canvas-card { order: 1; }
.map-toolbar .btn.secondary { padding-left: 11px; padding-right: 11px; }
.map-layer-row input:not(:checked) + .layer-swatch { opacity: 0.35; }
.map-layer-row:has(input:not(:checked)) { opacity: 0.74; }
.map-layer-row:has(input:checked) { border-color: color-mix(in srgb,var(--accent) 58%,var(--border)); }
.map-result { line-height: 1.25; }
.map-result strong { display: block; }
.route-box .card-actions { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 7px; }
.route-box .btn { width: 100%; }
@media (max-width: 1250px) {
  .map-app-clean { grid-template-columns: 1fr 1fr; }
  .map-canvas-card { grid-column: 1 / -1; }
  .map-sidebar, .map-inspector { min-height: auto; }
}
@media (max-width: 820px) {
  .map-app-clean { grid-template-columns: 1fr; }
  .map-command { grid-template-columns: 1fr; }
  .route-box .card-actions { grid-template-columns: 1fr; }
  .map-toolbar { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); }
}
.route-mode { display: block; border: 1px solid var(--border); border-radius: var(--control-radius); padding: 8px; background: color-mix(in srgb,var(--card2) 65%,transparent); grid-column: 1 / -1; }
.route-mode select { width: 100%; margin-top: 4px; }
.imagery-base { opacity: 0.72; filter: saturate(0.85) contrast(0.95); }
.map-tile-layer { position: absolute; inset: 0px; overflow: hidden; z-index: 0; background: rgb(23, 33, 43); }
.map-tile-layer img { position: absolute; display: block; pointer-events: none; user-select: none; image-rendering: auto; }
.map-frame svg { position: relative; z-index: 1; background: transparent; }
.map-base-switch { display: flex; gap: 7px; flex-wrap: wrap; }
.map-toolbar-main { align-items: center; }
.map-layer-status { border: 1px solid var(--border); border-radius: var(--radius); padding: 9px 11px; margin: 0px 0px 10px; background: color-mix(in srgb,var(--card2) 70%,transparent); color: var(--muted); font-size: 0.9rem; }
.map-layer-status.warn { border-color: var(--warning); color: var(--warning); }
.map-missing-layer { position: absolute; inset: 18px; display: flex; align-items: center; justify-content: center; text-align: center; border: 1px dashed var(--warning); border-radius: var(--radius); background: rgba(15, 23, 42, 0.82); color: var(--warning); font-weight: 700; padding: 16px; z-index: 2; }
.roadmap-tile { background: rgb(231, 239, 227); }
.map-reset-shell { display: grid; grid-template-columns: minmax(0px, 1.5fr) 320px 330px; gap: var(--gap); align-items: start; }
.map-reset-main { min-width: 0px; }
.map-reset-command { display: grid; grid-template-columns: minmax(0px, 0.9fr) minmax(260px, 1.1fr); gap: 12px; align-items: end; margin-bottom: 10px; }
.map-reset-toolbar { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin: 0px 0px 10px; }
.okf-map { position: relative; height: 72vh; min-height: 520px; border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; background: rgb(231, 239, 227); touch-action: none; }
.okf-tile-pane, .okf-marker-pane, .okf-route-pane { position: absolute; inset: 0px; }
.okf-map-tile { position: absolute; width: 256px; height: 256px; display: block; user-select: none; -webkit-user-drag: none; }
.okf-marker { position: absolute; transform: translate(-50%, -50%); z-index: 5; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 999px; background: var(--accent); color: var(--bg); font-weight: 900; border: 3px solid rgb(255, 255, 255); box-shadow: rgba(0, 0, 0, 0.35) 0px 2px 10px; }
.okf-marker.dest { background: var(--danger); width: 28px; height: 28px; }
.okf-route-pane { z-index: 4; pointer-events: none; }
.okf-route-line { fill: none; stroke: var(--danger); stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(rgba(0, 0, 0, 0.45) 0px 1px 2px); }
.map-results-reset { display: grid; gap: 7px; }
.map-base-switch { display: flex; gap: 7px; flex-wrap: wrap; }
.map-layer-status { border: 1px solid var(--border); border-radius: var(--radius); padding: 9px 11px; margin: 0px 0px 10px; background: color-mix(in srgb,var(--card2) 70%,transparent); color: var(--muted); font-size: 0.9rem; }
.map-layer-status.warn { border-color: var(--warning); color: var(--warning); }
.okf-tile-placeholder { position: absolute; inset: 20px; display: flex; align-items: center; justify-content: center; text-align: center; border: 1px dashed var(--warning); border-radius: var(--radius); background: rgba(255, 255, 255, 0.82); color: rgb(17, 24, 39); font-weight: 700; padding: 16px; }
.small { font-size: 0.9rem; }
@media (max-width: 1200px) {
  .map-reset-shell { grid-template-columns: 1fr; }
  .okf-map { height: 68vh; }
  .map-reset-command { grid-template-columns: 1fr; }
}
.okf-marker.current { width: 18px; height: 18px; background: rgb(29, 155, 240); color: transparent; font-size: 0px; border: 3px solid rgb(255, 255, 255); box-shadow: rgba(29, 155, 240, 0.25) 0px 0px 0px 9px, rgba(0, 0, 0, 0.42) 0px 2px 12px; }
.okf-marker.dest { width: 28px; height: 28px; background: var(--danger); color: transparent; font-size: 0px; border-radius: 50% 50% 50% 0px; transform: translate(-50%, -88%) rotate(-45deg); box-shadow: rgba(0, 0, 0, 0.45) 0px 2px 12px; }
.okf-marker.dest::after { content: ""; width: 9px; height: 9px; border-radius: 999px; background: rgb(255, 255, 255); display: block; transform: rotate(45deg); }
.map-result { padding: 11px 12px; background: color-mix(in srgb,var(--button) 88%,var(--card)); }
.map-result strong { font-size: 0.98rem; line-height: 1.25; margin-bottom: 3px; }
.map-result .map-result-meta { color: var(--accent); font-weight: 700; font-size: 0.82rem; }
.map-result .map-result-address { color: var(--text); font-size: 0.82rem; margin-top: 2px; }
.map-result .map-result-contains { color: var(--muted); font-size: 0.76rem; margin-top: 2px; }
.pin-row.single { grid-template-columns: minmax(0px, 1fr) auto; margin-top: 8px; }
@media (max-width: 720px) {
  .pin-row.single { grid-template-columns: 1fr; }
}
.map-reset-side { min-width: 0px; overflow: hidden; }
.map-reset-side .input, .map-reset-side select { width: 100%; min-width: 0px; max-width: 100%; }
.map-reset-side .pin-row { width: 100%; grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr); align-items: stretch; }
.map-reset-side .pin-row.single { grid-template-columns: minmax(0px, 1fr); align-items: stretch; }
.map-reset-side .pin-row.single .btn { width: 100%; }
.map-reset-side .card-actions .btn { min-width: 0px; white-space: normal; }
.map-reset-command p.muted { max-width: 42rem; margin: 0.25rem 0px 0px; }
@media (max-width: 420px) {
  .map-reset-side .pin-row { grid-template-columns: 1fr; }
}
.card-grid, .compact-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.mini-card { border: 1px solid var(--border); border-radius: var(--radius); background: color-mix(in srgb,var(--card2) 70%,transparent); padding: 12px; min-width: 0px; }
.mini-card h3 { margin: 0.35rem 0px; }
.mini-card p { margin: 0.25rem 0px; color: var(--muted); }
body [data-source-results] { align-items: stretch; display: grid !important; grid-template-columns: repeat(auto-fill, minmax(285px, 1fr)) !important; gap: 14px !important; }
.source-card { gap: 10px; min-height: 0px; padding: 13px 14px; overflow: hidden; display: flex !important; flex-direction: column !important; }
.source-card h3 { font-size: 1rem; line-height: 1.22; margin: 0px; }
.source-card h3 a { text-decoration: none; }
.source-card h3 a:hover { text-decoration: underline; }
.source-card-main { min-width: 0px; display: flex; flex-direction: column; gap: 6px; flex: 1 1 0%; }
.source-card .source-desc { -webkit-line-clamp: 3; margin: 0px; font-size: 0.9rem; line-height: 1.35; }
.source-card .source-meta { max-height: 3.8rem; overflow: hidden; margin: 0px; }
.source-card .source-compact { font-size: 0.84rem; line-height: 1.3; margin: 0px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.source-card .tag-line { max-height: 1.9rem; overflow: hidden; margin-top: 0px; }
.source-card .chip, .source-card .badge { font-size: 0.68rem; padding: 1px 6px; }
.source-card .card-actions { gap: 6px; min-width: 0px; margin-top: auto; width: 100%; display: grid !important; grid-template-columns: repeat(3, minmax(0px, 1fr)) !important; }
.source-card .btn { font-size: 0.78rem; padding: 6px 7px; min-width: 0px; white-space: nowrap; }
.topic-card, .collection-card { min-height: 145px; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; }
.topic-card p, .collection-card p { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.map-reset-shell { grid-template-columns: minmax(0px, 1fr) 380px; grid-template-areas: "map results" "map route"; gap: 14px; align-items: start; }
.map-reset-main { grid-area: map; }
.map-results-card { grid-area: results; }
.map-route-card { grid-area: route; }
.map-results-card, .map-route-card { max-height: calc(60px + 36vh); overflow: auto; padding: 14px; }
.map-results-card h2, .map-route-card h2 { margin-top: 0px; font-size: 1.08rem; }
.map-reset-command { grid-template-columns: minmax(0px, 0.75fr) minmax(280px, 1.25fr); align-items: center; }
.map-reset-command h2 { font-size: 1.25rem; }
.map-reset-command p.muted { font-size: 0.88rem; line-height: 1.32; }
.map-reset-toolbar { gap: 6px; }
.map-reset-toolbar .btn { padding: 7px 9px; font-size: 0.88rem; }
.okf-map { height: 72vh; min-height: 560px; }
.map-results-reset { gap: 6px; }
.map-result { display: grid; width: 100%; grid-template-columns: minmax(0px, 1fr) auto; gap: 2px 8px; padding: 9px 10px; margin: 0px; text-align: left; align-items: start; }
.map-result strong { grid-column: 1 / 2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.map-result .map-result-meta { grid-column: 2 / 3; text-align: right; white-space: nowrap; }
.map-result .map-result-address, .map-result .map-result-contains { grid-column: 1 / -1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.map-result .map-result-contains { font-size: 0.72rem; }
.map-route-card p { margin: 0.45rem 0px; }
.map-route-card .card-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.map-route-card .card-actions .btn:first-child { grid-column: 1 / -1; }
.map-route-card details { border: 1px solid var(--border); border-radius: var(--radius); padding: 8px; background: color-mix(in srgb,var(--card2) 55%,transparent); }
@media (max-width: 1180px) {
  .map-reset-shell { grid-template-columns: 1fr; grid-template-areas: "map" "results" "route"; }
  .map-results-card, .map-route-card { max-height: none; }
  .okf-map { height: 68vh; }
  .map-reset-command { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  body [data-source-results] { grid-template-columns: 1fr !important; }
  .source-card .card-actions { grid-template-columns: repeat(3, minmax(0px, 1fr)) !important; }
  .map-route-card .card-actions { grid-template-columns: 1fr; }
  .map-reset-toolbar { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .map-reset-toolbar .btn, .map-base-switch .btn { width: 100%; }
}
.map-info-compact { padding: 12px 14px; margin-bottom: 14px; }
.map-info-compact summary { cursor: pointer; color: var(--text); }
.map-info-compact summary .muted { font-weight: 400; margin-left: 6px; }
.map-info-compact[open] { padding-bottom: 14px; }
.okf-route-connector { fill: none; stroke: var(--warning); stroke-width: 3; stroke-linecap: round; stroke-dasharray: 7, 7; filter: drop-shadow(rgba(0, 0, 0, 0.45) 0px 1px 2px); pointer-events: none; }
.map-hero-compact { padding: 14px 16px; margin-bottom: 14px; }
.map-hero-compact h1 { font-size: clamp(1.8rem, 3.5vw, 3rem); margin: 0.15rem 0px 0.25rem; }
.map-hero-compact .subtitle { font-size: 1rem; margin: 0.25rem 0px 0px; }
.maps-container { max-width: min(1500px, 100%); }
.map-layout-v20 { grid-template-columns: minmax(0px, 1fr) 360px; grid-template-areas: "map results"; gap: 14px; align-items: start; }
.map-layout-v20 .map-reset-main { grid-area: map; padding: 14px; min-width: 0px; }
.map-layout-v20 .map-results-card { grid-area: results; max-height: calc(-150px + 100vh); overflow: auto; padding: 14px; position: sticky; top: 86px; }
.map-layout-v20 .map-reset-command { grid-template-columns: minmax(0px, 0.78fr) minmax(320px, 1.22fr); gap: 12px; margin-bottom: 8px; align-items: center; }
.map-layout-v20 .map-reset-command h2 { font-size: 1.18rem; margin: 0px; }
.map-layout-v20 .map-reset-command p { font-size: 0.86rem; line-height: 1.28; margin: 0.18rem 0px 0px; }
.map-layout-v20 .map-reset-toolbar { gap: 6px; margin-bottom: 8px; }
.map-layout-v20 .map-reset-toolbar .btn { padding: 6px 8px; font-size: 0.84rem; }
.map-layout-v20 .map-base-switch { gap: 6px; }
.map-route-inline { border: 1px solid var(--border); border-radius: var(--radius); background: color-mix(in srgb,var(--card2) 62%,transparent); padding: 10px; margin: 8px 0px 10px; display: grid; gap: 8px; min-width: 0px; }
.route-inline-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.route-inline-head h2 { font-size: 1rem; margin: 0px; }
.compact-route-mode { margin: 0px; padding: 6px 8px; min-width: 190px; }
.compact-route-mode select { margin-top: 2px; padding: 6px 8px; }
.route-inline-grid { display: grid; grid-template-columns: minmax(145px, 0.85fr) minmax(145px, 0.85fr) minmax(220px, 1.15fr) minmax(220px, 1.15fr) minmax(170px, 0.8fr); gap: 8px; align-items: stretch; }
.route-point-box { border: 1px solid var(--border); border-radius: var(--radius); background: color-mix(in srgb,var(--card) 72%,transparent); padding: 7px 8px; min-width: 0px; }
.route-point-box strong, .route-point-box span { display: block; }
.route-point-box span { font-size: 0.78rem; line-height: 1.25; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.route-inputs { min-width: 0px; display: grid; gap: 6px; }
.route-inputs .pin-row { gap: 6px; }
.route-inputs .input { padding: 7px 8px; font-size: 0.86rem; }
.route-inputs .btn { padding: 7px 8px; font-size: 0.82rem; }
.route-actions { display: grid; grid-template-columns: 1fr; gap: 6px; }
.route-actions .btn { padding: 7px 8px; font-size: 0.82rem; white-space: normal; }
.route-inline-bottom { display: grid; grid-template-columns: minmax(0px, 1fr) 260px; gap: 8px; align-items: start; }
.route-inline-bottom #routeOutput { max-height: 130px; overflow: auto; border: 1px solid var(--border); border-radius: var(--radius); background: color-mix(in srgb,var(--card) 60%,transparent); padding: 8px; font-size: 0.84rem; }
.route-inline-bottom #routeOutput h3 { margin: 0.1rem 0px; }
.route-inline-bottom #routeOutput ol { margin: 0.3rem 0px 0.1rem; padding-left: 1.25rem; }
.route-inline-bottom details { border: 1px solid var(--border); border-radius: var(--radius); padding: 8px; background: color-mix(in srgb,var(--card) 60%,transparent); font-size: 0.84rem; max-height: 130px; overflow: auto; }
.map-layout-v20 .map-layer-status { margin-bottom: 8px; }
.map-layout-v20 .okf-map { height: 60vh; min-height: 430px; }
.map-layout-v20 .map-result { grid-template-columns: minmax(0px, 1fr) auto; padding: 8px 9px; }
.map-layout-v20 .map-result strong { font-size: 0.9rem; }
.map-layout-v20 .map-result .map-result-address, .map-layout-v20 .map-result .map-result-contains { font-size: 0.72rem; }
@media (max-width: 1320px) {
  .route-inline-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .route-actions { grid-template-columns: repeat(3, minmax(0px, 1fr)); grid-column: 1 / -1; }
  .route-inline-bottom { grid-template-columns: 1fr; }
  .map-layout-v20 .okf-map { height: 58vh; }
}
@media (max-width: 1050px) {
  .map-layout-v20 { grid-template-columns: 1fr; grid-template-areas: "map" "results"; }
  .map-layout-v20 .map-results-card { position: static; max-height: none; }
  .map-layout-v20 .map-reset-command { grid-template-columns: 1fr; }
  .map-layout-v20 .okf-map { height: 62vh; }
}
@media (max-width: 720px) {
  .route-inline-head { display: grid; }
  .compact-route-mode { min-width: 0px; }
  .route-inline-grid { grid-template-columns: 1fr; }
  .route-actions { grid-template-columns: 1fr; }
  .map-layout-v20 .okf-map { min-height: 360px; height: 58vh; }
}
.map-topbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; flex-wrap: wrap; }
.map-quick-actions { display: flex; gap: 6px; flex-wrap: wrap; }
.map-topbar .btn { padding: 6px 8px; font-size: 0.84rem; }
.map-controls-below { margin-top: 10px; border-top: 1px solid var(--border); padding-top: 10px; }
.map-controls-below .map-reset-command { margin-bottom: 8px; }
.map-layout-v20 .okf-map { height: 66vh; min-height: 500px; }
.map-layout-v20 .map-route-inline { margin-bottom: 0px; }
.map-layout-v20 .map-layer-status { font-size: 0.82rem; padding: 7px 9px; }
.map-layout-v20 .map-reset-command h2 { font-size: 1rem; }
.map-layout-v20 .map-reset-command p { font-size: 0.8rem; }
@media (max-width: 1050px) {
  .map-layout-v20 .okf-map { height: 64vh; }
}
@media (max-width: 720px) {
  .map-topbar { display: grid; }
  .map-quick-actions, .map-base-switch { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .map-layout-v20 .okf-map { height: 58vh; min-height: 360px; }
}
.maps-container { padding-top: 14px; }
.map-hero-compact { display: none; }
.map-layout-v20 .map-reset-main { padding: 10px; }
.map-layout-v20 .okf-map { height: 72vh; min-height: 520px; }
.map-controls-below { padding-top: 8px; margin-top: 8px; }
.map-route-inline { padding: 8px; gap: 6px; }
.route-inline-grid { grid-template-columns: minmax(130px, 0.8fr) minmax(130px, 0.8fr) minmax(190px, 1fr) minmax(190px, 1fr) minmax(150px, 0.7fr); gap: 6px; }
.route-inline-bottom { grid-template-columns: minmax(0px, 1fr) 220px; }
.route-inline-bottom #routeOutput { max-height: 165px; font-size: 0.8rem; }
.directions-list { list-style: none; margin: 0.35rem 0px 0px; padding: 0px; display: grid; gap: 5px; }
.directions-list li { display: grid; grid-template-columns: 24px minmax(0px, 1fr); gap: 7px; align-items: start; border-bottom: 1px solid color-mix(in srgb,var(--border) 70%,transparent); padding: 4px 0px; }
.directions-list li:last-child { border-bottom: 0px; }
.dir-num { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 999px; background: var(--accent); color: var(--bg); font-size: 0.72rem; font-weight: 800; }
.directions-list strong { display: block; font-size: 0.82rem; line-height: 1.22; }
.directions-list span:not(.dir-num) { display: block; color: var(--muted); font-size: 0.72rem; }
.route-summary { display: flex; align-items: center; gap: 8px; }
.route-summary h3 { margin: 0px; }
.route-summary span { color: var(--muted); font-size: 0.78rem; }
.map-layout-v20 .map-results-card { max-height: calc(-96px + 100vh); top: 74px; }
.map-layout-v20 .map-reset-command { grid-template-columns: minmax(0px, 0.55fr) minmax(360px, 1.45fr); }
@media (max-width: 1320px) {
  .map-layout-v20 .okf-map { height: 66vh; }
  .route-inline-bottom { grid-template-columns: 1fr; }
  .route-inline-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .route-actions { grid-template-columns: repeat(3, minmax(0px, 1fr)); grid-column: 1 / -1; }
}
@media (max-width: 1050px) {
  .map-layout-v20 .okf-map { height: 62vh; }
  .map-layout-v20 .map-results-card { max-height: none; }
  .map-layout-v20 .map-reset-command { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .map-layout-v20 .okf-map { height: 56vh; min-height: 340px; }
  .route-inline-grid { grid-template-columns: 1fr; }
  .route-actions { grid-template-columns: 1fr; }
  .route-inline-bottom #routeOutput { max-height: 220px; }
}
.map-layout-v20 { grid-template-columns: minmax(0px, 1fr) 340px; gap: 10px; }
.maps-container { padding-top: 8px; }
.map-layout-v20 .map-reset-main { padding: 8px; }
.map-topbar { margin-bottom: 6px; }
.map-topbar .btn { padding: 5px 8px; }
.map-layer-status { display: none; }
.map-layout-v20 .okf-map { height: calc(-315px + 100vh); min-height: 390px; border-radius: var(--radius); }
.map-controls-below { margin-top: 6px; padding-top: 6px; border-top: 0px; }
.map-layout-v20 .map-reset-command { display: block; margin-bottom: 6px; }
.map-layout-v20 .map-search { width: 100%; font-size: 1.05rem; padding: 12px 14px; border-radius: var(--control-radius); }
.map-route-inline { padding: 7px; margin: 0px; gap: 5px; }
.route-inline-head { min-height: 30px; }
.route-inline-head h2 { font-size: 0.95rem; }
.compact-route-mode { padding: 4px 7px; font-size: 0.8rem; min-width: 150px; }
.compact-route-mode select { padding: 4px 7px; }
.route-inline-grid { grid-template-columns: minmax(135px, 0.8fr) minmax(135px, 0.8fr) minmax(210px, 1fr) minmax(175px, 0.85fr); gap: 5px; }
.route-inputs:nth-of-type(4) { display: none; }
.route-point-box { padding: 6px 8px; min-height: 44px; }
.route-point-box strong { font-size: 0.72rem; }
.route-point-box span { font-size: 0.72rem; }
.pin-row { gap: 5px; }
.pin-row .input, .route-inputs .input { padding: 7px 8px; font-size: 0.8rem; }
.route-inputs .btn, .route-actions .btn { padding: 7px 8px; font-size: 0.78rem; }
.route-actions { display: grid; grid-template-columns: 1fr; gap: 5px; }
.route-inline-bottom { grid-template-columns: minmax(0px, 1fr) 190px; gap: 6px; }
.route-inline-bottom #routeOutput { max-height: 104px; padding: 6px; font-size: 0.76rem; }
.route-inline-bottom details { max-height: 104px; padding: 6px; font-size: 0.76rem; }
.directions-list { gap: 3px; }
.directions-list li { grid-template-columns: 20px minmax(0px, 1fr); padding: 3px 0px; }
.dir-num { width: 19px; height: 19px; font-size: 0.65rem; }
.directions-list strong { font-size: 0.76rem; }
.directions-list span:not(.dir-num) { font-size: 0.68rem; }
.map-layout-v20 .map-results-card { padding: 10px; max-height: calc(-82px + 100vh); top: 58px; }
.map-results-card h2 { font-size: 1rem; margin-bottom: 4px; }
.map-results-card > p.muted { display: none; }
.map-results-card .card-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; margin-bottom: 6px; }
.map-results-card .card-actions .btn { padding: 6px 7px; font-size: 0.76rem; }
.map-layout-v20 .map-result { padding: 7px 8px; gap: 3px; }
.map-layout-v20 .map-result strong { font-size: 0.84rem; }
.map-layout-v20 .map-result .map-result-meta { font-size: 0.72rem; }
.map-layout-v20 .map-result .map-result-address, .map-layout-v20 .map-result .map-result-contains { font-size: 0.68rem; line-height: 1.2; }
.map-info-compact { display: none; }
@media (max-width: 1320px) {
  .map-layout-v20 .okf-map { height: calc(-355px + 100vh); min-height: 360px; }
  .route-inline-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .route-actions { grid-template-columns: repeat(3, minmax(0px, 1fr)); grid-column: 1 / -1; }
  .route-inline-bottom { grid-template-columns: 1fr; }
}
@media (max-width: 1050px) {
  .map-layout-v20 { grid-template-columns: 1fr; }
  .map-layout-v20 .okf-map { height: 58vh; }
  .map-layout-v20 .map-results-card { max-height: none; position: static; }
  .route-inputs:nth-of-type(4) { display: block; }
}
@media (max-width: 720px) {
  .map-layout-v20 .okf-map { height: 52vh; min-height: 330px; }
  .route-inline-grid { grid-template-columns: 1fr; }
  .route-actions { grid-template-columns: 1fr; }
  .route-inline-bottom #routeOutput { max-height: 180px; }
  .map-quick-actions, .map-base-switch { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
}
@supports selector(body:has(.maps-container)) {
  body:has(.maps-container) { overflow: hidden; }
}
.maps-container { height: calc(-58px + 100vh); max-width: none; width: 100%; overflow: hidden; padding: 8px 10px 10px; }
.maps-container + .footer { display: none; }
.map-layout-v20 { height: 100%; min-height: 0px; display: grid; grid-template-columns: minmax(0px, 1fr) 350px; gap: 10px; align-items: stretch; }
.map-layout-v20 .map-reset-main { position: relative; height: 100%; min-height: 0px; overflow: hidden; border: 0px; background: transparent; padding: 0px !important; }
.map-layout-v20 .okf-map { border-radius: var(--radius); background: rgb(242, 239, 229); height: 100% !important; min-height: 0px !important; }
.map-topbar { position: absolute; z-index: 40; top: 10px; left: 10px; right: 10px; padding: 6px; border: 1px solid color-mix(in srgb,var(--border) 80%,transparent); border-radius: var(--radius); background: color-mix(in srgb,var(--card) 82%,transparent); box-shadow: rgba(0, 0, 0, 0.18) 0px 10px 28px; backdrop-filter: blur(8px); margin: 0px !important; }
.map-base-switch, .map-quick-actions { gap: 5px; }
.map-topbar .btn { padding: 6px 9px; font-size: 0.82rem; }
.map-controls-below { position: absolute; z-index: 42; top: 58px; left: 10px; width: min(640px, 100% - 20px); pointer-events: none; margin: 0px !important; padding: 0px !important; border: 0px !important; }
.map-controls-below .map-reset-command, .map-controls-below .map-route-inline { pointer-events: auto; }
.map-layout-v20 .map-reset-command { padding: 8px; border: 1px solid color-mix(in srgb,var(--border) 80%,transparent); border-radius: var(--radius); background: color-mix(in srgb,var(--card) 86%,transparent); box-shadow: rgba(0, 0, 0, 0.16) 0px 10px 28px; backdrop-filter: blur(8px); display: block !important; margin: 0px 0px 6px !important; }
.map-layout-v20 .map-search { border-radius: var(--control-radius); padding: 12px 14px !important; font-size: 1.05rem !important; }
.map-route-inline { max-height: 238px; overflow: auto; border-radius: var(--radius); background: color-mix(in srgb,var(--card) 86%,transparent); box-shadow: rgba(0, 0, 0, 0.16) 0px 10px 28px; backdrop-filter: blur(8px); margin: 0px !important; padding: 8px !important; }
.route-inline-head { min-height: 28px; margin-bottom: 4px; }
.route-inline-head h2 { font-size: 0.88rem; letter-spacing: 0.02em; text-transform: uppercase; color: var(--muted); }
.compact-route-mode { min-width: 136px; padding: 3px 6px !important; }
.compact-route-mode select { padding: 3px 6px !important; }
.route-inline-grid { grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr) minmax(210px, 1.15fr) minmax(132px, 0.7fr) !important; gap: 5px !important; }
.route-point-box { min-height: 40px; padding: 5px 7px !important; }
.route-point-box strong { font-size: 0.68rem !important; }
.route-point-box span { line-height: 1.15; font-size: 0.7rem !important; }
.route-inputs:nth-of-type(4) { display: none !important; }
.pin-row .input, .route-inputs .input { padding: 6px 7px !important; font-size: 0.76rem !important; }
.route-inputs .btn, .route-actions .btn { padding: 6px 7px !important; font-size: 0.74rem !important; }
.route-actions { grid-template-columns: 1fr !important; gap: 4px !important; }
.route-inline-bottom { margin-top: 5px; grid-template-columns: 1fr !important; }
.route-inline-bottom #routeOutput { max-height: 84px !important; padding: 6px !important; font-size: 0.74rem !important; }
.route-inline-bottom details { display: none; }
.directions-list { gap: 2px !important; }
.directions-list li { grid-template-columns: 18px minmax(0px, 1fr) !important; padding: 2px 0px !important; }
.dir-num { width: 17px !important; height: 17px !important; font-size: 0.62rem !important; }
.directions-list strong { font-size: 0.72rem !important; }
.directions-list span:not(.dir-num) { font-size: 0.66rem !important; }
.map-layer-status { display: none !important; }
.map-layout-v20 .map-results-card { height: 100%; overflow: auto; border-radius: var(--radius); position: static !important; max-height: none !important; padding: 10px !important; }
.map-results-card h2 { font-size: 0.98rem; margin: 0px 0px 5px; }
.map-results-card .card-actions { gap: 5px; grid-template-columns: 1fr 1fr !important; }
.map-results-card .card-actions .btn { padding: 6px 7px; font-size: 0.74rem; }
.map-results-reset { gap: 5px; }
.map-layout-v20 .map-result { border-radius: var(--radius); padding: 7px 8px !important; }
.map-layout-v20 .map-result strong { font-size: 0.82rem !important; }
.map-layout-v20 .map-result .map-result-meta { font-size: 0.7rem !important; }
.map-layout-v20 .map-result .map-result-address, .map-layout-v20 .map-result .map-result-contains { line-height: 1.15; font-size: 0.66rem !important; }
.map-info-compact { display: none !important; }
@media (max-width: 1180px) {
  .maps-container { height: auto; overflow: auto; }
  .map-layout-v20 { height: auto; grid-template-columns: 1fr; }
  .map-layout-v20 .map-reset-main { height: calc(-72px + 100vh); min-height: 620px; }
  .map-layout-v20 .map-results-card { height: auto; max-height: 420px !important; }
  .route-inputs:nth-of-type(4) { display: block !important; }
}
@media (max-width: 720px) {
  @supports selector(body:has(.maps-container)) {
  body:has(.maps-container) { overflow: auto; }
}
  .maps-container { height: auto; overflow: auto; padding: 6px; }
  .map-layout-v20 .map-reset-main { height: 720px; min-height: 620px; }
  .map-topbar { display: grid; grid-template-columns: 1fr; position: absolute; }
  .map-base-switch, .map-quick-actions { display: grid !important; grid-template-columns: repeat(3, minmax(0px, 1fr)) !important; }
  .map-controls-below { top: 112px; width: calc(100% - 20px); }
  .route-inline-grid { grid-template-columns: 1fr !important; }
  .route-actions { grid-template-columns: 1fr !important; }
  .map-route-inline { max-height: 300px; }
}
.map-layout-v20.map-results-hidden { grid-template-columns: 1fr; }
.map-layout-v20.map-results-hidden .map-results-card { display: none; }
.map-tools-hidden .map-controls-below { display: none !important; }
.map-tools-hidden .okf-map { cursor: grab; }
.map-tools-hidden #toggleMapTools { background: var(--accent); color: var(--bg); border-color: var(--accent); }
.map-results-card { transition: opacity 0.12s; }
.map-results-hidden .map-results-card { opacity: 0; }
.map-layout-v20.map-results-hidden .map-reset-main { grid-column: 1 / -1; }
.map-layout-v20.map-results-hidden .map-topbar { right: 10px; }
.map-layout-v20.map-results-hidden .map-controls-below { width: min(720px, 100% - 20px); }
.side-back { width: 100%; margin: 0px 0px 6px; padding: 7px 8px !important; }
.map-results-card.route-mode #mapResults, .map-results-card.route-mode .card-actions, .map-results-card.route-mode .side-radius, .map-results-card.route-mode details { display: none !important; }
.map-results-card.route-mode #sideDirections { display: grid !important; }
.side-directions { gap: 6px; }
.side-directions .route-summary { display: grid; gap: 2px; }
.side-directions .directions-list { max-height: calc(-230px + 100vh); overflow: auto; }
.side-directions .directions-list li { padding: 5px 0px; }
.side-directions .directions-list strong { font-size: 0.82rem; }
.side-directions .directions-list span:not(.dir-num) { font-size: 0.72rem; }
.map-float-btn { position: absolute; z-index: 55; right: 14px; bottom: 14px; width: 42px; height: 42px; border-radius: var(--control-radius); border: 1px solid color-mix(in srgb,var(--border) 80%,transparent); background: color-mix(in srgb,var(--card) 90%,transparent); color: var(--text); font-size: 1.35rem; font-weight: 800; display: grid; place-items: center; box-shadow: rgba(0, 0, 0, 0.24) 0px 10px 26px; cursor: pointer; backdrop-filter: blur(8px); }
.map-float-btn:hover { background: var(--accent); color: var(--bg); border-color: var(--accent); }
.search-inline { display: grid; grid-template-columns: minmax(0px, 1fr) 70px; gap: 6px; align-items: center; }
.search-inline .btn { height: 100%; padding: 8px !important; }
.map-tools-fab { right: 14px; bottom: 64px; }
.map-tools-hidden .map-tools-fab { display: grid !important; }
.map-tools-hidden .map-controls-below { display: none !important; }
.search-inline { display: block !important; }
.search-inline .btn { height: auto !important; }
.map-tools-fab { position: static !important; right: auto !important; bottom: auto !important; width: auto !important; height: auto !important; border-radius: var(--radius) !important; font-size: 0.78rem !important; box-shadow: none !important; backdrop-filter: none !important; }
.map-controls-below { display: grid !important; gap: 0px !important; }
.map-controls-below .route-restore { pointer-events: auto; display: none; margin: 0px; padding: 7px 10px; font-size: 0.78rem; border-radius: 0px 0px var(--control-radius) var(--control-radius) !important; border-top: 0px !important; background: color-mix(in srgb,var(--card) 88%,transparent) !important; }
.map-tools-hidden .route-restore { width: max-content; display: inline-flex !important; }
.map-tools-hidden .map-controls-below { display: grid !important; }
.map-tools-hidden .map-route-inline { display: none !important; }
.map-tools-hidden #toggleMapTools { background: var(--surface) !important; color: var(--text) !important; border-color: var(--border) !important; }
.map-layout-v20 .map-reset-command { padding: 7px !important; margin: 0px !important; border-radius: var(--radius) var(--radius) 0px 0px !important; border-bottom: 0px !important; }
.map-layout-v20 .map-search { width: 100% !important; }
.route-head-actions { display: flex; align-items: center; gap: 6px; margin-left: auto; }
.route-hide { line-height: 1.1; padding: 4px 8px !important; font-size: 0.72rem !important; }
.route-inline-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.map-route-inline { margin: 0px !important; border-radius: 0px 0px var(--radius) var(--radius) !important; border-top: 1px solid color-mix(in srgb,var(--border) 55%,transparent) !important; box-shadow: rgba(0, 0, 0, 0.16) 0px 12px 28px !important; }
@media (max-width: 720px) {
  .route-head-actions { width: 100%; justify-content: space-between; }
  .route-inline-head { align-items: flex-start; flex-wrap: wrap; }
}
.side-route-actions { display: grid; grid-template-columns: 1fr; gap: 6px; margin-top: 8px; padding-top: 8px; border-top: 1px solid color-mix(in srgb,var(--border) 70%,transparent); }
.side-route-actions .btn { width: 100%; padding: 8px 10px; font-size: 0.8rem; }
.map-results-card.route-mode .side-route-actions { display: grid !important; }
.map-results-card:not(.route-mode) .side-route-actions { display: none !important; }
.map-controls-below { gap: 0px !important; }
.map-layout-v20 .map-reset-command { border-radius: var(--radius) !important; border-bottom: 1px solid color-mix(in srgb,var(--border) 80%,transparent) !important; }
.map-route-inline, .route-restore { display: none !important; }
.side-route-setup { display: grid; gap: 7px; margin: 8px 0px; padding: 8px; border: 1px solid color-mix(in srgb,var(--border) 75%,transparent); border-radius: var(--radius); background: color-mix(in srgb,var(--card2) 72%,transparent); }
.side-route-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.side-route-head h3 { margin: 0px; font-size: 0.9rem; text-transform: uppercase; color: var(--muted); letter-spacing: 0.02em; }
.side-route-setup .route-point-box { min-height: auto; }
.side-route-setup .pin-row { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.side-route-setup .pin-row.single { grid-template-columns: 1fr auto; }
.side-route-setup #routeOutput { max-height: 118px; overflow: auto; border: 1px solid var(--border); border-radius: var(--radius); padding: 7px; background: color-mix(in srgb,var(--card) 62%,transparent); font-size: 0.78rem; }
.side-route-setup details { font-size: 0.78rem; }
.map-results-card:not(.route-mode) .side-route-setup { display: none !important; }
.route-options { display: grid; gap: 6px; margin-bottom: 8px; }
.route-options h3 { margin: 0px; font-size: 0.9rem; }
.route-option { display: grid; grid-template-columns: minmax(0px, 1fr) auto; gap: 2px 8px; text-align: left; padding: 8px 9px; border: 1px solid var(--border); border-radius: var(--control-radius); background: color-mix(in srgb,var(--card) 72%,transparent); color: var(--text); cursor: pointer; }
.route-option strong { font-size: 0.82rem; }
.route-option span { font-size: 0.74rem; color: var(--muted); }
.route-option small { grid-column: 1 / -1; color: var(--muted); font-size: 0.68rem; }
.route-option.active { border-color: var(--accent); box-shadow: 0 0 0 1px color-mix(in srgb,var(--accent) 45%,transparent) inset; background: color-mix(in srgb,var(--accent) 16%,var(--card)); }
.route-alt-note { font-size: 0.72rem; margin: 0px; }
.okf-route-line.route-alt-0 { stroke: rgb(34, 197, 94) !important; }
.okf-route-line.route-alt-1 { stroke: rgb(56, 189, 248) !important; }
.okf-route-line.route-alt-2 { stroke: rgb(249, 115, 22) !important; }
.okf-route-line.muted-alt { opacity: 0.62; stroke-width: 4 !important; }
.okf-route-line.selected { opacity: 0.98; stroke-width: 6 !important; }
.route-start-edit { display: grid; grid-template-columns: minmax(0px, 1fr) auto; gap: 6px; margin-top: 6px; }
.route-start-results { display: grid; gap: 5px; margin-top: 6px; }
.route-start-result { display: grid; gap: 2px; text-align: left; padding: 7px 8px; border: 1px solid var(--border); border-radius: var(--radius); background: color-mix(in srgb,var(--card) 72%,transparent); color: var(--text); cursor: pointer; }
.route-start-result strong { font-size: 0.78rem; }
.route-start-result span, .route-start-result small { font-size: 0.68rem; color: var(--muted); }
.tool-output { white-space: pre-wrap; overflow: auto; max-height: 420px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--input); color: var(--text); padding: 14px; font: 13px / 1.45 ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace; }
.tools-action-grid .card label { display: block; margin: 10px 0px; }
.tools-status-grid h3 { font-size: 1.7rem; margin: 0.25rem 0px; }
[data-theme="terminus-green"] { --bg: #07110b; --surface: #0d1b12; --card: #112318; --card2: #17311f; --border: #275339; --text: #daf7df; --muted: #86b993; --accent: #4ade80; --accent2: #facc15; --warning: #fbbf24; --danger: #fb7185; --success: #22c55e; --link: #86efac; --button: #14301f; --input: #07140c; --shadow: 0 12px 32px rgba(0,0,0,.32); }
[data-theme="terminus-cyberpunk"] { --bg: #080712; --surface: #111025; --card: #171633; --card2: #211f46; --border: #403b7a; --text: #f4f1ff; --muted: #aaa2d8; --accent: #00e5ff; --accent2: #ff2bd6; --warning: #ffe66d; --danger: #ff4d6d; --success: #7cff6b; --link: #63f5ff; --button: #211f46; --input: #0d0b1e; --shadow: 0 14px 38px rgba(0,0,0,.35); }
[data-theme="tokyo-storm"] { --bg: #24283b; --surface: #292e42; --card: #2f3549; --card2: #3b4261; --border: #565f89; --text: #c0caf5; --muted: #a9b1d6; --accent: #7aa2f7; --accent2: #bb9af7; --warning: #e0af68; --danger: #f7768e; --success: #9ece6a; --link: #7dcfff; --button: #3b4261; --input: #1f2335; --shadow: 0 14px 38px rgba(0,0,0,.25); }
[data-theme="night-owl"] { --bg: #011627; --surface: #061f34; --card: #0b2942; --card2: #11344f; --border: #1d4b6d; --text: #d6deeb; --muted: #7fdbca; --accent: #82aaff; --accent2: #c792ea; --warning: #ecc48d; --danger: #ef5350; --success: #addb67; --link: #21c7a8; --button: #123a5a; --input: #01111f; --shadow: 0 14px 40px rgba(0,0,0,.33); }
[data-theme="gruvbox-light"] { color-scheme: light; --bg: #fbf1c7; --surface: #f2e5bc; --card: #ebdbb2; --card2: #d5c4a1; --border: #bdae93; --text: #3c3836; --muted: #665c54; --accent: #b57614; --accent2: #427b58; --warning: #af3a03; --danger: #9d0006; --success: #79740e; --link: #076678; --button: #e0cf9f; --input: #fff7d5; --shadow: 0 12px 32px rgba(60,56,54,.18); }
[data-theme="catppuccin-macchiato"] { --bg: #24273a; --surface: #2b3045; --card: #30364f; --card2: #3a425f; --border: #5b6078; --text: #cad3f5; --muted: #a5adcb; --accent: #8aadf4; --accent2: #f5bde6; --warning: #eed49f; --danger: #ed8796; --success: #a6da95; --link: #91d7e3; --button: #3a425f; --input: #1e2030; --shadow: 0 14px 38px rgba(0,0,0,.28); }
[data-theme="catppuccin-latte"] { color-scheme: light; --bg: #eff1f5; --surface: #e6e9ef; --card: #dce0e8; --card2: #ccd0da; --border: #acb0be; --text: #4c4f69; --muted: #6c6f85; --accent: #1e66f5; --accent2: #ea76cb; --warning: #df8e1d; --danger: #d20f39; --success: #40a02b; --link: #04a5e5; --button: #ccd0da; --input: #f8f9fb; --shadow: 0 12px 32px rgba(76,79,105,.14); }
[data-theme="rose-pine"] { --bg: #191724; --surface: #1f1d2e; --card: #26233a; --card2: #2f2a45; --border: #403d52; --text: #e0def4; --muted: #908caa; --accent: #c4a7e7; --accent2: #ebbcba; --warning: #f6c177; --danger: #eb6f92; --success: #9ccfd8; --link: #31748f; --button: #2f2a45; --input: #16141f; --shadow: 0 14px 38px rgba(0,0,0,.29); }
[data-theme="rose-pine-dawn"] { color-scheme: light; --bg: #faf4ed; --surface: #fffaf3; --card: #f2e9e1; --card2: #e6ddd4; --border: #cecacd; --text: #575279; --muted: #797593; --accent: #907aa9; --accent2: #d7827e; --warning: #ea9d34; --danger: #b4637a; --success: #56949f; --link: #286983; --button: #e6ddd4; --input: #fffaf3; --shadow: 0 12px 32px rgba(87,82,121,.13); }
[data-theme="monokai"] { --bg: #1e1f1c; --surface: #272822; --card: #2f3129; --card2: #3a3d32; --border: #55584a; --text: #f8f8f2; --muted: #c2c2b0; --accent: #a6e22e; --accent2: #66d9ef; --warning: #e6db74; --danger: #f92672; --success: #a6e22e; --link: #66d9ef; --button: #3a3d32; --input: #191a17; --shadow: 0 14px 38px rgba(0,0,0,.3); }
[data-theme="monokai-pro"] { --bg: #1f1f1f; --surface: #2d2a2e; --card: #363238; --card2: #403b42; --border: #5b5360; --text: #fcfcfa; --muted: #c1bec4; --accent: #ffd866; --accent2: #78dce8; --warning: #ff6188; --danger: #ff6188; --success: #a9dc76; --link: #78dce8; --button: #403b42; --input: #19181a; --shadow: 0 14px 38px rgba(0,0,0,.3); }
[data-theme="one-dark"] { --bg: #1e222a; --surface: #252a33; --card: #2c313c; --card2: #353b48; --border: #4b5263; --text: #abb2bf; --muted: #828997; --accent: #61afef; --accent2: #c678dd; --warning: #e5c07b; --danger: #e06c75; --success: #98c379; --link: #56b6c2; --button: #353b48; --input: #1b1f27; --shadow: 0 14px 38px rgba(0,0,0,.27); }
[data-theme="material-ocean"] { --bg: #0f111a; --surface: #151926; --card: #1b2030; --card2: #22283a; --border: #3b435c; --text: #eeffff; --muted: #8796b0; --accent: #82aaff; --accent2: #c792ea; --warning: #ffcb6b; --danger: #f07178; --success: #c3e88d; --link: #89ddff; --button: #22283a; --input: #0b0d14; --shadow: 0 14px 40px rgba(0,0,0,.34); }
[data-theme="palenight"] { --bg: #292d3e; --surface: #30354a; --card: #383e56; --card2: #444b66; --border: #59627f; --text: #bfc7d5; --muted: #959dcb; --accent: #82aaff; --accent2: #c792ea; --warning: #ffcb6b; --danger: #f07178; --success: #c3e88d; --link: #89ddff; --button: #444b66; --input: #202331; --shadow: 0 14px 38px rgba(0,0,0,.27); }
[data-theme="cobalt2"] { --bg: #002240; --surface: #07345f; --card: #0b3b68; --card2: #134c80; --border: #2a6798; --text: #ffffff; --muted: #9ec8e8; --accent: #ffc600; --accent2: #00b4ff; --warning: #ff9d00; --danger: #ff628c; --success: #3ad900; --link: #80ffbb; --button: #134c80; --input: #001b33; --shadow: 0 14px 40px rgba(0,0,0,.34); }
[data-theme="oceanic-next"] { --bg: #1b2b34; --surface: #223642; --card: #2b424f; --card2: #344f5e; --border: #4f6b78; --text: #d8dee9; --muted: #a7adba; --accent: #6699cc; --accent2: #c594c5; --warning: #fac863; --danger: #ec5f67; --success: #99c794; --link: #5fb3b3; --button: #344f5e; --input: #16232b; --shadow: 0 14px 38px rgba(0,0,0,.3); }
[data-theme="ayu-dark"] { --bg: #0b0e14; --surface: #11151c; --card: #151a23; --card2: #1f2733; --border: #303a4a; --text: #b3b1ad; --muted: #626a73; --accent: #ffb454; --accent2: #59c2ff; --warning: #ff8f40; --danger: #ff3333; --success: #aad94c; --link: #39bae6; --button: #1f2733; --input: #0a0d12; --shadow: 0 14px 38px rgba(0,0,0,.32); }
[data-theme="everforest"] { --bg: #1e2326; --surface: #272e33; --card: #2e383c; --card2: #374145; --border: #4f5b58; --text: #d3c6aa; --muted: #9da9a0; --accent: #a7c080; --accent2: #83c092; --warning: #dbbc7f; --danger: #e67e80; --success: #a7c080; --link: #7fbbb3; --button: #374145; --input: #1a1f21; --shadow: 0 14px 38px rgba(0,0,0,.29); }
[data-theme="solarized-dark"] { --bg: #002b36; --surface: #073642; --card: #0b3d49; --card2: #124956; --border: #2a5b65; --text: #eee8d5; --muted: #93a1a1; --accent: #268bd2; --accent2: #2aa198; --warning: #b58900; --danger: #dc322f; --success: #859900; --link: #2aa198; --button: #124956; --input: #00212a; --shadow: 0 14px 36px rgba(0,0,0,.27); }
[data-theme="papercolor-dark"] { --bg: #1c1c1c; --surface: #262626; --card: #303030; --card2: #3a3a3a; --border: #585858; --text: #d0d0d0; --muted: #bcbcbc; --accent: #5fafaf; --accent2: #d7af5f; --warning: #d7af5f; --danger: #d75f5f; --success: #afd700; --link: #5fafd7; --button: #3a3a3a; --input: #121212; --shadow: 0 14px 38px rgba(0,0,0,.31); }
[data-theme="tango-dark"] { --bg: #000000; --surface: #1c1c1c; --card: #262626; --card2: #303030; --border: #555753; --text: #eeeeec; --muted: #babdb6; --accent: #729fcf; --accent2: #ad7fa8; --warning: #fce94f; --danger: #ef2929; --success: #8ae234; --link: #34e2e2; --button: #303030; --input: #101010; --shadow: 0 14px 38px rgba(0,0,0,.35); }
[data-theme="tomorrow-night"] { --bg: #1d1f21; --surface: #282a2e; --card: #303236; --card2: #373b41; --border: #4f555d; --text: #c5c8c6; --muted: #969896; --accent: #81a2be; --accent2: #b294bb; --warning: #f0c674; --danger: #cc6666; --success: #b5bd68; --link: #8abeb7; --button: #373b41; --input: #181a1c; --shadow: 0 14px 38px rgba(0,0,0,.29); }
[data-theme="tomorrow-light"] { color-scheme: light; --bg: #ffffff; --surface: #f4f4f4; --card: #eaeaea; --card2: #dedede; --border: #c5c8c6; --text: #4d4d4c; --muted: #8e908c; --accent: #4271ae; --accent2: #8959a8; --warning: #eab700; --danger: #c82829; --success: #718c00; --link: #3e999f; --button: #dedede; --input: #ffffff; --shadow: 0 12px 30px rgba(77,77,76,.12); }
[data-theme="zenburn"] { --bg: #1f1f1f; --surface: #2b2b2b; --card: #333333; --card2: #3f3f3f; --border: #5f5f5f; --text: #dcdccc; --muted: #a0a090; --accent: #f0dfaf; --accent2: #8cd0d3; --warning: #dfaf8f; --danger: #cc9393; --success: #7f9f7f; --link: #93e0e3; --button: #3f3f3f; --input: #181818; --shadow: 0 14px 38px rgba(0,0,0,.31); }
[data-theme="matrix"] { --bg: #000000; --surface: #061006; --card: #0a1a0a; --card2: #0f2a0f; --border: #1f5f1f; --text: #d8ffd8; --muted: #73b873; --accent: #00ff41; --accent2: #9cff9c; --warning: #baff39; --danger: #ff4444; --success: #00ff41; --link: #66ff99; --button: #0f2a0f; --input: #000800; --shadow: 0 14px 38px rgba(0,0,0,.42); }
.native-theme-select { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; }
.theme-picker { position: relative; min-width: 190px; z-index: 80; }
.theme-picker-button { width: 100%; display: flex; align-items: center; gap: 8px; border-radius: var(--control-radius); padding: 7px 9px; cursor: pointer; font: inherit; white-space: nowrap; }
.theme-picker-dots, .theme-choice-dots { display: inline-flex; gap: 3px; align-items: center; flex: 0 0 auto; }
.theme-dot { width: 11px; height: 11px; border-radius: 999px; background: var(--dot); border: 1px solid color-mix(in srgb,var(--text) 28%,transparent); box-shadow: rgba(0, 0, 0, 0.12) 0px 0px 0px 1px; }
.theme-picker-label { overflow: hidden; text-overflow: ellipsis; }
.theme-picker-caret { margin-left: auto; color: var(--muted); }
.theme-picker-menu { position: absolute; right: 0px; top: calc(100% + 6px); width: min(330px, 90vw); max-height: 390px; overflow: auto; padding: 7px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--card); box-shadow: var(--shadow); z-index: 100; }
.theme-choice { width: 100%; display: grid; grid-template-columns: auto minmax(0px, 1fr); align-items: center; gap: 8px; text-align: left; border: 1px solid transparent; border-radius: var(--control-radius); background: transparent; color: var(--text); padding: 7px 8px; cursor: pointer; font: inherit; }
.theme-choice:hover, .theme-choice.active { background: color-mix(in srgb,var(--accent) 14%,var(--card)); border-color: color-mix(in srgb,var(--accent) 45%,var(--border)); }
.right-tools .theme-picker { min-width: 180px; }
@media (max-width: 760px) {
  .theme-picker { min-width: 150px; }
  .right-tools .theme-picker { min-width: 145px; }
  .theme-picker-menu { right: auto; left: 0px; }
}
.okf-map[data-base="road"] .okf-map-tile { filter: var(--map-road-filter,saturate(.84) contrast(1.03)); }
.okf-map[data-base="satellite"] .okf-map-tile { filter: var(--map-sat-filter,none); }
.okf-map[data-base="topo"] .okf-map-tile { filter: var(--map-topo-filter,none); }
.okf-map[data-base="road"]::after { content: ""; position: absolute; inset: 0px; pointer-events: none; background: var(--map-road-overlay,transparent); z-index: 1; mix-blend-mode: multiply; }
.okf-marker-pane, .okf-route-pane { z-index: 5; }
.okf-route-pane { z-index: 6; }
input:focus, select:focus, button:focus-visible, a:focus-visible { outline: 2px solid color-mix(in srgb,var(--accent) 70%,transparent); outline-offset: 2px; }
[data-font="soft-serif"] { --font: Georgia,'Iowan Old Style','Palatino Linotype',Palatino,serif; }
[data-font="rounded"] { --font: 'Avenir Next Rounded','Arial Rounded MT Bold','Trebuchet MS',system-ui,sans-serif; }
[data-font="field-notes"] { --font: 'Trebuchet MS','Segoe UI',system-ui,sans-serif; letter-spacing: 0.01em; }
[data-font="compact-ui"] { --font: 'Arial Narrow','Roboto Condensed','Segoe UI',system-ui,sans-serif; }
[data-font="terminal"] { --font: 'Menlo','Monaco','Cascadia Mono','Consolas','Liberation Mono',monospace; }
[data-font="blueprint"] { --font: 'Gill Sans','Trebuchet MS','Segoe UI',system-ui,sans-serif; letter-spacing: 0.015em; }
[data-font="typewriter"] { --font: 'Courier Prime','Courier New',Courier,monospace; }
.palette-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 9px; margin: 10px 0px; }
.palette-form label { display: grid; gap: 4px; color: var(--muted); font-size: 0.82rem; }
.palette-form input[type="color"] { width: 100%; height: 38px; border: 1px solid var(--border); border-radius: var(--control-radius); background: var(--input); padding: 2px; }
.custom-theme-row { display: grid; grid-template-columns: auto minmax(0px, 1fr) auto auto; gap: 8px; align-items: center; border: 1px solid var(--border); border-radius: var(--radius); padding: 8px; margin-top: 8px; background: color-mix(in srgb,var(--card2) 65%,transparent); }
.update-status { max-height: 320px; overflow: auto; display: grid; gap: 6px; }
.update-log { border: 1px solid var(--border); border-radius: var(--radius); padding: 8px; background: color-mix(in srgb,var(--card2) 70%,transparent); }
.update-log.ok { border-color: var(--success); }
.update-log.warn { border-color: var(--warning); }
.update-log.bad { border-color: var(--danger); }
.update-resource { display: grid; grid-template-columns: minmax(0px, 1fr) auto; gap: 10px; }
.update-resource code { word-break: break-all; }
@media (max-width: 760px) {
  .custom-theme-row, .update-resource { grid-template-columns: 1fr; }
  .palette-form { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
}
.theme-launcher { min-width: 185px; }
.theme-picker-menu { display: none !important; }
.settings-drawer-backdrop { position: fixed; inset: 0px; background: rgba(0, 0, 0, 0.42); z-index: 800; backdrop-filter: blur(2px); }
.settings-drawer { position: fixed; top: 0px; right: 0px; z-index: 801; width: min(430px, 94vw); height: 100vh; overflow: auto; padding: 18px; }
.drawer-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--border); padding-bottom: 12px; margin-bottom: 14px; }
.drawer-head h2 { margin: 0.25rem 0px 0px; }
.drawer-section { border-radius: var(--radius); padding: 13px; margin: 12px 0px; }
.drawer-section h3, .drawer-theme-group h3 { margin: 0.1rem 0px 0.35rem; }
.drawer-group-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 10px 0px 7px; }
.theme-tile-grid { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 7px; }
.theme-tile { display: grid; grid-template-columns: auto minmax(0px, 1fr); align-items: center; gap: 8px; text-align: left; border: 1px solid var(--border); border-radius: var(--radius); background: color-mix(in srgb,var(--card2) 72%,transparent); color: var(--text); padding: 8px 9px; cursor: pointer; font: inherit; min-height: 42px; }
.theme-tile:hover { border-color: color-mix(in srgb,var(--accent) 65%,var(--border)); background: color-mix(in srgb,var(--accent) 12%,var(--card)); }
.theme-tile.active { border-color: var(--accent); box-shadow: 0 0 0 1px color-mix(in srgb,var(--accent) 55%,transparent) inset; background: color-mix(in srgb,var(--accent) 18%,var(--card)); }
.drawer-preferences { display: grid; gap: 10px; }
.drawer-preferences label, .drawer-custom label { display: grid; gap: 5px; color: var(--muted); font-size: 0.9rem; }
.drawer-preferences select, .drawer-custom input { width: 100%; }
.settings-drawer-open { overflow: hidden; }
.theme-picker-button { min-height: 38px; }
.theme-picker-caret { font-size: 0.95rem; color: var(--accent); }
@media (max-width: 520px) {
  .theme-tile-grid { grid-template-columns: 1fr; }
  .settings-drawer { width: 100vw; }
}
.container { display: block; }
.panel, .card { padding: clamp(14px, 1.6vw, 22px); }
.grid { gap: clamp(12px, 1.45vw, 20px); }
.grid.small { gap: clamp(10px, 1.2vw, 16px); }
section + section { margin-top: clamp(18px, 2.2vw, 34px); }
.card > :first-child, .panel > :first-child { margin-top: 0px; }
.card > :last-child, .panel > :last-child { margin-bottom: 0px; }
.card p { margin: 0.45rem 0px 0.65rem; }
.section-head { margin: clamp(22px, 2.5vw, 36px) 0px 12px; }
.card-actions { gap: 10px; margin-top: 14px; }
.chip, .badge { margin: 0px; }
.tag-line { gap: 5px; }
.source-meta { gap: 6px; }
.source-card { gap: 12px !important; }
.source-card .card-actions { gap: 8px !important; }
[data-font="google-modern"] { --font: 'Product Sans','Google Sans','Roboto','Segoe UI',system-ui,sans-serif; }
[data-font="inter"] { --font: 'Inter','SF Pro Text','Segoe UI',system-ui,sans-serif; }
[data-font="humanist"] { --font: 'Segoe UI','Frutiger','Aptos','Noto Sans',system-ui,sans-serif; }
[data-font="fun-rounded"] { --font: 'Nunito','Avenir Next Rounded','Arial Rounded MT Bold','Trebuchet MS',system-ui,sans-serif; }
[data-font="comic-clean"] { --font: 'Comic Neue','Comic Sans MS','Trebuchet MS',system-ui,sans-serif; }
[data-font="marker"] { --font: 'Marker Felt','Comic Sans MS','Trebuchet MS',system-ui,sans-serif; }
.okf-map { background: rgb(90, 160, 188) !important; }
.okf-tile-pane { background: url("/maps/tiles/fallback/ocean.svg") 0% 0% / 256px 256px rgb(90, 160, 188); }
.okf-map-tile { background: rgb(90, 160, 188); will-change: transform, opacity; transition: opacity 0.12s linear; backface-visibility: hidden; transform: translateZ(0px); }
.okf-map-tile.tile-filler { background: rgb(90, 160, 188); filter: none !important; }
.okf-map-tile.road-fallback-tile { filter: var(--map-road-filter,saturate(.84) contrast(1.03)); }
@supports selector(body:has(.maps-container)) {
  body:has(.maps-container) { overflow: hidden !important; }
}
.maps-container { height: calc(-58px + 100vh) !important; max-width: none !important; width: 100% !important; overflow: hidden !important; padding: 8px 10px 10px !important; margin: 0px !important; }
.maps-container + .footer { display: none !important; }
.map-layout-v20 { height: 100% !important; min-height: 0px !important; display: grid !important; grid-template-columns: minmax(0px, 1fr) 350px !important; gap: 10px !important; align-items: stretch !important; }
.map-layout-v20.map-results-hidden { grid-template-columns: 1fr !important; }
.map-layout-v20 .map-reset-main { position: relative !important; height: 100% !important; min-height: 0px !important; overflow: hidden !important; padding: 0px !important; border: 0px !important; background: transparent !important; box-shadow: none !important; }
.map-layout-v20 .okf-map { transform: translateZ(0px); position: relative !important; display: block !important; width: 100% !important; height: 100% !important; min-height: 0px !important; border-radius: var(--radius) !important; overflow: hidden !important; background: rgb(90, 160, 188) !important; touch-action: none !important; }
.okf-tile-pane { transform: translateZ(0px); position: absolute !important; inset: 0px !important; background: url("/maps/tiles/fallback/ocean.svg") 0px 0px / 256px 256px repeat rgb(90, 160, 188) !important; z-index: 0 !important; }
.okf-marker-pane { position: absolute !important; inset: 0px !important; z-index: 6 !important; pointer-events: none !important; }
.okf-route-pane { position: absolute !important; inset: 0px !important; z-index: 5 !important; pointer-events: none !important; }
.okf-map-tile { width: 256px; height: 256px; display: block; user-select: none; -webkit-user-drag: none; will-change: transform, opacity; backface-visibility: hidden; transform: translateZ(0px); position: absolute !important; background: rgb(90, 160, 188) !important; }
.okf-map-tile.tile-filler { filter: none !important; background: url("/maps/tiles/fallback/ocean.svg") center center / 256px 256px repeat rgb(90, 160, 188) !important; opacity: 1 !important; }
.okf-map[data-base="road"] { background: rgb(219, 229, 213) !important; }
.okf-map[data-base="road"] .okf-tile-pane { background: none rgb(219, 229, 213) !important; }
.okf-map[data-base="road"] .okf-map-tile { filter: var(--map-road-filter,saturate(1.18) contrast(1.28) brightness(.96)) !important; image-rendering: auto !important; }
.okf-map[data-base="road"]::after { content: "" !important; position: absolute !important; inset: 0px !important; z-index: 1 !important; pointer-events: none !important; background: linear-gradient(0deg,rgba(0,0,0,.06),rgba(0,0,0,.06)),var(--map-road-overlay,transparent) !important; mix-blend-mode: multiply !important; }
.okf-map[data-base="satellite"] .okf-map-tile { filter: var(--map-sat-filter,saturate(1.08) contrast(1.06)) !important; }
.okf-map[data-base="topo"] .okf-map-tile { filter: var(--map-topo-filter,saturate(1.04) contrast(1.06)) !important; }
.map-topbar { position: absolute !important; z-index: 60 !important; top: 10px !important; left: 10px !important; right: 10px !important; margin: 0px !important; padding: 6px !important; display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 8px !important; flex-wrap: nowrap !important; border: 1px solid color-mix(in srgb,var(--border) 80%,transparent) !important; border-radius: var(--radius) !important; background: color-mix(in srgb,var(--card) 84%,transparent) !important; box-shadow: rgba(0, 0, 0, 0.18) 0px 10px 28px !important; backdrop-filter: blur(8px) !important; }
.map-base-switch, .map-quick-actions { display: flex !important; align-items: center !important; gap: 5px !important; flex-wrap: wrap !important; justify-content: flex-start !important; }
.map-quick-actions { justify-content: flex-end !important; }
.map-topbar .btn { padding: 6px 9px !important; font-size: 0.82rem !important; white-space: nowrap !important; }
.map-controls-below { position: absolute !important; z-index: 62 !important; top: 58px !important; left: 10px !important; width: min(640px, 100% - 20px) !important; margin: 0px !important; padding: 0px !important; border: 0px !important; display: grid !important; gap: 0px !important; pointer-events: none !important; }
.map-controls-below .map-reset-command, .map-controls-below .map-route-inline, .map-controls-below .route-restore { pointer-events: auto !important; }
.map-layout-v20 .map-reset-command { display: block !important; margin: 0px !important; padding: 7px !important; border: 1px solid color-mix(in srgb,var(--border) 80%,transparent) !important; border-radius: var(--radius) !important; background: color-mix(in srgb,var(--card) 88%,transparent) !important; box-shadow: rgba(0, 0, 0, 0.16) 0px 10px 28px !important; backdrop-filter: blur(8px) !important; }
.map-layout-v20 .map-search { width: 100% !important; box-sizing: border-box !important; padding: 12px 14px !important; font-size: 1.05rem !important; border-radius: var(--control-radius) !important; }
.map-float-btn, .map-recenter-btn { position: absolute !important; z-index: 80 !important; inset: auto 14px 14px auto !important; width: 44px !important; height: 44px !important; border-radius: var(--control-radius) !important; display: grid !important; place-items: center !important; padding: 0px !important; font-size: 1.35rem !important; line-height: 1 !important; box-shadow: rgba(0, 0, 0, 0.24) 0px 10px 26px !important; background: color-mix(in srgb,var(--card) 90%,transparent) !important; backdrop-filter: blur(8px) !important; }
.map-results-card { height: 100% !important; max-height: none !important; overflow: auto !important; position: static !important; padding: 10px !important; border-radius: var(--radius) !important; }
.map-layout-v20.map-results-hidden .map-results-card { display: none !important; }
.map-layer-status { display: none !important; }
@media (max-width: 1180px) {
  @supports selector(body:has(.maps-container)) {
  body:has(.maps-container) { overflow: auto !important; }
}
  .maps-container { height: auto !important; overflow: auto !important; }
  .map-layout-v20 { height: auto !important; grid-template-columns: 1fr !important; }
  .map-layout-v20 .map-reset-main { height: calc(-72px + 100vh) !important; min-height: 620px !important; }
  .map-results-card { height: auto !important; max-height: 430px !important; }
  .map-topbar { align-items: flex-start !important; flex-wrap: wrap !important; }
  .map-base-switch, .map-quick-actions { justify-content: flex-start !important; }
  .map-controls-below { top: 104px !important; width: calc(100% - 20px) !important; }
}
@media (max-width: 720px) {
  .maps-container { padding: 6px !important; }
  .map-layout-v20 .map-reset-main { height: 720px !important; min-height: 620px !important; }
  .map-topbar { display: grid !important; grid-template-columns: 1fr !important; }
  .map-base-switch, .map-quick-actions { display: grid !important; grid-template-columns: repeat(3, minmax(0px, 1fr)) !important; }
  .map-topbar .btn { white-space: normal !important; }
  .map-controls-below { top: 112px !important; }
  .map-recenter-btn { right: 10px !important; bottom: 10px !important; }
}
:root { --max: clamp(1240px,94vw,1760px); --content-pad: clamp(14px,1.6vw,28px); }
.nav-inner, .container, .footer { max-width: var(--max) !important; width: min(var(--max),100%) !important; }
.container { padding: clamp(18px,2vw,34px) var(--content-pad) !important; }
.nav-inner { padding-left: var(--content-pad) !important; padding-right: var(--content-pad) !important; }
.footer { padding-left: var(--content-pad) !important; padding-right: var(--content-pad) !important; }
.hero { grid-template-columns: minmax(0px, 1.65fr) minmax(320px, 0.75fr) !important; }
.hero-simple { grid-template-columns: 1fr !important; }
.grid { grid-template-columns: repeat(auto-fit, minmax(min(285px, 100%), 1fr)) !important; gap: clamp(14px, 1.2vw, 24px) !important; }
.grid.small { grid-template-columns: repeat(auto-fit, minmax(min(210px, 100%), 1fr)) !important; }
[data-source-results] { grid-template-columns: repeat(auto-fit, minmax(min(620px, 100%), 1fr)) !important; align-items: start !important; }
.source-card { min-width: 0px !important; }
.source-card .card-actions { align-self: start !important; }
.panel, .card { min-width: 0px !important; }
.subtitle { max-width: 980px !important; }
.searchbar input, .toolbar .input, [data-library-search] { width: 100% !important; min-width: 0px !important; }
@media (min-width: 1800px) {
  .grid.small { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important; }
  [data-source-results] { grid-template-columns: repeat(2, minmax(0px, 1fr)) !important; }
  .hero h1 { font-size: clamp(3rem, 4vw, 6rem) !important; }
}
@media (max-width: 900px) {
  :root { --max: 100vw; }
  .container { padding: 18px 12px !important; }
  .nav-inner { padding: 12px !important; }
  .hero { grid-template-columns: 1fr !important; }
  [data-source-results] { grid-template-columns: 1fr !important; }
}
.updates-page { display: grid !important; gap: clamp(16px, 1.4vw, 24px) !important; }
.updates-hero { display: grid; grid-template-columns: minmax(0px, 1fr) auto; gap: 18px; align-items: end; background: linear-gradient(135deg,color-mix(in srgb,var(--card) 92%,var(--accent) 8%),color-mix(in srgb,var(--surface) 94%,var(--accent2) 6%)) !important; }
.updates-hero h1 { font-size: clamp(2.2rem, 4vw, 4.8rem); line-height: 1; margin: 0.15rem 0px 0.6rem; }
.update-hero-control { display: grid; gap: 8px; justify-items: end; }
.update-hero-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.update-check-feedback { margin: 0px; max-width: 620px; font-size: 0.86rem; color: var(--muted); text-align: right; }
.update-check-feedback.working { color: var(--accent); }
.update-check-feedback.ok { color: var(--success); }
.update-check-feedback.warn { color: var(--warning); }
.update-check-feedback.bad { color: var(--danger); font-weight: 700; }
.update-dashboard-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr)); gap: clamp(12px, 1.1vw, 18px); }
.update-summary-card h3 { margin: 0.45rem 0px; }
.update-two-col { display: grid; grid-template-columns: minmax(0px, 0.95fr) minmax(360px, 0.75fr); gap: clamp(14px, 1.2vw, 22px); align-items: start; }
.update-status { max-height: 360px; overflow: auto; display: grid; gap: 8px; padding-right: 4px; }
.update-log { border: 1px solid var(--border); border-radius: var(--radius); padding: 10px; background: color-mix(in srgb,var(--card2) 72%,transparent); font-size: 0.9rem; }
.update-log.ok { border-color: color-mix(in srgb,var(--success) 70%,var(--border)); }
.update-log.warn { border-color: color-mix(in srgb,var(--warning) 78%,var(--border)); }
.update-log.bad { border-color: color-mix(in srgb,var(--danger) 78%,var(--border)); }
.download-queue { display: grid; gap: 8px; }
.queue-row { display: grid; grid-template-columns: minmax(0px, 1fr) auto; gap: 10px; align-items: center; border: 1px solid var(--border); border-radius: var(--radius); padding: 10px; background: color-mix(in srgb,var(--card2) 66%,transparent); }
.queue-row span { display: block; color: var(--muted); font-size: 0.84rem; }
.update-groups { display: grid; gap: 24px; }
.update-group .section-head { margin-top: 0px !important; }
.update-resource-grid { grid-template-columns: repeat(auto-fit, minmax(min(420px, 100%), 1fr)) !important; }
.update-resource-card { display: grid; grid-template-columns: minmax(0px, 1fr) auto; gap: 14px; align-items: start; }
.update-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.update-card-head h3 { margin: 0px; }
.update-meta { display: grid; grid-template-columns: 90px minmax(0px, 1fr); gap: 4px 10px; margin: 10px 0px 0px; font-size: 0.86rem; }
.update-meta dt { color: var(--muted); font-weight: 700; }
.update-meta dd { margin: 0px; min-width: 0px; }
.update-meta code { white-space: normal; word-break: break-word; color: var(--accent); }
.update-resource-actions { grid-column: 1 / -1; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; padding-top: 11px; border-top: 1px solid color-mix(in srgb,var(--border) 72%,transparent); display: flex !important; }
.update-result-list { display: grid; gap: 10px; }
.update-result-card { border: 1px solid var(--border); border-radius: var(--radius); padding: 12px; background: color-mix(in srgb,var(--card2) 70%,transparent); }
.update-result-card h3 { margin: 0px; }
.update-result-card p { margin: 0.45rem 0px; }
.update-result-card .nested-control { margin-top: 10px; }
.update-result-body { padding: 10px; }
.update-version-line { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 8px; }
.update-version-line > div { border: 1px solid color-mix(in srgb,var(--border) 72%,transparent); border-radius: var(--radius); padding: 8px; }
.update-version-line span { display: block; color: var(--muted); font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; }
.update-technical-list > summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.update-technical-list .codex-tool-body { padding: 12px; }
.update-summary-card h3 span { font-variant-numeric: tabular-nums; }
.update-source-state { font-size: 0.84rem; color: var(--muted); }
.update-result-group { display: grid; gap: 8px; }
.update-result-group + .update-result-group { margin-top: 18px; padding-top: 16px; border-top: 1px solid color-mix(in srgb,var(--border) 72%,transparent); }
.update-result-group > .section-label { margin: 0px; }
.update-result-card .update-card-head > div:first-child { display: grid; gap: 6px; min-width: 0px; }
.update-result-card .chip, .update-resource-card .chip { justify-self: start; }
.update-result-card .update-card-head > .badge { flex: 0 0 auto; }
.update-automation-panel { display: grid; grid-template-columns: minmax(0px, 1fr) minmax(280px, 0.6fr); gap: 18px; align-items: start; }
.update-auto-controls { display: grid; gap: 10px; }
.update-auto-controls .check-card { margin: 0px; }
.update-auto-controls .btn { justify-self: start; }
.update-budget-input { display: grid; grid-template-columns: minmax(0px, 1fr) auto; align-items: center; gap: 8px; margin-top: 5px; }
.update-budget-input > span { color: var(--muted); font-weight: 700; }
.update-auto-scope { margin: 0px; }
.update-auto-scope > summary { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.update-auto-resource-list { display: grid; gap: 7px; }
.update-auto-resource { display: flex; gap: 9px; align-items: flex-start; border: 1px solid var(--border); border-radius: var(--radius); padding: 9px; background: color-mix(in srgb,var(--card2) 68%,transparent); }
.update-auto-resource input { margin-top: 3px; }
.update-auto-resource span { display: grid; gap: 2px; }
.update-auto-resource small { color: var(--muted); }
.update-auto-scope-note { border: 1px solid color-mix(in srgb,var(--border) 76%,transparent); border-radius: var(--radius); padding: 10px; background: color-mix(in srgb,var(--card2) 58%,transparent); }
.update-auto-scope-note .section-label { margin: 0px; }
.update-auto-scope-note p { margin: 0.45rem 0px 0px; }
.update-card-auto { display: flex; align-items: flex-start; gap: 9px; margin-top: 12px; border: 1px solid color-mix(in srgb,var(--accent) 36%,var(--border)); border-radius: var(--radius); padding: 10px; background: color-mix(in srgb,var(--accent) 7%,var(--card2)); cursor: pointer; }
.update-card-auto input { margin-top: 3px; }
.update-card-auto span { display: grid; gap: 2px; }
.update-card-auto strong { font-size: 0.88rem; }
.update-card-auto small { color: var(--muted); font-size: 0.78rem; }
.update-card-auto.is-loading { opacity: 0.72; cursor: wait; }
.update-result-card > .update-card-auto { margin: 10px 0px; }
.update-card-release { display: grid; gap: 2px; margin-top: 7px; padding: 8px 10px; border-left: 3px solid color-mix(in srgb,var(--accent) 58%,var(--border)); background: color-mix(in srgb,var(--card2) 60%,transparent); border-radius: 0px var(--radius) var(--radius) 0px; }
.update-card-release strong { font-size: 0.8rem; }
.update-card-release small { color: var(--muted); font-size: 0.76rem; }
.update-card-release code { font-size: 0.72rem; color: var(--muted); overflow-wrap: anywhere; }
.update-result-card > .update-card-release { margin: 0px 0px 10px; }
@media (max-width: 1050px) {
  .updates-hero, .update-two-col, .update-automation-panel { grid-template-columns: 1fr; }
  .update-hero-control { justify-items: start; }
  .update-hero-actions { justify-content: flex-start; }
  .update-check-feedback { text-align: left; }
  .update-dashboard-grid { grid-template-columns: 1fr; }
  .update-resource-card { grid-template-columns: 1fr; }
  .update-resource-card .card-actions { display: flex !important; }
}
.maps-container { max-width: none !important; width: 100% !important; height: calc(-58px + 100vh) !important; padding: 8px 10px 10px !important; margin: 0px !important; overflow: hidden !important; }
@media (max-width: 1180px) {
  .maps-container { height: auto !important; overflow: auto !important; }
}
.btn:not(.secondary), button.primary, .nav-link.active { font-weight: 750 !important; }
.btn.secondary, .button.secondary { background-position-x:  !important; background-position-y:  !important; background-size:  !important; background-repeat:  !important; background-attachment:  !important; background-origin:  !important; background-clip:  !important; }
.card .btn, .panel .btn { min-height: 36px; }
.app-shell:has(.maps-container) { height: 100vh !important; min-height: 100vh !important; overflow: hidden !important; }
.app-shell:has(.maps-container) .topbar { height: auto !important; flex: 0 0 auto !important; }
.map-runtime-error { position: absolute; z-index: 200; left: 50%; top: 50%; transform: translate(-50%, -50%); max-width: min(680px, 100% - 36px); border: 2px solid var(--danger); border-radius: var(--radius); background: color-mix(in srgb,var(--card) 94%,var(--danger) 6%); color: var(--text); padding: 16px 18px; box-shadow: rgba(0, 0, 0, 0.45) 0px 18px 60px; font-weight: 800; text-align: center; }
.okf-tile-pane:empty::before { content: ""; position: absolute; inset: 0px; background: url("/maps/tiles/fallback/ocean.svg") 0px 0px / 256px 256px repeat rgb(90, 160, 188); z-index: 0; }
.maps-container { padding: 0px 10px 10px !important; height: calc(-50px + 100vh) !important; }
.map-hero-compact { display: none !important; margin: 0px !important; padding: 0px !important; height: 0px !important; min-height: 0px !important; border: 0px !important; overflow: hidden !important; }
.maps-container > section { margin-top: 0px !important; }
#mapApp { margin-top: 0px !important; }
.map-layout-v20 .map-reset-main { margin-top: 0px !important; }
@media (max-width: 1180px) {
  .maps-container { padding-top: 0px !important; height: auto !important; }
}
@supports selector(body:has(.maps-container)) {
  body:has(.maps-container) { overflow: hidden !important; }
}
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0px !important; margin: -1px !important; overflow: hidden !important; clip: rect(0px, 0px, 0px, 0px) !important; white-space: nowrap !important; border: 0px !important; }
.wiki-nav-panel { display: flex !important; flex-direction: column !important; }
.wiki-keyboard-hint { margin: -6px 0px 10px !important; font-size: 0.76rem !important; color: color-mix(in srgb,var(--card-text,var(--text)) 58%,var(--muted)) !important; }
.wiki-keyboard-hint kbd { display: inline-grid; place-items: center; min-width: 22px; min-height: 20px; padding: 0px 5px; border-bottom-width: 2px; border-radius: var(--control-radius); background: color-mix(in srgb,var(--card2) 78%,var(--bg) 22%); color: var(--card-text,var(--text)); font: 700 0.72rem / 1 ui-monospace, SFMono-Regular, Menlo, monospace; }
.wiki-actions-uniform { margin-bottom: 10px !important; }
.wiki-browse { margin-top: 4px !important; border: 0px !important; background: transparent !important; overflow: visible !important; }
.wiki-browse > summary { min-height: 42px !important; padding: 7px 9px !important; border: 1px solid var(--border) !important; border-radius: var(--control-radius) !important; background: color-mix(in srgb,var(--card2) 68%,transparent) !important; font-size: 0.9rem !important; font-weight: 800 !important; cursor: pointer !important; }
.wiki-browse[open] > summary { border-color: color-mix(in srgb,var(--accent) 40%,var(--border)) !important; }
.wiki-recents { margin: 3px 0px 8px; padding: 9px; border: 1px solid color-mix(in srgb,var(--border) 82%,var(--accent) 18%); border-radius: var(--radius); background: color-mix(in srgb,var(--card2) 64%,transparent); }
.wiki-recents-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 7px; }
.wiki-recents-head h2 { letter-spacing: 0.02em; margin: 0px !important; font-size: 0.82rem !important; }
.wiki-recents-head button { border: 0px; background: transparent; color: var(--accent); cursor: pointer; padding: 4px 5px; border-radius: var(--control-radius); }
.wiki-recents-head button:hover { background: color-mix(in srgb,var(--accent) 12%,transparent); }
.wiki-recent-list { display: flex; gap: 5px; overflow: auto; padding: 1px; }
.wiki-recent-list button { flex: 0 0 auto; max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; border: 1px solid var(--border); border-radius: var(--control-radius); background: color-mix(in srgb,var(--card) 78%,transparent); color: var(--card-text,var(--text)); padding: 6px 8px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 0.76rem; cursor: pointer; }
.wiki-recent-list button:hover { border-color: var(--accent); }
.wiki-tabs { align-items: center !important; }
.wiki-tab-item { display: grid; grid-template-columns: minmax(0px, 1fr) auto; align-items: center; flex: 0 0 auto; max-width: 250px; border: 1px solid var(--border); border-radius: var(--control-radius); background: color-mix(in srgb,var(--card2) 76%,transparent); overflow: hidden; }
.wiki-tab-item:has(.wiki-tab.active) { border-color: color-mix(in srgb,var(--warning) 48%,var(--accent)); background: color-mix(in srgb,var(--accent) 14%,var(--card)); }
.wiki-tab-item .wiki-tab { max-width: 210px !important; border: 0px !important; border-radius: 0px !important; background: transparent !important; padding-right: 5px !important; box-shadow: none !important; }
.wiki-tab-close { display: grid; place-items: center; width: 30px; height: 30px; margin-right: 3px; border: 0px; border-radius: var(--control-radius); background: transparent; color: var(--text); cursor: pointer; }
.wiki-tab-close:hover, .wiki-tab-close:focus-visible { background: color-mix(in srgb,var(--danger,#ef4444) 18%,transparent); color: color-mix(in srgb,var(--text) 72%,#ff8787 28%); }
.wiki-reader-buttons .btn:disabled { cursor: not-allowed !important; opacity: 0.42 !important; filter: saturate(0.5) !important; transform: none !important; }
.wiki-reader-buttons .btn:focus-visible, .wiki-tab:focus-visible, .wiki-tab-close:focus-visible, .wiki-section-links button:focus-visible, .wiki-related-list button:focus-visible, .wiki-recent-list button:focus-visible { outline: 2px solid var(--accent) !important; outline-offset: 2px !important; }
[data-wiki-status][data-state="loading"] { color: color-mix(in srgb,var(--accent) 76%,var(--text)) !important; }
[data-wiki-status][data-state="warning"] { color: var(--warning) !important; opacity: 1 !important; }
.wiki-embed-fallback .btn { display: inline-flex; margin-top: 4px; }
@media (max-width: 1100px) {
  .wiki-browse > .wiki-section-stack { margin-top: 7px !important; }
}
@media (max-width: 720px) {
  .okf-mobile-ui .wiki-keyboard-hint { display: none !important; }
  .okf-mobile-ui .wiki-actions-uniform { margin-bottom: 5px !important; }
  .okf-mobile-ui .wiki-browse { margin-top: 5px !important; }
  .okf-mobile-ui .wiki-browse > summary { min-height: 34px !important; padding: 5px 7px !important; font-size: 0.75rem !important; border-radius: var(--control-radius) !important; }
  .okf-mobile-ui .wiki-browse > .wiki-section-stack { margin-top: 5px !important; max-height: 24dvh !important; }
  .okf-mobile-ui .wiki-recents { margin: 3px 0px 4px !important; padding: 6px !important; }
  .okf-mobile-ui .wiki-recents-head { margin-bottom: 4px !important; }
  .okf-mobile-ui .wiki-recents-head h2 { font-size: 0.74rem !important; }
  .okf-mobile-ui .wiki-recent-list button { font-size: 0.69rem !important; padding: 5px 7px !important; }
  .okf-mobile-ui .wiki-reader-buttons { grid-template-columns: repeat(5, minmax(0px, 1fr)) !important; }
  .okf-mobile-ui .wiki-reader-buttons .btn { font-size: 0.6rem !important; padding: 5px 2px !important; }
  .okf-mobile-ui .wiki-tab-item { max-width: 175px !important; }
  .okf-mobile-ui .wiki-tab-item .wiki-tab { max-width: 140px !important; }
  .okf-mobile-ui .wiki-tab-close { width: 27px; height: 27px; margin-right: 2px; }
}
@media (prefers-reduced-motion: reduce) {
  .wiki-tab-close, .wiki-recent-list button, .wiki-section-links button, .wiki-related-list button { transition: none !important; }
}
.app-shell:has(.maps-container) { height: 100vh !important; min-height: 100vh !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; }
.app-shell:has(.maps-container) .topbar { flex: 0 0 auto !important; position: relative !important; z-index: 100 !important; }
.maps-container { flex: 1 1 auto !important; height: auto !important; min-height: 0px !important; max-width: none !important; width: 100% !important; margin: 0px !important; padding: 0px !important; overflow: hidden !important; }
.maps-container > section { margin: 0px !important; }
#mapApp.map-layout-v20 { height: 100% !important; min-height: 0px !important; width: 100% !important; margin: 0px !important; gap: 0px !important; align-items: stretch !important; }
.map-layout-v20.map-results-hidden { grid-template-columns: 1fr !important; }
.map-layout-v20:not(.map-results-hidden) { grid-template-columns: minmax(0px, 1fr) 350px !important; }
.map-layout-v20 .map-reset-main { height: 100% !important; min-height: 0px !important; margin: 0px !important; padding: 0px !important; border: 0px !important; border-radius: 0px !important; background: transparent !important; box-shadow: none !important; overflow: hidden !important; }
.map-layout-v20 .okf-map { height: 100% !important; min-height: 0px !important; width: 100% !important; border: 0px !important; border-radius: 0px !important; box-shadow: none !important; background: rgb(90, 160, 188) !important; }
.map-layout-v20 .map-results-card { border-radius: 0px !important; border-top: 0px !important; border-bottom: 0px !important; border-right: 0px !important; height: 100% !important; max-height: none !important; }
.map-topbar { top: 10px !important; left: 10px !important; right: 10px !important; }
.map-controls-below { top: 58px !important; left: 10px !important; }
.map-recenter-btn, .map-float-btn { right: 16px !important; bottom: 16px !important; }
@media (max-width: 1180px) {
  body:has(.maps-container) { overflow: auto !important; }
  .app-shell:has(.maps-container) { height: auto !important; min-height: 100vh !important; overflow: visible !important; }
  .maps-container { height: auto !important; overflow: visible !important; }
  #mapApp.map-layout-v20 { height: auto !important; grid-template-columns: 1fr !important; }
  .map-layout-v20 .map-reset-main { height: calc(-58px + 100vh) !important; min-height: 620px !important; }
  .map-layout-v20 .map-results-card { height: auto !important; max-height: 430px !important; border-radius: 0px !important; }
}
body { font-synthesis-weight: none; -webkit-font-smoothing: antialiased; text-rendering: optimizelegibility; }
.brand { letter-spacing: 0.025em; text-shadow: 0 0 22px color-mix(in srgb,var(--theme-glow,var(--accent)) 28%,transparent); }
.panel, .card, .settings-drawer, .update-summary-card { background: linear-gradient(145deg,color-mix(in srgb,var(--theme-gradient-a,var(--accent)) 5%,transparent),transparent 42%),
  linear-gradient(180deg,color-mix(in srgb,var(--card) 94%,var(--theme-gradient-b,var(--accent2)) 6%),color-mix(in srgb,var(--card) 92%,var(--bg) 8%)); border-color: color-mix(in srgb,var(--border) 82%,var(--theme-glow,var(--accent)) 18%); box-shadow: 0 0 0 1px color-mix(in srgb,var(--theme-gradient-a,var(--accent)) 7%,transparent),var(--shadow); }
.hero .panel, .updates-hero, .search-workspace { background: radial-gradient(circle at 14% 10%,color-mix(in srgb,var(--theme-gradient-a,var(--accent)) 16%,transparent),transparent 42%),
  radial-gradient(circle at 92% 0%,color-mix(in srgb,var(--theme-gradient-b,var(--accent2)) 16%,transparent),transparent 36%),
  linear-gradient(150deg,color-mix(in srgb,var(--surface) 84%,var(--bg) 16%),color-mix(in srgb,var(--card) 90%,var(--theme-gradient-c,var(--link)) 10%)); }
.btn, .nav-link, .icon-btn, .tab, .filter, button { transition: background 0.12s, border-color 0.12s, transform 0.08s, box-shadow 0.12s; }
.btn:hover, .nav-link:hover, .icon-btn:hover, .tab:hover, .filter:hover { transform: translateY(-1px); }
.theme-picker-button { min-width: 198px; }
.theme-picker-dots, .theme-choice-dots { display: inline-flex; gap: 2px; align-items: center; flex: 0 0 auto; }
.theme-choice-dots { width: 74px; flex-wrap: wrap; line-height: 0; }
.theme-dot { width: 9px; height: 9px; border-radius: 999px; background: var(--dot); border: 1px solid color-mix(in srgb,var(--text) 26%,transparent); box-shadow: 0 0 0 1px rgba(0,0,0,.12),0 0 8px color-mix(in srgb,var(--dot) 30%,transparent); }
.theme-tile-grid { grid-template-columns: repeat(auto-fill, minmax(178px, 1fr)); gap: 8px; }
.theme-tile { grid-template-columns: 78px minmax(0px, 1fr); min-height: 54px; padding: 9px 10px; background: linear-gradient(135deg,color-mix(in srgb,var(--card2) 82%,var(--theme-gradient-a,var(--accent)) 7%),color-mix(in srgb,var(--card) 90%,var(--theme-gradient-b,var(--accent2)) 5%)); overflow: hidden; }
.theme-tile-body { display: grid; gap: 1px; min-width: 0px; }
.theme-tile-name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: 740; }
.theme-tile small { color: var(--muted); font-size: 0.68rem; }
.theme-tile.active { border-color: var(--accent); box-shadow: 0 0 0 1px color-mix(in srgb,var(--accent) 65%,transparent) inset,0 0 24px color-mix(in srgb,var(--theme-glow,var(--accent)) 18%,transparent); background: linear-gradient(135deg,color-mix(in srgb,var(--accent) 20%,var(--card)),color-mix(in srgb,var(--accent2) 13%,var(--card2))); }
.settings-drawer { width: min(520px, 96vw); }
[data-font="system"] .brand, [data-font="google-modern"] .brand, [data-font="inter"] .brand { font-family: "SF Pro Display", "Segoe UI", system-ui, sans-serif; }
[data-font="terminal"] .brand, [data-font="technical"] .brand { font-family: Menlo, Monaco, "Cascadia Mono", Consolas, monospace; letter-spacing: 0.01em; }
@media (max-width: 720px) {
  .theme-tile-grid { grid-template-columns: 1fr; }
  .theme-choice-dots { width: 64px; }
  .theme-picker-button { min-width: 150px; }
}
.main-nav .nav-link[href="/"], .main-nav .nav-link[href="http://192.168.1.234:18080/"] { display: none !important; }
.right-tools { gap: 10px; align-items: center; }
.top-search { display: flex; align-items: center; gap: 6px; min-width: min(360px, 32vw); max-width: 460px; }
.top-search input { width: 100%; min-width: 160px; border: 1px solid var(--border); background: linear-gradient(180deg,color-mix(in srgb,var(--input) 92%,var(--ansi-black,var(--bg)) 8%),var(--input)); color: var(--text); border-radius: var(--control-radius); padding: 9px 13px; font: inherit; box-shadow: inset 0 1px 0 color-mix(in srgb,var(--text) 5%,transparent); }
.top-search input::placeholder { color: color-mix(in srgb,var(--muted) 82%,transparent); }
.top-search .icon-btn { width: 38px; height: 38px; border-radius: var(--control-radius); flex: 0 0 auto; font-size: 1.05rem; }
.theme-launcher.topbar-theme, .right-tools > .theme-picker { display: none !important; }
@media (max-width: 980px) {
  .nav-inner { align-items: stretch; }
  .right-tools { width: 100%; display: grid; grid-template-columns: minmax(0px, 1fr) auto; }
  .top-search { min-width: 0px; max-width: none; width: 100%; }
  .main-nav { order: 3; }
}
@media (max-width: 560px) {
  .top-search input { min-width: 0px; }
  .nav-inner { gap: 10px; }
  .main-nav { gap: 6px; }
  .nav-link { padding: 7px 9px; }
}
.theme-drawer-section { display: grid; gap: 10px; }
.drawer-section-title { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.drawer-section-title h3 { margin: 0px; }
.theme-search { width: 100%; border-radius: var(--control-radius); padding: 10px 12px; }
.drawer-theme-group { border: 1px solid color-mix(in srgb,var(--border) 82%,var(--theme-glow,var(--accent)) 18%); border-radius: var(--radius); background: color-mix(in srgb,var(--card2) 68%,transparent); margin: 8px 0px; overflow: hidden; }
.drawer-theme-group > summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px; font-weight: 800; color: var(--text); background: linear-gradient(90deg,color-mix(in srgb,var(--card2) 82%,var(--theme-gradient-a,var(--accent)) 8%),color-mix(in srgb,var(--card) 92%,transparent)); }
.drawer-theme-group > summary::-webkit-details-marker { display: none; }
.drawer-theme-group > summary::before { content: "›"; font-size: 1.15rem; color: var(--accent); transition: transform 0.12s; }
.drawer-theme-group[open] > summary::before { transform: rotate(90deg); }
.drawer-theme-group > summary span:first-child { margin-right: auto; }
.compact-empty { padding: 0px 12px 12px; margin: 0px; }
.drawer-theme-group .theme-tile-grid { padding: 10px; grid-template-columns: repeat(auto-fill, minmax(132px, 1fr)); gap: 8px; }
.drawer-theme-group .theme-tile { grid-template-rows: auto auto; gap: 7px; align-items: start; text-align: left; min-height: 62px; padding: 10px; background: linear-gradient(155deg,color-mix(in srgb,var(--card2) 84%,var(--theme-gradient-a,var(--accent)) 7%),color-mix(in srgb,var(--card) 90%,var(--theme-gradient-b,var(--accent2)) 5%)); display: grid !important; grid-template-columns: 1fr !important; }
.drawer-theme-group .theme-tile-name { display: block; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: 760; line-height: 1.15; }
.drawer-theme-group .theme-choice-dots-below { width: 100%; display: grid; grid-template-columns: repeat(8, 1fr); gap: 3px; }
.drawer-theme-group .theme-choice-dots-below .theme-dot { width: 100%; height: 8px; border-radius: 999px; }
.drawer-theme-group .theme-tile small, .theme-tile-body { display: none !important; }
@media (max-width: 520px) {
  .drawer-theme-group .theme-tile-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .drawer-theme-group .theme-choice-dots-below { grid-template-columns: repeat(4, 1fr); }
}
.top-search { min-width: min(440px, 36vw); max-width: 540px; }
.top-search input { border-radius: var(--control-radius) !important; padding: 10px 14px !important; }
@media (max-width: 980px) {
  .top-search { min-width: 0px; max-width: none; }
}
.nav-inner { max-width: none !important; width: 100% !important; display: grid !important; grid-template-columns: auto max-content minmax(0px, 1fr) auto !important; align-items: center !important; gap: 12px !important; padding: 10px 16px !important; }
.nav-drawer-toggle { grid-column: 1; width: 42px; height: 42px; border-radius: var(--control-radius) !important; font-size: 1.15rem !important; }
.brand { grid-column: 2; white-space: nowrap; }
.right-tools { grid-column: 3 / 5 !important; display: grid !important; grid-template-columns: minmax(0px, 1fr) auto !important; width: 100% !important; justify-self: stretch !important; align-items: center !important; gap: 10px !important; }
.top-search { width: 100% !important; min-width: 0px !important; max-width: none !important; }
.top-search input { width: 100% !important; min-width: 0px !important; }
.main-nav.nav-drawer-panel { position: fixed !important; z-index: 760 !important; top: 0px !important; left: 0px !important; bottom: 0px !important; width: min(320px, 86vw) !important; height: 100vh !important; padding: 18px !important; display: flex !important; flex-direction: column !important; align-items: stretch !important; gap: 9px !important; transform: translateX(-106%) !important; transition: transform 0.18s !important; overflow: auto !important; }
.main-nav.nav-drawer-panel::before { content: "Navigation"; display: block; font-weight: 850; font-size: 0.82rem; letter-spacing: 0.08em; text-transform: uppercase; padding: 4px 4px 10px; margin-bottom: 8px; }
.nav-drawer-open .main-nav.nav-drawer-panel { transform: translateX(0px) !important; }
.main-nav.nav-drawer-panel .nav-link { width: 100% !important; justify-content: flex-start !important; padding: 12px 13px !important; border-radius: var(--control-radius) !important; font-size: 0.98rem !important; }
.nav-drawer-backdrop { position: fixed; inset: 0px; z-index: 740; background: rgba(0, 0, 0, 0.42); backdrop-filter: blur(2px); }
.nav-drawer-backdrop[hidden] { display: none !important; }
.nav-drawer-open { overflow: hidden; }
.nav-drawer-open .nav-drawer-toggle { background: var(--accent) !important; color: var(--accent-text) !important; border-color: var(--accent) !important; }
.app-shell:has(.maps-container) .topbar { z-index: 720 !important; }
.settings-drawer, .settings-drawer-backdrop { z-index: 900 !important; }
@media (max-width: 820px) {
  .nav-inner { grid-template-columns: auto minmax(0px, max-content) minmax(0px, 1fr) auto !important; align-items: center !important; }
  .brand { overflow: hidden; text-overflow: ellipsis; }
  .right-tools { grid-area: 2 / 1 / auto / -1 !important; }
  .nav-drawer-toggle { grid-area: 1 / 1 !important; }
  .brand { grid-area: 1 / 2 / auto / 4 !important; }
  .settings-control { grid-area: 1 / 4 !important; }
  .right-tools .settings-control { position: absolute; right: 16px; top: 10px; }
  .top-search { grid-column: 1 / -1 !important; }
}
@media (max-width: 560px) {
  .nav-inner { padding: 8px 10px !important; }
  .brand { font-size: 0.95rem; }
  .nav-drawer-toggle { width: 38px; height: 38px; }
  .top-search input { padding: 9px 12px !important; }
}
.topbar { z-index: 820 !important; }
.main-nav.nav-drawer-panel { z-index: 830 !important; pointer-events: auto !important; }
.nav-drawer-backdrop { z-index: 800 !important; }
.nav-drawer-toggle { position: relative; z-index: 835 !important; pointer-events: auto !important; }
.main-nav.nav-drawer-panel .nav-link { pointer-events: auto !important; }
.app-shell:has(.maps-container) .topbar { z-index: 820 !important; }
.settings-drawer-backdrop { z-index: 900 !important; }
.settings-drawer { z-index: 910 !important; }
body > .main-nav.nav-drawer-panel { z-index: 860 !important; }
.nav-drawer-backdrop { z-index: 850 !important; }
.nav-drawer-toggle { z-index: 870 !important; }
.settings-drawer-backdrop { z-index: 900 !important; }
.settings-drawer { z-index: 910 !important; }
#baseTopo[disabled] { opacity: 0.55; cursor: not-allowed; filter: saturate(0.55); }
.map-topbar { right: auto !important; width: auto !important; max-width: min(760px, 100% - 20px) !important; }
.map-quick-actions { margin-left: auto; }
.theme-drawer-section .drawer-section-title .chip { display: none; }
.theme-preview-grid { grid-template-columns: repeat(auto-fill, minmax(154px, 1fr)) !important; gap: 10px !important; }
.theme-preview-tile { display: grid !important; grid-template-columns: 1fr !important; gap: 8px !important; align-items: stretch !important; padding: 9px !important; min-height: 132px !important; text-align: left !important; }
.theme-preview-tile:hover { transform: translateY(-1px); }
.theme-preview-window { display: grid; grid-template-rows: auto 1fr auto; gap: 6px; height: 84px; border-radius: var(--radius); padding: 8px; overflow: hidden; }
.theme-preview-titlebar { display: flex; gap: 4px; }
.theme-preview-titlebar i { display: block; width: 7px; height: 7px; border-radius: 999px; }
.theme-preview-titlebar i:nth-child(1) { background: var(--pv-danger); }
.theme-preview-titlebar i:nth-child(2) { background: var(--pv-warning); }
.theme-preview-titlebar i:nth-child(3) { background: var(--pv-success); }
.theme-preview-body { display: grid; gap: 5px; background: var(--pv-card); border: 1px solid var(--pv-border); border-radius: var(--radius); padding: 7px; }
.theme-preview-line { display: block; height: 6px; border-radius: 999px; background: color-mix(in srgb,var(--pv-text) 62%,transparent); }
.theme-preview-line.mid { width: 60%; background: color-mix(in srgb,var(--pv-muted) 70%,transparent); }
.theme-preview-line.long { width: 86%; }
.theme-preview-row { display: grid; grid-template-columns: 1fr 26px; gap: 6px; align-items: center; }
.theme-preview-row b { display: block; height: 8px; border-radius: var(--radius); background: color-mix(in srgb,var(--pv-accent2) 70%,transparent); }
.theme-preview-row em { display: block; height: 14px; border-radius: 6px; background: var(--pv-accent); box-shadow: 0 0 12px color-mix(in srgb,var(--pv-accent) 34%,transparent); }
.theme-preview-swatches { display: grid !important; grid-template-columns: repeat(8, 1fr) !important; gap: 3px !important; width: 100% !important; }
.theme-preview-swatches .theme-dot { width: 100% !important; height: 5px !important; border-radius: 999px !important; border: 0px !important; box-shadow: none !important; }
.theme-card-label { font-weight: 760; line-height: 1.18; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-align: center; }
.drawer-theme-group > summary { font-size: 0.94rem; }
.drawer-theme-group[open] > summary { border-bottom: 1px solid color-mix(in srgb,var(--border) 78%,var(--accent) 22%); }
@media (max-width: 520px) {
  .theme-preview-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)) !important; }
  .theme-preview-tile { min-height: 122px !important; }
  .theme-preview-window { height: 74px; }
}
.brand { display: inline-flex !important; align-items: center !important; gap: 10px !important; font-weight: 850 !important; letter-spacing: 0.02em !important; text-decoration: none !important; color: var(--text) !important; }
.brand::before { content: ""; display: inline-block; width: 30px; height: 30px; flex: 0 0 30px; background: url("thelantern-logo-mark.svg") center center / contain no-repeat; filter: drop-shadow(0 0 14px color-mix(in srgb,var(--accent) 42%,transparent)); }
.nav-home-link::before { content: "⌂"; font-size: 1.05rem; margin-right: 8px; color: var(--accent); }
.theme-preview-tile { position: relative !important; overflow: hidden !important; }
.theme-card-label { border-radius: var(--radius) !important; padding: 5px 7px !important; max-width: 100% !important; }
.theme-preview-tile.active .theme-card-label { outline: 1px solid color-mix(in srgb,var(--pv-accent) 72%,transparent) !important; }
.theme-fav { position: absolute; top: 7px; right: 7px; z-index: 3; width: 27px; height: 27px; border-radius: var(--control-radius); display: grid; place-items: center; font-weight: 900; font-size: 1rem; line-height: 1; }
.theme-fav:hover { transform: scale(1.05); }
.settings-drawer { scrollbar-gutter: stable !important; overscroll-behavior: contain !important; }
.okf-map { overscroll-behavior: contain !important; }
.brand::before { width: 52px !important; height: 52px !important; flex-basis: 52px !important; background-size: contain !important; filter: drop-shadow(0 0 18px color-mix(in srgb,var(--warning) 44%,transparent)) drop-shadow(0 0 4px rgba(0,0,0,.6)) !important; }
.brand { font-size: 1.18rem !important; min-height: 56px !important; }
.settings-control, .nav-drawer-toggle { width: 54px !important; height: 54px !important; border-radius: var(--control-radius) !important; font-size: 1.45rem !important; box-shadow: rgba(0, 0, 0, 0.18) 0px 10px 24px !important; }
.nav-drawer-toggle { font-size: 1.62rem !important; }
.settings-control { font-size: 1.55rem !important; }
.main-nav.nav-drawer-panel::before { content: "" !important; display: block !important; width: 72px !important; height: 72px !important; background-position: center center !important; background-size: contain !important; background-repeat: no-repeat !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; border-radius: var(--radius) !important; margin: 0px auto 14px !important; padding: 0px !important; }
.nav-home-link { margin-top: 4px !important; }
.card p, .panel p, .muted { color: color-mix(in srgb,var(--card-text,var(--text)) 66%,var(--muted)) !important; }
.primary-card { position: relative; overflow: hidden; min-height: 215px !important; }
.primary-card::after { content: ""; position: absolute; inset: auto -15% -45% auto; width: 180px; height: 180px; border-radius: 50%; background: radial-gradient(circle,color-mix(in srgb,var(--accent) 18%,transparent),transparent 68%); pointer-events: none; }
.okf-symbol { position: relative; width: 64px; height: 64px; border-radius: 18px; margin-bottom: 14px; background: linear-gradient(145deg,color-mix(in srgb,var(--card2) 88%,var(--accent) 12%),color-mix(in srgb,var(--bg) 80%,#000 20%)); border: 1px solid color-mix(in srgb,var(--border) 68%,var(--accent) 32%); box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--text) 8%,transparent),0 12px 28px rgba(0,0,0,.24),0 0 24px color-mix(in srgb,var(--accent) 18%,transparent); }
.okf-symbol::before, .okf-symbol::after { content: ""; position: absolute; inset: 14px; border: 3px solid var(--accent); border-radius: 8px; filter: drop-shadow(0 0 8px color-mix(in srgb,var(--accent) 45%,transparent)); }
.okf-symbol::after { inset: auto 15px 13px; height: 4px; border: 0px; border-radius: 999px; background: var(--accent2); box-shadow: 0 0 12px color-mix(in srgb,var(--accent2) 50%,transparent); }
.symbol-library::before { border-left-width: 7px; border-right-width: 2px; box-shadow: 14px 0 0 -9px var(--accent2),28px 0 0 -10px color-mix(in srgb,var(--accent) 70%,var(--accent2)); }
.symbol-maps::before { border-radius: 50%; border-style: dashed; }
.symbol-maps::after { left: 28px; right: auto; bottom: 17px; width: 9px; height: 24px; transform: rotate(42deg); background: var(--accent2); }
.symbol-wikipedia::before { border-radius: 50%; inset: 12px; }
.symbol-wikipedia::after { inset: 31px 13px auto; height: 3px; background: var(--accent2); box-shadow: 0 -14px 0 -1px color-mix(in srgb,var(--accent) 75%,transparent),0 14px 0 -1px color-mix(in srgb,var(--accent) 75%,transparent); }
.symbol-emergency::before { inset: 14px 17px; border-radius: 5px; transform: rotate(45deg); border-color: var(--warning); }
.symbol-emergency::after { left: 30px; right: auto; bottom: 20px; width: 5px; height: 24px; background: var(--warning); box-shadow: 0 15px 0 0 var(--warning); }
.theme-preview-body, .theme-preview-window { color: var(--pv-text) !important; }
.theme-preview-line { background: color-mix(in srgb,var(--pv-text) 74%,transparent) !important; }
.theme-preview-line.mid { background: color-mix(in srgb,var(--pv-label-text,var(--pv-text)) 60%,transparent) !important; }
.theme-preview-row b { background: color-mix(in srgb,var(--pv-accent2) 82%,var(--pv-label-text,var(--pv-text)) 8%) !important; }
.theme-preview-row em { outline: 1px solid color-mix(in srgb,var(--pv-label-text,var(--pv-text)) 28%,transparent) !important; }
@media (max-width: 560px) {
  .brand::before { width: 44px !important; height: 44px !important; flex-basis: 44px !important; }
  .brand { font-size: 1.02rem !important; }
  .settings-control, .nav-drawer-toggle { width: 48px !important; height: 48px !important; }
}
.main-nav.nav-drawer-panel::before { width: 88px !important; height: 88px !important; border-width: 0px !important; border-style: none !important; border-image: none !important; border-radius: 0px !important; background-position: center center !important; background-size: contain !important; background-repeat: no-repeat !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; margin: 0px auto 16px !important; }
.settings-control, .nav-drawer-toggle { position: relative !important; font-size: 0px !important; overflow: hidden !important; }
.settings-glyph, .nav-menu-glyph { display: block; position: relative; width: 30px; height: 30px; }
.settings-glyph::before { content: ""; position: absolute; inset: 5px; border: 3px solid; border-radius: 50%; box-shadow: color-mix(in srgb, currentcolor 16%, transparent) 0px 0px 0px 5px; }
.settings-glyph::after { content: ""; position: absolute; left: 13px; top: 0px; width: 4px; height: 30px; background: currentcolor; border-radius: 999px; box-shadow: 0 0 12px color-mix(in srgb,var(--accent) 45%,transparent); transform: rotate(45deg); }
.nav-menu-glyph::before { content: ""; position: absolute; left: 3px; right: 3px; top: 6px; height: 4px; border-radius: 999px; background: currentcolor; box-shadow: 0 9px 0 currentColor,0 18px 0 currentColor,0 0 14px color-mix(in srgb,var(--accent) 50%,transparent); }
.settings-control { color: var(--button-text,var(--text)) !important; }
.nav-drawer-open .nav-drawer-toggle .nav-menu-glyph { transform: rotate(90deg); }
.wiki-app .topbar { position: sticky; }
.wiki-shell { height: calc(-76px + 100vh); display: grid; grid-template-columns: 360px minmax(0px, 1fr); gap: 12px; padding: 12px; max-width: none; width: 100%; overflow: hidden; }
.wiki-home-panel, .wiki-reader-panel { border: 1px solid var(--border); border-radius: var(--radius); background: linear-gradient(145deg,color-mix(in srgb,var(--card) 92%,var(--theme-gradient-a,var(--accent)) 6%),color-mix(in srgb,var(--card2) 84%,var(--bg) 16%)); box-shadow: var(--shadow); min-width: 0px; }
.wiki-home-panel { padding: 16px; overflow: auto; }
.wiki-home-head h1 { font-size: clamp(2rem, 4vw, 3.4rem); line-height: 0.95; margin: 0.3rem 0px 0.6rem; }
.wiki-home-head p { color: var(--card-text,var(--text)); opacity: 0.78; }
.wiki-search { display: grid; grid-template-columns: minmax(0px, 1fr) auto; gap: 8px; margin: 14px 0px; }
.wiki-search input { font-size: 1.05rem; padding: 13px 14px; }
.wiki-actions { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 7px; margin: 10px 0px 14px; }
.wiki-actions .btn { padding: 8px 9px; }
.wiki-card-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.wiki-topic-card { display: grid; grid-template-columns: 42px minmax(0px, 1fr); grid-template-rows: auto auto; column-gap: 9px; align-items: center; text-align: left; border: 1px solid color-mix(in srgb,var(--border) 76%,var(--accent) 24%); border-radius: var(--radius); background: linear-gradient(145deg,color-mix(in srgb,var(--card2) 90%,var(--accent) 8%),color-mix(in srgb,var(--card) 92%,var(--bg) 8%)); color: var(--card-text,var(--text)); padding: 10px; cursor: pointer; }
.wiki-topic-card:hover { border-color: var(--accent); box-shadow: 0 10px 24px color-mix(in srgb,var(--accent) 14%,transparent); transform: translateY(-1px); }
.wiki-topic-card strong { font-size: 0.92rem; }
.wiki-topic-card small { grid-column: 2; color: color-mix(in srgb,var(--card-text,var(--text)) 66%,var(--muted)); line-height: 1.25; }
.wiki-symbol { width: 38px; height: 38px; border-radius: 12px; grid-row: 1 / 3; background: color-mix(in srgb,var(--bg) 76%,#000 24%); border: 1px solid color-mix(in srgb,var(--border) 70%,var(--accent) 30%); position: relative; box-shadow: 0 0 18px color-mix(in srgb,var(--accent) 14%,transparent); }
.wiki-symbol::before { content: ""; position: absolute; inset: 10px; border: 2px solid var(--accent); border-radius: 7px; }
.wiki-symbol::after { content: ""; position: absolute; left: 11px; right: 11px; bottom: 9px; height: 3px; background: var(--accent2); border-radius: 999px; }
.wiki-help { margin-top: 14px; border: 1px solid var(--border); border-radius: var(--radius); padding: 10px 12px; background: color-mix(in srgb,var(--card) 72%,transparent); }
.wiki-help summary { cursor: pointer; font-weight: 800; }
.wiki-reader-panel { display: grid; grid-template-rows: auto minmax(0px, 1fr); overflow: hidden; }
.wiki-reader-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px; border-bottom: 1px solid var(--border); background: linear-gradient(90deg,color-mix(in srgb,var(--surface) 90%,var(--accent) 6%),color-mix(in srgb,var(--card) 92%,var(--accent2) 4%)); }
.wiki-reader-toolbar strong, .wiki-reader-toolbar span { display: block; }
.wiki-reader-buttons { display: flex; gap: 6px; flex-wrap: wrap; }
.wiki-reader-buttons .btn { padding: 7px 9px; font-size: 0.82rem; }
.wiki-frame { width: 100%; height: 100%; border: 0px; background: rgb(255, 255, 255); color-scheme: light; }
.wiki-embed-fallback { position: absolute; right: 24px; bottom: 24px; max-width: 360px; border: 1px solid var(--warning); border-radius: var(--radius); background: color-mix(in srgb,var(--card) 94%,var(--warning) 6%); padding: 14px; box-shadow: var(--shadow); }
@media (max-width: 1100px) {
  .wiki-shell { height: auto; overflow: auto; grid-template-columns: 1fr; }
  .wiki-reader-panel { height: 75vh; }
  .wiki-card-grid { grid-template-columns: repeat(4, minmax(0px, 1fr)); }
}
@media (max-width: 720px) {
  .wiki-shell { padding: 8px; }
  .wiki-card-grid { grid-template-columns: 1fr 1fr; }
  .wiki-actions { grid-template-columns: 1fr; }
  .wiki-reader-toolbar { display: grid; }
  .wiki-reader-panel { height: 70vh; }
}
:root { --okf-icon-nav: 54px; --okf-icon-card: 68px; --okf-icon-small: 42px; --okf-control: 54px; }
.control-icon { width: 31px; height: 31px; stroke: currentcolor; stroke-width: 4.4; fill: none; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 0 9px color-mix(in srgb,var(--accent) 34%,transparent)); }
.settings-control, .nav-drawer-toggle { width: var(--okf-control) !important; height: var(--okf-control) !important; display: grid !important; place-items: center !important; padding: 0px !important; color: var(--button-text,var(--text)) !important; }
.brand::before { width: var(--okf-icon-nav) !important; height: var(--okf-icon-nav) !important; flex-basis: var(--okf-icon-nav) !important; }
.main-nav.nav-drawer-panel::before { width: 96px !important; height: 96px !important; }
.okf-icon-module, .wiki-symbol { display: grid; place-items: center; position: relative; color: var(--accent); background: linear-gradient(145deg,color-mix(in srgb,var(--card2) 88%,var(--accent) 10%),color-mix(in srgb,var(--bg) 82%,#000 18%)); border: 1px solid color-mix(in srgb,var(--border) 66%,var(--accent) 34%); box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--text) 8%,transparent),0 14px 30px rgba(0,0,0,.25),0 0 26px color-mix(in srgb,var(--accent) 16%,transparent); }
.okf-icon-module { width: var(--okf-icon-card); height: var(--okf-icon-card); border-radius: 20px; margin-bottom: 14px; }
.wiki-symbol { width: var(--okf-icon-small); height: var(--okf-icon-small); border-radius: 13px; grid-row: 1 / 3; }
.okf-line-icon { width: 62%; height: 62%; stroke: currentcolor; stroke-width: 4; fill: none; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(color-mix(in srgb, currentcolor 40%, transparent) 0px 0px 10px); }
.wiki-symbol .okf-line-icon { width: 66%; height: 66%; stroke-width: 4.2; }
.okf-icon-module::after, .wiki-symbol::after { content: ""; position: absolute; inset: 6px; border-radius: inherit; border: 1px solid color-mix(in srgb,var(--accent2) 28%,transparent); pointer-events: none; }
.primary-card:hover .okf-icon-module, .wiki-topic-card:hover .wiki-symbol { color: var(--accent2); transform: translateY(-1px); box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--text) 10%,transparent),0 16px 34px rgba(0,0,0,.3),0 0 32px color-mix(in srgb,var(--accent2) 24%,transparent); }
.okf-symbol, .okf-symbol::before, .okf-symbol::after { all: unset !important; }
.wiki-symbol::before { content: none !important; }
select, .theme-select { appearance: none !important; min-height: 46px !important; border-radius: var(--control-radius) !important; padding: 10px 44px 10px 13px !important; border: 1px solid color-mix(in srgb,var(--border) 76%,var(--accent) 24%) !important; color: var(--input-text,var(--text)) !important; box-shadow: inset 0 1px 0 color-mix(in srgb,var(--text) 8%,transparent),0 8px 18px rgba(0,0,0,.10) !important; background-image: linear-gradient(180deg,color-mix(in srgb,var(--input) 88%,var(--accent) 6%),color-mix(in srgb,var(--input) 94%,var(--bg) 6%)),linear-gradient(135deg,transparent 45%,var(--accent) 46% 54%,transparent 55%),linear-gradient(45deg,transparent 45%,var(--accent) 46% 54%,transparent 55%) !important; background-repeat: no-repeat !important; background-size: auto, 9px 9px, 9px 9px !important; background-position: 0px 0px, calc(100% - 23px) 50%, calc(100% - 17px) 50% !important; }
select:focus, .theme-select:focus, .input:focus { outline: 2px solid color-mix(in srgb,var(--accent) 62%,transparent) !important; outline-offset: 2px !important; border-color: var(--accent) !important; }
label select, label .theme-select { margin-top: 6px; width: 100%; }
.drawer-preferences label, .drawer-custom label, .card label, .route-mode { font-weight: 700; color: color-mix(in srgb,var(--card-text,var(--text)) 76%,var(--muted)) !important; }
.drawer-preferences label select, .card label select, .route-mode select { font-weight: 650; }
.compact-route-mode select { min-height: 36px !important; padding-top: 6px !important; padding-bottom: 6px !important; }
details:not(.drawer-theme-group) { border-color: color-mix(in srgb,var(--border) 78%,var(--accent) 22%) !important; }
details:not(.drawer-theme-group) > summary { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 10px !important; min-height: 42px !important; border-radius: var(--control-radius) !important; color: var(--card-text,var(--text)) !important; }
details:not(.drawer-theme-group) > summary::after { content: ""; width: 11px; height: 11px; border-right: 2px solid var(--accent); border-bottom: 2px solid var(--accent); transform: rotate(45deg); transition: transform 0.14s; flex: 0 0 auto; }
details[open]:not(.drawer-theme-group) > summary::after { transform: rotate(225deg); }
.drawer-theme-group > summary { min-height: 44px !important; border-radius: 0px !important; }
.theme-search { min-height: 46px !important; }
.theme-preview-grid { grid-template-columns: repeat(auto-fill, minmax(166px, 1fr)) !important; }
.theme-preview-tile { min-height: 140px !important; border-radius: var(--radius) !important; }
.theme-fav { width: 30px !important; height: 30px !important; border-radius: var(--control-radius) !important; }
.theme-card-label { min-height: 30px; font-size: 0.84rem !important; display: grid !important; place-items: center !important; }
@media (max-width: 560px) {
  :root { --okf-icon-nav: 48px; --okf-control: 50px; --okf-icon-card: 62px; }
  .theme-preview-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)) !important; }
}
.brand::before, .main-nav.nav-drawer-panel::before { background-image: url("thelantern-logo-mark.svg") !important; background-color: transparent !important; border: 0px !important; border-radius: 0px !important; box-shadow: none !important; filter: drop-shadow(0 10px 18px rgba(0,0,0,.42)) drop-shadow(0 0 10px color-mix(in srgb,var(--warning) 22%,transparent)) !important; }
.nav-home-link::before { content: "" !important; display: inline-block !important; width: 1.1em !important; height: 1.1em !important; margin-right: 9px !important; background: currentcolor !important; clip-path: polygon(50% 6%, 95% 42%, 84% 42%, 84% 92%, 59% 92%, 59% 62%, 41% 62%, 41% 92%, 16% 92%, 16% 42%, 5% 42%) !important; opacity: 0.9 !important; }
.control-icon, .okf-line-icon { filter: none !important; stroke-width: 4.1 !important; }
.okf-icon-module, .wiki-symbol, .wiki-section-icon { color: color-mix(in srgb,var(--card-text,var(--text)) 78%,var(--accent) 22%) !important; background: linear-gradient(145deg,color-mix(in srgb,var(--card2) 84%,#05070a 16%),color-mix(in srgb,var(--bg) 88%,#000 12%)) !important; border: 1px solid color-mix(in srgb,var(--border) 80%,var(--text) 10%) !important; box-shadow: inset 0 1px 0 color-mix(in srgb,var(--text) 10%,transparent),inset 0 -10px 22px rgba(0,0,0,.14),0 12px 24px rgba(0,0,0,.24) !important; }
.okf-icon-module::after, .wiki-symbol::after { border-color: color-mix(in srgb,var(--accent) 18%,transparent) !important; opacity: 0.8 !important; }
.primary-card:hover .okf-icon-module, .wiki-topic-card:hover .wiki-symbol, .wiki-section-links button:hover { color: color-mix(in srgb,var(--warning) 58%,var(--text) 42%) !important; box-shadow: inset 0 1px 0 color-mix(in srgb,var(--text) 12%,transparent),inset 0 -10px 22px rgba(0,0,0,.16),0 14px 28px rgba(0,0,0,.28) !important; }
select, .theme-select { border-radius: var(--control-radius) !important; background-image: linear-gradient(180deg,color-mix(in srgb,var(--input) 92%,var(--surface) 8%),color-mix(in srgb,var(--input) 88%,#000 12%)),linear-gradient(135deg,transparent 45%,color-mix(in srgb,var(--text) 78%,var(--accent) 22%) 46% 54%,transparent 55%),linear-gradient(45deg,transparent 45%,color-mix(in srgb,var(--text) 78%,var(--accent) 22%) 46% 54%,transparent 55%) !important; box-shadow: inset 0 1px 0 color-mix(in srgb,var(--text) 9%,transparent),0 7px 16px rgba(0,0,0,.12) !important; }
.btn, .nav-link, .icon-btn { font-weight: 760; letter-spacing: 0.005em; }
.wiki-shell-v2 { height: calc(-76px + 100vh) !important; grid-template-columns: 380px minmax(0px, 1fr) !important; gap: 0px !important; padding: 0px !important; overflow: hidden !important; }
.wiki-nav-panel { border-radius: 0px !important; border-top: 0px !important; border-bottom: 0px !important; border-left: 0px !important; padding: 14px !important; }
.wiki-reader-v2 { border-radius: 0px !important; border-top: 0px !important; border-bottom: 0px !important; border-right: 0px !important; }
.wiki-actions-uniform { grid-template-columns: repeat(3, minmax(0px, 1fr)) !important; }
.wiki-actions-uniform .btn, .wiki-reader-buttons .btn { min-height: 38px !important; font-size: 0.86rem !important; padding: 8px 10px !important; }
.wiki-section-stack { display: grid; gap: 8px; margin-top: 12px; }
.wiki-topic-section { overflow: hidden; border: 1px solid var(--border) !important; border-radius: var(--radius) !important; background: color-mix(in srgb,var(--card2) 66%,transparent) !important; }
.wiki-topic-section > summary { cursor: pointer; display: grid !important; grid-template-columns: 38px minmax(0px, 1fr) auto !important; gap: 9px !important; align-items: center !important; min-height: 48px !important; padding: 8px 10px !important; }
.wiki-section-icon { width: 36px; height: 36px; border-radius: var(--radius); display: grid; place-items: center; }
.wiki-section-icon .okf-line-icon { width: 21px; height: 21px; }
.wiki-section-links { display: grid; grid-template-columns: 1fr; gap: 4px; padding: 0px 9px 9px; }
.wiki-section-links button, .wiki-related-list button { border: 1px solid color-mix(in srgb,var(--border) 78%,transparent); border-radius: var(--control-radius); background: color-mix(in srgb,var(--card) 78%,transparent); color: var(--card-text,var(--text)); padding: 7px 9px; text-align: left; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 0.86rem; cursor: pointer; }
.wiki-section-links button:hover, .wiki-related-list button:hover { border-color: color-mix(in srgb,var(--warning) 45%,var(--border)); transform: translateY(-1px); }
.wiki-related-strip { display: grid; grid-template-columns: auto minmax(0px, 1fr); gap: 12px; align-items: center; padding: 9px 12px; border-bottom: 1px solid var(--border); background: linear-gradient(90deg,color-mix(in srgb,var(--surface) 92%,var(--accent) 5%),color-mix(in srgb,var(--card) 92%,var(--accent2) 4%)); }
.wiki-related-strip strong, .wiki-related-strip span { display: block; }
.wiki-related-list { display: flex; gap: 6px; overflow: auto; padding: 2px; }
.wiki-related-list button { white-space: nowrap; text-align: center; }
.wiki-tabs { display: flex; gap: 6px; overflow: auto; padding: 7px 10px; border-bottom: 1px solid var(--border); background: color-mix(in srgb,var(--bg) 72%,var(--card) 28%); }
.wiki-tab { display: inline-flex; align-items: center; gap: 8px; max-width: 230px; border: 1px solid var(--border); border-radius: var(--control-radius); background: color-mix(in srgb,var(--card2) 76%,transparent); color: var(--text); padding: 7px 9px; font: inherit; cursor: pointer; }
.wiki-tab span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wiki-tab b { display: grid; place-items: center; width: 18px; height: 18px; border-radius: var(--control-radius); background: color-mix(in srgb,var(--bg) 55%,transparent); font-size: 0.8rem; }
.wiki-tab.active { border-color: color-mix(in srgb,var(--warning) 48%,var(--accent)); background: color-mix(in srgb,var(--accent) 14%,var(--card)); }
.wiki-reader-v2 { grid-template-rows: auto auto auto minmax(0px, 1fr) !important; }
.wiki-card-grid, .wiki-help { display: none !important; }
@media (max-width: 1100px) {
  .wiki-shell-v2 { height: auto !important; grid-template-columns: 1fr !important; overflow: auto !important; }
  .wiki-reader-v2 { height: 78vh; }
  .wiki-related-strip { grid-template-columns: 1fr; }
  .wiki-nav-panel, .wiki-reader-v2 { border-radius: 0px !important; }
}
.brand::before, .main-nav.nav-drawer-panel::before { background-image: url("thelantern-logo-mark.svg") !important; background-color: transparent !important; border: 0px !important; border-radius: 0px !important; box-shadow: none !important; filter: drop-shadow(0 10px 18px rgba(0,0,0,.44)) drop-shadow(0 0 8px color-mix(in srgb,var(--warning) 18%,transparent)) !important; }
.drawer-intro { margin: 0.25rem 0px 0px !important; font-size: 0.9rem !important; }
.drawer-appearance > summary { padding: 0px !important; margin: 0px 0px 10px !important; }
.drawer-appearance > .drawer-section.flat { border-radius: var(--radius) !important; margin: 10px 0px !important; }
.drawer-appearance .drawer-section-title .chip { display: none !important; }
.settings-control .control-icon { stroke-width: 3.2 !important; }
.settings-control { border-radius: var(--radius) !important; }
.okf-marker.current { width: 22px !important; height: 22px !important; background: rgb(245, 158, 11) !important; border: 3px solid rgb(11, 15, 20) !important; box-shadow: rgba(255, 255, 255, 0.9) 0px 0px 0px 3px, rgba(245, 158, 11, 0.24) 0px 0px 0px 10px, rgba(0, 0, 0, 0.45) 0px 8px 20px !important; color: transparent !important; }
.okf-marker.current::after { content: "START"; position: absolute; left: 50%; top: calc(100% + 8px); transform: translateX(-50%); font-size: 10px; font-weight: 900; letter-spacing: 0.06em; color: rgb(11, 15, 20); background: rgba(245, 158, 11, 0.92); border: 1px solid rgba(0, 0, 0, 0.45); border-radius: 7px; padding: 2px 5px; box-shadow: rgba(0, 0, 0, 0.28) 0px 4px 10px; }
.brand::before, .main-nav.nav-drawer-panel::before { background-image: url("thelantern-logo-mark.svg") !important; background-size: contain !important; background-repeat: no-repeat !important; background-position: center center !important; background-color: transparent !important; border: 0px !important; border-radius: 0px !important; box-shadow: none !important; filter: drop-shadow(0 10px 18px rgba(0,0,0,.46)) drop-shadow(0 0 7px color-mix(in srgb,var(--warning) 16%,transparent)) !important; }
.brand::before { width: 58px !important; height: 58px !important; flex-basis: 58px !important; }
.main-nav.nav-drawer-panel::before { width: 108px !important; height: 108px !important; }
.okf-marker.current::after { content: none !important; display: none !important; }
.okf-marker.current { width: 20px !important; height: 20px !important; background: rgb(245, 158, 11) !important; border: 3px solid rgb(17, 24, 39) !important; box-shadow: rgba(255, 255, 255, 0.88) 0px 0px 0px 3px, rgba(245, 158, 11, 0.2) 0px 0px 0px 9px, rgba(0, 0, 0, 0.42) 0px 8px 20px !important; }
.okf-grid-pane { position: absolute !important; inset: 0px !important; z-index: 4 !important; pointer-events: none !important; }
.okf-grid-pane .grid-line { stroke: rgba(255, 255, 255, 0.58); stroke-width: 1; vector-effect: non-scaling-stroke; shape-rendering: crispedges; }
.okf-map[data-base="road"] .okf-grid-pane .grid-line { stroke: color-mix(in srgb,var(--text) 34%,transparent); }
.okf-grid-pane .grid-label { font: 700 11px var(--font); fill: rgb(255, 255, 255); paint-order: stroke; stroke: rgba(0, 0, 0, 0.72); stroke-width: 3px; stroke-linejoin: round; pointer-events: none; }
.okf-map[data-base="road"] .okf-grid-pane .grid-label { fill: var(--text); stroke: color-mix(in srgb,var(--bg) 78%,#000 22%); }
.map-base-switch #toggleGrid.active { background: color-mix(in srgb,var(--warning) 82%,var(--button)) !important; color: rgb(17, 24, 39) !important; border-color: color-mix(in srgb,var(--warning) 80%,#fff 20%) !important; }
.map-floating-tools { position: absolute !important; z-index: 82 !important; right: 16px !important; bottom: 16px !important; display: flex !important; gap: 8px !important; align-items: center !important; }
.map-floating-tools .map-float-btn { position: static !important; inset: auto !important; width: 46px !important; height: 46px !important; border-radius: var(--control-radius) !important; display: grid !important; place-items: center !important; padding: 0px !important; background: color-mix(in srgb,var(--card) 88%,transparent) !important; border: 1px solid color-mix(in srgb,var(--border) 78%,var(--text) 10%) !important; color: var(--button-text,var(--text)) !important; backdrop-filter: blur(9px) !important; box-shadow: rgba(0, 0, 0, 0.24) 0px 10px 26px !important; }
.map-floating-tools .map-float-btn .control-icon { width: 25px !important; height: 25px !important; stroke-width: 3.4 !important; }
.map-floating-tools .map-float-btn:hover { transform: translateY(-1px); border-color: color-mix(in srgb,var(--warning) 50%,var(--border)) !important; }
.map-floating-tools .map-grid-btn.active, .map-floating-tools .map-location-btn.active { background: color-mix(in srgb,var(--warning) 78%,var(--button)) !important; color: rgb(17, 24, 39) !important; border-color: color-mix(in srgb,var(--warning) 82%,#fff 18%) !important; }
.okf-marker.route-start { width: 18px !important; height: 18px !important; background: rgb(56, 189, 248) !important; color: transparent !important; font-size: 0px !important; border: 3px solid rgb(11, 16, 32) !important; box-shadow: rgba(255, 255, 255, 0.86) 0px 0px 0px 3px, rgba(56, 189, 248, 0.2) 0px 0px 0px 8px, rgba(0, 0, 0, 0.42) 0px 8px 20px !important; }
.okf-marker.route-start::after { content: ""; position: absolute; width: 8px; height: 8px; border-radius: 999px; background: rgb(255, 255, 255); opacity: 0.9; }
.map-topbar #toggleGrid { display: none !important; }
@media (max-width: 820px) {
  .nav-inner { grid-template-columns: auto minmax(0px, 1fr) auto !important; grid-template-rows: auto !important; align-items: center !important; gap: 8px !important; padding: 8px 10px !important; }
  .nav-drawer-toggle { grid-area: 1 / 1 !important; width: 46px !important; height: 46px !important; }
  .brand { grid-area: 1 / 2 !important; min-width: 0px !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
  .brand::before { width: 44px !important; height: 44px !important; flex-basis: 44px !important; }
  .right-tools { grid-area: 1 / 3 !important; width: auto !important; display: flex !important; justify-content: flex-end !important; gap: 0px !important; }
  .right-tools .top-search { display: none !important; }
  .right-tools .settings-control { position: static !important; right: auto !important; top: auto !important; width: 46px !important; height: 46px !important; }
  .container { padding: 14px 10px !important; }
  .hero h1, .panel h1 { font-size: clamp(2rem, 13vw, 3.2rem) !important; line-height: 1 !important; }
  .searchbar { display: grid !important; grid-template-columns: 1fr !important; }
  .btn, .nav-link, .icon-btn { white-space: normal !important; }
  .source-card .card-actions { grid-template-columns: 1fr !important; }
}
@media (max-width: 430px) {
  .brand { font-size: 0.98rem !important; }
  .nav-drawer-toggle, .right-tools .settings-control { width: 42px !important; height: 42px !important; }
  .brand::before { width: 40px !important; height: 40px !important; flex-basis: 40px !important; }
}
@media (max-width: 900px) {
  html, body { width: 100%; max-width: 100%; overflow-x: hidden !important; }
  body { font-size: calc(15.5px*var(--scale)) !important; line-height: 1.5 !important; }
  img, svg, iframe, video, canvas, table, pre, code { max-width: 100%; }
  pre, code { overflow-wrap: anywhere; }
  .topbar { position: sticky !important; top: 0px !important; z-index: 820 !important; }
  .nav-inner { min-height: 58px !important; grid-template-columns: auto minmax(0px, 1fr) auto !important; grid-template-rows: auto !important; align-items: center !important; gap: 8px !important; padding: 7px 10px !important; }
  .nav-drawer-toggle { grid-area: 1 / 1 !important; width: 46px !important; height: 46px !important; border-radius: var(--control-radius) !important; flex: 0 0 46px !important; }
  .brand { grid-area: 1 / 2 !important; display: flex !important; align-items: center !important; min-width: 0px !important; max-width: 100% !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; font-size: 1rem !important; line-height: 1.05 !important; }
  .brand::before { width: 42px !important; height: 42px !important; flex: 0 0 42px !important; margin-right: 7px !important; }
  .right-tools { grid-area: 1 / 3 !important; width: auto !important; min-width: 0px !important; display: flex !important; justify-content: flex-end !important; gap: 0px !important; }
  .right-tools .top-search { display: none !important; }
  .right-tools .settings-control { position: static !important; width: 46px !important; height: 46px !important; flex: 0 0 46px !important; border-radius: var(--radius) !important; }
  .control-icon { width: 25px !important; height: 25px !important; }
  body > .main-nav.nav-drawer-panel { width: min(310px, 88vw) !important; padding: 14px !important; gap: 8px !important; }
  body > .main-nav.nav-drawer-panel .nav-link { min-height: 44px !important; padding: 11px 12px !important; font-size: 0.96rem !important; white-space: normal !important; }
  .container:not(.maps-container) { width: 100% !important; max-width: 100% !important; padding: 12px 10px 18px !important; margin: 0px !important; display: grid !important; gap: 14px !important; }
  section { min-width: 0px !important; }
  .panel, .card { min-width: 0px !important; border-radius: var(--radius) !important; padding: 14px !important; overflow: hidden !important; }
  .hero, .hero-simple, .updates-hero, .update-two-col, .update-dashboard-grid, .grid, .grid.small, .card-grid, .compact-cards, .theme-preview { display: grid !important; grid-template-columns: minmax(0px, 1fr) !important; gap: 12px !important; }
  .hero h1, .panel h1, .search-headline h1 { font-size: clamp(2rem, 13vw, 3.15rem) !important; line-height: 1.02 !important; margin: 0.15rem 0px 0.55rem !important; letter-spacing: 0px !important; }
  .subtitle, .search-headline p { font-size: 1rem !important; max-width: none !important; }
  .section-head, .section-label, .update-card-head, .drawer-section-title { display: grid !important; grid-template-columns: minmax(0px, 1fr) !important; align-items: start !important; gap: 6px !important; margin: 20px 0px 9px !important; }
  .section-head .btn, .section-label .btn, .update-hero-actions .btn { width: 100% !important; }
  .searchbar, .toolbar, .wiki-search, .search-box-card, #searchForm, .pin-row, .route-start-edit, .update-card-head { display: grid !important; grid-template-columns: minmax(0px, 1fr) !important; gap: 8px !important; }
  .input, input, textarea, select, .theme-select { width: 100% !important; max-width: 100% !important; min-width: 0px !important; font-size: 16px !important; }
  .searchbar input, .map-search, #query { padding: 13px 14px !important; border-radius: var(--control-radius) !important; }
  .btn, .button, button, .tab, .filter, .nav-link, .icon-btn { min-width: 0px !important; max-width: 100% !important; white-space: normal !important; text-align: center !important; overflow-wrap: anywhere !important; }
  .card-actions, .result-actions, .route-actions, .wiki-reader-buttons, .update-hero-actions, .wiki-actions-uniform { display: grid !important; grid-template-columns: minmax(0px, 1fr) !important; gap: 7px !important; width: 100% !important; }
  .tabs { display: flex !important; gap: 7px !important; overflow-x: auto !important; flex-wrap: nowrap !important; padding: 2px 1px 8px !important; margin: 6px 0px !important; scrollbar-gutter: stable !important; }
  .tabs .tab { flex: 0 0 auto !important; min-height: 38px !important; padding: 8px 11px !important; }
  .filters { display: flex !important; flex-wrap: wrap !important; max-height: 15rem !important; overflow: auto !important; padding: 5px 2px !important; gap: 6px !important; }
  .filter { font-size: 0.78rem !important; padding: 6px 8px !important; border-radius: var(--control-radius) !important; }
  .library-controls { padding: 9px !important; border-radius: var(--radius) !important; margin: 8px 0px 12px !important; }
  .source-card, .result-card, .update-resource-card, .queue-row, .custom-theme-row { display: grid !important; grid-template-columns: minmax(0px, 1fr) !important; gap: 10px !important; }
  .source-card .card-actions, .result-actions { grid-template-columns: minmax(0px, 1fr) !important; min-width: 0px !important; }
  .source-card .btn, .result-actions .button { width: 100% !important; }
  .source-desc { display: block !important; max-height: none !important; overflow: visible !important; }
  .source-meta, .tag-line, .search-mini-links, .controls { gap: 5px !important; }
  .chip, .badge, .tag { max-width: 100% !important; overflow-wrap: anywhere !important; }
  .primary-card { min-height: auto !important; }
  .okf-icon-module { width: 52px !important; height: 52px !important; border-radius: 14px !important; margin-bottom: 10px !important; }
  .footer { margin: 14px 0px 0px !important; padding: 14px 10px !important; font-size: 0.88rem !important; }
  .settings-drawer { width: 100dvw !important; max-width: 100dvw !important; height: 100dvh !important; padding: 12px !important; border-left-width: 0px !important; border-left-style: none !important; }
  .settings-drawer .drawer-head { display: grid !important; grid-template-columns: minmax(0px, 1fr) auto !important; gap: 8px !important; }
  .drawer-section { padding: 10px !important; border-radius: var(--radius) !important; margin: 9px 0px !important; }
  .drawer-theme-group .theme-tile-grid, .theme-preview-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)) !important; gap: 7px !important; }
  .theme-preview-tile { min-height: 118px !important; }
  .theme-card-label { font-size: 0.75rem !important; }
  .palette-form { grid-template-columns: repeat(2, minmax(0px, 1fr)) !important; }
  .update-meta { grid-template-columns: minmax(0px, 1fr) !important; gap: 2px !important; }
  .update-meta dt { margin-top: 6px !important; }
  .update-status, .update-log { max-width: 100% !important; overflow-wrap: anywhere !important; }
}
@media (max-width: 900px) {
  .wiki-app { min-height: 100dvh !important; }
  .wiki-shell, .wiki-shell-v2 { height: auto !important; min-height: 0px !important; display: grid !important; grid-template-columns: minmax(0px, 1fr) !important; gap: 0px !important; padding: 0px !important; overflow: visible !important; }
  .wiki-nav-panel, .wiki-reader-v2 { border-radius: 0px !important; border-left: 0px !important; border-right: 0px !important; min-width: 0px !important; }
  .wiki-nav-panel { padding: 12px !important; max-height: none !important; overflow: visible !important; }
  .wiki-home-head h1 { font-size: clamp(2rem, 12vw, 3rem) !important; line-height: 1.02 !important; }
  .wiki-search { grid-template-columns: minmax(0px, 1fr) !important; }
  .wiki-actions, .wiki-actions-uniform { grid-template-columns: repeat(3, minmax(0px, 1fr)) !important; }
  .wiki-actions .btn, .wiki-actions-uniform .btn { font-size: 0.78rem !important; padding: 8px 6px !important; min-height: 38px !important; }
  .wiki-topic-section > summary { grid-template-columns: 34px minmax(0px, 1fr) auto !important; padding: 8px !important; }
  .wiki-section-icon { width: 32px !important; height: 32px !important; }
  .wiki-related-strip { display: grid !important; grid-template-columns: minmax(0px, 1fr) !important; gap: 6px !important; padding: 9px 10px !important; }
  .wiki-related-list, .wiki-tabs { overflow-x: auto !important; scrollbar-gutter: stable !important; }
  .wiki-tab { max-width: 180px !important; flex: 0 0 auto !important; }
  .wiki-reader-toolbar { display: grid !important; grid-template-columns: minmax(0px, 1fr) !important; gap: 8px !important; padding: 9px 10px !important; }
  .wiki-reader-buttons { grid-template-columns: repeat(2, minmax(0px, 1fr)) !important; }
  .wiki-reader-v2 { height: auto !important; min-height: 72dvh !important; grid-template-rows: auto auto auto minmax(62dvh, 1fr) !important; overflow: hidden !important; }
  .wiki-frame { height: 100% !important; min-height: 62dvh !important; }
}
@media (max-width: 900px) {
  @supports selector(body:has(.maps-container)) {
  body:has(.maps-container) { height: 100dvh !important; overflow: hidden !important; }
}
  .app-shell:has(.maps-container) { height: 100dvh !important; min-height: 100dvh !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; }
  .app-shell:has(.maps-container) .topbar { flex: 0 0 auto !important; position: relative !important; z-index: 900 !important; }
  .maps-container { flex: 1 1 auto !important; height: auto !important; min-height: 0px !important; width: 100% !important; margin: 0px !important; padding: 0px !important; overflow: hidden !important; }
  #mapApp.map-layout-v20 { position: relative !important; height: 100% !important; min-height: 0px !important; display: grid !important; grid-template-columns: minmax(0px, 1fr) !important; gap: 0px !important; overflow: hidden !important; }
  .map-layout-v20 .map-reset-main { height: 100% !important; min-height: 0px !important; overflow: hidden !important; }
  .map-layout-v20 .okf-map { height: 100% !important; min-height: 0px !important; border-radius: 0px !important; }
  .map-topbar { top: 8px !important; left: 8px !important; right: 8px !important; display: grid !important; grid-template-columns: minmax(0px, 1fr) !important; gap: 5px !important; padding: 6px !important; border-radius: var(--radius) !important; }
  .map-base-switch, .map-quick-actions { display: grid !important; grid-template-columns: repeat(3, minmax(0px, 1fr)) !important; gap: 5px !important; }
  .map-topbar .btn { min-height: 34px !important; padding: 5px 6px !important; font-size: 0.72rem !important; }
  .map-controls-below { top: 106px !important; left: 8px !important; width: calc(100% - 16px) !important; max-width: none !important; }
  .map-layout-v20 .map-reset-command { padding: 6px !important; border-radius: var(--radius) !important; }
  .map-layout-v20 .map-search { font-size: 16px !important; padding: 10px 11px !important; }
  .map-floating-tools { right: 10px !important; bottom: 10px !important; gap: 7px !important; }
  .map-floating-tools .map-float-btn { width: 42px !important; height: 42px !important; border-radius: var(--control-radius) !important; }
  .map-layout-v20 .map-results-card { position: absolute !important; z-index: 88 !important; left: 8px !important; right: 8px !important; bottom: 8px !important; height: min(42dvh, 360px) !important; max-height: min(42dvh, 360px) !important; overflow: auto !important; border-radius: var(--radius) !important; border: 1px solid var(--border) !important; box-shadow: rgba(0, 0, 0, 0.38) 0px 16px 44px !important; }
  .map-layout-v20.map-results-hidden .map-results-card { display: none !important; }
  .side-route-setup .pin-row, .side-route-setup .pin-row.single, .route-start-edit { grid-template-columns: minmax(0px, 1fr) !important; }
}
@media (max-width: 480px) {
  body { font-size: calc(15px*var(--scale)) !important; }
  .nav-inner { min-height: 54px !important; padding: 6px 8px !important; gap: 6px !important; }
  .brand { font-size: 0.95rem !important; }
  .brand::before { width: 36px !important; height: 36px !important; flex-basis: 36px !important; margin-right: 5px !important; }
  .nav-drawer-toggle, .right-tools .settings-control { width: 40px !important; height: 40px !important; flex-basis: 40px !important; }
  .container:not(.maps-container) { padding: 10px 8px 16px !important; gap: 12px !important; }
  .panel, .card { padding: 12px !important; border-radius: var(--radius) !important; }
  .hero h1, .panel h1, .search-headline h1 { font-size: clamp(1.85rem, 14vw, 2.65rem) !important; }
  .section-head h2, .section-label h2 { font-size: 1.22rem !important; }
  .drawer-theme-group .theme-tile-grid, .theme-preview-grid, .palette-form { grid-template-columns: minmax(0px, 1fr) !important; }
  .wiki-actions, .wiki-actions-uniform { grid-template-columns: minmax(0px, 1fr) !important; }
  .wiki-reader-buttons { grid-template-columns: minmax(0px, 1fr) !important; }
  .map-base-switch, .map-quick-actions { grid-template-columns: repeat(2, minmax(0px, 1fr)) !important; }
  .map-controls-below { top: 146px !important; }
}
@supports selector(body:has(.maps-container)) {
  .okf-desktop-ui body:has(.maps-container) { height: auto !important; overflow: hidden !important; background: var(--bg) !important; }
  .okf-mobile-ui body:has(.maps-container) { height: 100dvh !important; overflow: hidden !important; background: var(--bg) !important; }
}
.okf-desktop-ui .app-shell:has(.maps-container) { height: 100vh !important; min-height: 100vh !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; }
.okf-desktop-ui .app-shell:has(.maps-container) .topbar { flex: 0 0 auto !important; position: relative !important; z-index: 820 !important; }
.okf-desktop-ui .maps-container { flex: 1 1 auto !important; height: auto !important; min-height: 0px !important; max-width: none !important; width: 100% !important; margin: 0px !important; padding: 0px !important; overflow: hidden !important; }
.okf-desktop-ui .maps-container + .footer { display: none !important; }
.okf-desktop-ui #mapApp.map-layout-v20 { height: 100% !important; min-height: 0px !important; width: 100% !important; display: grid !important; grid-template-columns: minmax(0px, 1fr) 350px !important; grid-template-areas: "map results" !important; gap: 0px !important; align-items: stretch !important; overflow: hidden !important; }
.okf-desktop-ui #mapApp.map-layout-v20.map-results-hidden { grid-template-columns: minmax(0px, 1fr) !important; }
.okf-desktop-ui #mapApp.map-layout-v20.map-results-hidden .map-results-card { display: none !important; }
.okf-desktop-ui .map-layout-v20 .map-reset-main { grid-area: map !important; position: relative !important; height: 100% !important; min-height: 0px !important; margin: 0px !important; padding: 0px !important; border: 0px !important; border-radius: 0px !important; background: transparent !important; box-shadow: none !important; overflow: hidden !important; }
.okf-desktop-ui .map-layout-v20 .okf-map { display: block !important; width: 100% !important; height: 100% !important; min-height: 0px !important; border: 0px !important; border-radius: 0px !important; box-shadow: none !important; background: rgb(90, 160, 188) !important; touch-action: none !important; }
.okf-desktop-ui .map-layout-v20 .map-results-card { display: block; grid-area: results !important; position: static !important; height: 100% !important; max-height: none !important; overflow: auto !important; border-radius: 0px !important; border-top: 0px !important; border-bottom: 0px !important; border-right: 0px !important; padding: 10px !important; }
.okf-desktop-ui .map-topbar { position: absolute !important; z-index: 40 !important; top: 10px !important; left: 10px !important; right: 10px !important; display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 10px !important; margin: 0px !important; padding: 6px !important; border: 1px solid color-mix(in srgb,var(--border) 80%,transparent) !important; border-radius: var(--radius) !important; background: color-mix(in srgb,var(--card) 82%,transparent) !important; box-shadow: rgba(0, 0, 0, 0.18) 0px 10px 28px !important; backdrop-filter: blur(8px) !important; }
.okf-desktop-ui .map-base-switch, .okf-desktop-ui .map-quick-actions { display: flex !important; grid-template-columns: none !important; gap: 5px !important; flex-wrap: wrap !important; }
.okf-desktop-ui .map-topbar .btn { min-height: 0px !important; padding: 6px 9px !important; font-size: 0.82rem !important; white-space: nowrap !important; }
.okf-desktop-ui .map-controls-below { position: absolute !important; z-index: 42 !important; top: 58px !important; left: 10px !important; width: min(720px, 100% - 20px) !important; max-width: none !important; margin: 0px !important; padding: 0px !important; border: 0px !important; pointer-events: none !important; }
.okf-desktop-ui .map-controls-below .map-reset-command { pointer-events: auto !important; }
.okf-desktop-ui .map-layout-v20 .map-reset-command { display: block !important; margin: 0px !important; padding: 7px !important; border: 1px solid color-mix(in srgb,var(--border) 80%,transparent) !important; border-radius: var(--radius) !important; background: color-mix(in srgb,var(--card) 88%,transparent) !important; box-shadow: rgba(0, 0, 0, 0.16) 0px 10px 28px !important; backdrop-filter: blur(8px) !important; }
.okf-desktop-ui .map-layout-v20 .map-search { width: 100% !important; box-sizing: border-box !important; padding: 12px 14px !important; font-size: 1.05rem !important; border-radius: var(--control-radius) !important; }
.okf-desktop-ui .map-floating-tools { right: 18px !important; bottom: 18px !important; gap: 9px !important; }
.okf-desktop-ui .map-info-compact { display: none !important; }
.okf-desktop-ui .wiki-app { height: 100vh !important; min-height: 100vh !important; overflow: hidden !important; }
.okf-desktop-ui .wiki-shell-v2 { height: calc(-76px + 100vh) !important; display: grid !important; grid-template-columns: 380px minmax(0px, 1fr) !important; grid-template-rows: minmax(0px, 1fr) !important; gap: 0px !important; padding: 0px !important; overflow: hidden !important; }
.okf-desktop-ui .wiki-nav-panel { height: auto !important; max-height: none !important; overflow: auto !important; padding: 14px !important; border-radius: 0px !important; border-top: 0px !important; border-bottom: 0px !important; border-left: 0px !important; }
.okf-desktop-ui .wiki-reader-v2 { height: auto !important; min-height: 0px !important; display: grid !important; grid-template-rows: auto auto auto minmax(0px, 1fr) !important; overflow: hidden !important; border-radius: 0px !important; border-top: 0px !important; border-bottom: 0px !important; border-right: 0px !important; }
.okf-desktop-ui .wiki-home-head h1 { font-size: clamp(2rem, 4vw, 3.4rem) !important; line-height: 0.95 !important; margin: 0.3rem 0px 0.6rem !important; }
.okf-desktop-ui .wiki-home-head p:not(.badge) { display: block !important; }
.okf-desktop-ui .wiki-actions-uniform { display: grid !important; grid-template-columns: repeat(3, minmax(0px, 1fr)) !important; gap: 7px !important; }
.okf-desktop-ui .wiki-section-stack { max-height: none !important; overflow: visible !important; }
.okf-desktop-ui .wiki-topic-section { display: block !important; }
.okf-desktop-ui .wiki-related-strip { display: grid !important; grid-template-columns: auto minmax(0px, 1fr) !important; gap: 12px !important; padding: 9px 12px !important; }
.okf-desktop-ui .wiki-reader-toolbar { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 10px !important; padding: 10px 12px !important; }
.okf-desktop-ui .wiki-reader-buttons { display: flex !important; grid-template-columns: none !important; width: auto !important; gap: 6px !important; flex-wrap: wrap !important; }
.okf-desktop-ui .wiki-frame { height: 100% !important; min-height: 0px !important; }
@media (max-width: 1024px) {
  .okf-mobile-ui .app-shell:has(.maps-container) { height: 100dvh !important; min-height: 100dvh !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; }
  .okf-mobile-ui .app-shell:has(.maps-container) .topbar { flex: 0 0 auto !important; position: relative !important; z-index: 900 !important; }
  .okf-mobile-ui .maps-container { flex: 1 1 auto !important; height: auto !important; min-height: 0px !important; width: 100% !important; margin: 0px !important; padding: 0px !important; overflow: hidden !important; }
  .okf-mobile-ui .maps-container + .footer { display: none !important; }
  .okf-mobile-ui #mapApp.map-layout-v20 { position: relative !important; height: 100% !important; min-height: 0px !important; display: grid !important; grid-template-columns: minmax(0px, 1fr) !important; grid-template-areas: "map" !important; gap: 0px !important; overflow: hidden !important; }
  .okf-mobile-ui .map-layout-v20 .map-reset-main { grid-area: map !important; position: relative !important; height: 100% !important; min-height: 0px !important; overflow: hidden !important; border: 0px !important; border-radius: 0px !important; background: transparent !important; padding: 0px !important; }
  .okf-mobile-ui .map-layout-v20 .okf-map { height: 100% !important; min-height: 0px !important; width: 100% !important; border: 0px !important; border-radius: 0px !important; touch-action: none !important; background: rgb(90, 160, 188) !important; }
  .okf-mobile-ui .map-topbar { position: absolute !important; z-index: 70 !important; top: 6px !important; left: 6px !important; right: 6px !important; display: grid !important; grid-template-columns: minmax(0px, 1fr) auto !important; align-items: center !important; gap: 5px !important; margin: 0px !important; padding: 5px !important; border-radius: var(--radius) !important; background: color-mix(in srgb,var(--card) 88%,transparent) !important; border: 1px solid color-mix(in srgb,var(--border) 76%,transparent) !important; box-shadow: rgba(0, 0, 0, 0.24) 0px 12px 30px !important; backdrop-filter: blur(8px) !important; }
  .okf-mobile-ui .map-base-switch { display: grid !important; grid-template-columns: repeat(3, minmax(0px, 1fr)) !important; gap: 4px !important; min-width: 0px !important; }
  .okf-mobile-ui .map-quick-actions { display: grid !important; grid-template-columns: 38px 38px !important; gap: 4px !important; }
  .okf-mobile-ui .map-topbar .btn { min-height: 34px !important; padding: 4px 5px !important; font-size: 0.68rem !important; line-height: 1.05 !important; white-space: normal !important; overflow-wrap: anywhere !important; border-radius: var(--control-radius) !important; }
  .okf-mobile-ui .map-controls-below { position: absolute !important; z-index: 72 !important; top: 56px !important; left: 6px !important; width: calc(100% - 12px) !important; max-width: none !important; margin: 0px !important; padding: 0px !important; border: 0px !important; pointer-events: none !important; }
  .okf-mobile-ui .map-controls-below .map-reset-command { pointer-events: auto !important; }
  .okf-mobile-ui .map-layout-v20 .map-reset-command { display: block !important; margin: 0px !important; padding: 5px !important; border-radius: var(--radius) !important; border: 1px solid color-mix(in srgb,var(--border) 78%,transparent) !important; background: color-mix(in srgb,var(--card) 90%,transparent) !important; box-shadow: rgba(0, 0, 0, 0.24) 0px 12px 28px !important; backdrop-filter: blur(8px) !important; }
  .okf-mobile-ui .map-layout-v20 .map-search { font-size: 16px !important; padding: 10px 11px !important; border-radius: var(--control-radius) !important; width: 100% !important; }
  .okf-mobile-ui .map-floating-tools { right: 8px !important; bottom: 8px !important; gap: 7px !important; }
  .okf-mobile-ui .map-floating-tools .map-float-btn { width: 42px !important; height: 42px !important; border-radius: var(--control-radius) !important; }
  .okf-mobile-ui .map-layout-v20 .map-results-card { position: absolute !important; z-index: 88 !important; left: 7px !important; right: 7px !important; bottom: 7px !important; height: min(44dvh, 370px) !important; max-height: min(44dvh, 370px) !important; overflow: auto !important; border-radius: var(--radius) !important; border: 1px solid var(--border) !important; padding: 9px !important; box-shadow: rgba(0, 0, 0, 0.38) 0px 16px 44px !important; background: color-mix(in srgb,var(--card) 94%,var(--bg) 6%) !important; }
  .okf-mobile-ui .map-layout-v20.map-results-hidden .map-results-card { display: none !important; }
  .okf-mobile-ui .map-results-card h2 { font-size: 0.98rem !important; margin: 0px 0px 5px !important; }
  .okf-mobile-ui .map-results-card > p.muted { display: none !important; }
  .okf-mobile-ui .map-results-card .card-actions { display: grid !important; grid-template-columns: repeat(2, minmax(0px, 1fr)) !important; gap: 5px !important; }
  .okf-mobile-ui .map-results-card .btn { min-height: 34px !important; padding: 6px 7px !important; font-size: 0.74rem !important; }
  .okf-mobile-ui .map-layout-v20 .map-result { padding: 7px 8px !important; border-radius: var(--radius) !important; }
  .okf-mobile-ui .map-layout-v20 .map-result strong { font-size: 0.82rem !important; }
  .okf-mobile-ui .map-layout-v20 .map-result .map-result-address, .okf-mobile-ui .map-layout-v20 .map-result .map-result-contains { font-size: 0.67rem !important; line-height: 1.18 !important; }
  .okf-mobile-ui .side-route-setup { gap: 6px !important; }
  .okf-mobile-ui .side-route-head, .okf-mobile-ui .route-start-edit, .okf-mobile-ui .pin-row, .okf-mobile-ui .pin-row.single { display: grid !important; grid-template-columns: minmax(0px, 1fr) !important; gap: 6px !important; }
  .okf-mobile-ui .side-route-actions { display: grid !important; grid-template-columns: minmax(0px, 1fr) !important; gap: 6px !important; }
  .okf-mobile-ui .map-info-compact { display: none !important; }
  .okf-mobile-ui .wiki-app { height: 100dvh !important; min-height: 100dvh !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; }
  .okf-mobile-ui .wiki-app > .topbar { flex: 0 0 auto !important; position: relative !important; z-index: 900 !important; }
  .okf-mobile-ui .wiki-shell-v2 { flex: 1 1 auto !important; height: auto !important; min-height: 0px !important; display: grid !important; grid-template-columns: minmax(0px, 1fr) !important; grid-template-rows: auto minmax(0px, 1fr) !important; gap: 0px !important; padding: 0px !important; overflow: hidden !important; }
  .okf-mobile-ui .wiki-nav-panel { height: auto !important; max-height: 32dvh !important; min-height: 0px !important; overflow: auto !important; padding: 7px !important; border-radius: 0px !important; border-left: 0px !important; border-right: 0px !important; border-top: 0px !important; }
  .okf-mobile-ui .wiki-home-head { display: grid !important; gap: 2px !important; margin: 0px 0px 5px !important; }
  .okf-mobile-ui .wiki-home-head h1 { font-size: 1.35rem !important; line-height: 1 !important; margin: 0px !important; letter-spacing: 0px !important; }
  .okf-mobile-ui .wiki-home-head p:not(.badge) { display: none !important; }
  .okf-mobile-ui .wiki-home-head .badge { width: max-content !important; font-size: 0.68rem !important; padding: 3px 7px !important; margin: 0px !important; }
  .okf-mobile-ui .wiki-search { display: grid !important; grid-template-columns: minmax(0px, 1fr) 78px !important; gap: 5px !important; margin: 5px 0px !important; }
  .okf-mobile-ui .wiki-search input { font-size: 16px !important; padding: 8px 10px !important; border-radius: var(--control-radius) !important; }
  .okf-mobile-ui .wiki-search .btn { min-height: 36px !important; padding: 6px 7px !important; font-size: 0.74rem !important; }
  .okf-mobile-ui .wiki-actions-uniform { display: grid !important; grid-template-columns: repeat(3, minmax(0px, 1fr)) !important; gap: 5px !important; margin: 5px 0px !important; }
  .okf-mobile-ui .wiki-actions-uniform .btn { min-height: 32px !important; padding: 5px !important; font-size: 0.66rem !important; line-height: 1.08 !important; }
  .okf-mobile-ui .wiki-section-stack { display: grid !important; gap: 5px !important; margin-top: 5px !important; max-height: 17dvh !important; overflow: auto !important; padding-right: 1px !important; }
  .okf-mobile-ui .wiki-topic-section { border-radius: var(--radius) !important; }
  .okf-mobile-ui .wiki-topic-section > summary { grid-template-columns: 30px minmax(0px, 1fr) !important; min-height: 38px !important; padding: 5px 7px !important; gap: 7px !important; }
  .okf-mobile-ui .wiki-section-icon { width: 28px !important; height: 28px !important; border-radius: var(--radius) !important; }
  .okf-mobile-ui .wiki-section-links { gap: 4px !important; padding: 0px 7px 7px !important; }
  .okf-mobile-ui .wiki-section-links button { font-size: 0.76rem !important; padding: 6px 7px !important; border-radius: var(--control-radius) !important; }
  .okf-mobile-ui .wiki-reader-v2 { height: auto !important; min-height: 0px !important; display: grid !important; grid-template-rows: auto auto auto minmax(0px, 1fr) !important; overflow: hidden !important; border-radius: 0px !important; border-left: 0px !important; border-right: 0px !important; border-bottom: 0px !important; }
  .okf-mobile-ui .wiki-related-strip { display: grid !important; grid-template-columns: auto minmax(0px, 1fr) !important; align-items: center !important; gap: 7px !important; padding: 5px 8px !important; }
  .okf-mobile-ui .wiki-related-strip strong { font-size: 0.82rem !important; white-space: nowrap !important; }
  .okf-mobile-ui [data-wiki-related-note] { display: none !important; }
  .okf-mobile-ui .wiki-related-list, .okf-mobile-ui .wiki-tabs { overflow-x: auto !important; scrollbar-gutter: stable !important; }
  .okf-mobile-ui .wiki-related-list { gap: 5px !important; min-width: 0px !important; padding: 1px !important; }
  .okf-mobile-ui .wiki-related-list button { font-size: 0.7rem !important; padding: 5px 7px !important; border-radius: var(--control-radius) !important; white-space: nowrap !important; }
  .okf-mobile-ui .wiki-tabs { gap: 5px !important; padding: 5px 7px !important; }
  .okf-mobile-ui .wiki-tab { max-width: 150px !important; min-height: 32px !important; padding: 5px 7px !important; font-size: 0.75rem !important; border-radius: var(--control-radius) !important; flex: 0 0 auto !important; }
  .okf-mobile-ui .wiki-reader-toolbar { display: grid !important; grid-template-columns: minmax(0px, 1fr) !important; gap: 5px !important; padding: 5px 8px !important; }
  .okf-mobile-ui .wiki-reader-toolbar strong { font-size: 0.88rem !important; line-height: 1.1 !important; }
  .okf-mobile-ui .wiki-reader-toolbar [data-wiki-status] { display: none !important; }
  .okf-mobile-ui .wiki-reader-buttons { display: grid !important; grid-template-columns: repeat(4, minmax(0px, 1fr)) !important; gap: 5px !important; width: 100% !important; }
  .okf-mobile-ui .wiki-reader-buttons .btn { min-height: 32px !important; padding: 5px 4px !important; font-size: 0.63rem !important; line-height: 1.08 !important; }
  .okf-mobile-ui .wiki-frame { height: 100% !important; min-height: 0px !important; width: 100% !important; }
  .okf-mobile-ui .wiki-embed-fallback { left: 10px !important; right: 10px !important; bottom: 10px !important; max-width: none !important; }
}
@media (max-width: 480px) {
  .okf-mobile-ui .map-topbar { grid-template-columns: minmax(0px, 1fr) !important; }
  .okf-mobile-ui .map-quick-actions { grid-template-columns: repeat(2, minmax(0px, 1fr)) !important; }
  .okf-mobile-ui .map-controls-below { top: 94px !important; }
  .okf-mobile-ui .map-layout-v20 .map-results-card { height: min(46dvh, 380px) !important; max-height: min(46dvh, 380px) !important; }
  .okf-mobile-ui .wiki-nav-panel { max-height: 31dvh !important; }
  .okf-mobile-ui .wiki-search { grid-template-columns: minmax(0px, 1fr) 74px !important; }
  .okf-mobile-ui .wiki-actions-uniform { grid-template-columns: repeat(3, minmax(0px, 1fr)) !important; }
  .okf-mobile-ui .wiki-reader-buttons { grid-template-columns: repeat(4, minmax(0px, 1fr)) !important; }
  .okf-mobile-ui .wiki-section-stack { max-height: 14dvh !important; }
}
@media (max-width: 360px) {
  .okf-mobile-ui .wiki-reader-buttons { grid-template-columns: repeat(2, minmax(0px, 1fr)) !important; }
  .okf-mobile-ui .wiki-actions-uniform { grid-template-columns: minmax(0px, 1fr) !important; }
}
@media (max-width: 480px) {
  .okf-mobile-ui .map-layout-v20 .map-results-card.route-mode { height: min(30dvh, 250px) !important; max-height: min(30dvh, 250px) !important; }
}
.wiki-browse { border: 0px !important; background: transparent !important; box-shadow: none !important; }
@media (max-width: 720px) {
  .okf-mobile-ui .wiki-reader-buttons { grid-template-columns: repeat(5, minmax(0px, 1fr)) !important; }
  .okf-mobile-ui .wiki-reader-buttons .btn { font-size: 0.6rem !important; padding: 5px 2px !important; }
  .okf-mobile-ui .wiki-browse > .wiki-section-stack { max-height: 24dvh !important; }
}
.admin-console { max-width: 1320px !important; }
.admin-hero { display: grid !important; grid-template-columns: minmax(0px, 1fr) auto !important; gap: 18px !important; align-items: end !important; }
.admin-hero h1 { font-size: clamp(2rem, 4vw, 3.8rem) !important; line-height: 1 !important; margin: 0.2rem 0px 0.5rem !important; }
.admin-jumpbar { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.admin-status-grid, .admin-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: clamp(12px, 1.2vw, 18px); }
.admin-two-col { display: grid; grid-template-columns: minmax(280px, 0.72fr) minmax(340px, 1.28fr); gap: clamp(12px, 1.2vw, 18px); align-items: start; }
.admin-status-card { min-height: 150px; }
.admin-status-card p { margin: 0.35rem 0px; }
.admin-section { margin-top: clamp(22px, 2.5vw, 34px); }
.admin-section .section-head { margin-top: 0px; }
.admin-card-grid .card { min-width: 0px; }
.admin-card-grid label { display: grid; gap: 6px; margin-top: 10px; }
.admin-card-grid .input { width: 100%; min-width: 0px; }
.managed-user-list, .admin-rule-list { display: grid; gap: 9px; max-height: 520px; overflow: auto; padding-right: 2px; }
.managed-user-row, .admin-rule-row { display: grid; grid-template-columns: minmax(0px, 1fr) minmax(170px, 0.55fr) auto; gap: 10px; align-items: start; border: 1px solid var(--border); border-radius: var(--radius); background: color-mix(in srgb,var(--card2) 72%,transparent); padding: 11px; min-width: 0px; }
.admin-rule-row { grid-template-columns: minmax(0px, 1fr); }
.admin-rule-row.locked { border-color: color-mix(in srgb,var(--accent) 34%,var(--border)); }
.managed-user-password { display: flex; gap: 7px; align-items: center; flex-wrap: wrap; min-width: 0px; }
.managed-password { display: inline-block; max-width: 100%; overflow-wrap: anywhere; color: var(--accent2); }
.user-enabled { margin-top: 10px; }
.admin-rule-text { min-height: 150px; resize: vertical; }
.admin-device-grid { grid-template-columns: repeat(auto-fit, minmax(245px, 1fr)) !important; }
.admin-section-drawer { border: 1px solid var(--border); border-radius: var(--radius); background: linear-gradient(180deg,color-mix(in srgb,var(--card) 96%,white 4%),var(--card)); box-shadow: var(--shadow); overflow: hidden; }
.admin-section-drawer > summary { display: grid; grid-template-columns: minmax(0px, 1fr) auto; gap: 10px; align-items: center; min-height: 48px; padding: 12px 14px; cursor: pointer; font-weight: 800; }
.admin-section-drawer[open] > summary { border-bottom: 1px solid color-mix(in srgb,var(--border) 70%,transparent); }
.admin-section-drawer-body { padding: 0 var(--pad) var(--pad); }
.copyable { display: inline-block; max-width: 100%; overflow-wrap: anywhere; color: var(--link); }
.codex-status-grid { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: clamp(12px, 1.2vw, 18px); margin-bottom: clamp(12px, 1.2vw, 18px); }
.resource-health-panel { display: grid; gap: clamp(12px, 1.2vw, 18px); }
.resource-health-grid { display: grid; grid-template-columns: repeat(6, minmax(0px, 1fr)); gap: clamp(8px, 1vw, 12px); }
.resource-health-card { min-width: 0px; }
.resource-health-card h3 { margin: 0.25rem 0px; font-size: clamp(1.35rem, 2.2vw, 2rem); line-height: 1; }
.resource-health-card.ready h3 { color: var(--success); }
.resource-health-card.danger h3 { color: var(--danger); }
.resource-health-card.warn h3 { color: var(--warning); }
.resource-health-card.usable h3 { color: var(--accent); }
.resource-health-subhead { margin-top: 4px; }
.resource-repair-grid { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: clamp(8px, 1vw, 12px); }
.resource-repair-card { display: grid; gap: 6px; text-decoration: none; color: inherit; }
.resource-repair-card strong { line-height: 1.18; }
.resource-repair-card > span:last-child { display: flex; flex-wrap: wrap; gap: 5px; }
.library-intake-panel { display: grid; gap: clamp(12px, 1.2vw, 18px); }
.intake-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.library-intake-grid { display: grid; grid-template-columns: repeat(5, minmax(0px, 1fr)); gap: clamp(8px, 1vw, 12px); }
.library-intake-card h3 { margin: 0.25rem 0px; font-size: clamp(1.35rem, 2.2vw, 2rem); line-height: 1; }
.library-intake-card.ready h3 { color: var(--success); }
.library-intake-card.danger h3 { color: var(--danger); }
.library-intake-card.warn h3 { color: var(--warning); }
.library-intake-card.usable h3 { color: var(--accent); }
.library-intake-subhead { margin-top: 4px; }
.library-intake-list { display: grid; gap: 8px; max-height: 360px; overflow: auto; padding-right: 2px; }
.library-intake-row { display: grid; grid-template-columns: minmax(0px, 1.1fr) auto minmax(0px, 1fr) auto; gap: 10px; align-items: center; border: 1px solid var(--border); border-radius: var(--radius); background: color-mix(in srgb,var(--card2) 70%,transparent); padding: 9px 10px; }
.library-intake-row strong, .library-intake-row span { min-width: 0px; overflow-wrap: anywhere; }
.codex-status-card { min-width: 0px; }
.codex-status-card p { margin: 0.35rem 0px; overflow-wrap: anywhere; }
.codex-current-task { white-space: pre-wrap; color: var(--text) !important; }
.codex-request-grid { display: grid; grid-template-columns: minmax(340px, 1.1fr) minmax(320px, 0.9fr); gap: clamp(12px, 1.2vw, 18px); align-items: start; }
.codex-work-card, .codex-queue-card { min-width: 0px; }
.codex-tool-panel { border: 1px solid var(--border); border-radius: var(--radius); background: color-mix(in srgb,var(--card2) 68%,transparent); margin-top: 10px; overflow: hidden; }
.codex-tool-panel > summary { display: grid; grid-template-columns: minmax(0px, 1fr) auto; gap: 10px; align-items: center; min-height: 44px; padding: 10px 12px; cursor: pointer; font-weight: 800; }
.codex-tool-panel[open] > summary { border-bottom: 1px solid color-mix(in srgb,var(--border) 72%,transparent); }
.codex-tool-body { padding: 12px; display: grid; gap: 12px; }
.codex-fieldset { border: 1px solid color-mix(in srgb,var(--border) 76%,transparent); border-radius: var(--radius); padding: 10px; margin: 0px; }
.codex-fieldset legend { padding: 0px 6px; color: var(--muted); font-size: 0.82rem; font-weight: 800; }
.test-scope-toggle { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 8px; }
.choice-pill, .check-card { display: grid; grid-template-columns: 22px minmax(0px, 1fr); align-items: center; gap: 8px; min-width: 0px; max-width: 100%; overflow-wrap: anywhere; border: 1px solid color-mix(in srgb,var(--border) 78%,transparent); border-radius: var(--control-radius); background: color-mix(in srgb,var(--card) 72%,transparent); padding: 9px 10px; color: var(--text); font-weight: 650; }
.choice-pill input, .check-card input { width: 18px; height: 18px; margin: 0px; accent-color: var(--accent); }
.nested-control { border: 1px solid color-mix(in srgb,var(--border) 72%,transparent); border-radius: var(--radius); background: color-mix(in srgb,var(--card) 62%,transparent); overflow: hidden; }
.nested-control > summary { padding: 9px 10px; cursor: pointer; font-weight: 800; color: var(--text); }
.nested-control[open] > summary { border-bottom: 1px solid color-mix(in srgb,var(--border) 64%,transparent); }
.check-grid { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 7px; padding: 10px; }
.codex-test-notes { width: 100%; min-height: 82px; resize: vertical; }
.codex-test-actions { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
.codex-request-form label { display: grid; gap: 6px; }
.codex-request-input { width: 100%; min-height: 190px; resize: vertical; line-height: 1.45; }
.terminal-request-input { min-height: 140px; }
.codex-request-status { margin-top: 12px; }
.codex-request-status.warn { color: var(--warning); }
.codex-request-status.danger { color: var(--danger); }
.codex-request-list { display: grid; gap: 9px; max-height: 420px; overflow: auto; padding-right: 2px; }
.codex-request-item { border: 1px solid var(--border); border-radius: var(--radius); background: color-mix(in srgb,var(--card2) 72%,transparent); padding: 11px; min-width: 0px; }
.codex-request-head { display: grid; grid-template-columns: minmax(0px, 1fr) auto; gap: 10px; align-items: start; }
.codex-request-head strong { overflow-wrap: anywhere; }
.codex-request-head span { color: var(--muted); font-size: 0.78rem; white-space: nowrap; }
.codex-request-meta { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; color: var(--muted); font-size: 0.78rem; margin-top: 7px; }
.codex-request-body { white-space: pre-wrap; overflow-wrap: anywhere; margin: 0.55rem 0px; color: var(--text) !important; }
.codex-request-file { display: block; overflow-wrap: anywhere; color: var(--muted); font-size: 0.76rem; }
.codex-request-actions { display: flex; justify-content: flex-end; margin-top: 9px; }
.codex-request-actions .btn { padding: 5px 8px; font-size: 0.78rem; }
.admin-console .update-dashboard-grid { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
.admin-console .update-two-col { grid-template-columns: minmax(0px, 1fr) minmax(340px, 0.8fr); }
.admin-console .section-label { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.admin-console .section-label h2 { margin: 0px; }
@media (max-width: 1050px) {
  .admin-hero, .admin-status-grid, .admin-card-grid, .admin-two-col, .codex-status-grid, .codex-request-grid, .admin-console .update-dashboard-grid, .admin-console .update-two-col { grid-template-columns: minmax(0px, 1fr) !important; }
  .resource-health-grid { grid-template-columns: repeat(3, minmax(0px, 1fr)) !important; }
  .library-intake-grid { grid-template-columns: repeat(3, minmax(0px, 1fr)) !important; }
  .resource-repair-grid { grid-template-columns: minmax(0px, 1fr) !important; }
  .library-intake-row { grid-template-columns: minmax(0px, 1fr) auto !important; }
  .library-intake-row .muted { grid-column: 1 / -1; }
  .admin-jumpbar { justify-content: flex-start; }
}
@media (max-width: 640px) {
  .admin-console { padding: 10px 8px 18px !important; }
  .admin-hero { gap: 12px !important; }
  .admin-hero h1 { font-size: clamp(1.7rem, 12vw, 2.5rem) !important; }
  .admin-jumpbar { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 6px; width: 100%; }
  .admin-jumpbar .btn { min-width: 0px; padding: 8px 5px; font-size: 0.72rem; }
  .resource-health-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)) !important; }
  .library-intake-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)) !important; }
  .intake-actions { display: grid; width: 100%; grid-template-columns: minmax(0px, 1fr); }
  .admin-status-grid, .admin-card-grid { overflow-x: auto; scrollbar-gutter: stable; padding-bottom: 2px; display: flex !important; gap: 8px !important; }
  .admin-status-grid > .card, .admin-card-grid > .card { min-width: min(84vw, 330px) !important; flex: 0 0 min(84vw, 330px) !important; }
  .admin-section-drawer > summary { min-height: 44px; padding: 10px 11px; }
  .admin-section-drawer-body { padding: 0px 10px 10px; }
  .admin-device-grid { max-height: 360px; overflow: auto; display: grid !important; grid-template-columns: minmax(0px, 1fr) !important; }
  .managed-user-row { grid-template-columns: minmax(0px, 1fr) !important; }
  .managed-user-list, .admin-rule-list { max-height: 430px; }
  .admin-console .card-actions { display: grid !important; grid-template-columns: minmax(0px, 1fr) !important; }
  .admin-console .card-actions .btn { width: 100%; white-space: normal; }
  .admin-console .update-hero-actions { display: grid; width: 100%; grid-template-columns: minmax(0px, 1fr); }
  .codex-status-grid { overflow-x: auto; scrollbar-gutter: stable; padding-bottom: 2px; display: flex !important; gap: 8px !important; }
  .codex-status-card { min-width: min(82vw, 310px) !important; flex: 0 0 min(82vw, 310px) !important; }
  .codex-tool-panel { margin-top: 8px; border-radius: var(--radius); }
  .codex-tool-panel > summary { min-height: 42px; padding: 9px 10px; }
  .codex-tool-body { padding: 10px; gap: 10px; }
  .test-scope-toggle, .check-grid, .codex-test-actions { grid-template-columns: minmax(0px, 1fr); }
  .check-grid { max-height: 220px; overflow: auto; }
  .choice-pill, .check-card { padding: 8px 9px; font-size: 0.88rem; }
  .codex-request-input { min-height: 160px; }
  .codex-request-head { grid-template-columns: minmax(0px, 1fr); }
  .codex-request-head span { white-space: normal; }
}
@media (max-width: 640px) {
  .okf-mobile-ui .map-results-card.route-mode { height: min(34dvh, 288px) !important; max-height: min(34dvh, 288px) !important; }
  .okf-mobile-ui .map-results-card.route-mode .side-route-setup { padding: 6px !important; gap: 5px !important; }
  .okf-mobile-ui .map-results-card.route-mode .route-start-edit, .okf-mobile-ui .map-results-card.route-mode #routeStartResults, .okf-mobile-ui .map-results-card.route-mode #manualPin, .okf-mobile-ui .map-results-card.route-mode .pin-row, .okf-mobile-ui .map-results-card.route-mode .pin-row.single, .okf-mobile-ui .map-results-card.route-mode details { display: none !important; }
  .okf-mobile-ui .map-results-card.route-mode .route-point-box { min-height: auto !important; padding: 5px 7px !important; }
  .okf-mobile-ui .map-results-card.route-mode .side-directions .directions-list { max-height: 18dvh !important; }
  .okf-mobile-ui .map-results-card.route-mode.route-ready .side-route-setup { display: none !important; }
  .okf-mobile-ui .map-results-card.route-mode.route-ready .side-directions { align-content: start !important; }
  .okf-mobile-ui .map-results-card.route-mode.route-ready > .card-actions, .okf-mobile-ui .map-results-card.route-mode.route-ready > .side-radius { display: none !important; }
  .okf-mobile-ui .wiki-nav-panel { max-height: 20dvh !important; overflow: auto !important; }
  .okf-mobile-ui .wiki-section-stack { display: none !important; }
  .okf-mobile-ui .wiki-actions-uniform { grid-template-columns: repeat(3, minmax(0px, 1fr)) !important; }
  .okf-mobile-ui .wiki-reader-v2 { grid-template-rows: auto auto auto minmax(0px, 1fr) !important; }
  .okf-mobile-ui .wiki-reader-buttons .btn { min-height: 30px !important; }
  .admin-status-grid, .admin-card-grid, .codex-status-grid { display: grid !important; grid-template-columns: minmax(0px, 1fr) !important; overflow: visible !important; gap: 8px !important; }
  .admin-status-grid > .card, .admin-card-grid > .card, .codex-status-card { min-width: 0px !important; width: 100% !important; max-width: 100% !important; flex: initial !important; }
  .admin-console { overflow-x: hidden !important; }
}
.top-search { position: relative !important; }
@media (max-width: 900px) {
  .nav-inner { grid-template-rows: auto auto !important; }
  .right-tools { display: contents !important; }
  .right-tools .top-search { display: flex !important; grid-area: 2 / 1 / auto / -1 !important; width: 100% !important; max-width: none !important; min-width: 0px !important; margin-top: 2px !important; }
  .right-tools .settings-control { grid-area: 1 / 3 !important; position: static !important; justify-self: end !important; width: 46px !important; height: 46px !important; flex: 0 0 46px !important; border-radius: var(--radius) !important; }
  .top-search input { min-width: 0px !important; }
}
@media (max-width: 430px) {
  .right-tools .settings-control { width: 42px !important; height: 42px !important; flex-basis: 42px !important; }
}
.reader-container { display: grid !important; gap: 14px !important; }
.reader-head { display: grid !important; grid-template-columns: minmax(0px, 1fr) auto !important; gap: 16px !important; align-items: end !important; }
.reader-head h1 { font-size: clamp(2rem, 4vw, 4.2rem) !important; line-height: 1 !important; margin: 0.2rem 0px 0.5rem !important; }
.reader-actions { display: flex !important; gap: 8px !important; flex-wrap: wrap !important; justify-content: flex-end !important; }
.reader-layout { display: grid !important; grid-template-columns: minmax(220px, 300px) minmax(0px, 1fr) !important; gap: 14px !important; align-items: start !important; }
.reader-toc { position: sticky !important; top: 86px !important; max-height: calc(-110px + 100vh) !important; overflow: auto !important; display: grid !important; gap: 6px !important; }
.reader-toc a { display: block !important; padding: 6px 8px !important; border-radius: var(--control-radius) !important; text-decoration: none !important; color: var(--text) !important; border: 1px solid transparent !important; }
.reader-toc a:hover { border-color: var(--border) !important; background: color-mix(in srgb,var(--card2) 70%,transparent) !important; }
.markdown-reader { font-size: 1.02rem !important; line-height: 1.68 !important; overflow-wrap: anywhere !important; }
.markdown-reader h1, .markdown-reader h2, .markdown-reader h3, .markdown-reader h4 { line-height: 1.15 !important; margin: 1.4em 0px 0.45em !important; letter-spacing: 0px !important; }
.markdown-reader h1 { font-size: 2rem !important; }
.markdown-reader h2 { font-size: 1.55rem !important; }
.markdown-reader h3 { font-size: 1.25rem !important; }
.markdown-reader p, .markdown-reader li { max-width: 82ch !important; }
.markdown-reader pre { max-width: 100% !important; overflow: auto !important; border: 1px solid var(--border) !important; border-radius: var(--radius) !important; background: var(--input) !important; padding: 12px !important; }
.markdown-reader code { font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace !important; }
.markdown-reader blockquote { margin: 1rem 0px !important; padding: 10px 13px !important; border-left: 4px solid var(--accent) !important; background: color-mix(in srgb,var(--card2) 58%,transparent) !important; border-radius: var(--radius) !important; }
.markdown-reader img { display: block !important; max-width: 100% !important; height: auto !important; border: 1px solid var(--border) !important; border-radius: var(--radius) !important; background: var(--card2) !important; margin: 12px 0px !important; }
.markdown-reader table { display: block !important; max-width: 100% !important; overflow: auto !important; border-collapse: collapse !important; }
.markdown-reader th, .markdown-reader td { border: 1px solid var(--border) !important; padding: 6px 8px !important; }
@media (max-width: 900px) {
  .reader-head, .reader-layout { grid-template-columns: minmax(0px, 1fr) !important; }
  .reader-actions { display: grid !important; grid-template-columns: minmax(0px, 1fr) !important; justify-content: stretch !important; }
  .reader-actions .btn { width: 100% !important; }
  .reader-toc { position: static !important; max-height: 220px !important; }
  .markdown-reader { font-size: 1rem !important; line-height: 1.62 !important; }
}
.okf-desktop-ui .map-layout-v20 .map-layer-status, .okf-mobile-ui .map-layout-v20 .map-layer-status { display: block !important; position: absolute !important; left: 10px !important; bottom: 10px !important; z-index: 75 !important; max-width: min(560px, 100% - 96px) !important; margin: 0px !important; padding: 7px 10px !important; border-radius: var(--radius) !important; background: color-mix(in srgb,var(--card) 88%,transparent) !important; box-shadow: rgba(0, 0, 0, 0.18) 0px 10px 28px !important; backdrop-filter: blur(8px) !important; pointer-events: none !important; }
@media (max-width: 1024px) {
  .okf-mobile-ui .map-layout-v20 .map-layer-status { left: 6px !important; right: 58px !important; bottom: 7px !important; max-width: none !important; font-size: 0.72rem !important; line-height: 1.2 !important; }
}
.topbar, .app-shell:has(.maps-container) .topbar, .okf-desktop-ui .app-shell:has(.maps-container) .topbar, .okf-mobile-ui .app-shell:has(.maps-container) .topbar, .okf-mobile-ui .wiki-app > .topbar { position: sticky !important; top: 0px !important; z-index: 920 !important; }
.app-section-drawer { margin: 12px 0px !important; border: 1px solid color-mix(in srgb,var(--border) 78%,var(--accent) 10%) !important; border-radius: var(--radius) !important; background: linear-gradient(145deg,color-mix(in srgb,var(--card) 94%,var(--theme-gradient-a,var(--accent)) 5%),color-mix(in srgb,var(--card2) 78%,var(--bg) 22%)) !important; box-shadow: rgba(0, 0, 0, 0.16) 0px 10px 28px !important; overflow: hidden !important; }
.app-section-drawer > summary { display: grid !important; grid-template-columns: minmax(0px, 1fr) auto !important; gap: 10px !important; align-items: center !important; min-height: 54px !important; padding: 13px 15px !important; cursor: pointer !important; list-style: none !important; }
.app-section-drawer > summary::-webkit-details-marker { display: none !important; }
.app-section-title { min-width: 0px !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; font-weight: 850 !important; }
.app-section-meta { max-width: min(42vw, 360px) !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; color: var(--muted) !important; font-size: 0.82rem !important; }
.app-section-drawer > summary::after { content: ""; width: 10px; height: 10px; border-right: 2px solid; border-bottom: 2px solid; transform: rotate(45deg); opacity: 0.72; margin-left: 2px; }
.app-section-drawer[open] > summary { border-bottom: 1px solid color-mix(in srgb,var(--border) 72%,transparent) !important; }
.app-section-drawer[open] > summary::after { transform: rotate(225deg); margin-top: 6px; }
.app-section-body { padding: 14px !important; }
.app-section-body > .section-head:first-child { margin-top: 0px !important; }
.app-section-body.grid > .section-head { grid-column: 1 / -1 !important; }
.app-section-body .grid, .app-section-body.grid { gap: 12px !important; }
@media (max-width: 720px) {
  .app-section-drawer { margin: 8px 0px !important; border-radius: var(--radius) !important; }
  .app-section-drawer > summary { min-height: 48px !important; padding: 11px 12px !important; }
  .app-section-meta { display: none !important; }
  .app-section-body { padding: 10px !important; }
}
.map-results-card.route-mode.route-ready .side-route-setup { display: none !important; }
.map-results-card.route-mode .route-steps-drawer { display: block !important; border: 1px solid var(--border) !important; border-radius: var(--control-radius) !important; padding: 8px !important; background: color-mix(in srgb,var(--card) 70%,transparent) !important; }
.map-results-card.route-mode .route-steps-drawer > summary { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 8px !important; cursor: pointer !important; }
.map-results-card.route-mode .route-steps-drawer .directions-list { max-height: calc(-330px + 100vh) !important; overflow: auto !important; margin-top: 8px !important; }
.map-results-card.route-mode.route-ready .side-directions { gap: 8px !important; }
.map-results-card.route-mode.route-ready .side-route-actions { grid-template-columns: repeat(3, minmax(0px, 1fr)) !important; }
.map-results-card.route-mode.route-ready .side-route-actions .btn { min-width: 0px !important; white-space: normal !important; padding: 7px 8px !important; }
.map-results-card.route-mode.route-ready .route-options { gap: 5px !important; }
.map-results-card.route-mode.route-ready .route-alt-note { display: none !important; }
@media (max-width: 1024px) {
  .okf-mobile-ui .map-results-card.route-mode { height: min(30dvh, 250px) !important; max-height: min(30dvh, 250px) !important; }
  .okf-mobile-ui .map-results-card.route-mode.route-ready .route-options { grid-template-columns: 1fr !important; }
  .okf-mobile-ui .map-results-card.route-mode .route-steps-drawer { padding: 7px !important; }
  .okf-mobile-ui .map-results-card.route-mode .route-steps-drawer:not([open]) .directions-list { display: none !important; }
  .okf-mobile-ui .map-results-card.route-mode.route-ready .side-route-actions { grid-template-columns: minmax(0px, 1fr) !important; }
}
.source-card-v2 { display: grid !important; grid-template-columns: minmax(0px, 1fr) !important; gap: 9px !important; padding: 14px 15px !important; }
.source-card-v2 .source-card-top { display: grid !important; grid-template-columns: minmax(0px, 1fr) auto !important; gap: 12px !important; align-items: start !important; }
.source-card-v2 h3 { min-width: 0px !important; font-size: 1rem !important; line-height: 1.25 !important; }
.source-card-v2 .source-read { min-width: 74px !important; padding: 7px 12px !important; }
.source-card-v2 .source-desc { margin: 0px !important; -webkit-line-clamp: 2 !important; }
.source-card-v2 .source-meta { max-height: none !important; overflow: visible !important; }
.source-detail-drawer { border: 1px solid color-mix(in srgb,var(--border) 72%,transparent) !important; border-radius: var(--radius) !important; background: color-mix(in srgb,var(--card2) 52%,transparent) !important; overflow: hidden !important; }
.source-detail-drawer > summary { display: grid !important; grid-template-columns: auto minmax(0px, 1fr) !important; gap: 10px !important; align-items: center !important; min-height: 38px !important; padding: 8px 10px !important; cursor: pointer !important; list-style: none !important; color: var(--text) !important; font-weight: 800 !important; }
.source-detail-drawer > summary::-webkit-details-marker { display: none !important; }
.source-detail-drawer > summary span:last-child { min-width: 0px !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; color: var(--muted) !important; font-size: 0.78rem !important; font-weight: 650 !important; }
.source-detail-drawer[open] > summary { border-bottom: 1px solid color-mix(in srgb,var(--border) 72%,transparent) !important; }
.source-detail-drawer .source-compact { margin: 9px 10px !important; display: block !important; -webkit-line-clamp: unset !important; }
.source-parts { display: grid !important; gap: 6px !important; margin: 0px 10px 10px !important; }
.source-parts > strong { font-size: 0.82rem !important; color: var(--text) !important; }
.source-part-row { display: grid !important; grid-template-columns: minmax(0px, 1fr) auto !important; gap: 10px !important; align-items: center !important; padding: 7px 8px !important; border: 1px solid color-mix(in srgb,var(--border) 70%,transparent) !important; border-radius: var(--radius) !important; background: color-mix(in srgb,var(--card) 74%,transparent) !important; text-decoration: none !important; }
.source-part-row span { min-width: 0px !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; color: var(--link) !important; font-weight: 750 !important; }
.source-part-row small { color: var(--muted) !important; font-size: 0.73rem !important; white-space: nowrap !important; }
.source-tags-all { max-height: 4.8rem !important; overflow: auto !important; margin: 0px 10px 10px !important; padding-right: 2px !important; }
.source-secondary-actions { display: flex !important; gap: 7px !important; flex-wrap: wrap !important; padding: 0px 10px 10px !important; }
.source-secondary-actions .btn { font-size: 0.78rem !important; padding: 6px 8px !important; }
.filter-panel .filters { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important; gap: 8px !important; max-height: none !important; overflow: visible !important; }
.filter-group { border: 1px solid color-mix(in srgb,var(--border) 72%,transparent) !important; border-radius: var(--control-radius) !important; background: color-mix(in srgb,var(--card) 72%,transparent) !important; overflow: hidden !important; }
.filter-group > summary { padding: 8px 10px !important; cursor: pointer !important; font-weight: 850 !important; color: var(--text) !important; }
.filter-group-buttons { display: flex !important; flex-wrap: wrap !important; gap: 6px !important; padding: 0px 9px 9px !important; max-height: 11rem !important; overflow: auto !important; }
.filter-group .filter { margin: 0px !important; }
.reader-table-wrap { max-width: 100% !important; overflow: auto !important; border: 1px solid var(--border) !important; border-radius: var(--control-radius) !important; margin: 16px 0px !important; }
.reader-table-wrap table { margin: 0px !important; min-width: 620px !important; }
.markdown-reader figure, .markdown-reader .reader-image-block { margin: 18px 0px !important; }
.markdown-reader figure img, .markdown-reader .reader-image-block img { margin: 0px !important; }
.markdown-reader figcaption, .markdown-reader .reader-image-block + em { display: block !important; margin-top: 7px !important; color: var(--muted) !important; font-size: 0.9rem !important; line-height: 1.35 !important; }
.reader-image-error { color: var(--danger) !important; font-size: 0.86rem !important; }
@media (max-width: 720px) {
  .source-card-v2 .source-card-top { grid-template-columns: minmax(0px, 1fr) !important; }
  .source-card-v2 .source-read, .source-secondary-actions .btn { width: 100% !important; }
  .source-secondary-actions { display: grid !important; grid-template-columns: minmax(0px, 1fr) !important; }
  .source-part-row { grid-template-columns: minmax(0px, 1fr) !important; }
  .source-part-row small { white-space: normal !important; }
  .filter-panel .filters { grid-template-columns: minmax(0px, 1fr) !important; }
}
.library-controls .toolbar { display: grid !important; grid-template-columns: minmax(0px, 1fr) auto !important; gap: 8px !important; }
.filter-panel > summary { min-height: 38px !important; display: flex !important; align-items: center !important; justify-content: space-between !important; }
.filter-panel > summary::after { content: "Browse by topic, situation, source type, or visuals"; color: var(--muted); font-size: 0.78rem; font-weight: 650; }
.filter[data-filter="stub"], .filter[data-filter="needs-images"], .filter[data-filter="partial"] { display: none !important; }
.source-card-v2 .source-meta { gap: 5px !important; }
.topic-card h3 a { display: inline-flex !important; align-items: center !important; min-height: 36px !important; }
.source-card-v2 .source-meta .chip, .source-card-v2 .source-meta .badge { max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.reader-container { max-width: min(1320px, 100%) !important; }
.reader-head h1 { font-size: clamp(1.8rem, 3.4vw, 3.4rem) !important; max-width: 19ch !important; }
.reader-layout { grid-template-columns: minmax(190px, 260px) minmax(0px, 1fr) !important; }
.reader-toc { padding: 12px !important; }
.reader-toc strong { font-size: 0.82rem !important; text-transform: uppercase !important; letter-spacing: 0.04em !important; color: var(--muted) !important; }
.reader-toc .toc-level-2 { padding-left: 14px !important; }
.reader-toc .toc-level-3 { padding-left: 26px !important; font-size: 0.9rem !important; }
.markdown-reader { padding: clamp(18px, 3vw, 38px) !important; font-size: 1.04rem !important; line-height: 1.72 !important; }
.markdown-reader > h1:first-child, .markdown-reader > h2:first-child, .markdown-reader > h3:first-child { margin-top: 0px !important; }
.markdown-reader img { max-height: 72vh !important; object-fit: contain !important; }
.markdown-reader .image-load-failed { opacity: 0.48 !important; outline: 2px solid color-mix(in srgb,var(--danger) 55%,transparent) !important; }
.reader-image-error { margin: 0.45rem 0px 1rem !important; }
.okf-desktop-ui #mapApp.map-layout-v20 { position: relative !important; display: grid !important; grid-template-columns: minmax(0px, 1fr) !important; grid-template-areas: "map" !important; gap: 0px !important; }
.okf-desktop-ui #mapApp.map-layout-v20.map-results-hidden .map-results-card { display: none !important; }
.okf-desktop-ui .map-layout-v20 .map-results-card { grid-area: map !important; position: absolute !important; z-index: 88 !important; right: 12px !important; top: 116px !important; bottom: auto !important; width: min(410px, 100% - 24px) !important; height: auto !important; max-height: min(54vh, 480px) !important; overflow: auto !important; border-radius: var(--radius) !important; border: 1px solid color-mix(in srgb,var(--border) 86%,transparent) !important; padding: 10px !important; background: color-mix(in srgb,var(--card) 94%,var(--bg) 6%) !important; box-shadow: rgba(0, 0, 0, 0.38) 0px 18px 54px !important; backdrop-filter: blur(10px) !important; }
.okf-desktop-ui .map-results-card.route-mode { top: 86px !important; bottom: 12px !important; max-height: none !important; width: min(460px, 100% - 24px) !important; }
.okf-desktop-ui .map-results-card h2 { margin: 0px 0px 6px !important; }
.okf-desktop-ui .map-results-card .side-back { margin-bottom: 7px !important; }
.okf-desktop-ui .map-results-card.route-mode .side-directions .directions-list { max-height: none !important; }
.okf-desktop-ui .map-quick-actions .btn, .okf-mobile-ui .map-quick-actions .btn { min-width: 44px !important; min-height: 44px !important; padding: 8px !important; font-size: 1rem !important; }
@media (max-width: 720px) {
  .library-controls .toolbar { grid-template-columns: minmax(0px, 1fr) !important; }
  .filter-panel > summary { display: grid !important; gap: 3px !important; align-items: start !important; }
  .filter-panel > summary::after { font-size: 0.72rem !important; }
}
@media (max-width: 480px) {
  .okf-mobile-ui .map-layout-v20 .map-results-card.route-mode { height: min(30dvh, 250px) !important; max-height: min(30dvh, 250px) !important; }
}
.wiki-browse { border: 0px !important; background: transparent !important; box-shadow: none !important; }
@media (max-width: 720px) {
  .okf-mobile-ui .wiki-nav-panel { max-height: 30dvh !important; }
  .okf-mobile-ui .wiki-browse > .wiki-section-stack { display: grid !important; max-height: 24dvh !important; }
  .okf-mobile-ui .wiki-related-list button { flex: 0 0 auto !important; }
  .okf-mobile-ui .wiki-reader-buttons { grid-template-columns: repeat(5, minmax(0px, 1fr)) !important; }
  .okf-mobile-ui .wiki-reader-buttons .btn { font-size: 0.6rem !important; padding: 5px 2px !important; }
}
.wiki-related-list button { display: inline-flex !important; align-items: center !important; gap: 7px !important; }
.wiki-related-list button > span { min-width: 0px; overflow: hidden; text-overflow: ellipsis; }
.wiki-suggestion-tab { width: 15px; height: 15px; flex: 0 0 auto; fill: none; stroke: currentcolor; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; opacity: 0.72; }
.wiki-related-loading { padding: 6px 2px; color: var(--muted); font-size: 0.82rem; white-space: nowrap; }
@media (max-width: 720px) {
  .okf-mobile-ui .wiki-suggestion-tab { width: 13px; height: 13px; }
  .okf-mobile-ui .wiki-related-list button { gap: 5px !important; }
}
.wiki-sidebar-collapsed .wiki-shell-v2, .okf-desktop-ui .wiki-sidebar-collapsed .wiki-shell-v2 { grid-template-columns: minmax(0px, 1fr) !important; }
.wiki-sidebar-collapsed .wiki-nav-panel { display: none !important; }
.wiki-sidebar-collapsed [data-wiki-sidebar] { border-color: color-mix(in srgb,var(--accent) 55%,var(--border)) !important; }
@media (max-width: 720px) {
  .okf-mobile-ui .wiki-sidebar-collapsed .wiki-shell-v2 { grid-template-rows: minmax(0px, 1fr) !important; }
  .okf-mobile-ui .wiki-sidebar-collapsed .wiki-reader-v2 { height: 100% !important; }
}
.wiki-app .btn, .wiki-app button { transition: background-color 0.08s, border-color 0.08s, color 0.08s !important; }
.wiki-app .btn:hover, .wiki-app button:hover { transform: none !important; box-shadow: none !important; }
.wiki-nav-panel { position: relative !important; }
.wiki-sidebar-close { position: absolute; z-index: 3; top: 10px; right: 10px; display: grid; place-items: center; width: 34px; height: 34px; padding: 0px; border: 1px solid var(--border); border-radius: var(--control-radius); background: color-mix(in srgb,var(--card2) 86%,var(--bg) 14%); color: var(--text); font-family: inherit; font-size: 1.2rem; font-weight: 800; line-height: 1; cursor: pointer; }
.wiki-sidebar-close:hover, .wiki-sidebar-close:focus-visible { border-color: var(--accent) !important; background: color-mix(in srgb,var(--accent) 14%,var(--card)) !important; }
.wiki-home-head { padding-right: 38px; }
.wiki-sidebar-backdrop { display: none; }
.wiki-related-strip, .okf-desktop-ui .wiki-related-strip { grid-template-columns: minmax(0px, 1fr) !important; align-items: start !important; gap: 8px !important; padding: 10px 12px !important; }
.wiki-related-strip > div:first-child { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; min-width: 0px; }
.wiki-related-list, .okf-desktop-ui .wiki-related-list { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)) !important; gap: 7px !important; width: 100% !important; min-width: 0px !important; overflow: visible !important; padding: 0px !important; }
.wiki-related-list button { display: grid !important; grid-template-columns: minmax(0px, 1fr) auto !important; width: 100% !important; min-width: 0px !important; min-height: 36px !important; align-items: center !important; justify-content: stretch !important; text-align: left !important; white-space: normal !important; line-height: 1.18 !important; }
.wiki-related-list button > span { overflow: visible !important; text-overflow: clip !important; white-space: normal !important; }
.okf-mobile-ui .wiki-shell-v2 { position: relative !important; grid-template-rows: minmax(0px, 1fr) !important; }
.wiki-sidebar-initial-collapsed .wiki-nav-panel { display: none !important; }
.okf-mobile-ui .wiki-reader-v2 { grid-area: 1 / 1 !important; height: 100% !important; }
.okf-mobile-ui .wiki-nav-panel { position: fixed !important; z-index: 950 !important; inset: 0px auto 0px 0px !important; width: min(360px, 90vw) !important; height: 100dvh !important; max-height: none !important; padding: 52px 10px 12px !important; border-top: 0px !important; border-bottom: 0px !important; border-left: 0px !important; border-image: none !important; border-right: 1px solid var(--border) !important; box-shadow: rgba(0, 0, 0, 0.42) 20px 0px 54px !important; background: linear-gradient(160deg,color-mix(in srgb,var(--card) 96%,var(--accent) 4%),color-mix(in srgb,var(--card2) 92%,var(--bg) 8%)) !important; overflow: auto !important; }
.okf-mobile-ui .wiki-sidebar-close { position: fixed; z-index: 952; top: 10px; left: min(-44px + 90vw, 316px); right: auto; }
.okf-mobile-ui .wiki-sidebar-backdrop:not([hidden]) { position: fixed; z-index: 940; inset: 0px; width: 100vw; height: 100dvh; padding: 0px; border: 0px; border-radius: 0px; cursor: pointer; display: block !important; background: rgba(0, 0, 0, 0.48) !important; }
.okf-mobile-ui .wiki-related-strip { grid-template-columns: minmax(0px, 1fr) !important; gap: 6px !important; padding: 7px 8px !important; }
.okf-mobile-ui .wiki-related-strip > div:first-child { display: block !important; }
.okf-mobile-ui .wiki-related-list { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important; gap: 5px !important; overflow: visible !important; scrollbar-gutter: auto !important; }
.okf-mobile-ui .wiki-related-list button { min-height: 34px !important; padding: 6px 7px !important; font-size: 0.7rem !important; white-space: normal !important; }
.okf-mobile-ui .wiki-sidebar-collapsed .wiki-nav-panel { display: none !important; }
.okf-mobile-ui .wiki-reader-buttons { grid-template-columns: repeat(6, minmax(0px, 1fr)) !important; gap: 4px !important; }
.okf-mobile-ui .wiki-reader-buttons .btn { min-width: 0px !important; min-height: 34px !important; padding: 4px 1px !important; font-size: 0.56rem !important; line-height: 1.02 !important; white-space: normal !important; overflow-wrap: anywhere !important; }
.wiki-search { position: relative !important; display: block !important; }
.wiki-search-label { display: block; margin: 0px 0px 6px; color: var(--card-text,var(--text)); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.01em; }
.wiki-search-row { display: grid; grid-template-columns: minmax(0px, 1fr) auto; gap: 8px; }
.wiki-search-row .input { width: 100%; min-width: 0px; }
.wiki-search-suggestions { position: absolute; z-index: 12; top: calc(100% + 5px); left: 0px; right: 0px; display: grid; gap: 3px; max-height: min(52vh, 420px); overflow: auto; padding: 6px; border: 1px solid color-mix(in srgb,var(--border) 74%,var(--accent) 26%); border-radius: var(--control-radius); background: color-mix(in srgb,var(--card) 97%,var(--bg) 3%); box-shadow: rgba(0, 0, 0, 0.38) 0px 18px 42px; }
.wiki-search-suggestions[hidden] { display: none !important; }
.wiki-search-suggestions button { display: grid; grid-template-columns: minmax(0px, 1fr) auto; gap: 9px; align-items: center; width: 100%; min-height: 38px; padding: 7px 9px; border: 1px solid transparent; border-radius: var(--control-radius); background: transparent; color: var(--text); text-align: left; font: inherit; cursor: pointer; }
.wiki-search-suggestions button strong { min-width: 0px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 0.82rem; }
.wiki-search-suggestions button span { color: var(--muted); font-size: 0.67rem; }
.wiki-search-suggestions button:hover, .wiki-search-suggestions button[aria-selected="true"] { border-color: color-mix(in srgb,var(--accent) 48%,var(--border)); background: color-mix(in srgb,var(--accent) 12%,var(--card)) !important; }
.wiki-saved, .wiki-recents { margin: 7px 0px 8px; padding: 9px; border: 1px solid color-mix(in srgb,var(--border) 82%,var(--accent) 18%); border-radius: var(--radius); background: color-mix(in srgb,var(--card2) 64%,transparent); }
.wiki-saved-list, .wiki-recent-list { display: grid !important; gap: 5px !important; overflow: visible !important; padding: 0px !important; }
.wiki-library-row { display: grid; grid-template-columns: minmax(0px, 1fr) 34px; gap: 5px; align-items: stretch; min-width: 0px; }
.wiki-library-open { gap: 1px; min-width: 0px; cursor: pointer; display: grid !important; padding: 7px 8px !important; border: 1px solid var(--border) !important; border-radius: var(--radius) !important; background: color-mix(in srgb,var(--card) 78%,transparent) !important; color: var(--text) !important; text-align: left !important; font: inherit !important; }
.wiki-library-open span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 0.77rem; font-weight: 760; }
.wiki-library-open small { color: var(--muted); font-size: 0.62rem; }
.wiki-library-pin { display: grid; place-items: center; min-width: 34px; padding: 0px; border: 1px solid var(--border); border-radius: var(--control-radius); background: color-mix(in srgb,var(--card) 78%,transparent); color: var(--muted); font-family: inherit; font-size: 0.95rem; font-weight: 800; line-height: 1; cursor: pointer; }
.wiki-library-pin.active { border-color: color-mix(in srgb,var(--warning) 52%,var(--border)); color: var(--warning); }
.wiki-list-empty { margin: 0px; color: var(--muted); font-size: 0.72rem; line-height: 1.35; }
.wiki-related-head { min-width: 0px; display: flex !important; align-items: flex-start !important; justify-content: space-between !important; gap: 12px !important; }
.wiki-related-head > div { min-width: 0px; }
.wiki-related-count { color: var(--muted); font-size: 0.72rem; font-weight: 650; white-space: nowrap; }
.wiki-related-toggle { flex: 0 0 auto; min-width: 50px; min-height: 30px; padding: 4px 8px; border: 1px solid var(--border); border-radius: var(--control-radius); background: color-mix(in srgb,var(--card2) 78%,transparent); color: var(--text); font-family: inherit; font-size: 0.72rem; font-weight: 750; line-height: 1; cursor: pointer; }
.okf-desktop-ui .wiki-related-list { grid-template-columns: repeat(4, minmax(0px, 1fr)) !important; }
.wiki-related-collapsed { padding-top: 7px !important; padding-bottom: 7px !important; }
.wiki-related-collapsed .wiki-related-list { display: none !important; }
.wiki-related-collapsed [data-wiki-related-note] { display: none !important; }
.wiki-reader-toolbar { position: relative !important; }
.wiki-reading-tools { position: absolute; z-index: 90; top: calc(100% + 7px); right: 10px; display: grid; gap: 9px; width: min(540px, 100% - 20px); max-height: min(72vh, 560px); overflow: auto; padding: 12px; border: 1px solid color-mix(in srgb,var(--border) 72%,var(--accent) 28%); border-radius: var(--radius); background: color-mix(in srgb,var(--card) 97%,var(--bg) 3%); box-shadow: rgba(0, 0, 0, 0.46) 0px 20px 52px; }
.wiki-reading-tools[hidden] { display: none !important; }
.wiki-reading-tools-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-bottom: 7px; border-bottom: 1px solid var(--border); }
.wiki-reading-tools-head button { display: grid; place-items: center; width: 30px; height: 30px; padding: 0px; border: 1px solid var(--border); border-radius: var(--control-radius); background: transparent; color: var(--text); font-family: inherit; font-size: 1.05rem; font-weight: 800; line-height: 1; cursor: pointer; }
.wiki-reading-tools > label, .wiki-reading-size > span { color: var(--muted); font-size: 0.72rem; font-weight: 800; }
.wiki-find-row { display: grid; grid-template-columns: minmax(0px, 1fr) auto auto; gap: 6px; }
.wiki-find-row .input { min-width: 0px; padding: 8px 10px; font-size: 0.86rem; }
.wiki-find-status { min-height: 1.1em; color: var(--muted); font-size: 0.7rem; line-height: 1.2; }
.wiki-find-status[data-state="warning"] { color: var(--warning); }
.wiki-find-row .btn, .wiki-reading-size .btn, .wiki-reading-toggles .btn { min-height: 34px; padding: 6px 8px; font-size: 0.74rem; }
.wiki-reading-size { display: grid; grid-template-columns: minmax(0px, 1fr) repeat(3, auto); gap: 6px; align-items: center; }
.wiki-reading-toggles { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 6px; }
[data-wiki-status] { display: block; min-width: 0px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
[data-wiki-status]::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 999px; background: var(--success); vertical-align: 1px; }
[data-wiki-status][data-state="loading"]::before { background: var(--accent); }
[data-wiki-status][data-state="warning"]::before { background: var(--warning); }
@media (max-width: 1024px) {
  .okf-mobile-ui .wiki-app .nav-inner { grid-template-columns: auto minmax(0px, 1fr) auto !important; grid-template-rows: auto !important; min-height: 58px !important; padding: 8px 10px !important; gap: 9px !important; }
  .okf-mobile-ui .wiki-app .nav-drawer-toggle { grid-area: 1 / 1 !important; }
  .okf-mobile-ui .wiki-app .brand { grid-area: 1 / 2 !important; align-self: center !important; }
  .okf-mobile-ui .wiki-app .right-tools { position: static !important; grid-area: 1 / 3 !important; display: flex !important; width: auto !important; justify-self: end !important; }
  .okf-mobile-ui .wiki-app .top-search { display: none !important; }
  .okf-mobile-ui .wiki-app .right-tools .settings-control { position: static !important; right: auto !important; top: auto !important; }
  .okf-mobile-ui .wiki-search { display: block !important; margin: 6px 0px !important; }
  .okf-mobile-ui .wiki-search-row { grid-template-columns: minmax(0px, 1fr) 78px !important; gap: 5px !important; }
  .okf-mobile-ui .wiki-search-label { margin-bottom: 4px; font-size: 0.7rem; }
  .okf-mobile-ui .wiki-search-suggestions { max-height: 46dvh; }
  .okf-mobile-ui .wiki-saved, .okf-mobile-ui .wiki-recents { margin: 5px 0px; padding: 7px; }
  .okf-mobile-ui .wiki-library-open { padding: 6px 7px !important; }
  .okf-mobile-ui .wiki-related-strip > .wiki-related-head:first-child { display: flex !important; align-items: center !important; justify-content: space-between !important; }
  .okf-mobile-ui .wiki-related-head > div { display: block !important; }
  .okf-mobile-ui .wiki-related-toggle { min-width: 46px; min-height: 28px; font-size: 0.68rem; }
  .okf-mobile-ui .wiki-related-list { grid-template-columns: repeat(2, minmax(0px, 1fr)) !important; }
  .okf-mobile-ui .wiki-reader-toolbar [data-wiki-status] { margin-top: 2px; display: block !important; font-size: 0.65rem !important; line-height: 1.12 !important; }
  .okf-mobile-ui .wiki-reader-buttons { grid-template-columns: repeat(4, minmax(0px, 1fr)) !important; gap: 4px !important; }
  .okf-mobile-ui .wiki-reader-buttons .btn { min-height: 33px !important; padding: 4px 2px !important; font-size: 0.58rem !important; white-space: normal !important; }
  .okf-mobile-ui .wiki-reading-tools { position: absolute; top: calc(100% + 4px); left: 8px; right: 8px; width: auto; max-height: 62dvh; padding: 10px; }
  .okf-mobile-ui .wiki-find-row { grid-template-columns: minmax(0px, 1fr) auto auto; }
}
@media (max-width: 360px) {
  .okf-mobile-ui .wiki-find-row { grid-template-columns: minmax(0px, 1fr) repeat(2, auto); }
  .okf-mobile-ui .wiki-find-row .btn { padding: 5px; font-size: 0.66rem; }
  .okf-mobile-ui .wiki-reading-toggles { grid-template-columns: minmax(0px, 1fr); }
}
.wiki-link-preview { position: fixed; z-index: 1600; display: grid; gap: 6px; width: min(390px, -24px + 100vw); max-height: min(280px, 100dvh - 24px); overflow: hidden; padding: 13px 15px; border: 1px solid color-mix(in srgb,var(--accent) 34%,var(--border)); border-radius: var(--radius); background: color-mix(in srgb,var(--card) 97%,var(--bg) 3%); color: var(--text); box-shadow: rgba(0, 0, 0, 0.52) 0px 20px 56px; pointer-events: none; }
.wiki-link-preview[hidden] { display: none !important; }
.wiki-link-preview > span { color: var(--accent); font-size: 0.64rem; font-weight: 850; letter-spacing: 0.09em; text-transform: uppercase; }
.wiki-link-preview > strong { font-size: 1rem; line-height: 1.2; }
.wiki-link-preview > p { margin: 0px; color: var(--muted); font-size: 0.82rem; line-height: 1.48; }
@media (max-width: 480px) {
  .wiki-link-preview { width: calc(-24px + 100vw); padding: 11px 12px; }
}
.wiki-shell-v2 { position: relative !important; }
.wiki-sidebar-close { display: none !important; }
.wiki-home-head { padding-right: 0px !important; }
.wiki-sidebar-edge { position: absolute; z-index: 30; top: 50%; left: 380px; display: grid; place-items: center; width: 30px; height: 72px; padding: 0px; border: 1px solid color-mix(in srgb,var(--border) 72%,var(--accent) 28%); border-radius: var(--radius); background: color-mix(in srgb,var(--card) 96%,var(--accent) 4%); color: var(--text); box-shadow: rgba(0, 0, 0, 0.34) 0px 10px 28px; font-family: inherit; cursor: pointer; transform: translate(-50%, -50%); }
.wiki-sidebar-edge > span { font-size: 1.35rem; font-weight: 850; line-height: 1; transform: translateY(-1px); }
.wiki-sidebar-edge:hover, .wiki-sidebar-edge:focus-visible { border-color: var(--accent) !important; background: color-mix(in srgb,var(--accent) 14%,var(--card)) !important; }
.wiki-sidebar-edge:focus-visible { outline: 2px solid var(--accent) !important; outline-offset: 2px !important; }
.wiki-sidebar-collapsed .wiki-sidebar-edge { left: 0px; border-left: 0px; border-radius: 0px var(--radius) var(--radius) 0px; transform: translate(0px, -50%); }
.wiki-reader-buttons { align-items: center !important; }
@media (max-width: 1024px) {
  .okf-mobile-ui .wiki-sidebar-edge { position: fixed; z-index: 930; top: 50dvh; left: 0px; width: 28px; height: 68px; border-left: 0px; border-radius: 0px var(--radius) var(--radius) 0px; transform: translate(0px, -50%); }
  .okf-mobile-ui .wiki-app:not(.wiki-sidebar-collapsed) .wiki-sidebar-edge { z-index: 953; left: min(360px, 90vw); border-right: 0px; border-left: 1px solid color-mix(in srgb,var(--border) 72%,var(--accent) 28%); border-radius: var(--radius) 0px 0px var(--radius); transform: translate(-100%, -50%); }
  .okf-mobile-ui .wiki-reader-buttons { grid-template-columns: repeat(6, minmax(0px, 1fr)) !important; gap: 4px !important; }
  .okf-mobile-ui .wiki-reader-buttons .btn { min-width: 0px !important; min-height: 34px !important; padding: 4px 1px !important; font-size: 0.56rem !important; line-height: 1.02 !important; white-space: normal !important; overflow-wrap: anywhere !important; }
}
.wiki-app .wiki-shell-v2, .wiki-app.wiki-sidebar-collapsed .wiki-shell-v2, .okf-desktop-ui .wiki-app .wiki-shell-v2, .okf-desktop-ui .wiki-app.wiki-sidebar-collapsed .wiki-shell-v2 { grid-template-columns: 52px minmax(0px, 1fr) !important; grid-template-rows: minmax(0px, 1fr) !important; position: relative !important; overflow: hidden !important; }
.wiki-sidebar-rail { position: relative; z-index: 960; grid-area: 1 / 1; display: flex; flex-direction: column; align-items: center; gap: 7px; min-width: 0px; height: 100%; padding: 9px 6px; border-right: 1px solid var(--border); background: linear-gradient(180deg,color-mix(in srgb,var(--card) 96%,var(--accent) 4%),color-mix(in srgb,var(--card2) 94%,var(--bg) 6%)); box-shadow: rgba(0, 0, 0, 0.12) 8px 0px 22px; }
.wiki-rail-button { position: relative; display: grid; place-items: center; flex: 0 0 auto; width: 38px; height: 38px; padding: 0px; border: 1px solid transparent; border-radius: var(--control-radius); background: transparent; color: var(--muted); font-family: inherit; cursor: pointer; }
.wiki-rail-button:hover, .wiki-rail-button:focus-visible { border-color: color-mix(in srgb,var(--accent) 44%,var(--border)) !important; background: color-mix(in srgb,var(--accent) 12%,var(--card)) !important; color: var(--text) !important; }
.wiki-rail-button:focus-visible { outline: 2px solid var(--accent) !important; outline-offset: 2px !important; }
.wiki-rail-button:disabled { cursor: not-allowed; opacity: 0.32; }
.wiki-rail-toggle { border-color: color-mix(in srgb,var(--border) 78%,var(--accent) 22%); background: color-mix(in srgb,var(--card2) 78%,transparent); color: var(--text); }
.wiki-app:not(.wiki-sidebar-collapsed) .wiki-rail-toggle { border-color: color-mix(in srgb,var(--accent) 58%,var(--border)); background: color-mix(in srgb,var(--accent) 16%,var(--card)); }
.wiki-sidebar-collapsed .wiki-rail-toggle { border-color: color-mix(in srgb,var(--border) 78%,var(--accent) 22%) !important; }
.wiki-rail-icon { width: 19px; height: 19px; fill: none; stroke: currentcolor; stroke-width: 3.4; stroke-linecap: round; stroke-linejoin: round; }
.wiki-rail-divider { width: 24px; height: 1px; margin: 1px 0px 2px; background: var(--border); }
.wiki-rail-spacer { flex: 1 1 auto; }
.wiki-reader-v2, .okf-mobile-ui .wiki-reader-v2 { grid-area: 1 / 2 !important; min-width: 0px !important; width: auto !important; height: 100% !important; }
.wiki-app .wiki-shell-v2 > .wiki-nav-panel, .okf-mobile-ui .wiki-app .wiki-shell-v2 > .wiki-nav-panel { position: absolute !important; z-index: 950 !important; inset: 0px auto 0px 52px !important; display: flex !important; width: min(300px, 100% - 52px) !important; height: 100% !important; max-height: none !important; padding: 12px !important; border-top: 0px !important; border-bottom: 0px !important; border-left: 0px !important; border-image: none !important; border-right: 1px solid var(--border) !important; border-radius: 0px !important; background: linear-gradient(160deg,color-mix(in srgb,var(--card) 98%,var(--accent) 2%),color-mix(in srgb,var(--card2) 95%,var(--bg) 5%)) !important; box-shadow: rgba(0, 0, 0, 0.38) 18px 0px 44px !important; overflow: auto !important; }
.wiki-app.wiki-sidebar-collapsed .wiki-shell-v2 > .wiki-nav-panel { display: none !important; }
.wiki-app .wiki-shell-v2 > .wiki-sidebar-backdrop:not([hidden]) { cursor: pointer; position: absolute !important; z-index: 940 !important; inset: 0px 0px 0px 52px !important; display: block !important; width: auto !important; height: auto !important; padding: 0px !important; border: 0px !important; border-radius: 0px !important; background: rgba(0, 0, 0, 0.34) !important; }
.wiki-nav-panel .wiki-home-head h1 { font-size: 2.2rem !important; line-height: 1 !important; }
.wiki-nav-panel .wiki-home-head p { font-size: 0.82rem; line-height: 1.42; }
.wiki-nav-panel .wiki-actions-uniform { grid-template-columns: repeat(2, minmax(0px, 1fr)) !important; }
.wiki-nav-panel .wiki-actions-uniform > :last-child { grid-column: 1 / -1; }
@media (hover: hover) and (pointer: fine) {
  .wiki-rail-button::after { content: attr(data-label); position: absolute; z-index: 980; left: calc(100% + 9px); top: 50%; min-width: max-content; padding: 5px 7px; border: 1px solid var(--border); border-radius: var(--control-radius); background: color-mix(in srgb,var(--card) 97%,#000 3%); color: var(--text); box-shadow: rgba(0, 0, 0, 0.34) 0px 9px 22px; font-size: 0.68rem; font-weight: 750; line-height: 1; opacity: 0; pointer-events: none; transform: translate(-3px, -50%); transition: opacity 0.1s, transform 0.1s; }
  .wiki-rail-button:hover::after, .wiki-rail-button:focus-visible::after { opacity: 1; transform: translate(0px, -50%); }
}
@media (max-width: 1024px) {
  .okf-mobile-ui .wiki-app .wiki-shell-v2, .okf-mobile-ui .wiki-app.wiki-sidebar-collapsed .wiki-shell-v2 { grid-template-columns: 48px minmax(0px, 1fr) !important; grid-template-rows: minmax(0px, 1fr) !important; }
  .okf-mobile-ui .wiki-sidebar-rail { padding: 8px 5px; gap: 6px; }
  .okf-mobile-ui .wiki-rail-button { width: 36px; height: 36px; }
  .okf-mobile-ui .wiki-app .wiki-shell-v2 > .wiki-nav-panel { inset: 0px auto 0px 48px !important; width: min(292px, 100% - 48px) !important; height: 100% !important; padding: 10px !important; }
  .okf-mobile-ui .wiki-app .wiki-shell-v2 > .wiki-sidebar-backdrop:not([hidden]) { inset: 0px 0px 0px 48px !important; }
}
.okf-desktop-ui .wiki-sidebar-rail { position: fixed; inset: 79px auto 0px 0px; height: auto; }
@media (max-width: 1024px) {
  .okf-mobile-ui .wiki-sidebar-rail { position: fixed; inset: 73px auto 0px 0px; height: auto; }
}
body.nav-drawer-open .wiki-sidebar-rail, body.nav-drawer-open .wiki-shell-v2 > .wiki-nav-panel, body.nav-drawer-open .wiki-shell-v2 > .wiki-sidebar-backdrop { visibility: hidden !important; pointer-events: none !important; }
.wiki-reader-v2, .okf-desktop-ui .wiki-reader-v2, .okf-mobile-ui .wiki-reader-v2 { grid-template-rows: max-content max-content minmax(0px, 1fr) !important; grid-auto-rows: 0px !important; }
.wiki-reader-v2 > .wiki-tabs { grid-row: 1 !important; }
.wiki-reader-v2 > .wiki-reader-toolbar { grid-row: 2 !important; }
.wiki-reader-v2 > .wiki-frame { grid-row: 3 !important; height: 100% !important; min-height: 0px !important; }
.wiki-reader-v2 > .wiki-frame-stage { isolation: isolate; grid-row: 3 !important; position: relative !important; min-width: 0px !important; min-height: 0px !important; height: 100% !important; overflow: hidden !important; background: rgb(255, 255, 255) !important; }
.wiki-frame-stage > .wiki-frame { display: block !important; width: 100% !important; height: 100% !important; min-height: 0px !important; border: 0px !important; background: rgb(255, 255, 255) !important; color-scheme: light !important; }
.wiki-frame-loading { position: absolute; inset: 0px; z-index: 2; display: grid; align-content: start; gap: 18px; background: rgb(255, 255, 255); color: rgb(84, 89, 93); padding: clamp(28px, 5vw, 64px); font: 600 0.9rem / 1.4 Arial, Helvetica, sans-serif; }
.wiki-frame-loading[hidden] { display: none !important; }
.wiki-frame-loading p { width: min(1060px, 100%); margin: 0px auto !important; }
.wiki-loading-article { display: grid; gap: 12px; width: min(1060px, 100%); margin: 0px auto; }
.wiki-loading-article span { display: block; height: 12px; border-radius: 3px; background: rgb(234, 236, 240); }
.wiki-loading-article .wiki-loading-heading { width: 34%; height: 32px; margin-bottom: 12px; background: rgb(216, 218, 221); }
.wiki-loading-article .short { width: 58%; }
.wiki-loading-article .medium { width: 76%; }
.wiki-embed-fallback { z-index: 5; }
@media (max-width: 720px) {
  .wiki-frame-loading { padding: 22px 18px; }
  .wiki-loading-article .wiki-loading-heading { width: 52%; }
}
.wiki-related-sidebar { margin: 7px 0px 8px; padding: 9px; border: 1px solid color-mix(in srgb,var(--border) 82%,var(--accent) 18%); border-radius: var(--radius); background: color-mix(in srgb,var(--card2) 64%,transparent); }
.wiki-related-sidebar [data-wiki-related-note] { margin: 0px 0px 7px; font-size: 0.68rem; line-height: 1.32; }
.wiki-related-sidebar .wiki-related-count { display: inline-flex; align-items: center; min-height: 22px; padding: 2px 6px; border: 1px solid var(--border); border-radius: var(--radius); background: color-mix(in srgb,var(--card) 78%,transparent); font-size: 0.64rem; line-height: 1; }
.wiki-nav-panel .wiki-related-list, .okf-desktop-ui .wiki-nav-panel .wiki-related-list, .okf-mobile-ui .wiki-nav-panel .wiki-related-list { display: grid !important; grid-template-columns: minmax(0px, 1fr) !important; gap: 4px !important; width: 100% !important; overflow: visible !important; padding: 0px !important; }
.wiki-nav-panel .wiki-related-list button { width: 100% !important; max-width: none !important; min-height: 34px !important; padding: 6px 7px !important; font-size: 0.73rem !important; line-height: 1.18 !important; white-space: normal !important; }
.wiki-nav-panel .wiki-related-list button > span { overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.wiki-recents .wiki-library-row { grid-template-columns: minmax(0px, 1fr) 30px; gap: 4px; }
.wiki-recents .wiki-library-open { display: flex !important; align-items: center !important; width: 100% !important; max-width: none !important; min-height: 34px !important; padding: 5px 7px !important; line-height: 1.15 !important; }
.wiki-recents .wiki-library-open span { font-size: 0.74rem; line-height: 1.15; }
.wiki-recents .wiki-library-pin { width: 30px !important; min-width: 30px !important; max-width: none !important; min-height: 34px !important; padding: 0px !important; font-size: 0.82rem !important; }
@media (max-width: 1024px) {
  .okf-mobile-ui .wiki-related-sidebar { margin: 5px 0px; padding: 7px; }
  .okf-mobile-ui .wiki-nav-panel .wiki-related-list button { min-height: 32px !important; padding: 5px 6px !important; font-size: 0.7rem !important; }
  .okf-mobile-ui .wiki-recents .wiki-library-open, .okf-mobile-ui .wiki-recents .wiki-library-pin { min-height: 32px !important; }
}
.update-card-auto.is-locked { cursor: default; border-color: color-mix(in srgb,var(--border) 88%,transparent); background: color-mix(in srgb,var(--card2) 68%,transparent); }
.update-card-auto.is-locked input { opacity: 0.7; }
.update-card-auto.is-locked strong { color: var(--text); }
.admin-hero > * { min-width: 0px; }
.admin-workspace-tabs { max-width: 100%; overflow-x: auto; scrollbar-gutter: stable; }
.update-hero-control, .update-hero-actions { max-width: 100%; min-width: 0px; }
@media (min-width: 901px) and (max-width: 1180px) {
  .admin-hero, .updates-hero { grid-template-columns: minmax(0px, 1fr) !important; }
  .admin-workspace-tabs { justify-content: flex-start !important; }
  .update-hero-control { justify-items: stretch !important; }
  .update-hero-actions { grid-template-columns: repeat(3, minmax(0px, 1fr)); width: 100%; display: grid !important; }
  .update-hero-actions .btn { min-width: 0px; white-space: normal; }
}
.codex-chat-section { max-width: 1180px; margin-inline: auto; }
.codex-chat-shell { display: grid; grid-template-rows: auto auto minmax(320px, 1fr) auto; height: clamp(680px, 100dvh - 210px, 940px); min-width: 0px; overflow: hidden; border: 1px solid color-mix(in srgb,var(--border) 78%,var(--accent) 22%); border-radius:var(--radius); background: linear-gradient(180deg,color-mix(in srgb,var(--card) 97%,black 3%),color-mix(in srgb,var(--bg) 94%,var(--card2) 6%)); box-shadow: var(--shadow); }
.codex-chat-header { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 16px; border-bottom: 1px solid color-mix(in srgb,var(--border) 72%,transparent); background: color-mix(in srgb,var(--card) 94%,transparent); }
.codex-chat-identity, .codex-chat-title, .codex-chat-actions, .codex-message-author, .codex-composer-bottom { display: flex; align-items: center; gap: 9px; min-width: 0px; }
.codex-chat-title { flex-wrap: wrap; }
.codex-chat-title h2 { margin: 0px; font-size: 1.12rem; }
.codex-chat-identity p { margin: 2px 0px 0px; font-size: 0.8rem; }
.codex-chat-mark, .codex-message-avatar { display: grid; place-items: center; flex: 0 0 auto; border: 1px solid color-mix(in srgb,var(--accent) 52%,var(--border)); background: linear-gradient(145deg,color-mix(in srgb,var(--accent) 42%,var(--card)),color-mix(in srgb,var(--accent2) 24%,var(--card2))); color: var(--text); font-weight: 900; box-shadow: 0 4px 16px color-mix(in srgb,var(--accent) 15%,transparent); }
.codex-chat-mark { width: 36px; height: 36px; border-radius: var(--radius); }
.codex-message-avatar { width: 30px; height: 30px; border-radius: var(--radius); font-size: 0.75rem; }
.codex-avatar-user { border-color: color-mix(in srgb,var(--border) 84%,white 16%); background: color-mix(in srgb,var(--card2) 86%,white 14%); box-shadow: none; }
.codex-chat-actions { justify-content: flex-end; flex-wrap: wrap; }
.codex-chat-actions .btn { min-height: 34px; padding: 6px 10px; font-size: 0.78rem; }
.codex-worker-drawer, .codex-technical-log { border-bottom: 1px solid color-mix(in srgb,var(--border) 68%,transparent); background: color-mix(in srgb,var(--card2) 57%,transparent); }
.codex-worker-drawer > summary, .codex-technical-log > summary { display: grid; grid-template-columns: minmax(0px, 1fr) auto; gap: 10px; align-items: center; padding: 10px 16px; cursor: pointer; font-size: 0.8rem; }
.codex-worker-drawer > summary > span:first-child { min-width: 0px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.codex-worker-grid { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 8px; padding: 4px 16px 10px; }
.codex-worker-grid > div { display: grid; gap: 3px; min-width: 0px; padding: 9px 10px; border: 1px solid color-mix(in srgb,var(--border) 74%,transparent); border-radius: var(--radius); background: color-mix(in srgb,var(--card) 64%,transparent); }
.codex-worker-grid strong { font-size: 0.78rem; overflow-wrap: anywhere; }
.codex-worker-grid .muted { font-size: 0.7rem; }
.codex-worker-explanation { margin: 0px; padding: 0px 16px 12px; font-size: 0.78rem; line-height: 1.45; }
.codex-task-workspace { display: grid; grid-template-columns: minmax(210px, 250px) minmax(0px, 1fr); min-width: 0px; min-height: 0px; overflow: hidden; }
.codex-task-sidebar { display: grid; grid-template-rows: auto auto minmax(0px, 1fr); gap: 8px; min-width: 0px; min-height: 0px; padding: 12px 10px; border-right: 1px solid color-mix(in srgb,var(--border) 66%,transparent); background: color-mix(in srgb,var(--card2) 54%,transparent); }
.codex-task-sidebar-head, .codex-task-toolbar, .codex-task-toolbar-actions { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0px; }
.codex-task-sidebar-head > div { display: flex; align-items: center; gap: 6px; }
.codex-task-text-action { border: 0px; background: transparent; color: var(--muted); padding: 4px 5px; cursor: pointer; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 0.72rem; font-weight: 760; }
.codex-task-text-action:hover, .codex-task-text-action[aria-pressed="true"] { color: var(--text); text-decoration: underline; text-underline-offset: 3px; }
.codex-task-search { width: 100%; min-width: 0px; border: 1px solid color-mix(in srgb,var(--border) 72%,transparent); border-radius: var(--control-radius); background: color-mix(in srgb,var(--card) 70%,transparent); color: var(--text); padding: 7px 8px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 0.76rem; outline: 0px; }
.codex-task-search:focus { border-color: color-mix(in srgb,var(--accent) 65%,var(--border)); }
.codex-task-list { display: grid; align-content: start; gap: 5px; min-height: 0px; overflow: auto; scrollbar-gutter: stable; padding-right: 2px; }
.codex-task-item { display: grid; grid-template-columns: minmax(0px, 1fr) auto; gap: 5px 7px; width: 100%; min-width: 0px; padding: 9px; border: 1px solid transparent; border-radius: var(--radius); background: transparent; color: var(--text); text-align: left; cursor: pointer; font: inherit; }
.codex-task-item:hover { background: color-mix(in srgb,var(--card) 68%,transparent); }
.codex-task-item.active { border-color: color-mix(in srgb,var(--accent) 44%,var(--border)); background: color-mix(in srgb,var(--accent) 11%,var(--card)); }
.codex-task-item-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 0.78rem; font-weight: 820; }
.codex-task-item-meta { grid-column: 1 / -1; display: flex; align-items: center; gap: 5px; color: var(--muted); font-size: 0.66rem; }
.codex-task-status-dot { width: 6px; height: 6px; border-radius: 999px; background: var(--muted); }
.codex-task-status-dot.working, .codex-task-status-dot.new, .codex-task-status-dot.queued { background: var(--accent); }
.codex-task-status-dot.needs_approval, .codex-task-status-dot.failed { background: var(--warning); }
.codex-task-status-dot.completed, .codex-task-status-dot.finished { background: var(--success); }
.codex-task-pin { color: var(--accent); font-size: 0.68rem; }
.codex-task-main { display: grid; grid-template-rows: auto minmax(0px, 1fr) auto; min-width: 0px; min-height: 0px; overflow: hidden; }
.codex-task-toolbar { padding: 9px 14px; border-bottom: 1px solid color-mix(in srgb,var(--border) 58%,transparent); background: color-mix(in srgb,var(--card) 58%,transparent); }
.codex-task-toolbar > div:first-child { min-width: 0px; }
.codex-task-toolbar .muted { display: block; font-size: 0.64rem; font-weight: 760; text-transform: uppercase; letter-spacing: 0.04em; }
.codex-task-toolbar h3 { max-width: 100%; margin: 1px 0px 0px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 0.9rem; }
.codex-task-toolbar-actions { justify-content: flex-end; flex: 0 0 auto; }
.codex-chat-stream { min-width: 0px; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; padding: clamp(18px, 3vw, 34px) clamp(12px, 3vw, 30px); background: radial-gradient(circle at 50% 0,color-mix(in srgb,var(--accent) 5%,transparent),transparent 38%); }
.codex-chat-empty { display: grid; place-items: center; align-content: center; min-height: 100%; padding: 30px; text-align: center; }
.codex-chat-empty h3 { margin: 12px 0px 4px; }
.codex-chat-empty p { max-width: 440px; margin: 0px; }
.codex-chat-turn { display: grid; gap: 14px; width: min(100%, 840px); margin: 0px auto; padding: 0px 0px 26px; }
.codex-chat-turn + .codex-chat-turn { padding-top: 24px; border-top: 1px solid color-mix(in srgb,var(--border) 58%,transparent); }
.codex-message-row { display: grid; grid-template-columns: 30px minmax(0px, 1fr); gap: 10px; align-items: start; min-width: 0px; }
.codex-message-content { min-width: 0px; }
.codex-message-author { justify-content: space-between; margin: 2px 0px 7px; }
.codex-message-author > span:not(.badge) { font-size: 0.7rem; font-weight: 600; }
.codex-message-user .codex-message-content { padding: 12px 14px; border: 1px solid color-mix(in srgb,var(--border) 80%,transparent); border-radius: 4px var(--radius) var(--radius); background: color-mix(in srgb,var(--card2) 72%,transparent); }
.codex-message-text { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.58; color: var(--text); }
.codex-message-assistant .codex-message-text { padding: 2px 0px; }
.codex-message-progress p { margin: 0.3rem 0px; color: var(--muted); }
.codex-message-blocked { padding: 12px 14px; border: 1px solid color-mix(in srgb,var(--warning) 50%,var(--border)); border-radius: 4px var(--radius) var(--radius); background: color-mix(in srgb,var(--warning) 8%,var(--card)); }
.codex-message-blocked p { margin: 0.35rem 0px; }
.codex-message-error { margin-top: 9px; padding: 9px 10px; border-radius: var(--radius); background: color-mix(in srgb,var(--danger) 10%,var(--card2)); white-space: pre-wrap; overflow-wrap: anywhere; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.74rem; line-height: 1.45; }
.codex-working-dot { display: inline-block; width: 7px; height: 7px; margin-right: 8px; border-radius: 999px; background: var(--accent); box-shadow: 0 0 0 0 color-mix(in srgb,var(--accent) 48%,transparent); animation: 1.45s ease-out 0s infinite normal none running codex-pulse; }
@keyframes codex-pulse { 
  0% { box-shadow: 0 0 0 0 color-mix(in srgb,var(--accent) 48%,transparent); }
  70% { box-shadow: transparent 0px 0px 0px 7px; }
  100% { box-shadow: transparent 0px 0px 0px 0px; }
}
.codex-run-details { margin-left: 40px; border: 1px solid color-mix(in srgb,var(--border) 66%,transparent); border-radius: var(--radius); background: color-mix(in srgb,var(--card2) 45%,transparent); overflow: hidden; }
.codex-run-details > summary { padding: 8px 10px; cursor: pointer; color: var(--muted); font-size: 0.74rem; font-weight: 750; }
.codex-run-details[open] > summary { border-bottom: 1px solid color-mix(in srgb,var(--border) 60%,transparent); }
.codex-run-details pre { max-height: 300px; margin: 0px; padding: 11px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; color: var(--muted); font-size: 0.7rem; line-height: 1.45; }
.codex-run-details .codex-request-actions { padding: 0px 9px 9px; flex-wrap: wrap; gap: 6px; }
.codex-composer-wrap { padding: 10px clamp(12px, 3vw, 30px) 12px; border-top: 1px solid color-mix(in srgb,var(--border) 72%,transparent); background: color-mix(in srgb,var(--card) 96%,transparent); }
.codex-mode-row { display: flex; align-items: center; gap: 6px; width: min(100%, 840px); margin: 0px auto 7px; overflow-x: auto; scrollbar-width: thin; }
.codex-mode-row > .muted { padding-right: 2px; font-size: 0.7rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.05em; }
.codex-mode { flex: 0 0 auto; border: 1px solid color-mix(in srgb,var(--border) 76%,transparent); border-radius: var(--control-radius); background: transparent; color: var(--muted); padding: 5px 9px; cursor: pointer; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 0.72rem; font-weight: 750; }
.codex-mode:hover, .codex-mode.active { border-color: color-mix(in srgb,var(--accent) 62%,var(--border)); background: color-mix(in srgb,var(--accent) 13%,var(--card2)); color: var(--text); }
.codex-composer { display: grid; gap: 7px; width: min(100%, 840px); margin: 0px auto; padding: 10px; border: 1px solid color-mix(in srgb,var(--border) 70%,var(--accent) 30%); border-radius: var(--radius); background: color-mix(in srgb,var(--card2) 72%,var(--card)); box-shadow: color-mix(in srgb, black 18%, transparent) 0px 8px 30px; }
.codex-composer:focus-within { border-color: color-mix(in srgb,var(--accent) 70%,var(--border)); box-shadow: 0 0 0 2px color-mix(in srgb,var(--accent) 12%,transparent),0 8px 30px color-mix(in srgb,black 18%,transparent); }
.codex-composer-input { display: block; width: 100%; min-height: 64px; max-height: 260px; padding: 4px 5px; border: 0px; outline: 0px; resize: none; background: transparent; color: var(--text); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; line-height: 1.48; }
.codex-composer-input::placeholder { color: color-mix(in srgb,var(--muted) 84%,transparent); }
.codex-composer-bottom { justify-content: space-between; align-items: end; }
.codex-context-drawer { min-width: 0px; }
.codex-context-drawer > summary { cursor: pointer; color: var(--muted); font-size: 0.74rem; font-weight: 750; }
.codex-context-drawer[open] { display: grid; gap: 7px; flex: 1 1 0%; }
.codex-context-drawer label { display: grid; gap: 5px; color: var(--muted); font-size: 0.72rem; }
.codex-context-input { width: 100%; min-height: 68px; resize: vertical; font-size: 0.78rem; }
.codex-send { flex: 0 0 auto; min-width: 66px; }
.codex-mode-explanation, .codex-request-status { width: min(100%, 840px); margin: 5px auto 0px; font-size: 0.7rem; line-height: 1.35; }
.codex-mode-explanation { color: var(--muted); }
.codex-request-status { margin-top: 2px; }
.codex-technical-log { border-top: 1px solid color-mix(in srgb,var(--border) 60%,transparent); border-bottom: 0px; }
.codex-technical-log > summary { grid-template-columns: minmax(0px, 1fr); color: var(--muted); }
.codex-technical-log > .codex-tool-body { max-height: 270px; overflow: auto; }
@media (max-width: 700px) {
  .codex-chat-section { margin-inline: -2px; }
  .codex-chat-shell { height: clamp(650px, 100dvh - 170px, 820px); border-radius: var(--radius); }
  .codex-chat-header { align-items: flex-start; padding: 11px; }
  .codex-chat-actions { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); width: 100%; }
  .codex-chat-header { display: grid; }
  .codex-chat-actions .btn { width: 100%; padding: 6px 5px; font-size: 0.68rem; }
  .codex-worker-drawer > summary { padding: 9px 11px; }
  .codex-worker-drawer > summary > span:first-child { white-space: normal; }
  .codex-worker-grid { grid-template-columns: minmax(0px, 1fr); padding: 2px 11px 9px; }
  .codex-worker-explanation { padding: 0px 11px 10px; }
  .codex-task-workspace { grid-template-columns: minmax(0px, 1fr); grid-template-rows: auto minmax(0px, 1fr); }
  .codex-task-sidebar { display: grid; grid-template-columns: auto minmax(120px, 0.55fr) minmax(0px, 1fr); grid-template-rows: auto; align-items: center; gap: 7px; padding: 7px 8px; border-right: 0px; border-bottom: 1px solid color-mix(in srgb,var(--border) 66%,transparent); }
  .codex-task-sidebar-head { align-self: stretch; }
  .codex-task-sidebar-head > div { display: none; }
  .codex-task-list { display: flex; gap: 5px; overflow: auto hidden; padding: 0px; }
  .codex-task-item { flex: 0 0 min(56vw, 220px); padding: 7px 8px; }
  .codex-task-item-meta { white-space: nowrap; }
  .codex-task-toolbar { padding: 7px 9px; }
  .codex-task-toolbar-actions { gap: 2px; }
  .codex-task-text-action { padding: 4px; font-size: 0.68rem; }
  .codex-chat-stream { padding: 17px 10px; }
  .codex-chat-turn { gap: 12px; padding-bottom: 20px; }
  .codex-chat-turn + .codex-chat-turn { padding-top: 19px; }
  .codex-message-row { grid-template-columns: 26px minmax(0px, 1fr); gap: 8px; }
  .codex-message-avatar { width: 26px; height: 26px; border-radius: var(--radius); }
  .codex-message-user .codex-message-content, .codex-message-blocked { padding: 10px 11px; }
  .codex-message-text { font-size: 0.9rem; }
  .codex-run-details { margin-left: 34px; }
  .codex-composer-wrap { padding: 8px; }
  .codex-mode-row { margin-bottom: 6px; }
  .codex-mode-row > .muted { display: none; }
  .codex-mode { font-size: 0.68rem; padding: 5px 8px; }
  .codex-composer { padding: 8px; border-radius: var(--radius); }
  .codex-composer-input { min-height: 54px; font-size: 0.92rem; }
  .codex-mode-explanation { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .codex-working-dot { animation: auto ease 0s 1 normal none running none; }
}
body > .main-nav.nav-drawer-panel { top: var(--okf-nav-top,79px) !important; height: auto !important; }
body > .main-nav.nav-drawer-panel::before { width: 76px !important; height: 76px !important; flex: 0 0 76px !important; margin: 0px auto 8px !important; background-size: contain !important; background-position: center center !important; background-repeat: no-repeat !important; }
@media (max-width: 900px) {
  body > .main-nav.nav-drawer-panel::before { width: 64px !important; height: 64px !important; flex-basis: 64px !important; margin-bottom: 6px !important; }
}
body > .main-nav.nav-drawer-panel::before { content: none !important; display: none !important; }
.main-nav.nav-drawer-panel .nav-home-link { margin-top: 0px !important; }
.main-nav.nav-drawer-panel .nav-home-link::before { content: none !important; display: none !important; }
.main-nav.nav-drawer-panel .nav-link { gap: 12px !important; }
.main-nav.nav-drawer-panel .nav-item-icon { display: block !important; width: 1.35em !important; height: 1.35em !important; flex: 0 0 1.35em !important; padding: 0.18em !important; overflow: visible !important; border-width: 1px !important; border-style: solid !important; border-image: none !important; border-radius: var(--radius) !important; fill: none !important; stroke: currentcolor !important; stroke-width: 4 !important; stroke-linecap: round !important; stroke-linejoin: round !important; filter: none !important; }
.main-nav.nav-drawer-panel .nav-link.active .nav-item-icon { background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; }
body > .main-nav.nav-drawer-panel::before, body > .main-nav.nav-drawer-panel::after { content: none !important; display: none !important; width: 0px !important; height: 0px !important; margin: 0px !important; padding: 0px !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; border-width: 0px !important; border-style: none !important; border-image: none !important; filter: none !important; }
body > .main-nav.nav-drawer-panel .nav-link { display: flex !important; flex: 0 0 auto !important; align-items: center !important; justify-content: flex-start !important; width: 100% !important; min-height: 46px !important; margin: 0px !important; padding: 10px 12px !important; gap: 11px !important; line-height: 1.2 !important; }
body > .main-nav.nav-drawer-panel .nav-link::before, body > .main-nav.nav-drawer-panel .nav-link::after { content: none !important; display: none !important; }
body > .main-nav.nav-drawer-panel .nav-item-icon { display: block !important; box-sizing: border-box !important; width: 24px !important; min-width: 24px !important; max-width: 24px !important; height: 24px !important; min-height: 24px !important; max-height: 24px !important; flex: 0 0 24px !important; padding: 3px !important; overflow: hidden !important; fill: none !important; stroke: currentcolor !important; stroke-width: 4 !important; }
body > .main-nav.nav-drawer-panel .nav-item-icon use { fill: none !important; stroke: currentcolor !important; }
body > .main-nav.nav-drawer-panel .nav-link.active .nav-item-icon { background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; }
.settings-drawer-backdrop { top: var(--okf-nav-top,79px) !important; }
.settings-drawer { top: var(--okf-nav-top,79px) !important; height: calc(100dvh - var(--okf-nav-top,79px)) !important; }
.settings-drawer-open .settings-control { background: var(--accent) !important; color: var(--accent-text,var(--bg)) !important; border-color: var(--accent) !important; }
.admin-console { max-width: 1500px; }
.admin-console .admin-hero { box-shadow: rgba(0, 0, 0, 0.18) 0px 14px 34px; }
.admin-console .admin-status-grid { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
.admin-attention-card { border-color: color-mix(in srgb,var(--warning) 52%,var(--border)); background: linear-gradient(145deg,color-mix(in srgb,var(--warning) 8%,var(--card)),var(--card)); }
.admin-quick-panel { display: grid; gap: 10px; }
.admin-quick-panel .section-head { margin: 0px; }
.admin-quick-actions { display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 10px; }
.admin-quick-actions .btn { width: 100%; min-height: 44px; }
[data-content-audit-freshness].warn { color: var(--warning); font-weight: 700; }
.maintenance-primary { display: grid; grid-template-columns: minmax(0px, 1fr); gap: 16px; }
.maintenance-action-panel { padding: clamp(16px, 2vw, 24px); }
.maintenance-drawer { border: 0px; background: transparent; }
.maintenance-drawer > summary { display: grid; grid-template-columns: minmax(0px, 1fr) auto; align-items: center; gap: 14px; cursor: pointer; list-style: none; min-height: 54px; }
.maintenance-drawer > summary::-webkit-details-marker { display: none; }
.maintenance-drawer > summary > span:first-child { display: grid; gap: 4px; min-width: 0px; }
.maintenance-drawer > summary strong { font-size: 1.04rem; }
.maintenance-drawer > summary small { color: var(--muted); font-weight: 500; line-height: 1.4; }
.maintenance-drawer > summary::after { content: "›"; grid-column: 3; color: var(--muted); font-size: 1.55rem; transform: rotate(90deg); transition: transform 0.16s; }
.maintenance-drawer[open] > summary::after { transform: rotate(-90deg); }
.maintenance-drawer-body { display: grid; gap: 12px; margin-top: 14px; padding-top: 14px; border-top: 1px solid color-mix(in srgb,var(--border) 76%,transparent); }
.maintenance-drawer-body > .card-actions { justify-content: flex-start; }
.update-result-list { gap: 8px; }
.update-result-card { overflow: hidden; padding: 0px !important; }
.update-result-card > summary { list-style: none; cursor: pointer; }
.update-result-card > summary::-webkit-details-marker { display: none; }
.update-result-summary { display: grid; grid-template-columns: minmax(0px, 1fr) auto auto; align-items: center; gap: 12px; padding: 14px; }
.update-result-summary::after { content: "›"; color: var(--muted); font-size: 1.35rem; transform: rotate(90deg); transition: transform 0.16s; }
.update-result-card[open] > .update-result-summary::after { transform: rotate(-90deg); }
.update-result-summary-copy { display: grid; grid-template-columns: auto minmax(0px, 1fr); align-items: center; gap: 5px 10px; min-width: 0px; }
.update-result-summary-copy .chip { grid-row: 1 / span 2; align-self: center; }
.update-result-summary-copy strong { font-size: 0.98rem; min-width: 0px; }
.update-result-summary-copy small { color: var(--muted); line-height: 1.35; min-width: 0px; }
.update-result-expanded { display: grid; gap: 10px; padding: 0px 14px 14px; border-top: 1px solid color-mix(in srgb,var(--border) 72%,transparent); }
.update-result-expanded > .muted { margin: 12px 0px 0px; }
.update-result-expanded .update-resource-actions { justify-content: flex-start; }
.admin-console [data-update-current], .admin-console [data-update-manual], .admin-console [data-update-held] { display: grid; gap: 18px; }
@media (max-width: 1050px) {
  .admin-console .admin-status-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .admin-quick-actions { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
}
@media (max-width: 760px) {
  .admin-workspace-tabs { width: 100%; display: grid !important; grid-template-columns: repeat(3, minmax(0px, 1fr)) !important; overflow: visible !important; }
  .admin-workspace-tabs .tab { width: 100%; min-width: 0px; text-align: center; }
  .admin-console .admin-status-grid { overflow: visible; display: grid !important; grid-template-columns: minmax(0px, 1fr) !important; }
  .admin-console .admin-status-grid > .card { min-width: 0px !important; width: 100% !important; }
  .admin-quick-actions { grid-template-columns: minmax(0px, 1fr); }
  .maintenance-drawer > summary { grid-template-columns: minmax(0px, 1fr) auto; }
  .maintenance-drawer > summary::after { display: none; }
  .update-result-summary { grid-template-columns: minmax(0px, 1fr) auto; }
  .update-result-summary::after { display: none; }
  .update-result-summary-copy { grid-template-columns: minmax(0px, 1fr); }
  .update-result-summary-copy .chip { grid-row: auto; justify-self: start; }
}
.admin-console { display: grid; gap: clamp(16px, 1.5vw, 24px); }
.admin-console > .admin-section { margin-top: 0px; }
.admin-hero { grid-template-columns: minmax(0px, 1fr) !important; align-items: start !important; gap: 14px !important; }
.admin-hero h1 { font-size: clamp(2rem, 3.5vw, 3.35rem) !important; }
.admin-workspace-tabs { grid-template-columns: repeat(5, minmax(0px, 1fr)); gap: 8px; width: 100%; overflow: visible; display: grid !important; margin: 4px 0px 0px !important; }
.admin-workspace-tabs .tab { width: 100%; min-width: 0px; min-height: 40px; text-align: center; }
.admin-view-note { margin: 0px !important; }
.updates-hero { grid-template-columns: minmax(0px, 1fr) !important; align-items: start !important; gap: 16px !important; }
.update-hero-control { justify-items: stretch; width: 100%; }
.update-hero-actions { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 10px; width: 100%; justify-content: stretch; }
.update-hero-actions .btn { width: 100%; min-width: 0px; white-space: normal; text-align: center; }
.update-check-feedback { max-width: none; text-align: left; }
.admin-console .update-dashboard-grid { grid-template-columns: repeat(4, minmax(0px, 1fr)); }
.update-summary-card { display: grid; align-content: start; min-height: 150px; }
.update-summary-card p { margin: 0.15rem 0px 0px; }
.admin-card-grid > .card { display: flex; flex-direction: column; align-items: stretch; }
.admin-card-grid > .card > .card-actions { margin-top: auto; }
.resource-health-panel > .section-head, .library-intake-panel > .section-head { display: grid; grid-template-columns: minmax(0px, 1fr) max-content; align-items: end; gap: 18px; }
.resource-health-panel > .section-head > .card-actions, .library-intake-panel > .section-head > .card-actions { display: grid; grid-auto-flow: column; grid-auto-columns: max-content; align-items: stretch; margin: 0px; }
.admin-console [hidden] { display: none !important; }
.admin-console details.admin-section-drawer > summary, .admin-console details.maintenance-drawer > summary, .admin-console details.update-result-card > summary.update-result-summary { display: grid !important; justify-content: stretch !important; align-items: center !important; }
.admin-section-drawer > summary, .maintenance-drawer > summary { grid-template-columns: minmax(0px, 1fr) max-content 24px !important; }
.update-result-summary { grid-template-columns: minmax(0px, 1fr) max-content 24px !important; }
.admin-section-drawer > summary::after, .maintenance-drawer > summary::after, .update-result-summary::after { grid-column: 3; justify-self: end; margin: 0px; }
.admin-section-drawer > summary > .chip, .maintenance-drawer > summary > .badge, .update-result-summary > .badge { justify-self: end; white-space: nowrap; }
.update-result-summary-copy { width: 100%; }
@media (max-width: 1050px) {
  .admin-console .update-dashboard-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)) !important; }
  .resource-health-panel > .section-head, .library-intake-panel > .section-head { grid-template-columns: minmax(0px, 1fr); }
  .resource-health-panel > .section-head > .card-actions, .library-intake-panel > .section-head > .card-actions { grid-auto-columns: minmax(0px, 1fr); width: 100%; }
}
@media (max-width: 760px) {
  .admin-workspace-tabs { grid-template-columns: repeat(2, minmax(0px, 1fr)) !important; }
  .admin-workspace-tabs .tab:last-child { grid-column: 1 / -1; }
  .update-hero-actions { grid-template-columns: minmax(0px, 1fr); }
  .admin-section-drawer > summary, .maintenance-drawer > summary, .update-result-summary { grid-template-columns: minmax(0px, 1fr) max-content 20px !important; gap: 8px !important; }
  .maintenance-drawer > summary::after, .update-result-summary::after { display: block; }
  .resource-health-panel > .section-head > .card-actions, .library-intake-panel > .section-head > .card-actions { grid-auto-flow: row; }
}
@media (max-width: 560px) {
  .admin-console .update-dashboard-grid { grid-template-columns: minmax(0px, 1fr) !important; }
  .update-summary-card { min-height: 0px; }
  .admin-section-drawer > summary > .chip, .maintenance-drawer > summary > .badge, .update-result-summary > .badge { max-width: 34vw; overflow: hidden; text-overflow: ellipsis; }
}
html[data-theme="idroid"] { color-scheme: dark; --bg: #1b2023; --surface: #22282c; --card: #272e32; --card2: #30383d; --text: #e9eded; --muted: #a5afb3; --border: #394247; --accent: #f3f5f4; --accent2: #a5afb3; --accent-text: #1b2023; --button: #30383d; --button-text: #e9eded; --input: #1b2023; --input-text: #e9eded; --link: #e9eded; --shadow: none; }
html[data-theme="green-idroid"] { color-scheme: light; --bg: #aeb69c; --surface: #b5bda5; --card: #bdc5ae; --card2: #c5ccb8; --text: #23352b; --muted: #3a4a36; --border: #56634b; --accent: #152820; --accent2: #3a4a36; --accent-text: #bdc5ae; --button: #bdc5ae; --button-text: #23352b; --input: #aeb69c; --input-text: #23352b; --link: #23352b; --shadow: none; --idroid-nav-text: #23352b; --danger: #8e2d25; --success: #285539; --warning: #6b4d12; }
html[data-theme="lcd-idroid"] { color-scheme: light; --bg: #a8beb7; --surface: #afc4bd; --card: #b7c9c2; --card2: #bfd0c8; --text: #273c36; --muted: #354d45; --border: #50675e; --accent: #182f27; --accent2: #354d45; --accent-text: #b7c9c2; --button: #b7c9c2; --button-text: #273c36; --input: #a8beb7; --input-text: #273c36; --link: #273c36; --shadow: none; --idroid-nav-text: #273c36; --danger: #8e2d25; --success: #285539; --warning: #6b4d12; }
html:is([data-theme="idroid"], [data-theme="green-idroid"], [data-theme="lcd-idroid"])[data-density="comfortable"], html:is([data-theme="idroid"], [data-theme="green-idroid"], [data-theme="lcd-idroid"]):not([data-density]) { --radius: 4px; }
html:is([data-theme="idroid"], [data-theme="green-idroid"], [data-theme="lcd-idroid"]) body { color: var(--text); background: var(--bg) !important; }
html:is([data-theme="idroid"], [data-theme="green-idroid"], [data-theme="lcd-idroid"]) .brand { text-shadow: none; }
html:is([data-theme="idroid"], [data-theme="green-idroid"], [data-theme="lcd-idroid"]) .primary-card::after { display: none; }
html:is([data-theme="idroid"], [data-theme="green-idroid"], [data-theme="lcd-idroid"]) :is(.attention, .admin-attention-card) { border-color: color-mix(in srgb,var(--warning) 62%,var(--border)); }
html:is([data-theme="idroid"], [data-theme="green-idroid"], [data-theme="lcd-idroid"]) :is(.btn, .icon-btn, .tab, .filter, .theme-picker-button) { border-radius: 4px !important; }
html:is([data-theme="idroid"], [data-theme="green-idroid"], [data-theme="lcd-idroid"]) :is(.btn:hover, .icon-btn:hover, .tab:hover, .filter:hover) { transform: none; }
html:is([data-theme="idroid"], [data-theme="green-idroid"], [data-theme="lcd-idroid"]) :is(.input, select, textarea, .top-search input, .searchbar input, .magnet-panel input) { border-radius: 4px; }
html:is([data-theme="idroid"], [data-theme="green-idroid"], [data-theme="lcd-idroid"]) body > .main-nav.nav-drawer-panel .nav-link, html:is([data-theme="idroid"], [data-theme="green-idroid"], [data-theme="lcd-idroid"]) .main-nav .nav-link { background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; border-width: 1px !important; border-style: solid !important; border-image: none !important; border-radius: 2px !important; }
html:is([data-theme="idroid"], [data-theme="green-idroid"], [data-theme="lcd-idroid"]) body > .main-nav.nav-drawer-panel .nav-link:hover, html:is([data-theme="idroid"], [data-theme="green-idroid"], [data-theme="lcd-idroid"]) .main-nav .nav-link:hover { transform: none !important; }
html:is([data-theme="idroid"], [data-theme="green-idroid"], [data-theme="lcd-idroid"]) body > .main-nav.nav-drawer-panel .nav-item-icon, html:is([data-theme="idroid"], [data-theme="green-idroid"], [data-theme="lcd-idroid"]) .main-nav .nav-item-icon { background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; filter: none !important; }
html:is([data-theme="idroid"], [data-theme="green-idroid"], [data-theme="lcd-idroid"]) :is(.okf-icon-module, .wiki-symbol) { color: var(--text) !important; background: transparent !important; border-color: transparent !important; box-shadow: none !important; }
html:is([data-theme="idroid"], [data-theme="green-idroid"], [data-theme="lcd-idroid"]) :is(.okf-icon-module, .wiki-symbol)::after { display: none !important; }
html:is([data-theme="idroid"], [data-theme="green-idroid"], [data-theme="lcd-idroid"]) .settings-drawer-open .settings-control, html:is([data-theme="idroid"], [data-theme="green-idroid"], [data-theme="lcd-idroid"]) .nav-drawer-open .nav-drawer-toggle { background: var(--bg) !important; color: var(--accent) !important; border-color: var(--muted) !important; }
html[data-font="idroid"] { --font: Arial,Helvetica,sans-serif; letter-spacing: normal; }
html[data-font="idroid"] body, html[data-font="idroid"] :is(button, input, select, textarea, .brand, h1, h2, h3, h4, h5, h6) { font-family: var(--font); }
html[data-font="idroid"] :is(h1, h2, h3, h4, h5, h6, .brand, .btn, .nav-link, .tab, .filter, .start, .refresh, .status-refresh) { font-weight: 500 !important; }
html[data-font="idroid"] :is(h1, h2, h3) { letter-spacing: -0.02em; }
html[data-font="idroid"] body > .main-nav.nav-drawer-panel .nav-link, html[data-font="idroid"] .main-nav .nav-link { letter-spacing: 0.035em; text-transform: uppercase; font-family: Arial, Helvetica, sans-serif !important; font-size: calc(13px * var(--scale)) !important; font-weight: 500 !important; }
.nav-item-icon, .control-icon, .okf-line-icon { filter: none !important; }
body > .main-nav.nav-drawer-panel .nav-item-icon, body > .main-nav.nav-drawer-panel .nav-link.active .nav-item-icon { padding: 0px !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; border-width: 0px !important; border-style: none !important; border-image: none !important; border-radius: 0px !important; }
.theme-select.native-theme-select { width: 1px !important; min-width: 0px !important; max-width: 1px !important; }
html:is([data-theme="idroid"], [data-theme="green-idroid"], [data-theme="lcd-idroid"]) .shell :is(.mode.active, .place.current, .start) { color: var(--accent-text,var(--bg)) !important; }
.main-nav.nav-drawer-panel { flex-wrap: nowrap !important; overflow-anchor: none !important; scroll-behavior: auto !important; }
.main-nav.nav-drawer-panel .nav-order-toolbar { display: flex; flex-wrap: wrap; flex: 0 0 auto; gap: 8px; align-items: center; padding: 0px 0px 8px; margin-bottom: 4px; }
.main-nav.nav-drawer-panel .nav-order-status { flex-basis: 100%; margin: 0px; font-size: 0.76rem; line-height: 1.4; }
.main-nav.nav-drawer-panel[data-reordering="true"] .nav-order-status { min-height: 2.8em; }
.main-nav.nav-drawer-panel .nav-order-status:empty { display: none; }
html .main-nav.nav-drawer-panel .nav-order-button { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 7px 10px; border-radius: var(--radius,4px); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 0.82rem; line-height: 1.2; cursor: pointer; }
html .main-nav.nav-drawer-panel .nav-order-button[hidden] { display: none; }
html .main-nav.nav-drawer-panel .nav-order-button:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.main-nav.nav-drawer-panel .nav-order-row { display: block; flex: 0 0 auto; min-width: 0px; width: 100%; box-sizing: border-box; }
html .main-nav.nav-drawer-panel .nav-order-handle { display: none; }
.main-nav.nav-drawer-panel[data-reordering="true"] .nav-order-row { display: grid; grid-template-columns: minmax(0px, 1fr) 44px; gap: 6px; align-items: center; }
.main-nav.nav-drawer-panel[data-reordering="true"] .nav-order-row .nav-link { min-width: 0px; user-select: none; -webkit-user-drag: none; padding: 10px 6px !important; gap: 6px !important; font-size: 0.85rem !important; white-space: normal !important; }
html .main-nav.nav-drawer-panel[data-reordering="true"] .nav-order-handle { display: inline-flex; width: 44px; min-height: 44px; padding: 0px; touch-action: none; user-select: none; cursor: grab; }
.main-nav.nav-drawer-panel[data-dragging="true"], .main-nav.nav-drawer-panel[data-dragging="true"] * { user-select: none; cursor: grabbing !important; }
.main-nav.nav-drawer-panel .nav-order-placeholder { outline: 1px dashed var(--muted); outline-offset: -1px; pointer-events: none; }
.main-nav.nav-drawer-panel .nav-order-placeholder > * { visibility: hidden; }
.main-nav.nav-drawer-panel .nav-order-keyboard { outline: 2px solid var(--accent); outline-offset: 2px; }
.nav-order-ghost { user-select: none; will-change: transform; pointer-events: none !important; }
@media (hover: hover) {
  .main-nav.nav-drawer-panel[data-reordering="true"] .nav-order-row .nav-link { cursor: grab; }
}
.nav-order-ghost, .nav-order-ghost * { filter: none !important; backdrop-filter: none !important; }
.nav-order-ghost .nav-link::before, .nav-order-ghost .nav-link::after { content: none !important; display: none !important; }
html[data-theme="lcd-idroid"] { --transfer-muted: var(--muted); }
html[data-theme="lcd-idroid"] :is(.panel, .card, .hero .panel, .updates-hero, .search-workspace, .drawer-section):not(.wiki-nav-panel, .wiki-reader-v2, .map-reset-main, .map-results-card, .map-route-inline) { border-radius: var(--radius,4px) !important; }
html[data-theme="lcd-idroid"] #query, html[data-theme="lcd-idroid"] :is(.input, select, textarea, .top-search input, .searchbar input, .magnet-panel input) { border-radius: 4px !important; box-shadow: none !important; }
html[data-theme="lcd-idroid"] select:not(.native-theme-select) { background-image: linear-gradient(45deg,transparent 45%,var(--text) 46% 54%,transparent 55%),linear-gradient(135deg,transparent 45%,var(--text) 46% 54%,transparent 55%) !important; background-repeat: no-repeat !important; background-size: 9px 9px, 9px 9px !important; background-position: calc(100% - 23px) 50%, calc(100% - 17px) 50% !important; }
html[data-theme="lcd-idroid"] .shell :is(.mode, .place, .start, .refresh, .status-refresh, .order, .modes, .metric) { border-radius: 4px !important; box-shadow: none !important; text-shadow: none !important; }
html[data-theme="lcd-idroid"][data-font="idroid"] .shell :is(.mode, .place) { font-weight: 500 !important; }
.shell .browser #fileList .getter-file-icon-wrap { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; line-height: 0; color: var(--text); }
.shell .browser #fileList .getter-file-icon { display: block; width: 26px; height: 26px; overflow: visible; flex: 0 0 auto; fill: none; stroke: none; filter: none; }
html .brand::before { mask: url("thelantern-logo-mark.svg?v=20260912-idroid-mark2") center center / contain no-repeat; background-image: none !important; background-color: var(--text) !important; filter: none !important; box-shadow: none !important; }
html .brand[data-lantern-brand="accent"]::before { content: none !important; display: none !important; }
html .brand .lantern-brand-mark { display: block; width: 58px; height: 58px; flex: 0 0 58px; max-width: none; overflow: visible; fill: none; stroke: none; filter: none; }
html .brand .lantern-brand-frame { fill: none; stroke: color-mix(in srgb,var(--text) 78%,var(--bg)); stroke-linecap: butt; stroke-linejoin: miter; }
html .brand .lantern-brand-flame { fill: var(--accent,var(--text)); stroke: color-mix(in srgb,var(--text) 78%,var(--bg)); stroke-width: .7; stroke-linejoin: round; paint-order: stroke fill; }

@media (max-width: 900px) {
  html .brand .lantern-brand-mark { width: 42px; height: 42px; flex-basis: 42px; margin-right: 7px; }
}
@media (max-width: 480px) {
  html .brand .lantern-brand-mark { width: 36px; height: 36px; flex-basis: 36px; margin-right: 5px; }
}

/* Public owner sessions use a separate action outside the reorderable links. */
.main-nav.nav-drawer-panel .public-auth-sign-out { display: flex; align-items: center; justify-content: flex-start; width: 100%; min-height: 46px; padding: 10px 12px; margin-top: 8px; gap: 11px; border: 1px solid var(--border); border-radius: var(--control-radius); background: var(--control-bg, var(--button)); color: var(--on-control, var(--button-text, var(--text))); font: inherit; font-size: .98rem; line-height: 1.2; cursor: pointer; }
.public-auth-sign-out .public-auth-icon { display: block; width: 24px; height: 24px; flex: 0 0 24px; }
.public-auth-sign-out:hover { border-color: var(--accent); }
.public-auth-sign-out:focus-visible { outline: 2px solid var(--focus, var(--accent)); outline-offset: 3px; }
.public-auth-sign-out:disabled { opacity: .65; cursor: wait; }
.public-auth-error { margin: 6px 0; padding: 0 12px; color: var(--danger, var(--text)); font-size: .85rem; overflow-wrap: anywhere; }
.public-auth-error[hidden] { display: none !important; }

/* Public API denials keep their original response and offer a dismissible login. */
[data-access-login][hidden], .public-access-prompt[hidden] { display: none !important; }
[data-access-route="private"] [data-access-login] { display: none !important; }
.public-access-prompt { position: fixed; right: 16px; bottom: 16px; left: 16px; z-index: 1050; display: grid; grid-template-columns: minmax(0, 1fr) auto 40px; align-items: center; gap: 12px; width: calc(100% - 32px); max-width: 560px; margin-left: auto; padding: 16px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--card); color: var(--text); box-shadow: var(--shadow); }
.public-access-prompt-copy { min-width: 0; overflow-wrap: anywhere; }
.public-access-prompt-copy strong { display: block; font-size: 1rem; }
.public-access-prompt-copy p { margin: 4px 0 0; color: var(--muted); font-size: .9rem; }
.public-access-prompt-login { min-height: 44px; }
.public-access-prompt-dismiss { display: inline-flex; align-items: center; justify-content: center; width: 40px; min-height: 44px; padding: 0; border: 1px solid var(--border); border-radius: var(--control-radius); background: var(--button); color: var(--text); font: inherit; font-size: 1.5rem; cursor: pointer; }
.public-access-prompt-dismiss:focus-visible, .public-access-prompt-login:focus-visible { outline: 2px solid var(--focus, var(--accent)); outline-offset: 3px; }
.access-denied-container { max-width: 720px; padding-top: clamp(32px, 9vh, 96px); }
.access-denied-card { border: 1px solid var(--border); background: var(--card); }
.access-denied-code { margin: 0 0 8px; color: var(--muted); font-size: .9rem; font-weight: 700; letter-spacing: .08em; }
.access-denied-card h1 { margin: 0 0 12px; font-size: clamp(1.8rem, 6vw, 2.8rem); line-height: 1.15; overflow-wrap: anywhere; }
.access-denied-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.access-denied-actions .btn { min-height: 44px; }
@media (max-width: 480px) {
  .public-access-prompt { right: 12px; bottom: 12px; left: 12px; width: calc(100% - 24px); grid-template-columns: minmax(0, 1fr) 40px; padding: 14px; gap: 10px; }
  .public-access-prompt-copy { grid-column: 1; grid-row: 1; }
  .public-access-prompt-dismiss { grid-column: 2; grid-row: 1; align-self: start; }
  .public-access-prompt-login { grid-column: 1; grid-row: 2; justify-self: start; }
}
