.theme-switch {
	min-height: 34px;
	padding: 0 10px;
	border: 1px solid var(--line);
	border-radius: 4px;
	background: var(--white);
	color: var(--ink);
	font-size: 10px;
	font-weight: 700;
	white-space: nowrap;
	cursor: pointer;
}

.theme-switch:hover {
	border-color: var(--green);
	background: color-mix(in srgb, var(--green) 12%, var(--white));
}

.theme-switch:focus-visible {
	outline: 2px solid var(--green);
	outline-offset: 2px;
}

.page-actions {
	display: flex;
	align-items: center;
	gap: 10px;
}

.section-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin-bottom: 16px;
	border-bottom: 1px solid var(--line);
}

.section-nav a {
	padding: 8px 9px 9px;
	border-bottom: 2px solid transparent;
	color: var(--muted);
	font-size: 10px;
	font-weight: 700;
	text-decoration: none;
}

.section-nav a:hover { color: var(--ink); }
.section-nav a[aria-current="page"] { border-bottom-color: var(--green); color: var(--ink); }

@media (max-width: 440px) {
	.theme-switch { min-height: 31px; padding: 0 7px; font-size: 9px; }
	.page-actions { gap: 7px; }
}

html[data-theme="light"] {
	color-scheme: light;
	--paper: #f3f1e9;
	--white: #fffefa;
	--ink: #202b28;
	--muted: #6f7973;
	--line: #d9dcd4;
	--green: #247258;
	--green-dark: #195b45;
	--orange: #d2764f;
	--blue: #4e739c;
	--point: #397b66;
	--panorama: #ce784d;
	--poi: #bc9a35;
	--spoi: #7951c6;
}

html[data-theme="light"] body.tests-page {
	--paper: #f4f2ec;
	--ink: #192321;
	--muted: #68736d;
	--line: #d6d9d1;
	--white: #fffefa;
	--green: #247258;
	--green-dark: #195b45;
	--orange: #dc7048;
	--blue: #386b8c;
}

html[data-theme="light"] body.map-page .floor-tag { background: #f8f7f1; }
html[data-theme="light"] body.map-page .account-widget { background: #fbfaf6; }
html[data-theme="light"] body.map-page .account-widget:hover { border-color: #aebdb1; background: #f1f5ef; }
html[data-theme="light"] body.map-page .floor-switch { border-color: #e1e3dc; background: #f3f3ed; }
html[data-theme="light"] body.map-page .floor-button { color: #647068; }
html[data-theme="light"] body.map-page .search-mark { border-color: #748078; }
html[data-theme="light"] body.map-page .search-mark::after { background: #748078; }
html[data-theme="light"] body.map-page .search-input { border-color: #d2d7d0; background: #fbfaf6; }
html[data-theme="light"] body.map-page .search-input:focus { box-shadow: 0 0 0 3px rgba(36, 114, 88, .12); }
html[data-theme="light"] body.map-page .filters { border-color: #e1e3dc; background: #f3f3ed; }
html[data-theme="light"] body.map-page .filter-button { color: #66716a; }
html[data-theme="light"] body.map-page .filter-button[aria-pressed="true"] { background: var(--white); color: var(--ink); box-shadow: 0 1px 3px rgba(30, 42, 37, .12); }
html[data-theme="light"] body.map-page .list-heading { border-color: #eaebe5; }
html[data-theme="light"] body.map-page .point-row { border-color: #eef0ea; }
html[data-theme="light"] body.map-page .point-row:hover { background: #f7f7f1; }
html[data-theme="light"] body.map-page .point-row[aria-current="true"] { background: #eef4ef; }
html[data-theme="light"] body.map-page .row-number { color: #829087; }
html[data-theme="light"] body.map-page .detail-panel { background: #f7f6f0; }
html[data-theme="light"] body.map-page .detail-description { color: #616d66; }
html[data-theme="light"] body.map-page .detail-media:hover { background: #195b45; }
html[data-theme="light"] body.map-page .detail-media:focus-visible { outline-color: rgba(36, 114, 88, .35); }
html[data-theme="light"] body.map-page .map-wrap,
html[data-theme="light"] body.map-page #map { background: #eceae2; }
html[data-theme="light"] body.map-page .map-stamp { border-color: rgba(196, 201, 190, .9); background: rgba(255, 254, 250, .94); box-shadow: 0 2px 8px rgba(39, 52, 46, .08); }
html[data-theme="light"] body.map-page .map-error { box-shadow: 0 8px 28px rgba(32, 43, 40, .12); }
html[data-theme="light"] body.map-page .leaflet-popup-content-wrapper,
html[data-theme="light"] body.map-page .leaflet-popup-tip { border-color: #d9dcd4; background: var(--white); box-shadow: 0 5px 22px rgba(23, 34, 28, .2); }
html[data-theme="light"] body.map-page .point-popup-description { color: #69746d; }
html[data-theme="light"] body.map-page .leaflet-control-zoom { border-color: #d4d8d0 !important; box-shadow: 0 2px 8px rgba(39, 52, 46, .1) !important; }
html[data-theme="light"] body.map-page .leaflet-control-zoom a { border-color: #ccc !important; background: #fff !important; }
html[data-theme="light"] body.map-page .leaflet-control-scale-line { border-color: #58675e; background: rgba(255, 254, 250, .86); }

html[data-theme="light"] body.me-page .topbar { background: rgba(255, 254, 250, .9); }
html[data-theme="light"] body.me-page .notice { border-color: #d8ddd5; background: var(--white); color: #4c5a52; }
html[data-theme="light"] body.me-page .notice.error { border-color: #e4b6a8; background: #fff5f0; color: #8a4330; }
html[data-theme="light"] body.me-page .notice.success { border-color: #b7d3c1; background: #eff7f1; color: #235d42; }
html[data-theme="light"] body.me-page .balance-band { background: #1e4d3d; color: #f8f7f0; }
html[data-theme="light"] body.me-page .balance-label { color: #bed2c6; }
html[data-theme="light"] body.me-page .balance-currency { color: #d6e0d7; }
html[data-theme="light"] body.me-page .account-kind { border-color: #e1e5df; color: #5c6961; }
html[data-theme="light"] body.me-page .panel-head { border-color: #e9ebe4; }
html[data-theme="light"] body.me-page .tabs { border-color: #e1e3dc; background: #f3f3ed; }
html[data-theme="light"] body.me-page .tab { color: #68746d; }
html[data-theme="light"] body.me-page .tab[aria-selected="true"] { background: var(--white); color: var(--ink); box-shadow: 0 1px 3px rgba(30, 42, 37, .12); }
html[data-theme="light"] body.me-page .tab:focus-visible,
html[data-theme="light"] body.me-page button:focus-visible { outline-color: rgba(36, 114, 88, .5); }
html[data-theme="light"] body.me-page label { color: #3b4942; }
html[data-theme="light"] body.me-page input { border-color: #cfd5cd; background: #fff; }
html[data-theme="light"] body.me-page input:focus { box-shadow: 0 0 0 3px rgba(36, 114, 88, .12); }
html[data-theme="light"] body.me-page input::placeholder { color: #9aa39c; }
html[data-theme="light"] body.me-page .field-hint { color: #77827a; }
html[data-theme="light"] body.me-page .secondary { border-color: #cdd4cc; }
html[data-theme="light"] body.me-page .secondary:hover { background: #f3f4ee; }
html[data-theme="light"] body.me-page .detail-cell { border-color: #e6e8e1; background: #fbfaf6; }
html[data-theme="light"] body.me-page .shop-panel { border-color: #e3e5de; background: linear-gradient(125deg, #f8f6ed 0%, #edf2ec 65%, #e8edf0 100%); }
html[data-theme="light"] body.me-page .shop-copy { color: #626f68; }
html[data-theme="light"] body.me-page .shop-status { border-color: #d6dcd4; background: rgba(255, 254, 250, .72); color: var(--green-dark); }
html[data-theme="light"] body.me-page .logout-dialog::backdrop { background: rgba(20, 30, 25, .6); }

html[data-theme="light"] body.tests-page { background-image: radial-gradient(#c9cec5 0.65px, transparent 0.65px); }
html[data-theme="light"] body.tests-page .topbar { background: rgba(255, 254, 250, .78); }
html[data-theme="light"] body.tests-page .panel,
html[data-theme="light"] body.tests-page .console { border-color: var(--line); background: var(--white); box-shadow: 0 3px 12px rgba(25, 35, 33, .035); }
html[data-theme="light"] body.tests-page .method { background: #edf3ee; color: var(--green-dark); }
html[data-theme="light"] body.tests-page .method.post { background: #eef2f6; color: var(--blue); }
html[data-theme="light"] body.tests-page .action-row { border-color: #e7e8e2; }
html[data-theme="light"] body.tests-page label { color: #39443f; }
html[data-theme="light"] body.tests-page input { border-color: #cdd2ca; background: #fff; }
html[data-theme="light"] body.tests-page input:focus-visible { box-shadow: 0 0 0 3px rgba(23, 107, 80, .12); }
html[data-theme="light"] body.tests-page input[readonly] { background: #f3f4ef; color: #59645e; }
html[data-theme="light"] body.tests-page button:hover { background: var(--green-dark); }
html[data-theme="light"] body.tests-page button:focus-visible { outline-color: rgba(23, 107, 80, .25); }
html[data-theme="light"] body.tests-page button.secondary { border-color: #cdd2ca; }
html[data-theme="light"] body.tests-page button.secondary:hover { background: #f0f1eb; }

html[data-theme="light"] body.home-page .topbar { background: rgba(255, 254, 250, .9); }
html[data-theme="light"] body.home-page .home-account { background: #fbfaf6; }
html[data-theme="light"] body.home-page .home-account:hover { border-color: #aebdb1; background: #f1f5ef; }
html[data-theme="light"] body.home-page .destination-meta,
html[data-theme="light"] body.home-page .destination-arrow { color: var(--green); }
html[data-theme="light"] body.home-page .map-preview { border-color: var(--line); background: #e7e5dc; }
html[data-theme="light"] body.home-page .page-link-mark { border-color: #d9d2e4; background: #f2eef8; color: var(--green); }
html[data-theme="light"] body.home-page .page-link:hover .page-link-title { color: var(--green-dark); }
html[data-theme="light"] body.home-page .dev-link,
html[data-theme="light"] body.home-page .footer-line { color: var(--muted); }

html[data-theme="light"] body.map-page .sidebar-info-link,
html[data-theme="light"] body.me-page .info-shortcut { color: var(--green); }
html[data-theme="light"] body.map-page .sidebar-info-link:hover,
html[data-theme="light"] body.me-page .info-shortcut:hover { color: var(--green-dark); }

html[data-theme="light"] body.info-page .topbar { background: rgba(255, 254, 250, .9); }
html[data-theme="light"] body.info-page .room-guide { border-color: #ddd7e7; background: var(--white); }
html[data-theme="light"] body.info-page .room-code-caption { color: #eee6fc; }
html[data-theme="light"] body.info-page .room-explanation h2 { color: var(--ink); }
html[data-theme="light"] body.info-page .room-part strong { color: var(--green); }
html[data-theme="light"] body.info-page .room-part span { color: var(--muted); }
html[data-theme="light"] body.info-page .resource-grid,
html[data-theme="light"] body.info-page .resource-link { border-color: var(--line); }
html[data-theme="light"] body.info-page .resource-mark { border-color: #ddd5e8; background: #f2eef8; color: var(--green); }
html[data-theme="light"] body.info-page .resource-link:hover .resource-title { color: var(--green-dark); }
html[data-theme="light"] body.info-page .status-message { border-color: #e4b6a8; background: #fff5f0; color: #8a4330; }