:root{--bright-bg: #f4f1e6;--bright-paper: #fbf8ee;--bright-ink: #160a2e;--bright-ink-soft: #3a2e54;--bright-brand: #6a3aff;--bright-brand-deep: #4a1fd9;--bright-brand-soft: #d6c9ff;--bright-amber: #f5b73c;--bright-amber-soft: #fce2a3;--font-sans: "Unbounded", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: var(--font-sans);--font-serif: var(--font-sans);--font-mono: var(--font-sans);--app-bg: var(--bright-bg);--panel-bg: var(--bright-paper);--card-bg: var(--bright-paper);--text-primary: var(--bright-ink);--text-secondary: var(--bright-ink-soft);--text-muted: #7a7e8c;--accent: var(--bright-brand);--accent-soft: var(--bright-brand-soft);--accent-strong: var(--bright-brand-deep);--danger-accent: #ec6b2b;--empty-bg: color-mix(in oklab, var(--bright-ink) 4%, var(--bright-bg));--border-subtle: rgba(22, 10, 46, .12);--border-strong: rgba(22, 10, 46, .2);--rank-bg: var(--bright-ink);--rank-text: var(--bright-amber);--tooltip-bg: rgba(251, 248, 238, .96);--leaflet-bg: #e8e3d3;--button-bg: var(--bright-paper);--button-bg-hover: var(--bright-brand-soft);--button-text: var(--bright-ink);--control-shadow: 0 4px 14px -6px rgba(22, 10, 46, .28);--location-good: var(--bright-brand);--location-error: #ec6b2b;--premium-bg: var(--bright-amber-soft);--premium-border: var(--bright-ink);--premium-accent: var(--bright-brand-deep);--shadow-stamp: 0 6px 20px -8px rgba(22, 10, 46, .32);color:var(--text-primary);background:var(--app-bg);color-scheme:light;font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizeLegibility;letter-spacing:-.02em;font-weight:400}:root[data-theme=dark]{--bright-bg: #0e0820;--bright-paper: #1a1233;--bright-ink: #f4f1e6;--bright-ink-soft: #d0c6e4;--bright-brand: #a78aff;--bright-brand-deep: #6a3aff;--bright-brand-soft: #2e2356;--bright-amber: #f5b73c;--bright-amber-soft: #5a4520;--app-bg: var(--bright-bg);--panel-bg: var(--bright-paper);--card-bg: var(--bright-paper);--text-primary: var(--bright-ink);--text-secondary: var(--bright-ink-soft);--text-muted: #8a7eaa;--accent: var(--bright-brand);--accent-soft: color-mix(in oklab, var(--bright-brand) 22%, transparent);--accent-strong: var(--bright-brand-deep);--danger-accent: #ec8861;--empty-bg: color-mix(in oklab, var(--bright-ink) 6%, var(--bright-bg));--border-subtle: rgba(244, 241, 230, .14);--border-strong: rgba(244, 241, 230, .22);--rank-bg: var(--bright-ink);--rank-text: var(--bright-bg);--tooltip-bg: rgba(26, 18, 51, .96);--leaflet-bg: #0e0820;--button-bg: var(--bright-paper);--button-bg-hover: color-mix(in oklab, var(--bright-brand) 30%, var(--bright-paper));--button-text: var(--bright-ink);--control-shadow: 0 4px 14px -6px rgba(0, 0, 0, .5);--location-good: var(--bright-brand);--location-error: #ec8861;--premium-bg: color-mix(in oklab, var(--bright-amber) 22%, var(--bright-paper));--premium-border: var(--bright-amber);--premium-accent: var(--bright-amber);--shadow-stamp: 0 6px 20px -8px rgba(0, 0, 0, .55);color-scheme:dark}::selection{background:var(--bright-brand);color:#fff}:root[data-palette=night]{--bright-bg: #0e0820;--bright-paper: #1a1233;--bright-ink: #f4f1e6;--bright-ink-soft: #d0c6e4;--bright-brand: #a78aff;--bright-brand-deep: #6a3aff;--bright-brand-soft: #2e2356;--bright-amber: #f5b73c;--bright-amber-soft: #5a4520}.palette-picker{display:inline-flex;gap:6px;padding:4px;background:var(--bright-paper);border:1.5px solid var(--border-subtle, rgba(22,10,46,.14));border-radius:999px;box-shadow:0 6px 18px -8px #160a2e4d;justify-self:end;width:fit-content}.palette-dot{width:22px;height:22px;border:1.5px solid var(--bright-ink);border-radius:50%;cursor:pointer;padding:0;position:relative;transition:transform .14s cubic-bezier(.3,.7,.3,1.3)}.palette-dot:hover{transform:scale(1.1)}.palette-dot-atlas{background:linear-gradient(135deg,#6a3aff 50%,#f5b73c 50%)}.palette-dot-night{background:linear-gradient(135deg,#a78aff 50%,#160a2e 50%)}.palette-dot-active{outline:2px solid var(--bright-brand);outline-offset:2px;transform:scale(1.05)}.admin-shell{font-family:var(--font-sans);letter-spacing:-.005em}.admin-header h1{font-family:var(--font-display);font-weight:700;font-stretch:normal;letter-spacing:-.035em;font-size:clamp(28px,3.4vw,44px);line-height:1}.admin-header-title{display:flex;align-items:center;gap:14px}.admin-header-mark{display:inline-grid;place-items:center;width:44px;height:44px;background:var(--bright-brand);border:1.5px solid var(--border-subtle, rgba(22,10,46,.14));border-radius:12px;box-shadow:0 6px 18px -8px #160a2e4d;transform:rotate(-6deg);padding:4px;flex:none}.admin-header-mark img{width:32px;height:32px;display:block}.admin-card{border-width:1.5px;border-color:var(--bright-brand);border-radius:20px;box-shadow:none;background:var(--panel-bg)}:root[data-theme=dark] .admin-card{border-color:var(--bright-brand-soft)}.admin-link{border-width:1.5px;border-color:var(--border-strong);border-radius:999px;background:var(--panel-bg);color:var(--text-primary);font-family:var(--font-sans);font-weight:500;font-size:13px;padding:8px 14px;height:38px;min-height:38px;transition:transform .14s cubic-bezier(.3,.7,.3,1.3),background .14s,border-color .14s}.admin-link:hover{background:var(--bright-brand-soft);transform:translateY(-1px)}.admin-login-modal h2,.admin-card h2{font-family:var(--font-display);font-weight:700;font-stretch:normal;letter-spacing:-.025em}.admin-form label,.admin-login-modal label,.admin-broadcast-form label,.admin-promo-form label,.admin-premium-controls label{font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.admin-login-modal input,.admin-form input,.admin-form select,.admin-form textarea,.admin-broadcast-form textarea,.admin-promo-form input,.admin-promo-form select,.admin-premium-controls input,.admin-premium-controls select,.subscription-member-form input{border-width:1.5px;border-color:var(--border-subtle);border-radius:14px;background:color-mix(in oklab,var(--bright-brand) 4%,var(--panel-bg));font-size:14px;padding:10px 12px;transition:border-color .14s,background .14s}.admin-login-modal input:focus,.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus,.admin-broadcast-form textarea:focus,.admin-promo-form input:focus,.admin-promo-form select:focus,.admin-premium-controls input:focus,.admin-premium-controls select:focus{border-color:var(--bright-brand);background:color-mix(in oklab,var(--bright-brand) 8%,var(--panel-bg));outline:none}.admin-code-textarea{font-family:var(--font-mono)!important;font-size:12px}.admin-actions button[type=submit],.admin-login-modal button[type=submit],.admin-broadcast-form button[type=submit],.admin-promo-form button[type=submit],.admin-premium-controls button[type=submit]{background:var(--bright-brand)!important;color:#fff!important;border:1.5px solid var(--border-subtle, rgba(22,10,46,.14))!important;border-radius:14px!important;box-shadow:0 6px 18px -8px #160a2e4d!important;font-weight:600!important;transition:transform .14s cubic-bezier(.3,.7,.3,1.3),box-shadow .14s,background .14s!important}.admin-actions button[type=submit]:hover,.admin-login-modal button[type=submit]:hover,.admin-broadcast-form button[type=submit]:hover,.admin-promo-form button[type=submit]:hover,.admin-premium-controls button[type=submit]:hover{transform:translate(-1px,-1px)!important;box-shadow:0 6px 18px -8px #160a2e4d!important;background:var(--bright-brand-deep)!important}.storage-pill{border-width:1.5px;border-color:var(--bright-brand);border-radius:999px;background:color-mix(in oklab,var(--bright-brand) 22%,var(--panel-bg));font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;color:var(--text-primary);position:relative;padding-left:26px}.storage-pill:before{content:"";position:absolute;left:12px;top:50%;transform:translateY(-50%);width:7px;height:7px;border-radius:50%;background:var(--bright-brand);box-shadow:0 0 0 3px color-mix(in oklab,var(--bright-brand) 30%,transparent);animation:admin-pulse 1.6s ease-in-out infinite}@keyframes admin-pulse{0%,to{opacity:1}50%{opacity:.45}}.admin-stats-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 auto 18px;max-width:min(1800px,calc(100vw - 48px));width:100%}@media(max-width:960px){.admin-stats-strip{grid-template-columns:repeat(2,1fr)}}.admin-stat-card{position:relative;padding:16px 20px;background:var(--panel-bg);border:1.5px solid var(--border-strong);border-radius:18px;display:grid;gap:4px;overflow:hidden}.admin-stat-brand{background:var(--bright-brand);border-color:var(--bright-brand);color:#fff}.admin-stat-amber{background:var(--bright-amber);border-color:var(--bright-ink);color:var(--bright-ink);box-shadow:0 6px 18px -8px #160a2e4d}.admin-stat-ink{background:var(--bright-ink);border-color:var(--bright-ink);color:var(--bright-bg)}:root[data-theme=dark] .admin-stat-ink{background:var(--bright-bg);border-color:var(--bright-brand);color:var(--bright-ink)}.admin-stat-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:var(--text-muted)}.admin-stat-brand .admin-stat-label{color:#ffffffbf}.admin-stat-amber .admin-stat-label{color:#160a2eb3}.admin-stat-ink .admin-stat-label{color:#f4f1e6a6}:root[data-theme=dark] .admin-stat-ink .admin-stat-label{color:var(--text-muted)}.admin-stat-value{font-family:var(--font-display);font-weight:700;font-stretch:normal;font-size:40px;letter-spacing:-.035em;line-height:1;color:inherit}.admin-stat-foot{font-size:12px;color:var(--text-secondary);opacity:.85}.admin-stat-brand .admin-stat-foot,.admin-stat-amber .admin-stat-foot,.admin-stat-ink .admin-stat-foot{color:inherit;opacity:.78}.admin-stat-card:after{content:"";position:absolute;right:12px;bottom:8px;width:56px;height:22px;background:linear-gradient(135deg,transparent 0%,transparent 45%,currentColor 45%,currentColor 47%,transparent 47%);opacity:.35;pointer-events:none}.admin-list-header-rich h2{font-family:var(--font-display);font-weight:700;font-stretch:normal;letter-spacing:-.025em;font-size:28px}.admin-list-header-count{font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--text-muted);font-weight:500;margin-left:6px}.admin-cat-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 20px 14px;border-bottom:1.5px solid var(--border-subtle);margin-bottom:4px}.admin-cat-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;background:color-mix(in oklab,var(--bright-brand) 5%,var(--panel-bg));border:1.5px solid var(--border-subtle);border-radius:999px;font-size:12px;color:var(--text-secondary);font-family:var(--font-sans);font-weight:500;cursor:pointer;transition:background .14s,color .14s,border-color .14s}.admin-cat-chip:hover{background:color-mix(in oklab,var(--bright-brand) 14%,var(--panel-bg));color:var(--text-primary)}.admin-cat-chip.is-active{background:var(--bright-brand);border-color:var(--bright-brand);color:#fff}.admin-cat-chip-count{font-family:var(--font-mono);font-size:10px;opacity:.78;font-weight:600}.admin-table .admin-place-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto auto auto;gap:14px;align-items:center;padding:10px 14px;border-radius:14px;border:1.5px solid transparent;transition:background .14s,border-color .14s}.admin-table .admin-place-row:hover{background:color-mix(in oklab,var(--bright-brand) 6%,transparent);border-color:var(--border-subtle)}.admin-place-photo{width:38px;height:38px;border-radius:10px;background-size:cover;background-position:center;border:1.5px solid var(--border-subtle);flex:none;position:relative;display:grid;place-items:center;overflow:hidden}.admin-place-photo-mark{font-family:var(--font-display);font-weight:800;font-stretch:normal;font-size:15px;color:#ffffffe6;text-shadow:0 1px 2px rgba(0,0,0,.3)}.admin-place-info{display:grid;gap:2px;min-width:0}.admin-place-info strong{font-size:15px;font-weight:600;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.admin-place-info span{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);letter-spacing:.04em}.admin-place-cat{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--text-secondary);padding:4px 10px;border:1px solid var(--border-subtle);border-radius:999px;background:color-mix(in oklab,var(--bright-brand) 6%,transparent);white-space:nowrap}.admin-place-rating{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--bright-amber);min-width:52px;justify-content:flex-end}.admin-row-actions{display:inline-flex;gap:6px}.admin-icon-btn{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:color-mix(in oklab,var(--bright-brand) 6%,var(--panel-bg))!important;border:1.5px solid var(--border-subtle)!important;color:var(--text-secondary)!important;padding:0;cursor:pointer;box-shadow:none!important;min-height:32px!important;font-weight:500!important;transition:background .14s,color .14s,border-color .14s}.admin-icon-btn:hover{background:var(--bright-brand)!important;color:#fff!important;border-color:var(--bright-brand)!important;transform:none!important}.admin-icon-btn-danger:hover{background:#e94d2c!important;border-color:#e94d2c!important;color:#fff!important}.admin-account-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.admin-provider-chips{display:inline-flex;gap:4px;flex-wrap:wrap}.admin-provider{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;padding:3px 8px;border-radius:999px;border:1px solid;background:color-mix(in oklab,currentColor 14%,transparent);white-space:nowrap}.admin-provider-email{color:var(--bright-brand);border-color:color-mix(in oklab,var(--bright-brand) 40%,transparent)}.admin-provider-vk{color:#4a6ddb;border-color:color-mix(in oklab,#4a6ddb 40%,transparent)}.admin-provider-yandex{color:#e94d2c;border-color:color-mix(in oklab,#e94d2c 40%,transparent)}.admin-provider-tg{color:#1ea3df;border-color:color-mix(in oklab,#1ea3df 40%,transparent)}.admin-card{position:relative}.admin-panel-stamp{position:absolute;top:-12px;right:18px;background:var(--bright-amber);color:var(--bright-ink);font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:5px 10px;border:1.5px solid var(--bright-ink);border-radius:999px;transform:rotate(-3deg);box-shadow:0 6px 18px -8px #160a2e4d;z-index:2;white-space:nowrap}.admin-card>div>.eyebrow,.admin-card>section>.eyebrow{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--bright-brand);background:none;padding:0;margin:0 0 4px}.admin-stat-card:after{display:none}.admin-stat-card .admin-stat-spark{position:absolute;bottom:10px;right:14px;width:64px;height:22px;opacity:.6;pointer-events:none}.admin-stat-card .admin-stat-spark path{stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:minmax(0,1fr) clamp(640px,34vw,760px);align-items:start;min-height:100vh;background:var(--app-bg)}@media(min-width:1280px){.app-shell{grid-template-columns:280px minmax(0,1fr) clamp(440px,28vw,600px);grid-template-rows:64px 1fr}.app-shell>.app-topnav{grid-column:1 / -1;grid-row:1}.app-shell>.district-rail{grid-row:2}.app-shell>.map-pane{grid-row:2;top:64px!important;height:calc(100vh - 64px)!important;min-height:calc(100vh - 64px)!important}.app-shell>.places-panel{grid-row:2;min-height:calc(100vh - 64px)!important;overflow:visible!important}}.app-topnav{display:none}@media(min-width:1280px){.app-topnav{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:18px;height:64px;padding:0 24px;background:var(--bright-paper);border-bottom:2px solid var(--bright-ink);position:sticky;top:0;z-index:30}.app-topnav-brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:700;font-stretch:normal;font-size:22px;letter-spacing:-.02em;color:var(--text-primary);text-decoration:none}.app-topnav-brand img{width:36px;height:36px;background:var(--bright-brand);border:1.5px solid var(--border-subtle, rgba(22,10,46,.14));border-radius:12px;box-shadow:0 6px 18px -8px #160a2e4d;transform:rotate(-6deg);padding:4px}.app-topnav-tabs{display:inline-flex;gap:2px;margin-left:8px}.app-topnav-tab{padding:8px 16px;border-radius:999px;background:transparent;border:0;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;font-family:var(--font-sans);transition:background .14s,color .14s}.app-topnav-tab:hover{background:var(--bright-brand-soft)}.app-topnav-tab.is-active{background:var(--bright-ink);color:var(--bright-amber)}.app-topnav-spacer{width:1px;min-width:0}.app-topnav-user{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 5px;background:var(--panel-bg);border:1.5px solid var(--bright-ink);border-radius:999px;cursor:pointer;font-family:var(--font-sans);transition:background .14s}.app-topnav-user:hover{background:var(--bright-brand-soft)}.app-topnav-avatar{width:28px;height:28px;background:var(--bright-brand);color:#fff;border-radius:8px;display:grid;place-items:center;font-family:var(--font-display);font-weight:800;font-stretch:normal;font-size:14px}.app-topnav-name{font-size:13px;font-weight:500;color:var(--text-primary)}.app-topnav-pro{padding:2px 7px;background:var(--bright-amber);color:var(--bright-ink);border-radius:999px;font-family:var(--font-mono);font-size:9px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.panel-tabs,.panel-header-actions{display:none!important}.app-topnav-tab-badge{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;margin-left:6px;border-radius:999px;background:var(--bright-amber);color:var(--bright-ink);font-family:var(--font-mono);font-size:10px;font-weight:600;vertical-align:middle}.app-topnav-tab.is-active .app-topnav-tab-badge{background:var(--bright-amber);color:var(--bright-ink)}}.district-rail{display:none}@media(min-width:1280px){.district-rail{display:flex;flex-direction:column;gap:18px;position:sticky;top:64px;align-self:start;height:calc(100vh - 64px);overflow-y:auto;padding:20px 18px;background:var(--bright-paper);border-right:2px solid var(--bright-ink)}.district-rail-city{background:var(--bright-brand);color:#fff;border:1.5px solid var(--border-subtle, rgba(22,10,46,.14));border-radius:16px;padding:14px 16px;box-shadow:0 6px 18px -8px #160a2e4d;display:grid;gap:6px}.district-rail-city-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.district-rail-city-switch{background:var(--bright-amber);border:1.5px solid var(--bright-ink);color:var(--bright-ink);cursor:pointer;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:999px;box-shadow:0 6px 18px -8px #160a2e4d;text-decoration:none;transition:transform .14s,box-shadow .14s}.district-rail-city-switch:hover{transform:translate(-1px,-1px);box-shadow:0 6px 18px -8px #160a2e4d}.district-rail-city-list{display:flex;flex-direction:column;gap:2px;background:var(--bright-paper);border:1.5px solid var(--bright-ink);border-radius:14px;padding:6px;box-shadow:0 6px 18px -8px #160a2e4d}.district-rail-city-row{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border-radius:10px;background:transparent;border:0;cursor:pointer;color:var(--text-primary);text-align:left;font-family:var(--font-sans);font-size:14px;font-weight:500;transition:background .14s,color .14s}.district-rail-city-row:hover{background:color-mix(in oklab,var(--bright-brand) 12%,transparent)}.district-rail-city-row.is-active{background:var(--bright-ink);color:#fff}.district-rail-city-row.is-active .district-rail-count{color:var(--bright-amber)}.district-rail-city-row>span:first-child{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:8px}.district-rail-city-name{margin:0;font-family:var(--font-display);font-weight:700;font-stretch:normal;font-size:24px;line-height:1;letter-spacing:-.025em;color:#fff}.district-rail-eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:#ffffffd9}.district-rail-section .district-rail-eyebrow{color:var(--bright-brand);margin-bottom:8px;display:inline-block}.district-rail-stats{display:flex;gap:8px;font-size:12px;color:#ffffffe6;align-items:center;margin-top:2px}.district-rail-stats b{color:var(--bright-amber);font-weight:700;font-family:var(--font-mono);margin-right:2px}.district-rail-list{display:flex;flex-direction:column;gap:4px}.district-rail-row{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:12px;background:transparent;border:0;cursor:pointer;text-align:left;color:var(--bright-ink);transition:background .14s,color .14s,transform .14s}.district-rail-row>span:first-child{font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.district-rail-count{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--text-muted);margin-left:8px}.district-rail-row:hover{background:color-mix(in oklab,var(--bright-brand) 8%,transparent)}.district-rail-row.is-active{background:var(--bright-ink);color:#fff}.district-rail-row.is-active>span:first-child{font-weight:600}.district-rail-row.is-active .district-rail-count{color:var(--bright-amber)}.okrug-group{display:flex;flex-direction:column}.okrug-header>span:first-child{display:inline-flex;align-items:center;gap:2px}.okrug-chevron{display:inline-block;width:14px;text-align:center;color:var(--text-muted);font-size:10px;transition:transform .14s}.okrug-group.is-expanded .okrug-chevron{color:var(--bright-brand)}.okrug-group.is-expanded .okrug-header>span:first-child{font-weight:600}.okrug-children{display:flex;flex-direction:column;padding-left:8px;border-left:1.5px dashed color-mix(in oklab,var(--bright-brand) 40%,transparent);margin:2px 0 6px 14px}.district-rail-row.okrug-child{padding:8px 10px}.district-rail-row.okrug-child>span:first-child{font-size:13px;color:var(--text-secondary)}.district-rail-row.okrug-child.is-active{background:var(--bright-brand);color:#fff}.district-rail-row.okrug-child.is-active>span:first-child{color:#fff}.okrug-empty{padding:6px 12px;font-family:var(--font-mono);font-size:11px;color:var(--text-muted);letter-spacing:.04em}}.auth-page-shell{align-items:flex-start;background:var(--bright-bg);background-image:radial-gradient(120% 80% at 50% -10%,color-mix(in oklab,var(--bright-brand) 22%,var(--bright-bg)) 0%,var(--bright-bg) 55%);color:var(--bright-ink);display:flex;justify-content:center;min-height:100vh;padding:88px 24px 64px}:root[data-theme=dark] .auth-page-shell{background-image:radial-gradient(120% 80% at 50% -10%,#1f1342,#0d0820 55%)}.auth-page-content{display:grid;gap:18px;max-width:560px;width:min(100%,560px)}.auth-page-brand{align-items:center;color:var(--text-primary);display:inline-flex;font-family:var(--font-display);font-weight:700;font-stretch:normal;font-size:28px;letter-spacing:-.025em;gap:14px;justify-self:start;margin-bottom:18px;text-decoration:none}.auth-page-brand img{background:var(--bright-brand);border:1.5px solid var(--border-subtle, rgba(22,10,46,.14));border-radius:14px;box-shadow:0 6px 18px -8px #160a2e4d;height:56px;width:56px;padding:8px;transform:rotate(-6deg)}.account-card .account-oauth-button,.account-card .account-oauth-button:hover{border:0!important;border-radius:14px!important;box-shadow:none!important;color:#fff!important;height:44px;min-height:44px!important;padding:0 14px!important;font-weight:700!important;transform:none!important;font-family:var(--font-sans)!important;transition:background .14s,transform .14s}.account-card .account-oauth-vk{background:#07f!important}.account-card .account-oauth-vk:hover{background:#0069e0!important;transform:translateY(-1px)!important}.account-card .account-oauth-yandex{background:#fc3f1d!important}.account-card .account-oauth-yandex:hover{background:#e5371a!important;transform:translateY(-1px)!important}.account-card .account-oauth-tg,.account-card .telegram-login-button{background:#2aabee!important;color:#fff!important;border:0!important}.account-card .account-oauth-tg:hover{background:#2196d6!important;transform:translateY(-1px)!important}.auth-page-content>div>.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--bright-brand);margin:0 0 8px;background:none;padding:0}.auth-page-content>div>.eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--bright-brand);box-shadow:0 0 0 4px color-mix(in oklab,var(--bright-brand) 28%,transparent);animation:authEyebrowPulse 1.8s ease-in-out infinite}@keyframes authEyebrowPulse{0%,to{opacity:1}50%{opacity:.55}}.auth-page-content>div>h1{font-family:var(--font-display);font-weight:700;font-stretch:normal;font-size:clamp(38px,5.4vw,56px);line-height:.96;letter-spacing:-.04em;margin:0 0 12px;color:var(--bright-ink)}.auth-theme-toggle{position:fixed;top:18px;right:18px;z-index:30;display:inline-flex;align-items:center;gap:6px;padding:4px;background:color-mix(in oklab,var(--bright-paper) 92%,transparent);border:1.5px solid color-mix(in oklab,var(--bright-ink) 18%,transparent);border-radius:999px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}:root[data-theme=dark] .auth-theme-toggle{background:color-mix(in oklab,var(--bright-paper) 92%,transparent);border-color:color-mix(in oklab,var(--bright-ink) 22%,transparent)}.auth-theme-btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:999px;background:transparent;border:0;color:var(--bright-ink-soft);font:inherit;font-size:12px;font-weight:500;cursor:pointer;transition:background .14s,color .14s}.auth-theme-btn:hover{color:var(--bright-ink)}.auth-theme-btn.is-active{background:var(--bright-brand);color:#fff}.auth-theme-btn svg{flex:none}@media(max-width:540px){.auth-theme-toggle{top:12px;right:12px}.auth-theme-btn{padding:0 10px;font-size:11px}}.auth-italic{font-family:var(--font-serif);font-style:normal;font-weight:400;font-stretch:normal;letter-spacing:-.015em}.account-card h2 .auth-italic{font-size:1em}.account-oauth-grid{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}@media(max-width:460px){.account-oauth-grid{grid-template-columns:1fr}}.account-submit-button.account-submit-primary{align-items:center;background:var(--bright-brand)!important;border:1.5px solid var(--border-subtle, rgba(22,10,46,.14))!important;border-radius:999px!important;box-shadow:0 6px 18px -8px #160a2e4d!important;color:#fff!important;cursor:pointer;display:inline-flex;font-size:15px!important;font-weight:600!important;gap:10px;height:52px!important;justify-content:center;margin-top:8px;min-height:52px!important;transition:background .14s,transform .14s,box-shadow .14s;width:100%}.account-submit-button.account-submit-primary:hover{background:var(--bright-brand-deep)!important;transform:translate(-2px,-2px);box-shadow:0 6px 18px -8px #160a2e4d!important}.account-submit-button.account-submit-primary:active{transform:translate(1px,1px);box-shadow:0 6px 18px -8px #160a2e4d!important}.account-switch-row{margin:16px 0 0;text-align:center;font-size:14px;color:var(--text-secondary)}.account-switch-link{background:transparent;border:0;color:var(--bright-brand);cursor:pointer;font:inherit;font-weight:600;margin-left:6px;padding:0}.account-switch-link:hover{color:var(--bright-brand-deep);text-decoration:underline}.account-forgot-link{align-self:flex-end;margin-top:-4px}.auth-page-lead{color:var(--bright-ink-soft);font-size:16px;line-height:1.5;margin:0 0 16px;max-width:44ch}.map-pane{position:sticky;top:0;height:100vh;min-width:0;min-height:100vh;overflow:hidden}.map{height:100vh;min-height:100vh;min-width:0;width:100%}.map-actions{display:grid;gap:8px;left:14px;max-width:min(420px,calc(100vw - 28px));position:absolute;top:14px;width:min(420px,calc(100vw - 28px));z-index:700}.map-theme-actions{display:grid;gap:8px;max-width:min(210px,calc(100vw - 28px));position:absolute;right:14px;top:14px;z-index:700}.locate-button,.theme-toggle-button{background:var(--panel-bg);border:1px solid var(--border-strong);border-radius:8px;box-shadow:var(--control-shadow);color:var(--text-primary);font-size:14px;font-weight:800;min-height:40px;padding:9px 12px;transition:background .12s ease,transform .12s ease;white-space:nowrap}.locate-button{justify-self:stretch;min-width:0;width:100%}.theme-toggle-button{background:var(--button-bg)}.language-toggle{background:color-mix(in srgb,var(--panel-bg) 94%,transparent);border:1px solid var(--border-strong);border-radius:8px;box-shadow:var(--control-shadow);display:grid;gap:4px;grid-template-columns:repeat(2,minmax(0,1fr));padding:4px}.language-option{background:transparent;border:0;border-radius:6px;color:var(--text-muted);font-size:12px;font-weight:900;min-height:30px;padding:6px 8px;transition:background .12s ease,color .12s ease,transform .12s ease;white-space:nowrap}.language-option:hover{background:var(--button-bg-hover);color:var(--text-primary)}.language-option:active{transform:translateY(1px)}.language-option-active{background:var(--rank-bg);color:var(--rank-text)}.map-tiles-dark-filter{filter:invert(92%) hue-rotate(180deg) brightness(.82) contrast(.9) saturate(.85)}.locate-button:hover,.theme-toggle-button:hover{background:var(--button-bg-hover)}.locate-button:active,.theme-toggle-button:active{transform:translateY(1px)}.locate-button:disabled{cursor:progress;opacity:.72}.location-status{background:color-mix(in srgb,var(--panel-bg) 94%,transparent);border:1px solid var(--border-subtle);border-radius:8px;box-shadow:var(--control-shadow);color:var(--text-secondary);font-size:13px;font-weight:700;line-height:1.3;padding:9px 10px}.location-status-ready{color:var(--location-good)}.location-status-error{color:var(--location-error)}.map-search{display:grid;gap:6px;position:relative;width:100%}.map-search input{background:var(--panel-bg);border:1px solid var(--border-strong);border-radius:8px;box-shadow:var(--control-shadow);color:var(--text-primary);font-size:14px;font-weight:800;min-height:40px;outline:none;padding:9px 12px;width:100%}.map-search input::placeholder{color:var(--text-muted)}.map-search input:focus{border-color:color-mix(in srgb,var(--accent) 52%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent),var(--control-shadow)}.map-search-results{background:color-mix(in srgb,var(--panel-bg) 96%,transparent);border:1px solid var(--border-strong);border-radius:8px;box-shadow:var(--control-shadow);display:grid;max-height:230px;overflow-y:auto;padding:4px}.map-search-results button,.map-search-results span{background:transparent;border:0;border-radius:6px;color:var(--text-primary);font-size:13px;font-weight:800;min-height:32px;padding:7px 8px;text-align:left}.map-search-results button:hover{background:var(--button-bg-hover)}.places-panel{border-left:1px solid var(--border-strong);background:var(--panel-bg);min-width:0;min-height:100vh;padding:20px;overflow-y:auto}.panel-header{align-items:flex-start;display:flex;gap:14px;justify-content:space-between;margin-bottom:14px}.panel-header>div:first-child{min-width:0}.panel-header-actions{align-items:flex-end;display:flex;flex:0 0 auto;flex-direction:column;gap:8px;max-width:min(190px,42%)}.panel-city-switch,.panel-okrug-switch{display:none}@media(max-width:1279px){.panel-city-switch{display:block;margin-bottom:14px;position:relative}.panel-city-switch-toggle{width:100%;display:flex;align-items:center;gap:10px;background:var(--bright-brand);color:#fff;border:1.5px solid var(--border-subtle, rgba(22,10,46,.14));border-radius:16px;box-shadow:0 6px 18px -8px #160a2e4d;padding:12px 16px;cursor:pointer;text-align:left}.panel-city-switch-eyebrow{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#ffffffd9}.panel-city-switch-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display);font-weight:700;font-stretch:normal;font-size:20px;letter-spacing:-.02em;color:#fff}.panel-city-switch-action{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--bright-ink);background:var(--bright-amber);border:1.5px solid var(--bright-ink);border-radius:999px;padding:5px 12px;box-shadow:0 6px 18px -8px #160a2e4d;white-space:nowrap}.panel-city-switch-list{display:flex;flex-direction:column;gap:2px;margin-top:8px;background:var(--bright-paper);border:1.5px solid var(--bright-ink);border-radius:14px;padding:6px;box-shadow:0 6px 18px -8px #160a2e4d}.panel-city-switch-row{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:11px 12px;border-radius:10px;background:transparent;border:0;cursor:pointer;text-align:left;color:var(--text-primary);font-family:var(--font-sans);font-size:14px;font-weight:500;transition:background .14s,color .14s}.panel-city-switch-row>span:first-child{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-city-switch-row:hover{background:color-mix(in oklab,var(--bright-brand) 12%,transparent)}.panel-city-switch-row.is-active{background:var(--bright-ink);color:#fff}.panel-city-switch-count{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--text-muted);margin-left:8px}.panel-city-switch-row.is-active .panel-city-switch-count{color:var(--bright-amber)}.panel-okrug-switch{display:block;margin-bottom:14px;position:relative}.panel-okrug-switch-toggle{width:100%;display:flex;align-items:center;gap:10px;background:var(--bright-paper);color:var(--bright-ink);border:1.5px solid var(--border-subtle, rgba(22,10,46,.14));border-radius:16px;box-shadow:0 6px 18px -8px #160a2e4d;padding:12px 16px;cursor:pointer;text-align:left}.panel-okrug-switch-eyebrow{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--bright-brand)}.panel-okrug-switch-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display);font-weight:700;font-stretch:normal;font-size:18px;letter-spacing:-.02em;color:var(--bright-ink)}.panel-okrug-switch-action{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--bright-brand);border:1.5px solid var(--bright-ink);border-radius:999px;padding:5px 12px;box-shadow:0 6px 18px -8px #160a2e4d;white-space:nowrap}.panel-okrug-switch-list{display:flex;flex-direction:column;gap:2px;margin-top:8px;background:var(--bright-paper);border:1.5px solid var(--bright-ink);border-radius:14px;padding:6px;box-shadow:0 6px 18px -8px #160a2e4d}.panel-okrug-children{display:flex;flex-direction:column;gap:2px;padding-left:14px}.panel-okrug-switch .okrug-chevron{color:var(--bright-brand);font-size:11px}.panel-okrug-switch .okrug-child{font-size:13px}.panel-okrug-switch .okrug-empty{padding:8px 12px;font-size:13px;color:var(--text-muted)}}.eyebrow{color:var(--accent);font-size:12px;font-weight:800;letter-spacing:0;margin:0 0 4px;text-transform:uppercase}a.eyebrow-home{display:inline-block;text-decoration:none;cursor:pointer;transition:opacity .14s ease,transform .14s ease}a.eyebrow-home:hover{opacity:.75;transform:translate(-2px)}h1{font-size:28px;line-height:1.08;margin:0}.user-pill{background:var(--accent-soft);border:1px solid var(--border-subtle);border-radius:999px;color:var(--accent-strong);flex:0 0 auto;font-size:13px;font-weight:700;max-width:120px;overflow:hidden;padding:7px 10px;text-overflow:ellipsis;white-space:nowrap}.account-pill{background:var(--button-bg);border:1px solid var(--border-subtle);border-radius:999px;color:var(--text-primary);cursor:pointer;font-size:13px;font-weight:800;max-width:100%;overflow:hidden;padding:7px 12px;text-overflow:ellipsis;transition:background .12s ease,border-color .12s ease,color .12s ease;white-space:nowrap}.account-pill:hover,.account-pill-active{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 46%,transparent);color:var(--accent-strong)}.empty-state{background:var(--empty-bg);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-muted);line-height:1.4;padding:14px}.empty-state-large{font-size:15px;margin-bottom:14px;padding:18px}.empty-state-soft{display:grid;gap:12px;background:color-mix(in oklab,var(--bright-amber) 18%,var(--panel-bg));border:1.5px solid color-mix(in oklab,var(--bright-amber) 50%,var(--border-subtle));border-radius:14px;color:var(--text-primary);font-size:14px;line-height:1.45;padding:14px 16px;margin-bottom:14px}.routes-empty-build-btn{width:fit-content;align-self:start}.routes-list-places{display:flex;flex-direction:column;gap:12px}.constructor-wizard{background:var(--panel-bg);border:1.5px solid var(--border-subtle, rgba(22,10,46,.14));border-radius:24px;box-shadow:0 6px 18px -8px #160a2e4d;padding:20px;margin-bottom:18px;display:grid;gap:22px}.constructor-hero{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:flex-start}.constructor-hero-icon{width:48px;height:48px;display:grid;place-items:center;background:var(--bright-brand);border:1.5px solid var(--border-subtle, rgba(22,10,46,.14));border-radius:14px;box-shadow:0 6px 18px -8px #160a2e4d;transform:rotate(-6deg);color:#fff;flex:none}.constructor-hero h2{font-family:var(--font-display);font-weight:700;font-stretch:normal;letter-spacing:-.025em;font-size:26px;line-height:1.05;margin:4px 0 6px}.constructor-hero-lead{color:var(--text-secondary);font-size:14px;line-height:1.45;margin:0}.constructor-hero .eyebrow{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--bright-brand);margin:0 0 4px;background:none;padding:0;display:inline-block}.constructor-step{display:grid;gap:12px}.constructor-step-head{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center}.constructor-step-num{width:30px;height:30px;border-radius:50%;background:var(--bright-ink);color:var(--bright-amber);display:grid;place-items:center;font-family:var(--font-display);font-weight:800;font-stretch:normal;font-size:16px;flex:none}.constructor-step-head h3{font-family:var(--font-display);font-weight:700;font-stretch:normal;letter-spacing:-.02em;font-size:18px;margin:0;color:var(--text-primary)}.constructor-step-head p{margin:2px 0 0;color:var(--text-secondary);font-size:13px}.constructor-pill-row{display:flex;flex-wrap:wrap;gap:8px}.constructor-preview{background:color-mix(in oklab,var(--bright-amber) 14%,var(--panel-bg));border:1.5px solid color-mix(in oklab,var(--bright-amber) 50%,var(--border-subtle));border-radius:14px;padding:14px 16px}.constructor-preview-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:center}.constructor-preview-stat{display:grid;gap:2px}.constructor-preview-num{font-family:var(--font-display);font-weight:800;font-stretch:normal;font-size:20px;letter-spacing:-.02em;color:var(--bright-ink)}.constructor-preview-label{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.constructor-variants{display:grid;gap:14px}.constructor-variants-eyebrow{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--bright-brand);margin:0}.constructor-variant-card{position:relative;display:grid;gap:8px}.constructor-variant-tag{display:inline-flex;align-items:center;gap:8px;width:fit-content;padding:4px 12px;background:var(--panel-bg);border:1.5px solid var(--bright-ink);border-radius:999px;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--bright-ink)}.constructor-variant-card.is-recommended .constructor-variant-tag{background:var(--bright-amber);box-shadow:0 6px 18px -8px #160a2e4d;transform:rotate(-2deg)}.constructor-variant-pin{font-family:var(--font-serif);font-style:normal;font-weight:400;font-size:12px;letter-spacing:0;text-transform:none;color:var(--bright-brand-deep)}.constructor-variant-card.is-recommended .constructor-variant-pin{color:var(--bright-ink)}@media(max-width:700px){.constructor-wizard{padding:16px;gap:18px}.constructor-hero-icon{width:40px;height:40px}.constructor-hero h2{font-size:22px}.constructor-preview-row{grid-template-columns:1fr;gap:8px}.constructor-step-head h3{font-size:16px}}.empty-state-error{color:var(--location-error);margin-bottom:14px}.panel-tabs{background:var(--empty-bg);border:1px solid var(--border-subtle);border-radius:8px;display:flex;gap:4px;margin-bottom:14px;overflow-x:auto;overscroll-behavior-x:contain;padding:4px;scrollbar-width:none}.panel-tabs::-webkit-scrollbar{display:none}.panel-tab{align-items:center;background:transparent;border:0;border-radius:6px;color:var(--text-muted);display:flex;flex:1 0 max-content;font-size:13px;font-weight:800;gap:5px;justify-content:center;min-height:36px;min-width:max-content;overflow:hidden;padding:8px 14px;text-align:center;transition:background .12s ease,color .12s ease;white-space:nowrap}:lang(en) .panel-tab{font-size:12px}.panel-tab span{align-items:center;background:var(--danger-accent);border-radius:999px;color:#fff;display:inline-flex;flex:0 0 auto;font-size:12px;height:20px;justify-content:center;min-width:20px;padding:0 6px}.panel-tab-active{background:var(--card-bg);color:var(--text-primary);box-shadow:0 1px 5px #17202a14}.telegram-auth-card{background:var(--card-bg);border:1px solid var(--border-subtle);border-radius:8px;margin-bottom:14px;padding:16px}.account-card{position:relative;background:var(--bright-paper);border:1.5px solid var(--border-subtle, rgba(22,10,46,.14));border-radius:28px;box-shadow:0 6px 18px -8px #160a2e4d;display:flex;flex-direction:column;gap:14px;margin-bottom:14px;padding:28px}:root[data-theme=dark] .account-card{box-shadow:0 10px 30px -10px #0009,0 0 0 1px #ffffff0a}@media(max-width:600px){.account-card{padding:22px;border-radius:20px}}.account-card-ready:before{content:"Premium";position:absolute;top:-14px;right:22px;background:var(--bright-amber);color:var(--bright-ink);font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:5px 12px;border:1.5px solid var(--bright-ink);border-radius:999px;transform:rotate(-3deg);box-shadow:0 6px 18px -8px #160a2e4d;z-index:2}.account-card-ready{border-color:var(--bright-ink)}.account-card h2{font-family:var(--font-display);font-weight:700;font-stretch:normal;font-size:30px;line-height:1.05;letter-spacing:-.025em;margin:0 0 4px;color:var(--bright-ink)}.account-card p{color:var(--text-muted);line-height:1.35;margin:0}.account-form{display:flex;flex-direction:column;gap:10px}.account-form label{color:var(--text-muted);display:flex;flex-direction:column;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;font-weight:600;gap:6px;text-transform:uppercase}.account-form input{background:color-mix(in oklab,var(--bright-brand) 4%,var(--bright-paper));border:1.5px solid var(--border-subtle);border-radius:14px;color:var(--bright-ink);font:inherit;font-family:var(--font-sans);font-size:15px;min-height:48px;padding:12px 16px;text-transform:none;transition:background .14s,border-color .14s}.account-form input:focus{border-color:var(--bright-brand);background:color-mix(in oklab,var(--bright-brand) 8%,var(--bright-paper));outline:none}.account-submit-button{background:#54a9eb;border:0;border-radius:8px;color:#fff;cursor:pointer;font:inherit;font-weight:800;min-height:40px;padding:9px 12px}.account-submit-button:disabled{cursor:progress;opacity:.65}.account-switch-button,.account-logout-button{align-items:center;background:transparent;border:1.5px solid var(--border-subtle);border-radius:999px;color:var(--text-primary);cursor:pointer;display:inline-flex;font:inherit;font-size:13px;font-weight:500;gap:8px;height:44px;justify-content:center;min-height:44px;padding:0 16px;transition:background .14s,border-color .14s}.account-logout-button{border:1.5px solid var(--border-subtle, rgba(22,10,46,.14))}.account-switch-button:hover{background:color-mix(in oklab,var(--bright-brand) 8%,transparent)}.account-logout-button:hover{background:var(--bright-ink);color:var(--bright-paper)}.account-actions-row{display:grid;gap:10px;grid-template-columns:1fr 1fr}@media(max-width:460px){.account-actions-row{grid-template-columns:1fr}}.account-open-map-btn{align-items:center;display:inline-flex;font-size:15px!important;gap:10px;height:52px!important;justify-content:center;margin-top:4px;min-height:52px!important;width:100%}.account-field-static{align-items:center;display:flex;gap:12px;justify-content:space-between}.account-field-static .account-switch-button{height:36px;min-height:36px;padding:0 14px;font-size:13px}.account-delete-row{margin-top:6px;text-align:center}.account-delete-link{align-items:center;background:transparent;border:0;color:#d94a2e;cursor:pointer;display:inline-flex;font:inherit;font-size:14px;font-weight:500;gap:6px;padding:8px 12px;transition:color .14s}.account-delete-link:hover{color:#b13a20;text-decoration:underline}.account-error{background:#ff63631f;border:1px solid rgba(255,99,99,.4);border-radius:8px;color:#ff8989;font-size:13px;padding:8px 10px}.account-premium-note{color:#87c4ac!important;font-weight:700}.account-tariff-card{align-items:center;background:color-mix(in oklab,var(--bright-brand) 4%,var(--bright-paper));border:1.5px solid var(--border-subtle);border-radius:14px;display:flex;gap:12px;justify-content:space-between;padding:14px 18px;margin-bottom:4px}.account-tariff-card.is-premium{background:linear-gradient(135deg,color-mix(in oklab,var(--bright-amber) 22%,var(--bright-paper)),color-mix(in oklab,var(--bright-brand) 10%,var(--bright-paper)));border-color:color-mix(in oklab,var(--bright-amber) 60%,var(--bright-ink))}.account-tariff-card span{color:var(--text-muted);font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.account-tariff-card strong{align-items:center;color:var(--bright-ink);display:inline-flex;font-family:var(--font-display);font-stretch:normal;font-weight:700;font-size:18px;letter-spacing:-.02em}.account-tariff-card.is-premium strong svg{color:var(--bright-amber)}.account-upgrade-block{display:flex;flex-direction:column;gap:10px;margin-bottom:4px}.account-premium-until{margin:-2px 0 6px;font-size:13px;font-weight:600;color:var(--text-muted)}.account-card-management{align-items:flex-start;display:flex;flex-direction:column;gap:8px;margin-bottom:6px}.account-card-status{color:var(--text-muted);font-size:13px;margin:0}.account-card-status.is-saved{color:#1f8a4c;font-weight:700}.account-next-charge{color:var(--text-muted);font-size:13px;margin:-2px 0 0}.account-card-actions{display:flex;flex-wrap:wrap;gap:8px}.app-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;background:#0a06188c}.app-modal{width:100%;max-width:360px;background:var(--bright-paper, #fbf8ee);color:var(--bright-ink, #160a2e);border:2px solid var(--bright-ink, #160a2e);border-radius:18px;box-shadow:0 6px 18px -8px #160a2e4d;padding:22px}.app-modal-title{font-size:19px;margin:0 0 8px}.app-modal-text{color:var(--text-muted, #5b5f6b);font-size:14px;line-height:1.45;margin:0 0 18px}.app-modal-actions{display:flex;gap:10px;justify-content:flex-end}.app-modal-cancel,.app-modal-confirm{border-radius:999px;cursor:pointer;font-size:14px;font-weight:700;padding:9px 16px}.app-modal-cancel{background:transparent;border:1.5px solid var(--bright-ink, #160a2e);color:var(--bright-ink, #160a2e)}.app-modal-confirm{background:#c0392b;border:1.5px solid #c0392b;color:#fff}.app-modal-confirm:disabled,.app-modal-cancel:disabled{opacity:.6;cursor:default}.account-add-card{background:var(--bright-brand);border:1.5px solid var(--bright-brand);border-radius:999px;color:#fff;cursor:pointer;font-size:13px;font-weight:700;padding:8px 14px;text-decoration:none;transition:opacity .14s}.account-add-card:hover{opacity:.9}.account-unbind-card{align-self:flex-start;background:transparent;border:1.5px solid var(--border-subtle);border-radius:999px;color:var(--text-muted);cursor:pointer;font-size:13px;font-weight:700;padding:8px 14px;transition:border-color .14s,color .14s}.account-unbind-card:hover{border-color:#c0392b;color:#c0392b}.account-unbind-card:disabled{opacity:.5;cursor:default}.account-plan-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.account-plan-option{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border:1.5px solid var(--border-subtle);border-radius:12px;background:var(--bright-paper);cursor:pointer;text-align:left;transition:border-color .14s,background .14s}.account-plan-option.is-active{border-color:var(--bright-brand);background:color-mix(in oklab,var(--bright-brand) 8%,var(--bright-paper))}.account-plan-label{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.account-plan-price{font-family:var(--font-display);font-stretch:normal;font-weight:700;font-size:17px;color:var(--bright-ink)}.account-plan-badge{position:absolute;top:8px;right:8px;background:var(--bright-amber);color:var(--bright-ink);border-radius:999px;font-family:var(--font-mono);font-size:9px;font-weight:700;padding:2px 6px}.account-promo-field{display:flex;flex-direction:column;gap:6px}.account-promo-field span{color:var(--text-muted);font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.account-promo-row{display:flex;gap:8px}.account-promo-field input{background:var(--bright-paper);border:1.5px solid var(--border-subtle);border-radius:12px;color:var(--bright-ink);font-family:var(--font-sans);font-size:15px;font-weight:600;padding:12px 14px;flex:1;min-width:0}.account-promo-field input:focus{border-color:var(--bright-brand);outline:none}.account-promo-apply{background:var(--bright-ink);border:1.5px solid var(--bright-ink);border-radius:12px;color:#fff;cursor:pointer;flex:0 0 auto;font-family:var(--font-display);font-stretch:normal;font-weight:700;font-size:14px;padding:0 16px;transition:opacity .12s ease,transform .12s ease}.account-promo-apply:disabled{opacity:.45;cursor:default}.account-promo-apply:not(:disabled):active{transform:translateY(1px)}.account-promo-status{color:#c0392b;font-size:13px;font-weight:600}.account-promo-status.is-ok{color:#0f8a5b}.account-upgrade-button{align-items:center;background:var(--bright-brand);border:1.5px solid var(--border-subtle, rgba(22,10,46,.14));border-radius:14px;box-shadow:0 6px 18px -8px #160a2e4d;color:#fff;display:flex;gap:8px;justify-content:center;font-family:var(--font-display);font-stretch:normal;font-weight:700;font-size:16px;letter-spacing:-.01em;margin-bottom:4px;padding:13px 18px;text-decoration:none;transition:transform .12s ease,box-shadow .12s ease}.account-upgrade-button svg{color:var(--bright-amber)}.account-upgrade-button:hover{transform:translate(-1px,-1px);box-shadow:0 6px 18px -8px #160a2e4d}.account-upgrade-button:active{transform:translate(1px,1px);box-shadow:0 6px 18px -8px #160a2e4d}.account-packs{display:grid;gap:7px;margin-top:12px}.account-packs-title{font:700 11px/1 var(--font-mono, ui-monospace, monospace);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin:0 0 1px}.account-pack-option{align-items:center;background:var(--empty-bg);border:1.5px solid var(--border-subtle, rgba(22,10,46,.14));border-radius:12px;color:var(--text-primary);display:flex;gap:10px;justify-content:space-between;padding:11px 14px;text-decoration:none;transition:transform .12s ease,border-color .12s ease}.account-pack-option:hover{transform:translate(-1px,-1px);border-color:var(--bright-brand)}.account-pack-label{font-weight:700;font-size:14px}.account-pack-price{font-weight:800;font-size:14px;white-space:nowrap}.account-banner-ok{align-items:center;background:color-mix(in oklab,#4dd4a3 14%,var(--bright-paper));border:1.5px solid color-mix(in oklab,#4dd4a3 45%,var(--border-subtle));border-radius:14px;color:#0f8a5b;display:flex;font-size:14px;font-weight:500;gap:10px;padding:12px 14px}.account-banner-ok svg{color:#0f8a5b;flex:none}:root[data-theme=dark] .account-banner-ok{background:color-mix(in oklab,#4dd4a3 22%,var(--bright-paper));color:#0f8a5b}.account-link-button{background:transparent;border:0;color:var(--accent);cursor:pointer;font:inherit;font-size:13px;font-weight:700;padding:2px 4px;text-align:center}.account-link-button:hover{text-decoration:underline}.account-verify-notice{background:var(--premium-bg);border:1px solid var(--premium-border);border-radius:10px;color:var(--premium-accent);display:flex;flex-direction:column;gap:8px;font-size:13px;padding:12px}.account-verify-notice button{align-self:flex-start;background:transparent;border:1px solid var(--premium-border);border-radius:8px;color:var(--premium-accent);cursor:pointer;font:inherit;font-weight:700;padding:6px 10px}.account-oauth-divider{align-items:center;color:var(--text-muted);display:flex;font-family:var(--font-mono);font-size:10px;font-weight:500;gap:12px;letter-spacing:.18em;margin:18px 0;text-transform:uppercase}.account-oauth-divider:before,.account-oauth-divider:after{background:var(--border-subtle);content:"";flex:1;height:1px}.account-oauth{display:flex;flex-direction:column;gap:8px}.account-oauth-button{align-items:center;border:0;border-radius:8px;color:#fff;cursor:pointer;display:flex;font:inherit;font-weight:800;justify-content:center;min-height:40px;padding:9px 12px;text-decoration:none}.account-oauth-vk{background:#07f}.account-oauth-vk:hover{background:#0069e0}.account-oauth-yandex{background:#fc3f1d}.account-oauth-yandex:hover{background:#e5371a}.account-field{display:flex;align-items:flex-end;gap:8px}.account-field label{flex:1}.account-name-edit{display:flex;flex-direction:column;gap:10px}.account-name-edit label{display:flex;flex-direction:column;gap:4px;color:var(--text-muted);font-size:12px;font-weight:700;text-transform:uppercase}.account-name-edit input{background:var(--button-bg, rgba(255, 255, 255, .04));border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-primary);font:inherit;min-height:38px;padding:8px 10px;text-transform:none}.account-name-edit input:focus{border-color:#54a9eb;outline:none}.account-field-static{align-items:center}.account-field-static span{flex:1;color:var(--text-muted);font-size:14px}.account-field-static strong{color:var(--text-primary)}.account-field .account-switch-button{flex:0 0 auto}.account-actions-row{display:flex;flex-wrap:wrap;gap:8px}.account-actions-row>button{flex:1;min-width:130px}.account-status{background:#87c4ac24;border:1px solid rgba(135,196,172,.42);border-radius:8px;color:#87c4ac;font-size:13px;margin:0;padding:8px 10px}.account-delete-confirm{background:#ff636314;border:1px solid rgba(255,99,99,.35);border-radius:10px;padding:14px}.account-delete-confirm strong{display:block;margin-bottom:4px}.account-delete-confirm p{color:var(--text-muted);font-size:13px;margin:0 0 12px}.account-danger-button{background:#e5484d;border:0;border-radius:8px;color:#fff;cursor:pointer;font:inherit;font-weight:800;min-height:36px;padding:7px 10px}.account-danger-button:disabled{cursor:progress;opacity:.65}.legal-link-row{margin:16px 0 0;text-align:center}.cookie-bar{position:fixed;left:16px;right:16px;bottom:16px;z-index:1400;max-width:720px;margin:0 auto;display:flex;align-items:center;gap:14px;background:#15171c;color:#fff;border-radius:14px;padding:14px 18px;font-size:14px;box-shadow:0 12px 40px #00000052}.cookie-bar a{color:#7fd3bb;text-decoration:underline}.cookie-bar button{margin-left:auto;flex:0 0 auto;background:#138a6e;border:0;border-radius:999px;color:#fff;cursor:pointer;font:inherit;font-weight:700;padding:9px 18px}.cookie-bar button:hover{background:#0f7159}@media(max-width:560px){.cookie-bar{flex-direction:column;align-items:stretch}.cookie-bar button{margin-left:0}}.legal-link-row a{color:var(--text-muted);font-size:13px}.telegram-auth-card-ready{border-color:#87c4ac6b}.telegram-auth-card h2{font-size:22px;margin:4px 0 8px}.telegram-auth-card p{color:var(--text-muted);line-height:1.35;margin:0}.telegram-login-button{background:#54a9eb;border:0;border-radius:8px;color:#fff;cursor:pointer;font:inherit;font-size:16px;font-weight:800;margin-top:16px;min-height:48px;padding:12px 18px;width:min(360px,100%)}.telegram-login-button:disabled{cursor:wait;opacity:.72}.telegram-auth-status{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-top:14px}.telegram-auth-status strong{color:var(--text-primary);font-size:14px}.telegram-auth-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:8px;justify-content:flex-end}.telegram-auth-actions button{background:var(--button-bg);border:1px solid var(--border-subtle);border-radius:8px;color:var(--button-text);cursor:pointer;font:inherit;font-size:13px;font-weight:800;min-height:36px;padding:8px 12px}.city-switcher{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.city-chip{background:var(--button-bg);border:1px solid var(--border-subtle);border-radius:999px;color:var(--button-text);font-size:13px;font-weight:800;min-height:34px;padding:8px 11px;transition:background .12s ease,border-color .12s ease,color .12s ease}.city-chip-active{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 46%,transparent);color:var(--accent-strong)}.city-chip-golden{border-color:color-mix(in srgb,#d8a31a 42%,var(--border-subtle))}.discovery-controls{display:grid;gap:10px;margin-bottom:14px}.search-input{background:var(--card-bg);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-primary);min-height:42px;outline:none;padding:10px 12px;width:100%}.search-input::placeholder{color:var(--text-muted)}.search-input:focus{border-color:color-mix(in srgb,var(--accent) 48%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.filter-row{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{background:var(--button-bg);border:1px solid var(--border-subtle);border-radius:999px;color:var(--button-text);font-size:13px;font-weight:800;min-height:32px;padding:7px 10px;transition:background .12s ease,border-color .12s ease,color .12s ease}.filter-chip-active{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 46%,transparent);color:var(--accent-strong)}.score-methodology{background:var(--empty-bg);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-secondary);margin-bottom:14px;padding:10px 12px}.score-methodology summary{color:var(--text-primary);cursor:pointer;font-size:13px;font-weight:900}.score-methodology p{font-size:13px;line-height:1.38;margin:8px 0 0}.section-heading{align-items:start;display:flex;gap:10px;justify-content:space-between}.section-heading h2,.daily-route-card h2,.quick-route-builder h2{font-size:17px;line-height:1.18;margin:0}.text-action-button{background:transparent;border:0;color:var(--accent);font-size:12px;font-weight:900;padding:2px 0}.collection-section,.quick-route-builder{background:var(--card-bg);border:1px solid var(--border-subtle);border-radius:8px;display:grid;gap:10px;margin-bottom:14px;padding:14px}.collection-section>p,.quick-route-builder>p,.daily-route-card p{color:var(--text-secondary);font-size:13px;line-height:1.36;margin:0}.collection-grid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.collection-card{background:var(--button-bg);border:1px solid var(--border-subtle);border-radius:8px;color:var(--button-text);display:grid;gap:5px;min-height:116px;padding:10px;text-align:left}.collection-card span,.collection-card small,.collection-card em{display:block}.collection-card span{color:var(--accent);font-size:11px;font-weight:900;text-transform:uppercase}.collection-card strong{color:var(--text-primary);font-size:15px;line-height:1.15}.collection-card small{color:var(--text-secondary);font-size:12px;line-height:1.25}.collection-card em{color:var(--text-muted);font-size:12px;font-style:normal;font-weight:900}.collection-card-active{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 48%,transparent)}.collection-card-locked{border-color:var(--premium-border)}.collection-card-locked span,.collection-card-locked em{color:var(--premium-accent)}.daily-route-card{align-items:center;background:var(--premium-bg);border:1px solid var(--premium-border);border-radius:8px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;margin-bottom:14px;padding:14px}.daily-route-card button,.route-share-button{background:var(--rank-bg);border:1px solid var(--rank-bg);border-radius:8px;color:var(--rank-text);font-size:13px;font-weight:900;min-height:38px;padding:8px 10px}.quick-option-row{display:flex;flex-wrap:wrap;gap:8px}.quick-option{background:var(--button-bg);border:1px solid var(--border-subtle);border-radius:999px;color:var(--button-text);font-size:12px;font-weight:900;min-height:32px;padding:7px 10px}.quick-option-active{background:var(--rank-bg);border-color:var(--rank-bg);color:var(--rank-text)}.constructor-city-grid{display:grid;gap:8px}.constructor-city-grid p{color:var(--text-muted);font-size:12px;font-weight:800;line-height:1.3;margin:0}.quick-route-result{display:grid;gap:12px;margin-bottom:14px}.route-share-button{width:100%}.achievement-section{margin:0 0 18px}.achievement-grid{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.achievement-stat{background:var(--empty-bg);border:1px solid var(--border-subtle);border-radius:8px;display:grid;gap:3px;min-width:0;padding:9px 7px;text-align:center}.achievement-stat strong{color:var(--text-primary);font-size:18px;line-height:1}.achievement-stat span{color:var(--text-muted);font-size:11px;font-weight:900;line-height:1.15}.promo-hint-card{align-items:center;background:color-mix(in srgb,var(--premium-accent) 14%,var(--card-bg));border:1px solid var(--premium-border);border-radius:8px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto;padding:10px}.promo-hint-card div{display:grid;gap:3px}.promo-hint-card strong{color:var(--text-primary);font-size:14px}.promo-hint-card span{color:var(--text-secondary);font-size:12px;line-height:1.28}.promo-hint-card button{background:var(--button-bg);border:1px solid var(--border-subtle);border-radius:8px;color:var(--button-text);font-size:12px;font-weight:900;min-height:36px;padding:8px 10px}.premium-card{background:var(--premium-bg);border:1px solid var(--premium-border);border-radius:8px;display:grid;gap:10px;margin-bottom:14px;padding:14px}.release-channel-card{background:var(--card-bg);border:1px solid var(--border-subtle);border-radius:8px;display:grid;gap:10px;margin-bottom:14px;padding:14px}.release-channel-card-active{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 36%,transparent)}.premium-card .eyebrow{color:var(--premium-accent)}.premium-card-active{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 36%,transparent)}.premium-card h2{font-size:18px;line-height:1.16;margin:0}.premium-card p{color:var(--text-secondary);font-size:14px;line-height:1.36;margin:0}.premium-topline{align-items:start;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto}.premium-price{background:var(--card-bg);border:1px solid var(--premium-border);border-radius:999px;color:var(--premium-accent);font-size:13px;font-weight:900;padding:6px 9px;white-space:nowrap}.premium-button{background:var(--rank-bg);border:1px solid var(--rank-bg);border-radius:8px;color:var(--rank-text);font-weight:900;min-height:40px;padding:9px 12px;transition:opacity .12s ease,transform .12s ease;display:flex;align-items:center;justify-content:center;text-decoration:none;width:100%}.premium-button:active{transform:translateY(1px)}.premium-button:disabled{cursor:progress;opacity:.72}.premium-button-secondary{background:var(--button-bg);border-color:var(--border-subtle);color:var(--button-text)}.premium-details{display:grid;gap:8px}.premium-details div{background:color-mix(in srgb,var(--card-bg) 92%,transparent);border:1px solid var(--border-subtle);border-radius:8px;display:grid;gap:3px;padding:10px}.premium-details span{color:var(--text-muted);font-size:12px;font-weight:800}.premium-details strong{color:var(--text-primary);font-size:14px;line-height:1.25}.premium-plan-grid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.premium-plan-option{background:color-mix(in srgb,var(--card-bg) 92%,transparent);border:1px solid var(--premium-border);border-radius:8px;color:var(--text-primary);display:grid;gap:4px;min-height:74px;padding:10px;text-align:left}.premium-plan-option span,.premium-plan-option strong,.premium-plan-option em{display:block}.premium-plan-option span{color:var(--text-secondary);font-size:13px;font-weight:800}.premium-plan-option strong{font-size:18px;line-height:1.1}.premium-plan-option em{color:var(--premium-accent);font-size:12px;font-style:normal;font-weight:900}.premium-plan-option-active{background:var(--rank-bg);border-color:var(--rank-bg);color:var(--rank-text)}.premium-plan-option-active span,.premium-plan-option-active em{color:var(--rank-text)}.promo-checkout-dock{display:grid;gap:10px}.promo-code-form{align-items:end;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto}.promo-code-form label{color:var(--text-muted);display:grid;font-size:12px;font-weight:900;gap:5px}.promo-code-form input{background:color-mix(in srgb,var(--card-bg) 92%,transparent);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-primary);font-size:16px;font-weight:800;min-height:40px;padding:9px 10px;text-transform:lowercase;width:100%}.promo-code-form button{background:var(--button-bg);border:1px solid var(--border-subtle);border-radius:8px;color:var(--button-text);font-weight:900;min-height:40px;padding:9px 12px}.promo-code-form button:disabled{cursor:progress;opacity:.68}.premium-discount-summary{align-items:center;background:color-mix(in srgb,var(--premium-accent) 14%,var(--card-bg));border:1px solid var(--premium-border);border-radius:8px;display:grid;gap:4px;grid-template-columns:minmax(0,1fr) auto;padding:10px}.premium-discount-summary span{color:var(--text-muted);font-size:12px;font-weight:800;text-decoration:line-through}.premium-discount-summary strong{color:var(--text-primary);font-size:15px;line-height:1.2}.premium-discount-summary em{background:var(--premium-accent);border-radius:999px;color:var(--rank-text);font-size:12px;font-style:normal;font-weight:900;grid-row:1 / span 2;padding:6px 8px}@media(max-width:800px){.promo-checkout-dock-active{background:var(--premium-bg);border:1px solid var(--premium-border);border-radius:10px;bottom:calc(var(--promo-keyboard-inset, 0px) + env(safe-area-inset-bottom) + 10px);box-shadow:0 18px 48px #00000061;left:12px;max-height:calc(100dvh - var(--promo-keyboard-inset, 0px) - 24px);overflow-y:auto;padding:10px;position:fixed;right:12px;z-index:1400}.promo-checkout-dock-active .premium-button,.promo-checkout-dock-active .promo-code-form button{min-height:44px}}.release-channel-button{background:var(--button-bg);border:1px solid var(--border-subtle);border-radius:8px;color:var(--button-text);font-weight:900;min-height:40px;padding:9px 12px;transition:background .12s ease,transform .12s ease}.release-channel-card .release-channel-button{margin-top:12px;width:100%}.release-channel-button:hover{background:var(--button-bg-hover)}.release-channel-button:active{transform:translateY(1px)}.premium-message{color:var(--premium-accent)!important;font-weight:800}.places-list,.routes-list{display:grid;gap:12px}.route-mode-tabs{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px}.route-mode-tab{align-items:center;background:var(--button-bg);border:1px solid var(--border-subtle);border-radius:8px;color:var(--button-text);display:flex;font-size:13px;font-weight:900;gap:8px;justify-content:space-between;min-height:38px;padding:8px 10px}.route-mode-tab span{background:var(--empty-bg);border-radius:999px;color:var(--text-secondary);min-width:24px;padding:3px 7px;text-align:center}.route-mode-tab-active{background:var(--rank-bg);border-color:var(--rank-bg);color:var(--rank-text)}.route-mode-tab-active span{background:color-mix(in srgb,var(--rank-text) 18%,transparent);color:var(--rank-text)}.route-card{background:var(--card-bg);border:1px solid var(--border-subtle);border-radius:8px;display:grid;gap:10px;padding:14px}.route-card-locked{border-color:var(--premium-border)}.route-card-featured{border-color:var(--premium-border);box-shadow:0 0 0 1px color-mix(in srgb,var(--premium-border) 45%,transparent)}.route-card-featured .route-topline{color:var(--premium-accent)}.route-topline{align-items:center;color:var(--accent);display:flex;font-size:13px;font-weight:800;gap:10px;justify-content:space-between}.route-topline-actions{align-items:center;display:inline-flex;flex:0 0 auto;gap:7px}.route-favorite-button{background:var(--button-bg);border:1px solid var(--border-subtle);border-radius:999px;color:var(--button-text);font-size:12px;font-weight:900;min-height:28px;padding:5px 9px;white-space:nowrap}.route-favorite-button-active{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 38%,transparent);color:var(--accent-strong)}.route-expand-button{align-items:center;background:var(--rank-bg);border:0;border-radius:999px;color:var(--rank-text);display:inline-flex;font-size:15px;font-weight:900;height:28px;justify-content:center;min-width:28px;padding:0 8px}.route-title-button{background:transparent;border:0;color:var(--text-primary);padding:0;text-align:left}.route-title-button span{display:block;font-size:19px;font-weight:900;line-height:1.18;margin:0}.route-title-button:hover span{color:var(--accent-strong)}.route-card p{color:var(--text-secondary);font-size:14px;line-height:1.4;margin:0}.route-meta,.route-map-links,.route-tags,.route-tips{display:flex;flex-wrap:wrap;gap:7px}.route-meta span,.route-tags span,.route-tips span{background:var(--empty-bg);border:1px solid var(--border-subtle);border-radius:999px;color:var(--text-secondary);font-size:12px;font-weight:800;padding:6px 8px}.route-map-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.route-map-link-button{background:var(--button-bg);border:1px solid var(--border-subtle);border-radius:8px;color:var(--button-text);font-size:13px;font-weight:900;min-height:36px;overflow:hidden;padding:8px 10px;text-overflow:ellipsis;white-space:nowrap}.route-map-link-button:hover{background:var(--button-bg-hover)}.route-stops{border-top:1px solid var(--border-subtle);counter-reset:route-stop;display:grid;gap:10px;list-style:none;margin:4px 0 0;padding:12px 0 0}.route-stops li{display:grid;gap:4px;padding-left:32px;position:relative}.route-stop-with-photo{align-items:start;column-gap:10px;grid-template-columns:72px minmax(0,1fr)}.route-stops li:before{align-items:center;background:var(--accent-soft);border-radius:50%;color:var(--accent-strong);content:counter(route-stop);counter-increment:route-stop;display:flex;font-size:12px;font-weight:900;height:23px;justify-content:center;left:0;position:absolute;top:1px;width:23px}.route-stop-photo{aspect-ratio:1;border:1px solid var(--border-subtle);border-radius:8px;height:72px;object-fit:cover;width:72px}.route-stop-body{display:grid;gap:4px;min-width:0}.route-stops button{background:transparent;border:0;color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:900;padding:0;text-align:left}.route-stops button:hover{color:var(--accent-strong)}@media(max-width:420px){.route-stop-with-photo{grid-template-columns:58px minmax(0,1fr)}.route-stop-photo{height:58px;width:58px}}.route-lock{background:var(--premium-bg);border:1px solid var(--premium-border);border-radius:8px;display:grid;gap:10px;padding:12px}.route-lock-teaser{margin:0;font-weight:700;color:var(--bright-ink, var(--text-primary))}.route-lock-actions{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.favorite-routes-section{display:grid;gap:12px}.favorite-routes-section h2,.favorites-subtitle{color:var(--text-primary);font-size:16px;line-height:1.2;margin:4px 0 0}.place-card{background:var(--card-bg);border:1px solid var(--border-subtle);border-radius:8px;display:grid;gap:12px;grid-template-columns:34px minmax(0,1fr);padding:14px}.place-rank{align-items:center;background:var(--rank-bg);border-radius:50%;color:var(--rank-text);display:flex;font-size:14px;font-weight:800;height:34px;justify-content:center;width:34px}.place-body{min-width:0}.place-topline,.score-row{align-items:center;color:var(--accent);display:flex;font-size:13px;font-weight:700;justify-content:space-between;gap:10px}.place-topline strong{background:var(--danger-accent);border-radius:999px;color:#fff;min-width:42px;padding:3px 8px;text-align:center}.place-topline-cat{align-items:center;display:inline-flex;gap:7px;min-width:0}.place-sponsored-badge{background:var(--amber, #f5c451);border-radius:999px;color:var(--ink, #160a2e);flex-shrink:0;font:800 10px/1 var(--font-mono, ui-monospace, monospace);letter-spacing:.08em;padding:3px 7px;text-transform:uppercase}.place-card h2{font-size:18px;line-height:1.18;margin:0}.place-title-row{align-items:flex-start;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto;margin:7px 0 4px}.favorite-button{background:var(--button-bg);border:1px solid var(--border-subtle);border-radius:999px;color:var(--button-text);font-size:12px;font-weight:800;line-height:1.1;max-width:100%;min-height:30px;padding:7px 10px;text-align:center}.favorite-button-active{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 38%,transparent);color:var(--accent-strong)}.place-card p{color:var(--text-secondary);font-size:14px;line-height:1.38;margin:8px 0 0}.place-card .address{color:var(--text-muted);margin-top:0}.place-photo,.place-detail-photo{aspect-ratio:16 / 9;background:var(--empty-bg);border:1px solid var(--border-subtle);border-radius:8px;display:block;object-fit:cover;width:100%}.place-photo{margin:10px 0}.place-detail-photo{margin:12px 0}.district-label{color:var(--accent)!important;font-size:13px!important;font-weight:800;margin-top:4px!important}.map-links{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:12px}.place-detail .map-links+.favorite-button{margin-top:14px}.map-link-button{background:var(--button-bg);border:1px solid var(--border-subtle);border-radius:8px;color:var(--button-text);font-size:13px;font-weight:800;min-height:36px;overflow:hidden;padding:8px 6px;text-align:center;text-overflow:ellipsis;transition:background .12s ease,border-color .12s ease,transform .12s ease;white-space:nowrap}.map-link-button:hover{background:var(--button-bg-hover);border-color:var(--border-strong)}.map-link-button:active{transform:translateY(1px)}.details-button{background:transparent;border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-primary);font-size:13px;font-weight:800;margin-top:10px;min-height:34px;padding:7px 10px;width:100%}.details-button:hover{background:var(--button-bg)}.score-row{border-top:1px solid var(--border-subtle);flex-wrap:wrap;margin-top:12px;padding-top:10px}.district-tooltip{background:var(--tooltip-bg);border:0;border-radius:6px;box-shadow:0 8px 24px #0000001f;color:var(--text-primary);font-weight:800}.leaflet-container{background:var(--leaflet-bg)}.leaflet-control-attribution,.leaflet-control-zoom a{background:color-mix(in srgb,var(--panel-bg) 92%,transparent)!important;color:var(--text-secondary)!important}.leaflet-control-attribution a,.leaflet-control-zoom a{color:var(--text-primary)!important}.leaflet-control-zoom a{border-bottom-color:var(--border-subtle)!important}.user-location-marker{filter:drop-shadow(0 2px 8px rgba(42,171,238,.52))}.user-location-accuracy{pointer-events:none}.place-marker{filter:drop-shadow(0 2px 6px rgba(23,32,42,.26))}.city-outline{cursor:pointer}.city-marker{filter:drop-shadow(0 3px 8px rgba(23,32,42,.32))}.place-detail-backdrop{align-items:end;background:#00000047;display:flex;top:0;right:0;bottom:0;left:0;justify-content:end;padding:18px;position:fixed;z-index:1200}.is-zoomable{cursor:zoom-in}.lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:24px;background:#080414e6;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.lightbox-img{max-width:min(96vw,1400px);max-height:92vh;width:auto;height:auto;object-fit:contain;border-radius:12px;box-shadow:0 24px 70px -24px #000000b3;cursor:default}.lightbox-close{position:absolute;top:16px;right:16px;width:44px;height:44px;border:0;border-radius:50%;background:#ffffff2e;color:#fff;font-size:26px;line-height:1;cursor:pointer;display:grid;place-items:center}.lightbox-close:hover{background:#ffffff4d}.pwa-install-chip{position:fixed;left:50%;bottom:18px;transform:translate(-50%);z-index:1300;display:flex;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:10px 12px 10px 16px;background:var(--bright-paper, #fbf8ee);color:var(--bright-ink, #160a2e);border:2px solid var(--bright-ink, #160a2e);border-radius:999px;box-shadow:4px 5px 0 var(--bright-ink, #160a2e);font-size:14px}.pwa-install-text{line-height:1.3}.pwa-install-btn{flex:none;border:2px solid var(--bright-ink, #160a2e);background:var(--bright-brand, #6a3aff);color:#fff;border-radius:999px;padding:8px 16px;font-weight:800;cursor:pointer}.pwa-install-dismiss{flex:none;border:0;background:transparent;color:inherit;font-size:22px;line-height:1;cursor:pointer;padding:0 4px}@media(max-width:560px){.pwa-install-chip{font-size:13px;gap:8px;bottom:76px}}.place-detail{background:var(--panel-bg);border:1px solid var(--border-strong);border-radius:8px;box-shadow:var(--control-shadow);color:var(--text-primary);max-height:calc(100vh - 36px);max-width:430px;overflow-y:auto;padding:20px;position:relative;width:min(430px,100%)}@media(min-width:1280px){.place-detail-backdrop{background:transparent;inset:64px 0 0 auto;width:clamp(440px,28vw,600px);padding:16px 16px 16px 0;pointer-events:none}.place-detail{pointer-events:auto;width:100%;max-width:100%;max-height:calc(100vh - 96px);border:1.5px solid var(--border-subtle, rgba(22,10,46,.14));border-radius:24px;box-shadow:0 6px 18px -8px #160a2e4d;animation:placeSlideIn .24s cubic-bezier(.2,.7,.3,1.1)}@keyframes placeSlideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}}.place-detail h2{font-size:24px;line-height:1.12;margin:0 34px 8px 0}.place-detail p{color:var(--text-secondary);line-height:1.42}.detail-close{align-items:center;background:var(--button-bg);border:1px solid var(--border-subtle);border-radius:50%;color:var(--text-primary);display:flex;font-size:22px;font-weight:700;height:34px;justify-content:center;line-height:1;position:absolute;right:14px;top:14px;width:34px}.detail-facts{border-top:1px solid var(--border-subtle);display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px;padding-top:14px}.detail-facts span{background:var(--empty-bg);border-radius:8px;color:var(--text-secondary);font-size:13px;font-weight:800;padding:9px 10px}.weather-panel{border-top:1px solid var(--border-subtle);display:grid;gap:10px;margin-top:14px;padding-top:14px}.weather-panel-header{align-items:center;display:flex;gap:10px;justify-content:space-between}.weather-panel h3{font-size:16px;margin:0}.weather-panel-header span{color:var(--text-muted);font-size:12px;font-weight:800}.weather-panel p{background:var(--empty-bg);border-radius:8px;margin:0;padding:10px}.weather-days{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.weather-day{background:var(--empty-bg);border-radius:8px;display:grid;gap:5px;min-width:0;padding:10px}.weather-day strong,.weather-day span,.weather-day b,.weather-day small{display:block}.weather-day strong{font-size:13px}.weather-day span,.weather-day small{color:var(--text-secondary);font-size:12px;line-height:1.25}.weather-day b{color:var(--accent);font-size:16px}.admin-shell{background:var(--app-bg);color:var(--text-primary);min-height:100vh;padding:24px}.admin-header{align-items:center;display:flex;gap:16px;justify-content:space-between;margin:0 auto 18px;max-width:min(1800px,calc(100vw - 48px));width:100%}.admin-header h1{font-size:30px}.admin-link{background:var(--card-bg);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-primary);cursor:pointer;font-weight:800;min-height:38px;padding:10px 12px;text-decoration:none}.admin-link:hover{background:var(--button-bg-hover)}.admin-link:disabled{cursor:not-allowed;opacity:.58}.admin-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:end}.admin-card{background:var(--panel-bg);border:1px solid var(--border-subtle);border-radius:8px;box-shadow:var(--control-shadow);min-width:0}.admin-login-backdrop{align-items:center;background:#000000b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:18px;position:fixed;z-index:1500}.admin-login-modal{display:grid;gap:14px;max-width:430px;padding:18px;width:min(430px,100%)}.admin-login-modal h2{font-size:24px;line-height:1.12;margin:0}.admin-login-modal label,.admin-form label{color:var(--text-muted);display:grid;font-size:13px;font-weight:800;gap:6px}.admin-login-modal input,.admin-form input,.admin-form select,.admin-form textarea,.admin-broadcast-form textarea,.admin-promo-form input,.admin-promo-form select,.admin-premium-controls input,.admin-premium-controls select,.subscription-member-form input{background:var(--card-bg);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-primary);min-height:38px;padding:9px 10px;width:100%}.admin-form textarea{min-height:110px;resize:vertical}.admin-broadcast-form textarea{min-height:150px;resize:vertical}.admin-code-textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;min-height:220px!important}.admin-login-modal button,.admin-actions button,.admin-row-actions button,.admin-broadcast-form button,.admin-promo-form button,.admin-account-row button,.subscription-member-form button,.subscription-member-row button{background:var(--button-bg);border:1px solid var(--border-subtle);border-radius:8px;color:var(--button-text);font-weight:800;min-height:38px;padding:9px 12px}.admin-login-modal button:hover,.admin-actions button:hover,.admin-row-actions button:hover,.admin-broadcast-form button:hover,.admin-promo-form button:hover,.admin-account-row button:hover,.subscription-member-form button:hover,.subscription-member-row button:hover{background:var(--button-bg-hover)}.storage-pill{background:var(--empty-bg);border:1px solid var(--border-subtle);border-radius:999px;color:var(--text-muted);font-size:13px;font-weight:800;padding:10px 12px}.storage-pill-ready{color:var(--location-good)}.admin-message{margin:0 auto 18px;max-width:min(1800px,calc(100vw - 48px));width:100%}.admin-grid{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(320px,420px) minmax(0,1fr);margin:0 auto;max-width:min(1800px,calc(100vw - 48px));width:100%}.admin-grid-locked{filter:blur(14px);pointer-events:none;-webkit-user-select:none;user-select:none}.admin-sidebar{align-self:start;display:grid;gap:18px;min-width:0}.admin-main-column{display:grid;gap:18px;min-width:0}.admin-form{align-self:start;display:grid;gap:12px;padding:16px}.admin-form h2,.admin-table-card h2,.admin-subscription-card h2,.admin-broadcast-card h2,.admin-promo-card h2,.admin-route-picker-card h2{font-size:20px;margin:0}.admin-subscription-card,.admin-broadcast-card{display:grid;gap:12px;padding:16px}.admin-card-note{color:var(--text-secondary);font-size:13px;line-height:1.35;margin:0}.admin-premium-controls{display:grid;gap:8px;grid-template-columns:minmax(0,1fr) minmax(130px,160px)}.admin-account-list{display:grid;gap:8px;max-height:430px;overflow:auto;padding-right:2px}.admin-account-row{align-items:center;background:var(--card-bg);border:1px solid var(--border-subtle);border-radius:8px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr);padding:10px}.admin-account-row-premium{background:color-mix(in srgb,var(--premium-bg) 42%,var(--card-bg));border-color:var(--premium-border)}.admin-account-row>div:first-child{display:grid;gap:4px;min-width:0}.admin-account-row strong,.admin-account-row span,.admin-account-row small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-account-row strong{color:var(--text-primary);font-size:14px}.admin-account-row span{color:var(--text-secondary);font-size:12px;font-weight:800}.admin-account-row small{color:var(--premium-accent);font-size:12px;font-weight:900}.admin-account-actions{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-account-actions button:first-child:last-child{grid-column:1 / -1}.admin-broadcast-form{display:grid;gap:10px}.admin-broadcast-form label{color:var(--text-muted);display:grid;font-size:13px;font-weight:800;gap:6px}.admin-promo-card{display:grid;gap:12px;padding:16px}.admin-promo-form{display:grid;gap:10px}.admin-promo-form label{color:var(--text-muted);display:grid;font-size:13px;font-weight:800;gap:6px}.admin-route-picker-card{display:grid;gap:12px;padding:16px}.subscription-member-form{display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto}.admin-route-picker-list{display:grid;gap:8px}.admin-route-create-button{background:var(--rank-bg);border:1px solid var(--rank-bg);border-radius:8px;color:var(--rank-text);font-weight:900;min-height:42px;padding:10px 12px}.admin-route-create-button:hover{opacity:.88}.admin-route-picker-row{background:var(--card-bg);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-primary);display:grid;gap:4px;min-height:58px;padding:10px;text-align:left}.admin-route-picker-row:hover,.admin-route-picker-row-active{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 38%,transparent)}.admin-route-picker-row span,.admin-route-picker-row small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-route-picker-row span{font-weight:900}.admin-route-picker-row small{color:var(--text-muted);font-size:12px;font-weight:800}.subscription-member-list,.broadcast-history-list{display:grid;gap:8px}.broadcast-history-row{background:var(--card-bg);border:1px solid var(--border-subtle);border-radius:8px;display:grid;gap:7px;padding:10px}.broadcast-history-row div{align-items:start;display:grid;gap:3px}.broadcast-history-row strong{color:var(--text-primary);font-size:13px}.broadcast-history-row span,.broadcast-history-row p{color:var(--text-secondary);font-size:12px;line-height:1.35}.broadcast-history-row p{margin:0;max-height:66px;overflow:hidden}.subscription-member-row{align-items:center;background:var(--card-bg);border:1px solid var(--border-subtle);border-radius:8px;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto auto;padding:8px}.subscription-member-row span{color:var(--text-secondary);font-size:13px;font-weight:800;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-form-row{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.admin-form-row:has(label:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.admin-checkbox{align-items:center;display:flex!important;gap:9px!important}.admin-checkbox input{min-height:0;width:auto}.admin-actions,.admin-row-actions{display:flex;flex-wrap:wrap;gap:8px}.admin-row-actions{justify-content:end}.admin-table-card{min-width:0;padding:16px}.admin-list-header{align-items:center;display:grid;gap:12px;grid-template-columns:auto minmax(220px,1fr);margin-bottom:12px}.admin-table{display:grid;gap:8px}.admin-place-row{align-items:center;background:var(--card-bg);border:1px solid var(--border-subtle);border-radius:8px;display:grid;gap:10px;grid-template-columns:minmax(0,1.3fr) minmax(90px,140px) 50px auto;padding:12px}.admin-route-row{align-items:center;background:var(--card-bg);border:1px solid var(--border-subtle);border-radius:8px;display:grid;gap:10px;grid-template-columns:minmax(0,1.4fr) 90px 100px 80px auto;padding:12px}.admin-place-row div:first-child,.admin-route-row div:first-child{display:grid;gap:3px;min-width:0}.admin-place-row strong,.admin-place-row span,.admin-route-row strong,.admin-route-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-place-row span,.admin-route-row span{color:var(--text-muted);font-size:13px;font-weight:700}@media(max-width:1279px){.app-shell{grid-template-columns:1fr;grid-template-rows:58vh auto}.map-pane,.map{height:58vh;min-height:58vh}.map-pane{position:static}.places-panel{border-left:0;border-top:1px solid var(--border-strong);min-height:42vh;padding:16px}h1{font-size:24px}.panel-tabs{gap:4px;padding:3px}.panel-tab{flex:0 0 auto;font-size:12px;gap:4px;padding:8px 12px}:lang(en) .panel-tab{font-size:11px}.panel-tab span{font-size:11px;height:19px;min-width:19px;padding:0 5px}.map-actions{left:12px;max-width:min(250px,calc(100vw - 24px));top:12px;width:min(250px,calc(100vw - 24px))}.map-theme-actions{right:12px;top:12px}.place-title-row{grid-template-columns:1fr}.favorite-button{max-width:100%;width:fit-content}.place-detail-backdrop{padding:10px}.place-detail{max-height:min(78vh,calc(100vh - 20px));max-width:100%}.detail-facts,.route-map-links,.route-mode-tabs,.collection-grid,.daily-route-card,.promo-hint-card{grid-template-columns:1fr}.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-route-card button,.promo-hint-card button{width:100%}.weather-days{grid-template-columns:1fr}.admin-shell{padding:14px}.admin-header,.admin-grid,.admin-list-header,.admin-place-row,.admin-route-row{grid-template-columns:1fr}.admin-header{align-items:start;display:grid;gap:12px}.admin-header-actions{justify-content:start}.admin-form-row,.admin-premium-controls,.admin-account-actions,.route-lock-actions{grid-template-columns:1fr}}@media(max-width:1180px){.admin-header,.admin-grid,.admin-message{max-width:100%}.admin-grid{grid-template-columns:1fr}}@media(max-width:380px){.panel-tab{font-size:11px}}@media(min-width:1500px){.places-panel{padding:30px 34px}.places-panel h1{font-size:32px}.panel-header,.panel-tabs{margin-bottom:18px}.place-card{margin-bottom:14px}}.bottom-tab-bar{display:none}@media(max-width:1279px){.places-panel{margin-top:-22px;padding-top:28px;background:var(--bright-paper);border:1.5px solid var(--border-subtle, rgba(22,10,46,.14));border-top-left-radius:28px;border-top-right-radius:28px;border-bottom:0;position:relative;z-index:5}.places-panel:before{content:"";position:absolute;top:10px;left:50%;transform:translate(-50%);width:36px;height:4px;border-radius:999px;background:color-mix(in oklab,var(--bright-ink) 30%,transparent);pointer-events:none}.map-search{border:1.5px solid var(--border-subtle, rgba(22,10,46,.14))!important;border-radius:14px!important;box-shadow:0 4px 12px -4px #160a2e33;overflow:hidden;background:var(--bright-paper)}.map-search input{border-radius:14px!important;height:48px;padding:0 16px 0 40px;font-size:14px}.map-search:before{content:"";position:absolute;left:14px;top:50%;transform:translateY(-50%);width:14px;height:14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23160a2e' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/svg%3E") center/contain no-repeat;pointer-events:none;z-index:2}.map-search{position:relative}.locate-button{border:1.5px solid var(--border-subtle, rgba(22,10,46,.14))!important;border-radius:14px!important;box-shadow:0 6px 18px -8px #160a2e4d!important;height:48px;background:var(--bright-paper)!important}.map-theme-actions .palette-picker{background:var(--bright-paper);border-color:var(--bright-ink)}}@media(max-width:1279px){.bottom-tab-bar{display:grid;grid-template-columns:repeat(5,1fr);align-items:center;position:fixed;left:14px;right:14px;bottom:14px;height:64px;padding:0 10px;background:var(--bright-paper);border:1.5px solid var(--border-subtle, rgba(22,10,46,.14));border-radius:22px;box-shadow:0 8px 24px -8px #160a2e40;z-index:50}.places-panel{padding-bottom:100px}.panel-tabs,.panel-header-actions{display:none!important}.btab{display:flex;flex-direction:column;align-items:center;gap:4px;background:transparent;border:0;padding:4px 0;color:#160a2e73;font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;cursor:pointer}:root[data-theme=dark] .btab{color:#f4f1e680}.btab-icon{width:28px;height:28px;border-radius:8px;background:transparent;color:#160a2e80;border:1.5px solid rgba(22,10,46,.2);display:grid;place-items:center;font-family:var(--font-display);font-weight:800;font-size:14px;transition:background .14s,color .14s,border-color .14s}:root[data-theme=dark] .btab-icon{color:#f4f1e680;border-color:#f4f1e633}.btab-active .btab-icon{background:var(--bright-brand);color:#fff;border-color:var(--bright-brand)}.btab-active{color:var(--bright-brand)}.btab{min-width:0}.btab-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.04em}:root[data-theme=dark] .bottom-tab-bar{background:var(--bright-paper);border-color:var(--bright-brand)}}.places-panel h1,.places-panel h2,.place-card h2,.route-title,.profile-name{font-family:var(--font-display);font-weight:700;font-stretch:normal;letter-spacing:-.025em}.filter-chip{border:1.5px solid var(--bright-ink);border-radius:999px;background:var(--bright-paper);color:var(--bright-ink);font-weight:500;transition:transform .14s cubic-bezier(.3,.7,.3,1.3),box-shadow .14s,background .14s}.filter-chip:hover{background:var(--bright-brand-soft)}.filter-chip-active{background:var(--bright-ink)!important;color:var(--bright-amber)!important;border-color:var(--bright-ink)!important;box-shadow:0 3px 0 var(--bright-amber)}.premium-button,.account-submit-button,.account-oauth-button,.text-action-button,.details-button,.map-link-button,.release-channel-button,.route-map-link-button{border:1.5px solid var(--border-subtle, rgba(22,10,46,.14))!important;border-radius:999px;background:var(--bright-brand);color:#fff;box-shadow:0 6px 18px -8px #160a2e4d;transition:transform .14s cubic-bezier(.3,.7,.3,1.3),box-shadow .14s,background .14s}.premium-button:hover,.account-submit-button:hover,.account-oauth-button:hover,.text-action-button:hover,.details-button:hover,.map-link-button:hover,.release-channel-button:hover,.route-map-link-button:hover{transform:translate(-2px,-2px);box-shadow:0 6px 18px -8px #160a2e4d;background:var(--bright-brand-deep)}.premium-button:active,.account-submit-button:active,.account-oauth-button:active,.text-action-button:active,.details-button:active,.map-link-button:active,.release-channel-button:active,.route-map-link-button:active{transform:translate(2px,2px);box-shadow:0 6px 18px -8px #160a2e4d}.premium-button-secondary,.account-logout-button,.account-link-button,.route-share-button,.route-favorite-button,.favorite-button,.theme-toggle-button,.locate-button{border:1.5px solid var(--border-subtle, rgba(22,10,46,.14))!important;background:var(--bright-paper)!important;color:var(--bright-ink)!important;border-radius:999px;box-shadow:0 6px 18px -8px #160a2e4d;transition:transform .14s cubic-bezier(.3,.7,.3,1.3),box-shadow .14s,background .14s}.premium-button-secondary:hover,.account-logout-button:hover,.account-link-button:hover,.route-share-button:hover,.route-favorite-button:hover,.favorite-button:hover,.theme-toggle-button:hover,.locate-button:hover{transform:translate(-1px,-1px);box-shadow:0 6px 18px -8px #160a2e4d;background:var(--bright-amber)!important}.route-favorite-button-active,.favorite-button-active{background:var(--bright-amber)!important;color:var(--bright-ink)!important}.account-card,.route-share-card,.profile-card,.place-card{border:1.5px solid var(--border-subtle, rgba(22,10,46,.14));border-radius:24px;background:var(--bright-paper)}@media(min-width:901px){.places-panel{background:var(--bright-paper);border:0!important;border-left:2px solid var(--bright-ink)!important;border-radius:0!important}}.place-card:hover{transform:translate(-2px,-3px);box-shadow:0 6px 18px -8px #160a2e4d}.premium-badge,.city-chip-golden{background:var(--bright-amber)!important;color:var(--bright-ink)!important;border:1.5px solid var(--border-subtle, rgba(22,10,46,.14))!important;box-shadow:0 6px 18px -8px #160a2e4d;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-weight:600}
