/* Generated by scripts/build_dark_theme.py from app.css. Do not edit by hand: edit DARK_EXTRA in the script. */
html[data-theme="dark"] h1, html[data-theme="dark"] h2, html[data-theme="dark"] h3 { color: var(--ink); }
html[data-theme="dark"] .btn-outline { color: var(--ink); }
html[data-theme="dark"] .btn-ghost { color: var(--ink); }
html[data-theme="dark"] .btn-light { background: var(--surface); color: var(--ink); }
html[data-theme="dark"] .icon-btn { color: var(--ink); }
html[data-theme="dark"] .round-btn { background: var(--surface); color: var(--ink); }
html[data-theme="dark"] .link-arrow { color: var(--link); }
html[data-theme="dark"] .link-btn { color: var(--link); }
html[data-theme="dark"] .chip:hover { color: var(--ink); }
html[data-theme="dark"] .chip.ghost { color: var(--ink); }
html[data-theme="dark"] .select.mini select { color: var(--ink); }
html[data-theme="dark"] .badge { background: rgba(18, 26, 42, .94); color: var(--ink); }
html[data-theme="dark"] .header { background: rgba(18, 26, 42, .86); }
html[data-theme="dark"] .nav-link:hover, html[data-theme="dark"] .nav-drop.open .nav-link { color: var(--ink); }
html[data-theme="dark"] .mega { background: var(--surface); }
html[data-theme="dark"] .mega-item b { color: var(--ink); }
html[data-theme="dark"] sup { color: var(--link); }
html[data-theme="dark"] .svc-ico { color: var(--link); }
html[data-theme="dark"] .drawer { background: var(--surface); }
html[data-theme="dark"] .tabbar { background: rgba(18, 26, 42, .94); }
html[data-theme="dark"] .tabbar a.on { color: var(--link); }
html[data-theme="dark"] .hero-search { background: var(--surface); }
html[data-theme="dark"] .seg.on { background: var(--surface); color: var(--ink); }
html[data-theme="dark"] .hs-svc.on { color: var(--ink); }
html[data-theme="dark"] .hs-soon .i { color: var(--link); }
html[data-theme="dark"] .stats div { background: var(--surface); }
html[data-theme="dark"] .stats dt { color: var(--ink); }
html[data-theme="dark"] .svc-group-head > .i { color: var(--link); }
html[data-theme="dark"] .svc-tile { background: var(--surface); }
html[data-theme="dark"] .svc-name { color: var(--ink); }
html[data-theme="dark"] .svc-meta b { color: var(--link); }
html[data-theme="dark"] .svc-meta em { color: var(--link); }
html[data-theme="dark"] .svc-meta .i { color: var(--link); }
html[data-theme="dark"] .slide-btn { background: rgba(18, 26, 42, .94); color: var(--ink); }
html[data-theme="dark"] .dots i { background: rgba(18, 26, 42, .55); }
html[data-theme="dark"] .dots i.on { background: var(--surface); }
html[data-theme="dark"] .fav-plain { color: var(--ink); }
html[data-theme="dark"] .card-price b { color: var(--ink); }
html[data-theme="dark"] .skeleton .card-media, html[data-theme="dark"] .skeleton .card-body i { background: linear-gradient(90deg, var(--canvas) 25%, var(--canvas) 50%, var(--canvas) 75%); }
html[data-theme="dark"] .why-item { background: var(--surface); }
html[data-theme="dark"] .why-item > span { color: var(--link); }
html[data-theme="dark"] .crumbs a:hover { color: var(--link); }
html[data-theme="dark"] .svc-tab { background: var(--surface); }
html[data-theme="dark"] .svc-tab.on sup { background: rgba(11, 18, 32, .16); }
html[data-theme="dark"] .toolbar-wrap { background: rgba(11, 18, 32, .92); }
html[data-theme="dark"] .search { background: var(--surface); }
html[data-theme="dark"] .view-toggle { background: var(--surface); }
html[data-theme="dark"] .view-toggle button.on { color: var(--ink); }
html[data-theme="dark"] .map { background: var(--canvas); }
html[data-theme="dark"] .map-note { background: var(--surface); }
html[data-theme="dark"] .empty-ico { color: var(--link); }
html[data-theme="dark"] .pin span { background: var(--surface); color: var(--ink); }
html[data-theme="dark"] .map-card b { color: var(--ink); }
html[data-theme="dark"] .leaflet-control-zoom a { color: var(--ink) !important; }
html[data-theme="dark"] .sheet { background: var(--surface); }
html[data-theme="dark"] .f-out { color: var(--link); }
html[data-theme="dark"] .more-btn { color: var(--link); }
html[data-theme="dark"] .switch i::after { background: var(--surface); }
html[data-theme="dark"] .range input[type=range]::-webkit-slider-thumb { background: var(--surface); }
html[data-theme="dark"] .range input[type=range]::-moz-range-thumb { background: var(--surface); }
html[data-theme="dark"] .l-addr > .i { color: var(--link); }
html[data-theme="dark"] .fact { background: var(--surface); }
html[data-theme="dark"] .fact .i { color: var(--link); }
html[data-theme="dark"] .l-map { background: var(--canvas); }
html[data-theme="dark"] .l-meta a { color: var(--link); }
html[data-theme="dark"] .price-card { background: var(--surface); }
html[data-theme="dark"] .pc-price b { color: var(--ink); }
html[data-theme="dark"] .l-sticky { background: var(--surface); }
html[data-theme="dark"] .l-sticky > div b { color: var(--ink); }
html[data-theme="dark"] .lb-top .icon-btn:hover { background: rgba(11, 18, 32, .1); }
html[data-theme="dark"] .lb-nav { background: rgba(11, 18, 32, .12); }
html[data-theme="dark"] .lb-nav:hover { background: rgba(11, 18, 32, .22); }
html[data-theme="dark"] .soon-hero { background: var(--surface); }
html[data-theme="dark"] .soon-card { background: var(--surface); }
html[data-theme="dark"] .steps b { color: var(--link); }
html[data-theme="dark"] .hs-what select { color: var(--ink); }
html[data-theme="dark"] .hero-facts b { color: var(--ink); }
html[data-theme="dark"] .direction { background: var(--surface); }
html[data-theme="dark"] .direction b { color: var(--ink); }
html[data-theme="dark"] .pill { background: var(--surface); }
html[data-theme="dark"] .pill.on { color: var(--ink); }
html[data-theme="dark"] .pill.filters-btn.on .nbadge { background: var(--surface); color: var(--link); }
html[data-theme="dark"] .map-peek .card { background: var(--surface); }
html[data-theme="dark"] .toolbar-wrap { background: rgba(11, 18, 32, .55); }
html[data-theme="dark"] .sheet { background: rgba(18, 26, 42, .82); }
html[data-theme="dark"] .sheet-wrap.pop .sheet { background: rgba(18, 26, 42, .78); }
html[data-theme="dark"] .mega { background: rgba(18, 26, 42, .8); }
html[data-theme="dark"] .search, html[data-theme="dark"] .pill, html[data-theme="dark"] .pill-select select, html[data-theme="dark"] .select select, html[data-theme="dark"] .svc-tab, html[data-theme="dark"] .chip, html[data-theme="dark"] .hs-field, html[data-theme="dark"] .btn-outline { background: rgba(18, 26, 42, .66); }
html[data-theme="dark"] .pill.on { background: rgba(11, 18, 32, .9); }
html[data-theme="dark"] .badge { background: rgba(18, 26, 42, .72); }
html[data-theme="dark"] .slide-btn, html[data-theme="dark"] .round-btn, html[data-theme="dark"] .m-chip, html[data-theme="dark"] .map-note, html[data-theme="dark"] .g-all { background: rgba(18, 26, 42, .7); border: 1px solid rgba(255, 255, 255, .08); }
html[data-theme="dark"] .pin span { background: rgba(18, 26, 42, .86); }
html[data-theme="dark"] .leaflet-control-zoom a, html[data-theme="dark"] .leaflet-control-layers { background: rgba(18, 26, 42, .78) !important; }
html[data-theme="dark"] .lang-seg button[aria-checked='true'] { color: var(--ink); }
html[data-theme="dark"] .lang-seg button:hover { color: var(--link); }
html[data-theme="dark"] .lang-thumb { background: var(--surface); }
html[data-theme="dark"] .card-share { color: var(--ink); background: rgba(18, 26, 42, .72); border: 1px solid rgba(255, 255, 255, .08); }
html[data-theme="dark"] .card-share:hover { background: var(--surface); }
html[data-theme="dark"] .share-preview { background: rgba(18, 26, 42, .6); }
html[data-theme="dark"] .share-preview b { color: var(--ink); }
html[data-theme="dark"] .share-link input { background: rgba(18, 26, 42, .7); }
html[data-theme="dark"] .card-media .fav, html[data-theme="dark"] .card-share { color: var(--ink); background: rgba(18, 26, 42, .74); border: 1px solid rgba(255, 255, 255, .08); }
html[data-theme="dark"] .card-media .fav:hover, html[data-theme="dark"] .card-share:hover { background: var(--surface); }
html[data-theme="dark"] .l-sticky { background: rgba(18, 26, 42, .72); border: 1px solid rgba(255, 255, 255, .08); }
html[data-theme="dark"] .l-sticky .icon-btn, html[data-theme="dark"] .l-sticky .fav { color: var(--ink); background: rgba(18, 26, 42, .7); }
html[data-theme="dark"] .tmap { background: var(--canvas); }
html[data-theme="dark"] .cm > div { background: rgba(18, 26, 42, .9); color: var(--ink); }
html[data-theme="dark"] .dc span { background: var(--surface); color: var(--ink); }
html[data-theme="dark"] .mlayers { background: rgba(18, 26, 42, .74); border: 1px solid rgba(255, 255, 255, .08); }
html[data-theme="dark"] .lrow:hover { background: rgba(18, 26, 42, .7); }
html[data-theme="dark"] .lrow .sw::after { background: var(--surface); }
html[data-theme="dark"] .age:hover { background: rgba(18, 26, 42, .7); }
html[data-theme="dark"] .mchip { background: rgba(18, 26, 42, .8); border: 1px solid rgba(255, 255, 255, .08); }
html[data-theme="dark"] .mages .age { background: rgba(18, 26, 42, .78); border: 1px solid rgba(255, 255, 255, .08); }
html[data-theme="dark"] .tm-peek { background: rgba(18, 26, 42, .84); border: 1px solid rgba(255, 255, 255, .08); }
html[data-theme="dark"] .tm-peek b { color: var(--ink); }
html[data-theme="dark"] .kinds-legend i { color: var(--link); }
html[data-theme="dark"] .gate-title { color: var(--ink); }
html[data-theme="dark"] .gate-tile.no-photo::after { background: radial-gradient(circle at 85% 15%, rgba(11, 18, 32, .16), transparent 55%); }
html[data-theme="dark"] .gate-ico { background: rgba(11, 18, 32, .18); }
html[data-theme="dark"] .gate-new::before { background: var(--surface); }
html[data-theme="dark"] .gate-meta em { background: rgba(11, 18, 32, .2); }
html[data-theme="dark"] .fd-facts i { background: rgba(11, 18, 32, .4); }
html[data-theme="dark"] .fd-tabs { background: rgba(11, 18, 32, .08); }
html[data-theme="dark"] .fd-tabs button:hover { background: rgba(11, 18, 32, .08); }
html[data-theme="dark"] .fd-tabs button[aria-selected="true"] { background: var(--surface); color: var(--ink); }
html[data-theme="dark"] .fd-search { background: var(--surface); }
html[data-theme="dark"] .fd-search .i { color: var(--link); }
html[data-theme="dark"] .fd-sel select { background: rgba(11, 18, 32, .1); }
html[data-theme="dark"] .fd-sel select:hover, html[data-theme="dark"] .fd-sel select:focus { background: rgba(11, 18, 32, .16); }
html[data-theme="dark"] .fd-seg { background: rgba(11, 18, 32, .1); }
html[data-theme="dark"] .fd-seg button:hover { background: rgba(11, 18, 32, .1); }
html[data-theme="dark"] .fd-seg button[aria-pressed="true"] { background: var(--surface); color: var(--ink); }
html[data-theme="dark"] .fd-chip:hover { border-color: rgba(255, 255, 255, .08); }
html[data-theme="dark"] .fd-go.empty { background: rgba(11, 18, 32, .14); }
html[data-theme="dark"] .finder.v-light { background: var(--surface); }
html[data-theme="dark"] .v-light .fd-head h2 { color: var(--ink); }
html[data-theme="dark"] .v-light .fd-facts b { color: var(--ink); }
html[data-theme="dark"] .v-light .fd-tabs button:hover { color: var(--ink); }
html[data-theme="dark"] .v-light .fd-sel select:hover, html[data-theme="dark"] .v-light .fd-sel select:focus { background: var(--surface); }
html[data-theme="dark"] .v-photo .fd-tabs { background: rgba(11, 18, 32, .16); }
html[data-theme="dark"] .v-photo .fd-tabs button[aria-selected="true"] { color: var(--ink); }
html[data-theme="dark"] .v-photo .fd-body { background: rgba(18, 26, 42, .96); }
html[data-theme="dark"] .finder.v-phrase { background: linear-gradient(135deg, var(--surface) 0%, var(--brand-tint) 100%); }
html[data-theme="dark"] .v-phrase .fd-head h2 { color: var(--ink); }
html[data-theme="dark"] .v-phrase .fd-facts b { color: var(--ink); }
html[data-theme="dark"] .fd-pick select { color: var(--link); }
html[data-theme="dark"] .v-bento .gate-text { background: rgba(11, 18, 32, .16); }
html[data-theme="dark"] .v-bento .gate-meta .i { background: var(--surface); color: var(--ink); }
html[data-theme="dark"] .v-list .gate-tile { color: var(--ink); }
html[data-theme="dark"] .v-list .gate-ico { color: var(--link); }
html[data-theme="dark"] .v-list .gate-hook { color: var(--link); }
html[data-theme="dark"] .v-list .gate-meta em { color: var(--ink); }
html[data-theme="dark"] .gate-group-head h2 { color: var(--ink); }
html[data-theme="dark"] .v-cards .gate-tile { background: var(--surface); }
html[data-theme="dark"] .v-cards .gate-tile img, html[data-theme="dark"] .v-cards .gate-tile.no-photo::before { border: 3px solid rgba(255, 255, 255, .1); }
html[data-theme="dark"] .v-cards .gate-text b { color: var(--ink); }
html[data-theme="dark"] .v-cards .gate-new { color: var(--ink); }
html[data-theme="dark"] .v-cards .gate-ico { color: var(--link); background: linear-gradient(160deg, rgba(18, 26, 42, .95), rgba(11, 18, 32, .55)); border: 1px solid rgba(255, 255, 255, .08); }
html[data-theme="dark"] .v-cards .gate-tile img, html[data-theme="dark"] .v-cards .gate-tile.no-photo::before { border: 3px solid rgba(255, 255, 255, .08); }
html[data-theme="dark"] .v-cards .gate-new::before { background: var(--surface); }
html[data-theme="dark"] .v-cards .gate-tile.soon .gate-meta em { background: rgba(18, 26, 42, .8); color: var(--ink); }
html[data-theme="dark"] .v-cards .gate-tile { background: linear-gradient(150deg, rgba(18, 26, 42, .55), rgba(11, 18, 32, .22)); border-color: rgba(255, 255, 255, .08); }
html[data-theme="dark"] .v-cards .gate-tile:hover { background: linear-gradient(150deg, rgba(18, 26, 42, .7), rgba(11, 18, 32, .32)); }
html[data-theme="dark"] .v-cards .gate-hook { color: var(--ink); }
html[data-theme="dark"] .bg-aurora { background: linear-gradient(180deg, var(--canvas), var(--canvas)); }
html[data-theme="dark"] .gate.on-deep .gate-tile { background: linear-gradient(150deg, rgba(18, 26, 42, .92), rgba(18, 26, 42, .72)); border-color: rgba(255, 255, 255, .08); }
html[data-theme="dark"] .bg-city::after { background: linear-gradient(180deg, rgba(11, 18, 32, .92) 0%, rgba(11, 18, 32, .55) 35%, rgba(11, 18, 32, .45) 100%); }
html[data-theme="dark"] .bg-grid { background: radial-gradient(circle at 1px 1px, rgba(3, 45, 106, .16) 1px, transparent 0) 0 0 / 22px 22px,
  linear-gradient(180deg, var(--canvas), var(--canvas)); }
@media (min-width: 1100px) {
  html[data-theme="dark"] .m-chip { background: rgba(18, 26, 42, .94); }
  html[data-theme="dark"] .m-chip b { color: var(--ink); }
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  html[data-theme="dark"] .header, html[data-theme="dark"] .tabbar, html[data-theme="dark"] .sheet, html[data-theme="dark"] .mega { background: rgba(18, 26, 42, .96); }
}
/* ---- hand-written dark tweaks ---- */
html[data-theme="dark"] .header .logo, html[data-theme="dark"] .drawer .logo { content: url(../img/brand/logo-white.svg); }
html[data-theme="dark"] h1, html[data-theme="dark"] h2, html[data-theme="dark"] h3 { color: var(--ink); }
html[data-theme="dark"] .footer { background: #070C16; }
html[data-theme="dark"] .gate.v-cards .gate-title, html[data-theme="dark"] .gate.v-cards .gate-group-head h2 { text-shadow: none; }
html[data-theme="dark"] .v-cards .gate-text b, html[data-theme="dark"] .v-cards .gate-group-head .link-arrow { text-shadow: none; }
html[data-theme="dark"] .v-cards .gate-tile { background: linear-gradient(150deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .03)); border-color: rgba(255, 255, 255, .1); box-shadow: 0 12px 40px rgba(0, 0, 0, .35), inset 0 1px 0 rgba(255, 255, 255, .08); }
html[data-theme="dark"] .v-cards .gate-tile:hover { background: linear-gradient(150deg, rgba(255, 255, 255, .13), rgba(255, 255, 255, .05)); }
html[data-theme="dark"] .v-cards .gate-ico { color: #BFD4FF; background: linear-gradient(160deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, .04)); border-color: rgba(255, 255, 255, .14); box-shadow: 0 8px 20px rgba(0, 0, 0, .3), inset 0 1px 0 rgba(255, 255, 255, .12); }
html[data-theme="dark"] .v-cards .gate-tile img, html[data-theme="dark"] .v-cards .gate-tile.no-photo::before { border-color: rgba(255, 255, 255, .14); }
html[data-theme="dark"] .v-cards .gate-meta em { background: rgba(255, 255, 255, .12); border-color: rgba(255, 255, 255, .14); }
html[data-theme="dark"] .v-cards .gate-tile.soon .gate-meta em { background: rgba(255, 255, 255, .9); color: #0B1220; }
html[data-theme="dark"] .bg-aurora { background: linear-gradient(180deg, #0B1220, #0E1626); }
html[data-theme="dark"] .bg-aurora i { opacity: .35; }
html[data-theme="dark"] .bg-grid { background: radial-gradient(circle at 1px 1px, rgba(255, 255, 255, .1) 1px, transparent 0) 0 0 / 22px 22px, #0B1220; }
html[data-theme="dark"] .bg-city::after { background: linear-gradient(180deg, rgba(11, 18, 32, .92) 0%, rgba(11, 18, 32, .6) 40%, rgba(11, 18, 32, .5) 100%); }
html[data-theme="dark"] .finder.v-light .fd-tabs button[aria-selected="true"], html[data-theme="dark"] .fd-seg button[aria-pressed="true"] { background: var(--brand-600); color: #fff; }
html[data-theme="dark"] .lang-thumb { background: rgba(255, 255, 255, .14); }
html[data-theme="dark"] select, html[data-theme="dark"] input { color-scheme: dark; }
html[data-theme="dark"] img:not(.logo) { filter: brightness(.92); }
html[data-theme="dark"] .leaflet-container { background: #0E1626; }
html[data-theme="dark"] .leaflet-tile-pane { filter: invert(1) hue-rotate(180deg) brightness(.85) contrast(.9); }
