@font-face{font-family:Cygre;font-weight:400;font-display:swap;src:url(https://db.onlinewebfonts.com/t/3ed1693da2d7d3c28d28b79a8a1a6b0e.woff2) format("woff2")}@font-face{font-family:Cygre;font-weight:800;font-display:swap;src:url(https://db.onlinewebfonts.com/t/1e49c6ca6f3921df2a72128b76217e48.woff2) format("woff2")}:root{--ink-1000: #17120E;--ink-900: #1E1813;--ink-800: #2A231D;--ink-700: #3C342C;--ink-600: #524940;--ink-500: #6E6359;--ink-400: #948A7E;--ink-300: #B7AEA2;--ink-200: #D8D1C6;--ink-100: #ECE7DD;--ink-50: #F5F2EC;--paper-100: #FBF8F3;--paper-200: #F4EFE6;--paper-300: #E9E2D2;--paper-400: #C9BFA8;--signal-positive: #1F8A5B;--signal-warn: #B8731F;--signal-danger: #B43A3A;--route: #E08A33;--route-deep: #B8732A;--route-glow: #FFD9A8;--positive: #1F8A5B;--positive-tint: #E2F1E9;--seg-museum: #B8732A;--seg-museum-tint: #F3E7D2;--seg-forum: #2A4FB8;--seg-forum-tint: #DCE4F7;--seg-park: #2F7A4D;--seg-park-tint: #DCEDDF;--seg-expo: #B43A3A;--seg-expo-tint: #F5DCDA;--seg-edu: #5B3DAF;--seg-edu-tint: #E5DEF5;--seg-corp: #1F4F5C;--seg-corp-tint: #D8E5E8;--seg-village: #9409FF;--seg-village-tint: #E9D6FF;--accent: var(--seg-museum);--accent-tint: var(--seg-museum-tint);--bg: var(--paper-100);--bg-elevated: #FFFFFF;--bg-sunken: var(--paper-200);--fg: var(--ink-900);--fg-muted: var(--ink-500);--fg-faint: var(--ink-400);--rule: var(--ink-200);--rule-strong: var(--ink-300);--font-sans: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: var(--font-sans);--font-serif: var(--font-sans);--text-display: 20px;--lh-display-r: 1.2;--text-eyebrow: 11px;--lh-eyebrow-r: 1;--text-title: 15px;--lh-title-r: 1.3;--text-body: 14px;--lh-body-r: 1.4;--text-meta: 13px;--lh-meta-r: 1.35;--text-label: 12px;--lh-label-r: 1.1;--text-button: 14px;--t-xs: 11px;--t-sm: 13px;--t-base: 15px;--t-md: 17px;--t-lg: 20px;--t-xl: 24px;--t-2xl: 32px;--t-3xl: 44px;--t-4xl: 60px;--t-5xl: 84px;--t-6xl: 120px;--t-display: 168px;--lh-tight: 1.05;--lh-snug: 1.2;--lh-base: 1.45;--lh-loose: 1.6;--ls-display: -.03em;--ls-headline: -.02em;--ls-body: 0;--ls-mono-caps: .08em;--ls-mono: .02em;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--s-10: 40px;--s-12: 48px;--s-16: 64px;--s-20: 80px;--s-24: 96px;--s-32: 128px;--r-xs: 4px;--r-sm: 8px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--r-pill: 999px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-full: 999px;--chrome-dark: rgba(26, 21, 17, .84);--chrome-dark-solid: #1E1813;--chrome-blur: saturate(140%) blur(14px);--tap-min: 44px;--shadow-1: 0 1px 0 rgba(7, 9, 12, .04), 0 1px 2px rgba(7, 9, 12, .04);--shadow-2: 0 1px 0 rgba(7, 9, 12, .04), 0 4px 12px rgba(7, 9, 12, .06);--shadow-3: 0 1px 0 rgba(7, 9, 12, .06), 0 12px 32px rgba(7, 9, 12, .1);--shadow-pop: 0 28px 64px rgba(7, 9, 12, .2), 0 4px 12px rgba(7, 9, 12, .06);--grid-line: rgba(14, 18, 24, .07);--grid-line-strong: rgba(14, 18, 24, .14);--container-max: 1280px;--container-pad: 32px}[data-theme=dark]{--bg: var(--ink-900);--bg-elevated: var(--ink-800);--bg-sunken: var(--ink-1000);--fg: var(--paper-100);--fg-muted: var(--ink-300);--fg-faint: var(--ink-400);--rule: var(--ink-700);--rule-strong: var(--ink-600);--grid-line: rgba(255, 255, 255, .05);--grid-line-strong: rgba(255, 255, 255, .1)}[data-segment=museum]{--accent: var(--seg-museum);--accent-tint: var(--seg-museum-tint)}[data-segment=forum]{--accent: var(--seg-forum);--accent-tint: var(--seg-forum-tint)}[data-segment=park]{--accent: var(--seg-park);--accent-tint: var(--seg-park-tint)}[data-segment=expo]{--accent: var(--seg-expo);--accent-tint: var(--seg-expo-tint)}[data-segment=edu]{--accent: var(--seg-edu);--accent-tint: var(--seg-edu-tint)}[data-segment=corp]{--accent: var(--seg-corp);--accent-tint: var(--seg-corp-tint)}[data-segment=village]{--accent: var(--seg-village);--accent-tint: var(--seg-village-tint);--bg: #201A28;--bg-elevated: rgba(43, 43, 43, .62);--bg-sunken: rgba(255, 255, 255, .07);--fg: #F3EFF7;--fg-muted: rgba(243, 239, 247, .62);--fg-faint: rgba(243, 239, 247, .4);--rule: rgba(255, 255, 255, .12);--rule-strong: rgba(255, 255, 255, .2);--paper-100: #F3EFF7;--paper-200: rgba(255, 255, 255, .08);--paper-300: rgba(255, 255, 255, .12);--ink-100: rgba(255, 255, 255, .1);--ink-200: rgba(255, 255, 255, .14);--grid-line: rgba(255, 255, 255, .05);--route: #B24BE0;--route-deep: #9409FF;--route-glow: rgba(148, 9, 255, .45);--violet: #9409FF;--violet-2: #B24BE0;--lime: #CAF45A;--graphite: #2B2B2B;--lavender: #AFA7BA;--amber: #D9A21A;--grad: linear-gradient(110deg, #9409FF 0%, #B24BE0 42%, #CAF45A 100%);--grad-track: linear-gradient(110deg, #9409FF 0%, #B24BE0 42%, #CAF45A 100%);--tx: #F3EFF7;--tx-soft: rgba(243,239,247,.62);--tx-dim: rgba(243,239,247,.4);--on-dark-soft: rgba(255,255,255,.66);--ink: #241D2E;--ink-soft: #6A6276;--font-display: "Cygre", "Manrope", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace}img,svg{display:block;max-width:100%}.topbar{position:absolute;left:var(--s-6);right:var(--s-6);top:var(--s-6);height:56px;background:var(--chrome-dark);color:var(--paper-100);-webkit-backdrop-filter:var(--chrome-blur);backdrop-filter:var(--chrome-blur);border:1px solid rgba(255,255,255,.06);border-radius:var(--r-xl);display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--s-6);padding:0 var(--s-3) 0 22px;box-shadow:var(--shadow-3);z-index:30}.topbar .left{display:flex;align-items:center;gap:14px;min-width:0}.topbar .div{width:1px;height:28px;background:#ffffff24}.topbar .loc{display:flex;flex-direction:column;line-height:1.05;min-width:0}.topbar .loc .n{font-size:var(--text-display);font-weight:700;letter-spacing:-.01em;color:var(--paper-100);line-height:var(--lh-display-r);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar .loc .n em{font-weight:500}.topbar .loc .by{display:flex;align-items:center;gap:5px;font-size:var(--text-meta);letter-spacing:0;line-height:var(--lh-meta-r);color:#ffffff80;font-weight:500;margin-top:3px;white-space:nowrap;overflow:hidden;min-width:0}@media (max-width: 1100px){.topbar{gap:var(--s-3)}.topbar .loc .by{display:none}}.topbar .crumb-back{width:32px;height:32px;border-radius:9px;background:#ffffff0f;color:#ffffffb3;display:inline-flex;align-items:center;justify-content:center;transition:all .15s}.topbar .crumb-back:hover{background:#ffffff1f;color:#fff}.topbar .ov-loc{gap:3px}.topbar .ov-brand-logo{height:26px;width:auto;display:block;filter:drop-shadow(0 1px 4px rgba(0,0,0,.25))}.topbar .loc .by strong{font-family:var(--font-sans);font-weight:700;color:#ffffffd9;letter-spacing:.04em}.topbar .loc .by svg{color:var(--accent);flex:0 0 auto}.topbar .ov-loc .ov-loc-txt .by{display:flex}@media (max-width: 900px){.topbar .ov-loc .ov-loc-txt .by{font-size:10px;margin-top:1px;opacity:.8}}.topbar .right .icbtn.badge-host{position:relative}.topbar .right .icbtn .badge-dot{position:absolute;right:-2px;top:-2px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--accent);color:var(--ink-1000);font-family:var(--font-mono);font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.topbar .tabs{display:flex;align-items:center;justify-self:center;background:#ffffff0f;border-radius:10px;padding:4px;height:40px}.topbar .tabs .tab{display:inline-flex;align-items:center;gap:var(--s-2);height:32px;padding:0 14px;border-radius:7px;font-family:var(--font-sans);font-size:var(--t-sm);font-weight:600;color:#ffffffb3;transition:all .15s}.topbar .tabs .tab:hover{color:#fff}.topbar .tabs .tab.on{background:var(--paper-100);color:var(--ink-1000)}.topbar .tabs .tab .badge{font-family:var(--font-mono);font-size:10px;font-weight:600;padding:1px 6px;border-radius:3px;background:#00000014;color:inherit;letter-spacing:.04em}.topbar .tabs .tab.on .badge{background:#0000000f;color:var(--ink-700)}.topbar .right{display:flex;align-items:center;gap:var(--s-2);position:relative}.topbar .right .meta{display:flex;align-items:center;gap:14px;padding:0 14px 0 4px}.topbar .right .meta .v{font-family:var(--font-mono);font-size:var(--t-sm);font-weight:600;color:var(--paper-100);letter-spacing:-.01em}.topbar .right .meta .l{font-family:var(--font-mono);font-size:9px;letter-spacing:var(--ls-mono-caps);color:#ffffff80;text-transform:uppercase;display:block;margin-top:1px;font-weight:600}.topbar .right .icbtn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:9px;color:#ffffffb3;transition:all .15s}.topbar .right .icbtn:hover{background:#ffffff14;color:#fff}.topbar .right .lang{display:flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-radius:9px;font-family:var(--font-sans);font-size:var(--t-sm);font-weight:600;color:var(--paper-100)}.topbar .right .lang:hover{background:#ffffff14}.topbar .right .download-chip{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 6px 0 14px;margin-left:4px;background:var(--paper-100, #F4ECDA);color:var(--ink-1000);border-radius:999px;box-shadow:0 2px 8px #0000002e;font-family:var(--font-sans);text-decoration:none;border:0;cursor:pointer;transition:transform .12s,box-shadow .12s}.topbar .right .download-chip:hover{transform:translateY(-1px);box-shadow:0 4px 14px #0000003d}.topbar .right .download-chip .dc-label{font-family:var(--font-sans);font-size:13px;font-weight:800;letter-spacing:.06em;color:var(--ink-1000)}.topbar .right .download-chip .dc-sep{width:1px;height:18px;background:#0000002e}.topbar .right .download-chip .dc-badge{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 4px 0 8px;border-radius:999px;background:transparent}.topbar .right .download-chip .dc-offline{font-family:var(--font-mono);font-size:9.5px;font-weight:700;letter-spacing:.12em;color:var(--ink-700, #3F4744)}.topbar .right .download-chip .dc-ar{display:inline-flex;align-items:center;justify-content:center;height:22px;padding:0 8px;border-radius:6px;background:var(--ink-1000);color:var(--paper-100);font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.08em}.topbar .right .icbtn.badge-host.on{background:#ffffff24;color:#fff}.profile-scrim{position:fixed;inset:0;z-index:70;background:#0a08128c;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:pp-fade .16s ease-out}@keyframes pp-fade{0%{opacity:0}to{opacity:1}}.profile-modal{position:fixed;z-index:71;top:50%;left:50%;transform:translate(-50%,-50%);width:min(1040px,96vw);max-height:92vh;display:flex;flex-direction:column;background:#19152a;color:#f4f1fb;border:1px solid rgba(255,255,255,.08);border-radius:18px;box-shadow:0 30px 80px #00000080;overflow:hidden;animation:pp-pop .2s cubic-bezier(.2,.8,.2,1);font-variant-numeric:tabular-nums}@keyframes pp-pop{0%{transform:translate(-50%,-48%) scale(.98);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.profile-modal .pp-head{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 22px 16px;border-bottom:1px solid rgba(255,255,255,.07);flex:0 0 auto}.profile-modal .pp-eyebrow{font-size:10px;font-weight:700;letter-spacing:.14em;color:#caf45a;margin-bottom:4px}.profile-modal .pp-title{font-size:20px;font-weight:700;letter-spacing:-.01em}.profile-modal .pp-head-actions{display:flex;align-items:center;gap:8px}.profile-modal .pp-logout{padding:7px 12px;border-radius:9px;cursor:pointer;font-size:12.5px;font-weight:600;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#fffc}.profile-modal .pp-logout:hover{background:#ffffff1f;color:#fff}.profile-modal .pp-close{width:32px;height:32px;border-radius:9px;flex:0 0 auto;cursor:pointer;font-size:20px;line-height:1;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#ffffffb3}.profile-modal .pp-close:hover{background:#ffffff1f;color:#fff}.pp-login{padding:26px 26px 30px;max-width:380px;margin:0 auto;display:flex;flex-direction:column;gap:14px}.pp-login-hint{font-size:13px;line-height:1.5;color:#fff9;margin:6px 0 4px}.pp-field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#ffffff8c;font-weight:600}.pp-field input{padding:11px 13px;border-radius:11px;font-size:14px;color:#fff;background:#ffffff0f;border:1px solid rgba(255,255,255,.14);outline:none}.pp-field input:focus{border-color:#9409ffb3;background:#ffffff17}.pp-login-btn{margin-top:4px;padding:12px;border-radius:11px;cursor:pointer;font-size:14px;font-weight:700;color:#fff;background:linear-gradient(110deg,#9409ff,#b24be0);border:0}.pp-login-btn:disabled{opacity:.45;cursor:default}.pp-login-note{font-size:11px;line-height:1.5;color:#ffffff61}.pp-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:18px;overflow-y:auto;flex:1 1 auto}@media (max-width: 760px){.pp-grid{grid-template-columns:1fr}}.pp-board,.pp-profile{background:#221c34;border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:16px}.pp-board-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.pp-board-head h3{font-size:17px;font-weight:700}.pp-tabs{display:flex;gap:2px;background:#ffffff0f;border-radius:9px;padding:3px}.pp-tabs button{padding:5px 11px;border-radius:7px;border:0;cursor:pointer;font-size:12px;font-weight:600;background:transparent;color:#fff9}.pp-tabs button.on{background:#9409ff;color:#fff}.pp-podium{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;align-items:end;margin-bottom:14px}.pp-pod{text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px}.pp-pod-av{position:relative;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;color:#fff;background:#ffffff1a;border:2px solid rgba(255,255,255,.16)}.pp-pod-1 .pp-pod-av{width:66px;height:66px;background:linear-gradient(150deg,#9409ff,#caf45a);border-color:#caf45a}.pp-pod-2 .pp-pod-av{background:#b24be059}.pp-pod-3 .pp-pod-av{background:#caf45a38}.pp-pod-rank{position:absolute;right:-4px;bottom:-4px;width:20px;height:20px;border-radius:50%;background:#19152a;border:1.5px solid currentColor;font-size:11px;display:flex;align-items:center;justify-content:center}.pp-pod-name{font-size:12px;font-weight:600}.pp-pod-pts{font-size:12px;color:#ffffff8c}.pp-pod-bar{margin-top:4px;width:100%;border-radius:8px 8px 0 0;font-weight:700;color:#fff;padding:8px 0}.pp-pod-1 .pp-pod-bar{height:58px;background:linear-gradient(180deg,#9409ff,#6a09bb)}.pp-pod-2 .pp-pod-bar{height:40px;background:#ffffff1f}.pp-pod-3 .pp-pod-bar{height:30px;background:#caf45a40;color:#1a1a1a}.pp-you-row,.pp-list li{display:grid;grid-template-columns:28px 34px 1fr auto;align-items:center;gap:10px;padding:9px 10px;border-radius:11px}.pp-you-row{background:#9409ff38;border:1px solid rgba(148,9,255,.5);margin-bottom:8px}.pp-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.pp-list li:hover{background:#ffffff0a}.pp-rk{font-size:13px;font-weight:700;color:#ffffff80;text-align:center}.pp-av{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:#ffffff1a}.pp-av.you{background:#9409ff;color:#fff}.pp-row-main{display:flex;flex-direction:column;min-width:0}.pp-row-main b{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pp-row-main small{font-size:11px;color:#ffffff73}.pp-row-pts{text-align:right;font-size:14px;font-weight:700;display:flex;flex-direction:column}.pp-row-pts small{font-size:10px;font-weight:600;color:#fff6}.pp-row-pts small.up{color:#caf45a}.pp-row-pts small.dn{color:#e0796a}.pp-hero{display:flex;align-items:center;gap:14px;padding:16px;border-radius:14px;margin-bottom:14px;background:linear-gradient(110deg,#9409ff,#b24be0 55%,#caf45a 140%)}.pp-hero-av{width:60px;height:60px;border-radius:50%;background:#ffffff38;border:2px solid rgba(255,255,255,.45);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:#fff;flex:0 0 auto}.pp-hero-ey{font-size:10px;font-weight:700;letter-spacing:.12em;color:#ffffffbf}.pp-hero-name{font-size:20px;font-weight:700;color:#fff}.pp-hero-pts{font-size:14px;color:#ffffffe6;font-weight:600}.pp-hero-pts span{opacity:.7;font-weight:500}.pp-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:16px}.pp-stat{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:11px;padding:12px 6px;text-align:center}.pp-stat b{display:block;font-size:22px;font-weight:700}.pp-stat span{font-size:9.5px;font-weight:600;letter-spacing:.08em;color:#ffffff73}.pp-section-t{font-size:11px;font-weight:700;letter-spacing:.1em;color:#caf45a;margin:6px 0 10px;padding-left:8px;border-left:2px solid #CAF45A}.pp-achs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:16px}.pp-ach{display:flex;flex-direction:column;align-items:center;gap:5px;padding:11px 5px;border-radius:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);text-align:center;position:relative}.pp-ach.got{background:linear-gradient(160deg,#caf45a29,#9409ff24);border-color:#caf45a66}.pp-ach.locked{opacity:.5;filter:grayscale(.7)}.pp-ach-ic{font-size:22px;line-height:1}.pp-ach-l{font-size:10.5px;color:#ffffffd1;line-height:1.2;font-weight:600}.pp-ach-prog{display:block;position:relative;width:100%;height:4px;border-radius:3px;background:#ffffff1f;margin-top:2px}.pp-ach-prog i{position:absolute;inset:0 auto 0 0;border-radius:3px;background:linear-gradient(90deg,#9409ff,#caf45a)}.pp-ach-prog em{position:absolute;top:7px;left:50%;transform:translate(-50%);font-size:9px;font-style:normal;color:#ffffff80;white-space:nowrap}.pp-empty{font-size:12px;color:#ffffff73;padding:10px 4px 16px;line-height:1.5}.pp-auth-tabs{display:flex;gap:6px;margin-bottom:14px;background:#ffffff0d;padding:4px;border-radius:11px}.pp-auth-tabs button{flex:1;padding:9px;border:0;border-radius:8px;background:transparent;color:#fff9;font-size:13px;font-weight:600;cursor:pointer}.pp-auth-tabs button.on{background:#caf45a;color:#1a2410}.pp-auth-err{font-size:12.5px;color:#ff9a9a;background:#ff3c3c1f;border:1px solid rgba(255,60,60,.3);padding:8px 11px;border-radius:9px;margin-bottom:4px}.pp-auth-tabs button{padding:9px 6px;font-size:12.5px;white-space:nowrap}.pp-scan-btn{width:100%;padding:12px;border-radius:12px;border:1.5px solid rgba(148,9,255,.7);background:#9409ff1f;color:#c9a8f2;font-size:14px;font-weight:700;cursor:pointer;margin-bottom:10px}.pp-scan-btn:hover{background:#9409ff33}.pp-scan-box{position:relative;width:100%;aspect-ratio:4 / 3;border-radius:14px;overflow:hidden;background:#000;margin-bottom:10px}.pp-scan-video{width:100%;height:100%;object-fit:cover;display:block}.pp-scan-frame{position:absolute;inset:24% 12%;border:2px solid #CAF45A;border-radius:10px;pointer-events:none;box-shadow:0 0 0 100vmax #00000059}.pp-scan-hint{position:absolute;left:0;right:0;bottom:8px;text-align:center;color:#fff;font-size:12px;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.7)}.cs-scrim{position:fixed;inset:0;z-index:3000;background:#0a08109e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px;animation:cs-fade .18s ease-out}.cs-modal{width:min(360px,100%);background:#201a28;color:#f2ecff;border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:28px 24px 24px;text-align:center;box-shadow:0 30px 80px -20px #000000b3;animation:cs-pop .2s ease-out}.cs-emoji{font-size:44px;line-height:1;margin-bottom:10px}.cs-title{font:800 22px var(--font-display, sans-serif);margin:0 0 8px;color:#fff}.cs-text{font:500 14.5px var(--font-sans, sans-serif);line-height:1.5;color:#ffffffb8;margin:0 0 20px}.cs-btn{width:100%;padding:14px;border:0;border-radius:14px;background:linear-gradient(135deg,#9409ff,#b24be0 55%,#caf45a);color:#fff;font:800 15px var(--font-sans, sans-serif);cursor:pointer;text-shadow:0 1px 2px rgba(0,0,0,.25)}.cs-btn:active{transform:scale(.98)}@keyframes cs-fade{0%{opacity:0}to{opacity:1}}@keyframes cs-pop{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}.pp-board-note{font-size:11px;color:#fff6;margin:12px 4px 0;line-height:1.4}.pp-acts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.pp-acts li{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:9px 10px;border-radius:11px;background:#ffffff0a}.pp-act-ic{width:38px;height:38px;border-radius:10px;background:#9409ff40;color:#d9b6ff;display:flex;align-items:center;justify-content:center}.pp-act-main{display:flex;flex-direction:column;min-width:0}.pp-act-main b{font-size:13px;font-weight:600}.pp-act-main small{font-size:11px;color:#fff6}.pp-act-pts{font-size:14px;font-weight:700;color:#caf45a}.pp-delete{margin-top:18px;width:100%;padding:11px;border-radius:11px;cursor:pointer;font-size:13px;font-weight:600;color:#e0796a;background:#f3252914;border:1px solid rgba(243,37,41,.28)}.pp-delete:hover{background:#f3252929;color:#ff8f7e}.lk-page{position:fixed;inset:0;z-index:82;display:flex;flex-direction:column;background:radial-gradient(120% 80% at 50% -10%,#241a3d,#19152a 55%,#140f22);color:#f4f1fb;font-variant-numeric:tabular-nums;animation:pp-fade .18s ease-out}.lk-topbar{flex:0 0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.07);background:#140f2299;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.lk-back{justify-self:start;display:inline-flex;align-items:center;gap:5px;padding:8px 12px 8px 9px;border-radius:10px;cursor:pointer;font-size:13px;font-weight:600;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#ffffffd9}.lk-back:hover{background:#ffffff1f;color:#fff}.lk-eyebrow{justify-self:center;font-size:9.5px;font-weight:700;letter-spacing:.14em;color:#caf45a;white-space:nowrap}.lk-logout{justify-self:end;padding:8px 13px;border-radius:10px;cursor:pointer;font-size:12.5px;font-weight:600;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#fffc}.lk-logout:hover{background:#ffffff1f;color:#fff}.lk-logout-ghost{justify-self:end}.lk-scroll{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px;display:flex;flex-direction:column;gap:14px;width:min(560px,100%);margin:0 auto}.lk-card{background:#221c34;border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:16px}.lk-card-flat{margin:0}.lk-h1{font-size:22px;font-weight:700;letter-spacing:-.01em;margin:0 0 14px}.lk-login{display:flex;flex-direction:column;gap:13px}.lk-consent{display:flex;align-items:flex-start;gap:9px;font-size:12.5px;line-height:1.5;color:#ffffffb8;cursor:pointer;padding:2px 0}.lk-consent input{width:18px;height:18px;margin-top:1px;accent-color:#CAF45A;flex:0 0 auto;cursor:pointer}.lk-link{background:none;border:0;padding:0;cursor:pointer;color:#caf45a;font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px}.lk-link:hover{color:#d9ff7a}.lk-hero{display:flex;align-items:center;gap:14px;background:linear-gradient(110deg,#9409ff,#b24be0 55%,#caf45a 150%);border:0}.lk-card-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}.lk-card-head h3{font-size:16px;font-weight:700;margin:0}.lk-coins-count{font-size:13px;color:#ffffff80;font-weight:600}.lk-coins-count b{font-size:20px;color:#f5c24b;font-weight:800}.lk-coins-bar{position:relative;height:8px;border-radius:5px;background:#ffffff1a;overflow:hidden;margin-bottom:10px}.lk-coins-bar.sm{height:5px;margin:6px 0 3px}.lk-coins-bar i{position:absolute;inset:0 auto 0 0;border-radius:5px;background:linear-gradient(90deg,#e0a53c,#ffe9a8);min-width:2px;transition:width .3s ease}.lk-note{font-size:12px;line-height:1.5;color:#ffffff80;margin:0}.lk-route-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}.lk-route-open{width:100%;display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:11px;padding:10px 11px;border-radius:12px;cursor:pointer;text-align:left;background:#ffffff0a;border:1px solid rgba(255,255,255,.07);color:inherit}.lk-route-open:hover{background:#9409ff24;border-color:#9409ff66}.lk-route-dot{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;color:#1a2410;background:#ffffff1a;border:1.5px solid rgba(255,255,255,.18);flex:0 0 auto}.lk-route-main{display:flex;flex-direction:column;min-width:0}.lk-route-main b{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lk-route-main small{font-size:11px;color:#ffffff6b}.lk-route-pill{font-size:10.5px;font-weight:700;letter-spacing:.03em;padding:4px 9px;border-radius:999px;white-space:nowrap;color:#ffffff8c;background:#ffffff12;border:1px solid rgba(255,255,255,.1)}.lk-route-pill.done{color:#1a2410;background:#caf45a;border-color:#caf45a}.lk-task{position:relative;background:linear-gradient(150deg,#9409ff29,#caf45a14);border-color:#caf45a47}.lk-task-badge{position:absolute;top:12px;right:12px;font-size:9px;font-weight:800;letter-spacing:.1em;color:#caf45a;opacity:.85}.lk-task-body{display:flex;align-items:center;gap:13px}.lk-task-ic{width:46px;height:46px;border-radius:13px;background:#ffffff14;display:flex;align-items:center;justify-content:center;font-size:24px;flex:0 0 auto}.lk-task-txt{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}.lk-task-txt b{font-size:14px;font-weight:700}.lk-task-txt small{font-size:11.5px;color:#ffffff8c;margin-top:2px}.lk-task-txt em{font-size:11px;font-style:normal;color:#caf45a;font-weight:700;align-self:flex-end}.lk-foot{display:flex;flex-direction:column;align-items:center;gap:10px;padding:4px 0 24px}.lk-foot .pp-delete{max-width:260px;margin-top:4px}.saved-drawer{position:fixed;top:84px;right:24px;width:360px;max-height:70vh;background:var(--bg-elevated);color:var(--fg);border:1px solid var(--rule);border-radius:var(--r-lg);box-shadow:var(--shadow-3);display:flex;flex-direction:column;overflow:hidden;z-index:60;animation:drawer-in .18s ease-out}@keyframes drawer-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.saved-drawer>header{display:flex;align-items:center;gap:8px;padding:14px 14px 12px;border-bottom:1px solid var(--rule)}.saved-drawer>header .title{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.12em;font-weight:700;text-transform:uppercase;color:var(--fg)}.saved-drawer>header .count{font-family:var(--font-mono);font-size:10px;font-weight:700;color:var(--ink-1000);background:var(--accent);padding:2px 7px;border-radius:999px;min-width:18px;text-align:center}.saved-drawer>header .close{margin-left:auto;width:26px;height:26px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--fg-muted);font-size:18px;line-height:1;transition:background .12s,color .12s}.saved-drawer>header .close:hover{background:#0000000d;color:var(--fg)}.saved-drawer .empty{padding:22px 18px;color:var(--fg-muted);font-family:var(--font-sans);font-size:13px;line-height:1.5;text-align:center}.saved-drawer ul{list-style:none;margin:0;padding:6px;overflow-y:auto;flex:1}.saved-drawer ul li+li{margin-top:2px}.saved-drawer .row{display:grid;grid-template-columns:44px 1fr 28px;align-items:center;gap:10px;width:100%;padding:8px;background:transparent;color:inherit;text-align:left;border-radius:10px;transition:background .12s}.saved-drawer .row:hover{background:#0000000a}.saved-drawer .row .thumb{width:44px;height:44px;border-radius:8px;background:var(--paper-200, #ECE6D7) center/cover no-repeat;flex:0 0 auto;border:1px solid var(--rule)}.saved-drawer .row .text{display:flex;flex-direction:column;gap:2px;min-width:0}.saved-drawer .row .text .name{font-family:var(--font-sans);font-size:13.5px;font-weight:600;color:var(--fg);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-drawer .row .text .meta{font-family:var(--font-sans);font-size:11.5px;font-weight:500;letter-spacing:0;color:var(--fg-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-drawer .row .unsave{width:26px;height:26px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--fg-muted);font-size:16px;line-height:1;transition:background .12s,color .12s}.saved-drawer .row .unsave:hover{background:#00000014;color:var(--fg)}.loc-picker{position:relative;display:inline-flex;margin-left:8px}.loc-picker-trigger{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;padding:7px 10px;border-radius:8px;color:#ffffffd9;background:#ffffff0f;transition:background .15s,color .15s}.loc-picker-trigger:hover{background:#ffffff1f;color:#fff}.loc-picker.open .loc-picker-trigger{background:var(--accent);color:var(--ink-1000)}.loc-picker-trigger svg{transition:transform .15s}.loc-picker.open .loc-picker-trigger svg{transform:rotate(180deg)}.loc-picker-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:260px;background:var(--bg-elevated);color:var(--fg);border:1px solid var(--rule);border-radius:var(--r-lg);box-shadow:var(--shadow-3);padding:6px;z-index:60;list-style:none;margin:0}.loc-picker-menu li+li{margin-top:2px}.loc-picker-menu button{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px 10px;width:100%;padding:8px 10px;border-radius:8px;text-align:left;background:transparent;color:inherit;transition:background .12s}.loc-picker-menu button:hover{background:#0000000d}.loc-picker-menu button.on{background:color-mix(in srgb,var(--accent) 18%,transparent)}.loc-picker-menu .lp-name{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;font-weight:700;text-transform:uppercase;color:var(--accent)}.loc-picker-menu .lp-full{font-family:var(--font-sans);font-size:13px;font-weight:600;color:var(--fg);line-height:1.25}.loc-picker-menu .lp-meta{display:inline-flex;align-items:center;gap:6px}.loc-picker-menu .lp-city{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.04em;color:var(--fg-muted);text-transform:uppercase}.loc-picker-menu .lp-live{font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:1px 5px;border-radius:3px;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.loc-picker-menu .lp-empty{padding:14px 12px;font-family:var(--font-sans);font-size:13px;color:var(--fg-muted);text-align:center}.map-stage{position:absolute;inset:0;background:var(--bg)}.map-stage canvas{display:block;width:100%!important;height:100%!important}.map-bleed{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.map-bleed img{position:absolute;top:-10%;left:-10%;width:120%;height:120%;object-fit:cover;filter:blur(40px) saturate(.6) brightness(.92);opacity:.7;user-select:none}.app-root{cursor:grab;overflow:hidden;position:relative;--rail-w: 360px}.map-frame{overflow:visible;will-change:transform}.map-frame>*{position:absolute;inset:0}.map-svg-host{overflow:hidden;background:var(--bg)}.map-svg-host>svg,.map-svg-host>img{width:100%;height:100%;display:block}.mesh-backdrop{width:100%;height:100%;display:block;background:var(--bg);pointer-events:none}.mesh-backdrop.over-photo{background:transparent}.candle-toast{position:fixed;left:50%;top:18px;transform:translate(-50%);z-index:24;display:inline-flex;align-items:center;gap:10px;padding:8px 14px;background:#141816eb;color:var(--paper-100, #fbf7ee);border-radius:999px;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.05em;font-weight:600;box-shadow:0 8px 24px #00000040;pointer-events:none;animation:candle-fade-in .2s ease-out}@keyframes candle-fade-in{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}.candle-toast-spin{width:12px;height:12px;border-radius:50%;border:1.6px solid rgba(255,255,255,.25);border-top-color:var(--accent, #2dd4bf);animation:candle-spin .7s linear infinite}@keyframes candle-spin{to{transform:rotate(360deg)}}.map-styled-host{position:absolute;inset:0;pointer-events:none;overflow:hidden}.map-styled-host>img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.85)}.app-root[data-loc="52"] .map-styled-host>img{opacity:.78;object-fit:contain}.map-stage:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(to right,var(--grid-line) 1px,transparent 1px),linear-gradient(to bottom,var(--grid-line) 1px,transparent 1px);background-size:32px 32px;opacity:.6}.left-stack{position:absolute;left:var(--s-6);top:112px;bottom:var(--s-6);width:var(--rail-w, 360px);display:flex;flex-direction:column;gap:var(--s-3);z-index:21;overflow-y:auto;overflow-x:visible;scrollbar-width:none}.left-stack::-webkit-scrollbar{display:none}.route-drawer-stack::-webkit-scrollbar{display:none}.left-stack .sheet-grab,.route-drawer-stack .sheet-grab{display:none}.left-stack .card{background:var(--bg-elevated);border:1px solid var(--rule);border-radius:var(--r-lg);box-shadow:var(--shadow-2);flex:0 0 auto;overflow:hidden;position:relative}.left-stack .card:has(.wp-dropdown),.left-stack .card:has(.suggest.open){overflow:visible;z-index:6}.left-stack .builder-card{overflow:visible;position:relative;z-index:5}.left-stack .builder-card>header{border-radius:var(--r-lg) var(--r-lg) 0 0}.left-stack .card header{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--rule)}.left-stack .card header .dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}.left-stack .card header .title{font-family:var(--font-mono);font-size:var(--text-eyebrow);font-weight:700;letter-spacing:.14em;color:var(--fg);text-transform:uppercase}.left-stack .card header .lnk{margin-left:auto;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--fg-faint);text-transform:uppercase}.left-stack .card header .lnk:hover{color:var(--fg)}.left-stack .card header .lnk.muted{pointer-events:none}.left-stack .card header .lnk-btn{background:none;border:0;cursor:pointer;color:var(--accent)}.left-stack .card header .lnk-btn:hover{filter:brightness(1.15);text-decoration:underline}.left-stack .card ul{list-style:none;margin:0;padding:6px;display:flex;flex-direction:column;gap:4px}.left-stack .card-body{padding:var(--space-4)}.left-stack .floors-card ul{max-height:38vh;overflow-y:auto}.floor-row{width:100%;min-height:var(--tap-min);display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:center;padding:11px 14px 11px 11px;border-radius:var(--r-lg);background:transparent;border:1.5px solid transparent;transition:background .12s ease,border-color .12s ease}.floor-row:hover{background:var(--bg-sunken)}.floor-row.on{background:color-mix(in srgb,var(--route) 14%,var(--bg-elevated));color:var(--fg);border-color:var(--route)}.floor-row .code{width:48px;height:48px;border-radius:13px;background:var(--bg-sunken);color:var(--fg-muted);border:1px solid var(--rule);font-family:var(--font-mono);font-size:16px;font-weight:800;letter-spacing:.02em;display:inline-flex;align-items:center;justify-content:center}.floor-row.on .code{background:#fff;color:var(--route-deep);border-color:var(--route-glow);box-shadow:0 6px 14px color-mix(in srgb,var(--route) 28%,transparent)}.floor-row .text{display:flex;flex-direction:column;gap:3px;text-align:left;min-width:0}.floor-row .name{font-family:var(--font-sans);font-size:17px;font-weight:700;letter-spacing:-.01em}.floor-row .meta{font-family:var(--font-mono);font-size:12px;font-weight:400;letter-spacing:0;color:var(--fg-faint)}.floor-row.on .meta{color:var(--fg-muted)}.floor-row .cnt{font-family:var(--font-mono);font-size:14px;font-weight:500;color:var(--fg-faint);font-variant-numeric:tabular-nums}.floor-row.on .cnt{color:var(--fg-muted)}.floor-row.all:not(.on){background:var(--bg-sunken)}.floor-row.all .code{background:#fff;color:var(--route-deep);border-color:var(--route-glow)}.floor-row.all.on .code{background:#fff;color:var(--route-deep)}.input-state .eng-route{display:block}.left-stack .builder-card:has(.eng-route .sh-head)>header,.route-drawer-stack .route-card:has(.eng-route .sh-head)>header{display:none}.left-stack .builder-card:has(.eng-route .sh-head)>.card-body,.route-drawer-stack .route-card:has(.eng-route .sh-head)>.card-body{padding:0}.input-state:has(.eng-route .sh-head) .route-fields,.input-state:has(.eng-route .sh-head) .dropzone,.input-state:has(.eng-route .sh-head) .build,.input-state:has(.eng-route .sh-head) .rf-status,.input-state:has(.eng-route .sh-head) .wp-rows,.input-state:has(.eng-route .sh-head) .action-row{display:none}.eng-route .sh-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px}.eng-route .sh-title{display:flex;align-items:center;gap:9px}.eng-route .sh-title .dot{width:9px;height:9px;border-radius:50%;background:var(--route)}.eng-route .sh-title .t{font-size:var(--text-eyebrow);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--fg)}.eng-route .sh-status{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--positive);background:var(--positive-tint);border-radius:999px;padding:5px 10px}.eng-route .sh-status .pdot{width:6px;height:6px;border-radius:50%;background:var(--positive)}.eng-route .eta{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding:0 16px 14px}.eng-route .eta-main{display:flex;align-items:baseline;gap:12px;min-width:0}.eng-route .eta-min{font-size:34px;font-weight:300;letter-spacing:-.03em;line-height:.9;cursor:pointer;white-space:nowrap}.eng-route .eta-min b{font-weight:700}.eng-route .eta-min .approx{font-weight:300;color:var(--fg-faint);margin-right:2px}.eng-route .eta-meta{display:flex;flex-direction:column;gap:3px;padding-bottom:3px}.eng-route .eta-meta .dist{font-size:var(--text-meta);font-weight:500;color:var(--fg-muted)}.eng-route .eta-meta .arr{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-faint)}.eng-route .eta-right{display:flex;align-items:center;gap:10px;flex:none}.eng-route .stepcount{font-size:var(--text-eyebrow);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-faint);text-align:right;line-height:1.3}.eng-route .stepcount b{display:block;font-size:16px;color:var(--fg)}.eng-route .collapse-btn{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--bg-sunken);border:1px solid var(--rule);color:var(--fg-muted);cursor:pointer}.eng-route .collapse-btn svg{width:16px;height:16px}.eng-route .progress{display:flex;gap:4px;padding:0 16px 16px}.eng-route .progress .seg{flex:1;height:5px;border-radius:3px;background:var(--rule);transition:.3s}.eng-route .progress .seg.done{background:var(--route-deep)}.eng-route .progress .seg.cur{background:var(--route);box-shadow:0 0 0 3px var(--route-glow)}.eng-route .step-card{margin:0 12px 14px;background:var(--bg-sunken);border:1px solid var(--rule);border-radius:var(--r-xl);padding:16px;display:flex;gap:14px;position:relative;overflow:hidden}.eng-route .step-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--route)}.eng-route .sc-token{flex:0 0 auto;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--route);color:#fff;box-shadow:0 6px 14px color-mix(in srgb,var(--route) 45%,transparent)}.eng-route .sc-token .num{font-size:20px;font-weight:800}.eng-route .sc-body{min-width:0;flex:1}.eng-route .sc-kind{display:flex;align-items:center;gap:8px;margin-bottom:4px}.eng-route .sc-kind .k{font-size:var(--text-eyebrow);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-faint)}.eng-route .sc-act{font-size:19px;font-weight:700;line-height:1.16;letter-spacing:-.01em;margin:0}.eng-route .sc-act .hl{color:var(--route-deep);background:var(--route-glow);border-radius:5px;padding:0 5px;-webkit-box-decoration-break:clone;box-decoration-break:clone}.eng-route .sc-next{margin:8px 0 0;font-size:var(--text-body);color:var(--fg-muted);line-height:1.4}.eng-route .sc-next .arr{color:var(--route-deep);font-weight:700}.eng-route .sc-a11y{display:inline-flex;align-items:center;gap:6px;margin-top:11px;font-size:11.5px;font-weight:600;color:var(--positive);background:var(--positive-tint);border-radius:999px;padding:5px 9px}.eng-route .sc-a11y svg{width:13px;height:13px}.eng-route .modetag{font-size:9.5px;font-weight:700;letter-spacing:.04em;padding:2px 6px;border-radius:5px;background:var(--ink-100);color:var(--fg-faint);flex:none}.eng-route .modetag.is3d{background:var(--route-glow);color:#8a5414}.eng-route .nav{display:flex;gap:9px;padding:0 12px 14px}.eng-route .nav .btn{min-height:52px;border-radius:var(--r-lg);display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:16px;font-weight:700;letter-spacing:-.01em;cursor:pointer;transition:.15s}.eng-route .nav .btn svg{width:18px;height:18px}.eng-route .nav .back{flex:0 0 auto;width:52px;background:var(--bg-sunken);border:1px solid var(--rule);color:var(--fg)}.eng-route .nav .back:disabled{opacity:.35;pointer-events:none}.eng-route .nav .next{flex:1;background:var(--ink-900);color:var(--paper-100);border:0}.eng-route .nav .next.finish{background:var(--positive);color:#fff}.eng-route .nav .btn:active{transform:scale(.98)}.eng-route .legs-wrap{padding:0 0 14px}.eng-route .legs-head{display:flex;align-items:center;justify-content:space-between;padding:0 16px 9px}.eng-route .legs-head .l{font-size:var(--text-eyebrow);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-faint)}.eng-route .legs-head .c{font-size:10.5px;color:var(--fg-faint)}.eng-route .legs{display:flex;gap:8px;overflow-x:auto;padding:2px 12px 6px;scrollbar-width:none}.eng-route .legs::-webkit-scrollbar{display:none}.eng-route .leg{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;padding:9px 11px;border-radius:999px;border:1px solid var(--rule);background:var(--bg-elevated);color:var(--fg-muted);font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer;transition:.2s}.eng-route .leg .ldot{width:8px;height:8px;border-radius:50%;background:var(--rule-strong);flex:0 0 auto}.eng-route .leg.cur{background:var(--route);color:#fff;border-color:var(--route);box-shadow:0 8px 18px color-mix(in srgb,var(--route) 38%,transparent)}.eng-route .leg.cur .ldot{background:#fff}.eng-route .leg.cur .modetag{background:#ffffff38;color:#fff}.eng-route .leg:active{transform:scale(.96)}.eng-route .od{margin:2px 12px 0;background:var(--bg-sunken);border:1px solid var(--rule);border-radius:var(--r-xl);position:relative;overflow:hidden}.eng-route .od-row{display:flex;align-items:center;gap:13px;padding:14px 16px}.eng-route .od-row .pt{width:13px;height:13px;border-radius:50%;flex:0 0 auto}.eng-route .od-row .pt.s{background:var(--positive)}.eng-route .od-row .pt.e{background:var(--route-deep)}.eng-route .od-row .meta{min-width:0;flex:1}.eng-route .od-row .meta .k{font-size:9.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--fg-faint);display:block;margin-bottom:2px}.eng-route .sh-head{display:flex;align-items:center;gap:8px}.eng-route .sh-head .sh-status{margin-left:auto}.eng-route .sh-reset{width:24px;height:24px;flex:0 0 auto;padding:0;border:0;border-radius:50%;display:grid;place-items:center;cursor:pointer;background:#ffffff1a;color:var(--fg-muted);transition:background .15s ease,color .15s ease}.eng-route .sh-reset svg{width:13px;height:13px}.eng-route .sh-reset:hover{background:#fff3;color:var(--fg)}.eng-route .od-row.od-edit{width:100%;text-align:left;background:transparent;border:0;cursor:pointer;border-radius:10px;transition:background .14s ease}.eng-route .od-row.od-edit:hover{background:#ffffff0f}.eng-route .od-pen{margin-left:auto;flex:0 0 auto;opacity:0;transition:opacity .14s ease;color:var(--fg-muted)}.eng-route .od-pen svg{width:14px;height:14px;display:block}.eng-route .od-row.od-edit:hover .od-pen{opacity:1}@media (hover: none){.eng-route .od-pen{opacity:.55}}.eng-route .od-row{min-width:0}.eng-route .od-row .meta{display:block;min-width:0;overflow:hidden}.eng-route .od-row .meta .v{display:block;min-width:0;font-size:16px;font-weight:700;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eng-route .od-row .meta .sub{display:block;min-width:0;font-size:var(--text-meta);color:var(--fg-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eng-route .od-row .meta .sub:empty{display:none}.eng-route .od-div{height:1px;background:var(--rule);margin-left:42px}.eng-route .od-thread{position:absolute;left:21.5px;top:38px;bottom:38px;width:2px;background:repeating-linear-gradient(var(--rule-strong) 0 2px,transparent 2px 5px)}.eng-route .od-swap{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--rule);display:grid;place-items:center;color:var(--fg-muted);box-shadow:var(--shadow-2);cursor:pointer;transition:color .2s,transform .3s}.eng-route .od-swap svg{width:17px;height:17px}.eng-route .od-swap:hover{color:var(--route-deep)}.eng-route .reset{display:flex;justify-content:center;padding:14px 16px 16px}.eng-route .reset button{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--fg-muted);padding:10px 16px;border-radius:999px;cursor:pointer;transition:.2s}.eng-route .reset button svg{width:15px;height:15px}.eng-route .reset button:hover{color:var(--fg);background:var(--bg-sunken)}.input-state .eng-route-meta{font-size:var(--text-meta);color:var(--fg-muted);padding:0 0 8px}.input-state .eng-route-meta b{color:var(--fg);font-weight:700}.input-state .eng-route-guide li:last-child .gstep{border-left-color:transparent}.input-state .eng-route-reset{margin-top:2px;min-height:var(--tap-min);padding:8px 10px;border:1px solid var(--rule);border-radius:var(--r-md);background:var(--bg-elevated);color:var(--fg);font-size:var(--text-button);font-weight:600;cursor:pointer;transition:.15s}.input-state .eng-route-reset:hover{border-color:var(--accent)}.input-state .eng-route-actions{display:flex;gap:8px;margin-top:2px}.input-state .eng-route-fly{flex:1;padding:8px 10px;border:0;border-radius:var(--r-md);background:var(--accent);color:#fff;font-size:var(--text-button);font-weight:600;cursor:pointer;transition:filter .12s}.input-state .eng-route-fly:hover{filter:brightness(1.07)}.input-state .eng-route-actions .eng-route-reset{margin-top:0;flex:0 0 auto}.theme-switcher{position:relative}.theme-pop{position:absolute;right:calc(100% + 8px);top:0;display:flex;flex-direction:column;gap:2px;padding:6px;background:var(--bg-elevated);border:1px solid var(--rule);border-radius:var(--r-md);box-shadow:var(--shadow-3);min-width:158px;z-index:30;max-height:78vh;overflow-y:auto;overscroll-behavior:contain}@media (max-width: 680px){.theme-switcher .theme-pop{position:fixed;inset:auto 12px 92px auto;max-height:64vh;min-width:220px}}.theme-row{display:flex;align-items:center;gap:8px;width:100%;padding:7px 9px;border:0;background:transparent;border-radius:8px;cursor:pointer;color:var(--fg);font-size:13px;text-align:left}.theme-row:hover{background:var(--bg-sunken)}.theme-row.on{background:var(--bg-sunken);font-weight:600}.theme-row .dot{width:12px;height:12px;border-radius:50%;flex:none;box-shadow:0 0 0 1px #00000014}.theme-row .tn{white-space:nowrap}.kset-pop{min-width:214px;gap:4px}.kset-row{display:flex;align-items:center;gap:8px;padding:5px 6px}.kset-label{font-size:12px;color:var(--fg);flex:none}.kset-row input[type=range]{flex:1;accent-color:var(--accent);min-width:0}.kset-val{font-family:var(--font-mono);font-size:11px;color:var(--fg-muted);width:30px;text-align:right}.kset-chk{display:flex;align-items:center;gap:7px;padding:5px 6px;font-size:12.5px;color:var(--fg);cursor:pointer}.kset-chk input{accent-color:var(--accent)}.kset-cap{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-muted);padding:6px 6px 2px}.kset-layers{display:grid;grid-template-columns:1fr 1fr;gap:0 6px}.kset-themes{display:flex;flex-direction:column;gap:1px;max-height:150px;overflow-y:auto;overscroll-behavior:contain}.kset-rotate{display:flex;align-items:center;gap:8px;width:100%;padding:7px 8px;margin:2px 0 4px;font-size:12.5px;color:var(--fg);background:var(--bg-sunken);border:1px solid var(--rule);border-radius:var(--r-md);cursor:pointer}.kset-rotate:hover{background:var(--bg-elevated);border-color:var(--accent)}.kset-rotate svg{color:var(--accent);flex:none}.room-card{position:fixed;left:50%;bottom:24px;transform:translate(-50%);width:320px;max-width:calc(100vw - 24px);background:var(--bg-elevated);border:1px solid var(--rule);border-radius:var(--r-lg);box-shadow:var(--shadow-3);padding:16px 18px;z-index:60}.room-card.rc-ov{left:22px;bottom:22px;transform:none;width:var(--rail-w, 340px);padding:0 0 16px;overflow:hidden}.room-card.rc-ov .rc-close{top:10px;right:10px;z-index:2;background:#ffffffd9}.room-card.rc-ov .rc-photo{display:block;width:100%;height:210px;object-fit:contain;background:#17121e}.room-card.rc-ov .rc-specs{flex-wrap:wrap;gap:6px;row-gap:6px}.room-card.rc-ov .rc-tier,.room-card.rc-ov .rc-spec{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:-.005em;white-space:nowrap}.room-card.rc-ov .rc-tier-high{background:#6b0fb8;color:#fff}.room-card.rc-ov .rc-tier-mid{background:#f2e2ff;color:#4a1273}.room-card.rc-ov .rc-tier-low{background:#caf45a;color:#16240a}.room-card.rc-ov .rc-spec{background:var(--panel);border:1px solid var(--ink-200);color:var(--ink-700);font-weight:600}.rc-carousel{position:relative;overflow:hidden}.rc-carousel .rc-cr-nav{position:absolute;top:50%;transform:translateY(-50%);width:30px;height:30px;padding:0;border-radius:50%;display:grid;place-items:center;z-index:2;background:#ffffffdb;color:#16240a;border:none;box-shadow:0 2px 8px #00000038;cursor:pointer;opacity:.8;transition:opacity .16s ease,background .16s ease}.rc-carousel .rc-cr-nav svg{width:16px;height:16px}.rc-carousel .rc-cr-nav.prev{left:8px}.rc-carousel .rc-cr-nav.next{right:8px}.rc-carousel:hover .rc-cr-nav{opacity:1}.rc-carousel .rc-cr-nav:hover{background:#fff}.rc-carousel .rc-cr-dots{position:absolute;left:0;right:0;bottom:8px;z-index:2;display:flex;justify-content:center;gap:5px}.rc-carousel .rc-cr-dot{width:6px;height:6px;padding:0;border-radius:50%;border:none;cursor:pointer;background:#ffffff80;box-shadow:0 1px 3px #00000059;transition:background .16s ease,width .16s ease}.rc-carousel .rc-cr-dot.on{background:#fff;width:16px;border-radius:3px}.rc-carousel .rc-cr-count{position:absolute;bottom:8px;right:10px;z-index:2;padding:2px 7px;border-radius:999px;background:#00000080;color:#fff;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.04em}.room-card.rc-ov .rc-tag{margin:13px 18px 0}.room-card.rc-ov .rc-tagrow{display:flex;align-items:center;gap:9px;margin:13px 18px 0;flex-wrap:wrap}.room-card.rc-ov .rc-tagrow .rc-chip{margin:0}.room-card.rc-ov .rc-catdot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;vertical-align:middle}.room-card.rc-ov .rc-num{font-family:var(--font-mono, monospace);font-size:11px;font-weight:700;color:var(--fg-muted);letter-spacing:.02em}.room-card.rc-ov .rc-title-ov{margin:5px 18px 0;font-size:18px;line-height:1.18;font-weight:700}.room-card.rc-ov .rc-desc{margin:10px 18px 0;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-right:8px;font-size:13px;line-height:1.5;color:var(--fg-muted);scrollbar-width:thin}.room-card.rc-ov .rc-desc::-webkit-scrollbar{width:6px}.room-card.rc-ov .rc-desc::-webkit-scrollbar-thumb{background:var(--rule);border-radius:3px}.room-card.rc-ov .rc-ext{display:inline-block;margin:10px 18px 0}.rc-ext,.poi-ext{color:var(--accent, #2E8B57);font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:3px}.rc-ext:hover,.poi-ext:hover{opacity:.8}.poi-ext{display:inline-block;margin:0 0 var(--s-5)}.room-card.rc-ov .rc-actions{margin:14px 18px 0}.room-card.rc-ov .rc-save{margin:9px 18px 0}.room-card.rc-ov.rc-ov-noimg{padding-top:16px}.room-card.rc-ov .rc-chip{display:inline-flex;align-items:center;margin:13px 18px 0;padding:3px 11px;border-radius:999px;background:#ffffff0a;border:1.5px solid var(--accent, #2E8B57);color:var(--accent, #2E8B57);font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.room-card.rc-ov .rc-dev{margin:6px 18px 0;font-size:12px;color:var(--fg-muted);font-weight:600}.room-card .rc-close{position:absolute;top:10px;right:12px;width:26px;height:26px;border:0;background:transparent;font-size:20px;line-height:1;color:var(--fg-muted);cursor:pointer;border-radius:7px}.room-card .rc-close:hover{background:var(--bg-sunken);color:var(--fg)}.room-card .rc-tag{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.room-card .rc-title{font-family:var(--font-serif, Fraunces),serif;font-size:24px;font-weight:600;color:var(--fg);margin:6px 0 14px}.room-card .rc-actions{display:flex;gap:8px}.room-card .rc-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;border-radius:999px;border:1px solid var(--rule);background:var(--bg-sunken);color:var(--fg);font-size:13px;font-weight:600;cursor:pointer;transition:.15s}.room-card .rc-btn:hover{border-color:var(--accent)}.room-card .rc-btn .pip{width:10px;height:10px;border-radius:50%;flex:none}.room-card .rc-btn.from .pip{background:#6fbf6a;box-shadow:0 0 0 3px #6fbf6a2e}.room-card .rc-btn.to .pip{background:#f58030;box-shadow:0 0 0 3px #f580302e}.room-card .rc-save{display:inline-flex;align-items:center;gap:7px;margin-top:10px;padding:8px 12px;border:1px solid var(--rule);border-radius:999px;background:transparent;color:var(--fg-muted);font-size:12.5px;font-weight:600;cursor:pointer;transition:.15s}.room-card .rc-save:hover{border-color:var(--accent);color:var(--fg)}.room-card .rc-save.on{color:var(--accent);border-color:var(--accent)}.kmini{position:fixed;right:var(--s-6);bottom:var(--s-6);width:200px;height:132px;background:var(--bg-elevated);border:1px solid var(--rule);border-radius:var(--r-md);box-shadow:var(--shadow-2);overflow:hidden;z-index:18}.kmini canvas{width:100%;height:100%;display:block}.kmini-badge{position:absolute;left:8px;top:8px;z-index:1;font-family:var(--font-mono);font-size:11px;font-weight:700;background:var(--ink-1000);color:var(--paper-100);padding:2px 7px;border-radius:6px}@media (max-width: 900px){.kmini{display:none}}.route-row-wrap{display:flex;flex-direction:column}.route-row{width:100%;display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;padding:10px 12px 10px 8px;border-radius:var(--r-md);background:transparent;transition:background .12s ease;color:var(--fg)}.route-row:hover{background:var(--bg-sunken)}.route-guide-btn{align-self:flex-start;margin:2px 0 6px 64px;padding:4px 12px;border-radius:999px;cursor:pointer;font-size:11px;font-weight:700;letter-spacing:.04em;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 34%,transparent);transition:background .12s ease,transform .1s ease}.route-guide-btn:hover{background:color-mix(in srgb,var(--accent) 24%,transparent);transform:translate(2px)}.route-row .thumb{width:56px;height:56px;border-radius:8px;position:relative;overflow:hidden;background-size:cover;background-position:center}.route-row .thumb-code{position:absolute;left:6px;bottom:4px;font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.08em;color:#fffffff2}.route-row .text{display:flex;flex-direction:column;gap:4px;text-align:left;min-width:0}.route-row .name{font-family:var(--font-sans);font-size:13.5px;font-weight:600;line-height:1.25}.route-row .meta{font-family:var(--font-sans);font-size:11.5px;font-weight:500;letter-spacing:0;color:var(--fg-muted)}.route-row .meta em{font-style:normal;color:var(--accent);font-weight:700}.route-row .ar-hint{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:9.5px;font-weight:700;letter-spacing:.1em;color:color-mix(in srgb,var(--accent) 70%,var(--fg-muted));text-transform:uppercase;margin-top:2px}.route-row .ar-hint svg{color:currentColor;flex:0 0 auto}.route-row-lock{width:28px;height:28px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);flex:0 0 auto}.route-row.ar-locked:hover .route-row-lock{background:color-mix(in srgb,var(--accent) 22%,transparent)}.routes-tile{width:100%;display:grid;grid-template-columns:44px 1fr auto auto;gap:12px;align-items:center;padding:14px 16px;cursor:pointer;background:transparent;border:0;color:var(--fg);text-align:left;transition:background .12s ease}.routes-tile:hover{background:var(--bg-sunken)}.routes-tile:hover .routes-tile-arr{transform:translate(3px)}.routes-tile-ico{width:44px;height:44px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}.routes-tile-text{display:flex;flex-direction:column;gap:3px;min-width:0}.routes-tile-name{font-family:var(--font-sans);font-size:14.5px;font-weight:700;line-height:1.2}.routes-tile-meta{font-family:var(--font-sans);font-size:11.5px;font-weight:500;color:var(--fg-muted)}.routes-tile-cnt{min-width:26px;height:26px;padding:0 8px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:12px;font-weight:700;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.routes-tile-arr{display:inline-flex;align-items:center;color:var(--fg-faint);transition:transform .12s ease}.search-bar{position:absolute;left:calc(var(--s-6) + 360px + var(--s-3));right:var(--s-6);top:112px;z-index:22;display:flex;flex-direction:column;gap:12px;pointer-events:none}.search-bar>*{pointer-events:auto}.search-input{display:flex;align-items:center;gap:10px;height:56px;padding:0 14px 0 18px;background:var(--bg-elevated);border:1px solid var(--rule);border-radius:var(--r-lg);box-shadow:var(--shadow-2);color:var(--fg)}.search-input svg{color:var(--fg-muted);flex:0 0 auto}.search-input input{flex:1;min-width:0;height:100%;background:transparent;border:0;font-family:var(--font-sans);font-size:15px;color:var(--fg)}.search-input input::placeholder{color:var(--fg-muted)}.search-input input:focus{outline:none}.search-input .cog{width:32px;height:32px;border-radius:8px;background:var(--bg-sunken);color:var(--fg-muted);display:inline-flex;align-items:center;justify-content:center;transition:color .12s ease}.search-input .cog:hover{color:var(--fg)}.chip-row{display:flex;gap:8px;flex-wrap:wrap}.chip-rows{display:flex;flex-direction:column;gap:8px}.chip-row.scroll{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-x;padding-bottom:1px}.chip-row.scroll::-webkit-scrollbar{display:none}.chip-row.scroll .flt-chip{flex:0 0 auto}.chip-row .flt-chip{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:999px;background:var(--bg-elevated);border:1px solid var(--rule);font-family:var(--font-sans);font-size:13px;font-weight:600;color:var(--fg);box-shadow:var(--shadow-1)}.chip-row .flt-chip .dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}.chip-row .flt-chip em{font-family:var(--font-mono);font-style:normal;font-size:11px;font-weight:700;color:var(--fg-muted);letter-spacing:.04em}.chip-row .flt-chip.on{background:var(--ink-1000);color:var(--paper-100);border-color:var(--ink-1000)}.chip-row .flt-chip.on em{color:#fff9}.search-palette{position:absolute;left:0;right:0;top:64px;background:var(--bg-elevated);border:1px solid var(--rule);border-radius:var(--r-lg);box-shadow:var(--shadow-3);padding:6px;max-height:60vh;overflow-y:auto}.search-palette .palette-chips{position:sticky;top:-6px;z-index:2;margin:-6px -6px 6px;padding:10px 8px 8px;background:var(--bg-elevated);border-bottom:1px solid var(--rule)}.search-palette .palette-chips .chip-row{padding:0 2px}.palette-head{display:flex;align-items:center;gap:8px;padding:10px 12px 4px;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.14em;color:var(--fg-muted);text-transform:uppercase}.palette-head em{margin-left:auto;font-style:normal;color:var(--fg)}.palette-row{width:100%;display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;padding:8px 10px;border-radius:var(--r-md);background:transparent}.palette-row:hover{background:var(--bg-sunken)}.palette-row .thumb{width:44px;height:44px;border-radius:7px;background:var(--bg-sunken);display:inline-flex;align-items:center;justify-content:center;color:var(--fg-muted);overflow:hidden;flex:0 0 44px}.palette-row .thumb .thumb-img{display:block;width:100%;height:100%;background-size:cover;background-position:center;border-radius:7px}.palette-row .thumb .thumb-img.remote-img{position:relative;overflow:hidden}.palette-row .thumb .thumb-img.remote-img img{width:100%;height:100%;object-fit:cover;display:block}.palette-row .thumb.cp-thumb{background:radial-gradient(circle,#46a06e 30%,#2c6e47 70%);color:#06231f}.palette-row .text{display:flex;flex-direction:column;gap:3px;text-align:left;min-width:0}.palette-row .title{font-size:13.5px;font-weight:600;color:var(--fg)}.palette-row .meta{font-family:var(--font-mono);font-size:10px;font-weight:600;color:var(--fg-muted);letter-spacing:.04em}.palette-row .kbd{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--fg-muted)}.palette-empty{padding:20px;text-align:center;font-family:var(--font-mono);font-size:12px;color:var(--fg-muted)}.palette-hint{display:flex;justify-content:space-between;padding:8px 12px 4px;border-top:1px solid var(--rule);margin-top:4px;font-family:var(--font-mono);font-size:10px;color:var(--fg-muted);letter-spacing:.04em}.map-controls{position:absolute;right:var(--s-6);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:var(--s-2);z-index:20}.map-btn{width:44px;height:44px;border-radius:var(--r-md);background:var(--bg-elevated);border:1px solid var(--rule);color:var(--fg);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-1);transition:.15s}.map-btn:hover{color:var(--accent);border-color:var(--accent)}.map-btn.on{color:var(--paper-100);background:var(--ink-1000);border-color:var(--ink-1000)}.map-btn.on:hover{background:var(--ink-700);color:var(--paper-100)}.map-btn.badge-host{position:relative}.map-btn .badge-dot{position:absolute;right:-4px;top:-4px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--accent, #9409FF);color:#fff;font-size:10px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;justify-content:center}.map-btn-group{display:flex;flex-direction:column;background:var(--bg-elevated);border:1px solid var(--rule);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-1)}.map-btn-group .map-btn{border:0;border-radius:0;box-shadow:none;border-bottom:1px solid var(--rule);height:40px}.map-btn-group .map-btn:last-child{border-bottom:0}.mini-map{position:absolute;right:var(--s-6);bottom:var(--s-6);width:240px;max-height:220px;background:var(--bg-elevated);border:1px solid var(--rule);border-radius:var(--r-md);padding:0;overflow:hidden;box-shadow:var(--shadow-2);z-index:18;cursor:crosshair;touch-action:none}.mini-map .mini-noimg{position:absolute;inset:0;background:linear-gradient(135deg,#d8965014,#ff8a400f);background-color:var(--bg-sunken, #1c1f1e)}.mini-map .mini-mesh{position:absolute;inset:0;z-index:0}.mini-map .mini-mesh>canvas.mesh-backdrop{width:100%;height:100%}.mini-map img{width:100%;height:100%;object-fit:cover;opacity:.9;display:block}.mini-map .floor-code{position:absolute;left:10px;top:10px;background:var(--ink-1000);color:var(--paper-100);font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.06em;padding:3px 7px;border-radius:4px;pointer-events:none;z-index:2}.mini-map .mini-vp{position:absolute;border:1.5px solid var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);border-radius:3px;pointer-events:none;box-shadow:0 0 0 1px #fff9;z-index:1;transition:transform .05s linear}.mini-map .mini-route{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}.mini-map .mini-route path{fill:none;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.mini-map .mini-route-halo{stroke:#ff6a2c;stroke-width:5;opacity:.28}.mini-map .mini-route-line{stroke:#ff6a2c;stroke-width:2}.route-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:10}.route-line{fill:none;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.route-line.halo{stroke:#ff6a2c;stroke-width:6;opacity:.18}.route-line.solid{stroke:#ff6a2c;stroke-width:2.2;stroke-dasharray:4 3;animation:route-dash 1.2s linear infinite}@keyframes route-dash{to{stroke-dashoffset:-14}}.map-pins{position:absolute;inset:0;pointer-events:none;z-index:12}.map-pins>*{pointer-events:auto}.map-pin{position:absolute;transform:translate(-50%,-100%) scale(var(--pin-counter-scale, 1));transform-origin:50% 100%;display:inline-flex;align-items:flex-end;background:none;border:0;padding:0;cursor:pointer;filter:drop-shadow(0 2px 4px rgba(0,0,0,.22));transition:transform .12s ease}.map-pin:hover,.map-pin.on,.map-pin:focus-visible{transform:translate(-50%,-100%) scale(calc(var(--pin-counter-scale, 1) * 1.12));outline:none}.map-pin .route-stop-num{position:absolute;left:50%;top:-16px;transform:translate(-50%) scale(var(--cal-cntr-x, 1),var(--cal-cntr-y, 1)) rotate(var(--cal-cntr-rot, 0deg)) rotateX(var(--cal-tilt, 0deg));min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--ink-1000);color:var(--paper-100);font-family:var(--font-mono);font-size:11px;font-weight:800;letter-spacing:.02em;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--paper-100);box-shadow:0 2px 6px #00000052;pointer-events:none;z-index:2}.map-pin.route-stop{filter:drop-shadow(0 3px 6px rgba(0,0,0,.32))}.map-pin .body{position:relative;display:inline-block}.map-pin .body svg{display:block}.map-pin .glyph{position:absolute;left:50%;top:11px;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;pointer-events:none}.map-pin[data-cat=default] .glyph{display:none}.map-cluster{position:absolute;transform:translate(-50%,-50%) scale(var(--pin-counter-scale, 1));transform-origin:50% 50%;min-width:34px;height:34px;padding:0 8px;border-radius:999px;background:var(--ink-1000);color:var(--paper-100);border:2px solid var(--paper-100);font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.04em;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px #00000040;transition:transform .12s ease}.map-cluster:hover,.map-cluster:focus-visible{transform:translate(-50%,-50%) scale(calc(var(--pin-counter-scale, 1) * 1.08));outline:none}.map-cluster.cp-cluster{background:radial-gradient(circle,#1fb6e0,#2c6e47);color:#fff;border:2px solid #fff;box-shadow:0 0 0 4px #46a06e40,0 4px 16px #0a7e9173}.map-pin .lbl{position:absolute;left:50%;bottom:calc(100% + 4px);transform:translate(-50%) scale(var(--cal-cntr-x, 1),var(--cal-cntr-y, 1)) rotate(var(--cal-cntr-rot, 0deg)) rotateX(var(--cal-tilt, 0deg));background:var(--ink-1000);color:var(--paper-100);font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 7px;border-radius:3px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s ease}.map-pin .lbl:after{content:"";position:absolute;left:50%;bottom:-4px;transform:translate(-50%);border:4px solid transparent;border-top-color:var(--ink-1000)}.map-pin:hover .lbl,.map-pin.on .lbl,.map-pin:focus-visible .lbl{opacity:1}.map-checkpoint{position:absolute;transform:translate(-50%,-50%) scale(var(--pin-counter-scale, 1));transform-origin:50% 50%;width:88px;height:88px;background:none;border:0;padding:0;cursor:pointer;z-index:11}.map-checkpoint:hover,.map-checkpoint:focus-visible{outline:none}.map-checkpoint .halo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:88px;height:88px;border-radius:50%;background:radial-gradient(circle,rgba(70,160,110,.55) 0%,rgba(70,160,110,.18) 50%,transparent 70%);animation:cp-halo 2.4s ease-in-out infinite}.map-checkpoint .ring{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;border:1.5px dashed rgba(10,126,145,.55)}.map-checkpoint .core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:22px;height:22px;border-radius:50%;background:radial-gradient(circle,#fff,#46a06e 60%,#2c6e47);box-shadow:0 0 14px #46a06eb3,inset 0 0 0 2px #46a06e}.map-checkpoint .lbl{position:absolute;left:calc(50% + 32px);top:50%;transform:translateY(-50%) scale(var(--cal-cntr-x, 1),var(--cal-cntr-y, 1)) rotate(var(--cal-cntr-rot, 0deg)) rotateX(var(--cal-tilt, 0deg));background:var(--ink-1000);color:var(--paper-100);font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:3px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s ease}.map-checkpoint:hover .lbl,.map-checkpoint:focus-visible .lbl{opacity:1}.route-drawer-stack{position:absolute;left:var(--s-6);top:96px;bottom:var(--s-6);width:360px;display:flex;flex-direction:column;gap:var(--s-3);z-index:22;overflow-y:auto}.route-drawer-stack .card{background:var(--bg-elevated);border:1px solid var(--rule);border-radius:var(--r-lg);box-shadow:var(--shadow-2);overflow:hidden}.route-drawer-stack .card:has(.suggest.open){overflow:visible;z-index:6}.route-drawer-stack .card header{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--rule)}.route-drawer-stack .card header .dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}.route-drawer-stack .card header .title{font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:.14em;color:var(--fg);text-transform:uppercase}.route-drawer-stack .card header .lnk{margin-left:auto;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--fg-muted);text-transform:uppercase}.route-drawer-stack .card header .lnk:hover{color:var(--fg)}.route-drawer-stack .card-body{padding:14px}.route-drawer-stack .floors-card ul{list-style:none;margin:0;padding:6px;display:flex;flex-direction:column;gap:4px}.wp-rows{display:flex;flex-direction:column;gap:8px;position:relative}.input-state .wp-add{display:flex;align-items:center;gap:8px;margin-top:8px;padding:12px 14px;border:1px dashed var(--rule-strong);border-radius:var(--r-md);color:var(--fg-muted);font-size:var(--text-meta);font-weight:500}.input-state .wp-add svg{color:var(--fg-faint);flex:none}.pick-hint{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:80;pointer-events:none;display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:var(--r-pill);background:var(--chrome-dark);-webkit-backdrop-filter:var(--chrome-blur);backdrop-filter:var(--chrome-blur);color:var(--paper-100);font-size:15px;font-weight:600;box-shadow:var(--shadow-pop);animation:pickHintIn .25s ease}.pick-hint .ph-dot{width:9px;height:9px;border-radius:50%;background:var(--route);flex:none}@keyframes pickHintIn{0%{opacity:0;transform:translate(-50%,-44%)}to{opacity:1;transform:translate(-50%,-50%)}}.left-stack .builder-card>.card-body,.route-drawer-stack .route-card>.card-body{padding:0}.input-state .route-fields{position:relative;padding:8px 14px 12px}.input-state .rf{position:relative;display:flex;align-items:center;gap:13px;background:var(--bg-sunken);border:1.5px solid transparent;border-radius:var(--r-lg);padding:15px 60px 15px 16px;margin-bottom:9px;cursor:text;transition:.2s}.input-state .rf:last-of-type{margin-bottom:0}.input-state .rf:hover{background:var(--paper-300)}.input-state .rf.focus{background:var(--bg-elevated);border-color:var(--route);box-shadow:0 0 0 4px color-mix(in srgb,var(--route) 16%,transparent)}.input-state .rf .pt{width:13px;height:13px;border-radius:50%;flex:0 0 auto}.input-state .rf.from .pt{background:var(--positive);box-shadow:0 0 0 4px var(--positive-tint)}.input-state .rf.to .pt{background:var(--route);box-shadow:0 0 0 4px var(--route-glow)}.input-state .rf .field{flex:1;min-width:0}.input-state .rf .lab{display:block;font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-faint);opacity:0;height:0;overflow:hidden;transition:opacity .2s}.input-state .rf.filled .lab,.input-state .rf.focus .lab{opacity:1;height:auto;margin-bottom:3px}.input-state .rf input{width:100%;border:0;background:transparent;outline:none;color:var(--fg);font:600 16px/1.2 var(--font-sans);letter-spacing:-.01em;padding:0}.input-state .rf input::placeholder{color:var(--fg-muted);font-weight:600;opacity:.85}.input-state .rf.filled input{font-weight:700}.input-state .route-fields .swap{position:absolute;right:16px;top:50%;transform:translateY(-50%);z-index:3;width:42px;height:42px;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--rule);display:grid;place-items:center;color:var(--fg-muted);cursor:pointer;box-shadow:var(--shadow-2);transition:transform .4s,color .2s,border-color .2s}.input-state .route-fields .swap svg{width:18px;height:18px}.input-state .route-fields .swap:hover{color:var(--route-deep);border-color:var(--rule-strong);transform:translateY(-50%) rotate(180deg)}.input-state .rf .suggest{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:50;background:var(--bg-elevated);border:1px solid var(--rule);border-radius:var(--r-lg);box-shadow:var(--shadow-3);padding:6px;max-height:320px;overflow-y:auto}.input-state .rf .sug{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:11px;cursor:pointer;transition:.12s}.input-state .rf .sug:hover{background:var(--bg-sunken)}.input-state .rf .sug .si{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:0 0 auto;background:var(--paper-300);color:var(--fg-muted)}.input-state .rf .sug .si svg{width:17px;height:17px}.input-state .rf .sug .sm{min-width:0;flex:1;display:flex;flex-direction:column;gap:1px}.input-state .rf .sug .sm .sv{display:block;font:700 14.5px/1.2 var(--font-sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.input-state .rf .sug .sm .ss{font-size:11px;color:var(--fg-faint)}.input-state .rf .sug .sk{font-size:12px;color:var(--fg-faint);flex:none}.input-state .dropzone{width:calc(100% - 28px);box-sizing:border-box;margin:0 14px 14px;border:1.5px dashed var(--rule-strong);border-radius:var(--r-lg);padding:13px;display:flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;color:var(--fg-muted);font:600 13.5px/1 var(--font-sans);transition:.2s}.input-state .dropzone svg{width:16px;height:16px}.input-state .dropzone:hover{border-color:var(--route);color:var(--route-deep);background:color-mix(in srgb,var(--route-glow) 30%,transparent)}.input-state .build{width:calc(100% - 28px);box-sizing:border-box;margin:0 14px 14px;height:54px;border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;gap:9px;background:var(--ink-900);color:var(--paper-100);font:700 16px/1 var(--font-sans);cursor:pointer;transition:transform .15s}.input-state .build svg{width:18px;height:18px}.input-state .build:active{transform:scale(.985)}.input-state .rf-status{margin:0 14px 14px;text-align:center;font-size:var(--text-meta);color:var(--fg-faint)}.wp{display:grid;grid-template-columns:13px 1fr auto;gap:13px;align-items:center;min-height:56px;padding:16px;background:var(--bg-sunken);border-radius:var(--r-lg);color:var(--fg);position:relative}.route-card.dark{background:var(--bg-elevated);color:var(--fg);border-color:var(--rule)}.route-card.dark header{border-bottom-color:var(--rule)}.route-card.dark header .title{color:var(--fg)}.route-card.dark header .lnk{color:var(--fg-muted)}.route-card.dark header .lnk:hover{color:var(--fg)}.route-card header .rd-to-map{margin-left:auto;flex:0 0 auto;padding:6px 12px;border:1px solid var(--rule, #D2D6DF);border-radius:999px;background:transparent;color:var(--fg-muted, #6B7280);font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.route-card header .rd-to-map:hover{color:var(--fg);border-color:var(--fg-muted)}.route-card.dark .wp{background:var(--bg-sunken);color:var(--fg)}.route-card.dark .wp-name{color:var(--fg)}.route-card.dark .wp-act{color:var(--fg-muted)}.route-card.dark .wp-act:hover{color:var(--fg);background:var(--ink-100)}.route-card.dark .btn-swap{background:var(--bg-elevated);color:var(--fg-muted)}.route-card.dark .btn-swap:hover{color:var(--accent)}.route-card.dark .wp input,.route-card.dark .wp input::placeholder{color:var(--fg)}.route-card.dark .wp input::placeholder{color:var(--fg-faint)}.wp-picker{position:relative;min-width:0}.wp-input{width:100%;height:100%;background:transparent;border:0;padding:0;font-family:var(--font-sans);font-size:16px;font-weight:600;letter-spacing:-.01em;color:inherit}.wp-input:focus{outline:none}.wp-dropdown{position:absolute;left:-10px;right:-10px;top:calc(100% + 8px);list-style:none;margin:0;padding:4px;background:var(--bg-elevated);color:var(--fg);border:1px solid var(--rule);border-radius:var(--r-md);box-shadow:var(--shadow-3);max-height:320px;overflow-y:auto;z-index:60}.wp-dropdown li{display:flex;align-items:center;gap:8px;min-height:40px;padding:9px 10px;border-radius:6px;cursor:pointer}.wp-dropdown li:hover{background:var(--bg-sunken)}.wp-dropdown li .row-name{font-family:var(--font-sans);font-size:var(--text-title);font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wp-dropdown li .row-tag{font-size:var(--text-meta);font-weight:500;letter-spacing:0;color:var(--fg-muted)}.wp-dot{width:10px;height:10px;border-radius:50%;background:var(--ink-700);justify-self:center}.wp-dot.start{background:#6fbf6a;box-shadow:0 0 0 4px #6fbf6a1f}.wp-dot.end{background:#f58030;box-shadow:0 0 0 4px #f5803024}.wp-name{font-family:var(--font-sans);font-size:14px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wp-act{width:32px;height:32px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--fg-muted);background:transparent}.wp-act:hover{color:var(--fg);background:#0000000a}.action-row{display:block;margin-top:12px}.route-drawer-stack .wp-rows{padding:14px 14px 0}.route-drawer-stack .action-row{padding:0 14px 14px}.route-drawer-stack .action-row .btn-rebuild{display:block;width:100%}.btn-swap{position:absolute;right:9px;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;z-index:4;background:var(--bg-elevated);color:var(--fg-muted);border:1px solid var(--rule);box-shadow:var(--shadow-2);display:inline-flex;align-items:center;justify-content:center;transition:color .12s,border-color .12s,transform .12s}.btn-swap:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-50%) scale(1.06)}.btn-swap:active{transform:translateY(-50%) scale(.94)}.btn-rebuild{height:48px;border-radius:var(--r-md);background:linear-gradient(135deg,#c0791f,#dd9942);color:var(--ink-1000);font-family:var(--font-sans);font-size:13px;font-weight:800;letter-spacing:0;text-transform:none;box-shadow:0 8px 24px #c0791f59;transition:transform .12s ease}.btn-rebuild:hover{transform:translateY(-1px)}.btn-rebuild:disabled{opacity:.55;cursor:not-allowed;transform:none}.build-status{width:100%;min-height:40px;border-radius:var(--r-md);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-sans);font-size:var(--text-meta);font-weight:500;letter-spacing:0;text-transform:none;background:transparent;color:var(--fg-muted);border:1px dashed var(--rule)}.build-status.loading{color:var(--fg-faint)}.build-status.ready{color:var(--accent);border-color:var(--accent);border-style:solid}.build-status.waiting{color:#ffffff80}.build-status.ready{background:linear-gradient(135deg,#c0791f,#dd9942);color:var(--ink-1000);border:0;animation:build-pulse 1.2s ease-in-out infinite}@keyframes build-pulse{0%,to{opacity:1}50%{opacity:.75}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);height:44px;padding:0 var(--s-5);border-radius:var(--r-pill);font-family:var(--font-sans);font-size:var(--text-button);font-weight:600;letter-spacing:0;transition:.15s;white-space:nowrap}.btn-primary{background:var(--accent);color:var(--ink-1000);box-shadow:var(--shadow-2)}.btn-primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-3)}.btn-primary:disabled,.btn-primary.disabled{background:var(--ink-200);color:var(--fg-faint);cursor:not-allowed;box-shadow:none;transform:none}.btn-ghost{background:transparent;color:var(--fg-muted);padding:0 14px}.btn-ghost:hover{color:var(--fg)}.btn-icon{width:44px;height:44px;padding:0;border-radius:var(--r-pill);background:var(--bg-elevated);border:1px solid var(--rule);color:var(--fg)}.btn-icon:hover{border-color:var(--accent);color:var(--accent)}.tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--r-pill);background:var(--bg-sunken);font-family:var(--font-mono);font-size:var(--t-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-muted)}.tag.accent{background:var(--accent-tint);color:var(--accent)}.metrics{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;padding:14px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.metric{display:flex;flex-direction:column;gap:2px;padding:0 4px;border-right:1px solid var(--rule)}.metric:last-child{border-right:0}.metric-num{font-size:28px;font-weight:300;line-height:1;color:var(--fg);letter-spacing:-.02em}.metric-num small{font-size:14px;font-weight:500;color:var(--accent);margin-left:3px;font-family:var(--font-mono)}.metric-label{font-family:var(--font-mono);font-size:10px;letter-spacing:var(--ls-mono-caps);text-transform:uppercase;color:var(--fg-faint);font-weight:500;margin-top:6px}.stops{display:flex;flex-direction:column;gap:0;padding:4px 0}.stop{display:flex;align-items:center;gap:14px;padding:8px 0;position:relative}.stop-dot{width:28px;height:28px;border-radius:50%;background:var(--ink-100);color:var(--ink-700);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:12px;font-weight:700;flex-shrink:0;z-index:1}.stop-dot.start{background:var(--accent);color:var(--ink-1000)}.stop-dot.end{background:var(--ink-1000);color:var(--paper-100)}.stop-line{position:absolute;left:13px;top:24px;bottom:-8px;width:2px;background:var(--rule-strong);z-index:0}.stop:last-child .stop-line{display:none}.stop-text{font-size:14px;font-weight:500;color:var(--fg);line-height:1.4}.remote-img{position:relative;overflow:hidden;background:var(--bg-sunken)}.remote-img.rounded{border-radius:inherit}.remote-img img{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .2s ease}.remote-img.cover img{object-fit:cover;object-position:center}.remote-img.contain img{object-fit:contain;object-position:center}.remote-img.loaded img{opacity:1}.remote-img .ri-skel{position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--ink-1000) 6%,var(--bg-sunken)),color-mix(in srgb,var(--ink-1000) 2%,var(--bg)),color-mix(in srgb,var(--ink-1000) 6%,var(--bg-sunken)));background-size:200% 100%;animation:ri-shimmer 1.4s linear infinite;z-index:1}.remote-img.loaded .ri-skel{opacity:0;pointer-events:none;transition:opacity .25s ease}.remote-img.errored .ri-skel{animation:none;opacity:0}.remote-img .ri-err{position:absolute;inset:0;display:inline-flex;align-items:center;justify-content:center;color:var(--fg-muted);z-index:2}@keyframes ri-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.poi-scrim{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0a0e0980;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:40}.poi-passport{position:relative;left:auto;top:auto;transform:none;width:440px;max-width:calc(100vw - 48px);background:var(--bg-elevated);border-radius:var(--r-lg);box-shadow:var(--shadow-pop);overflow:hidden;border:1px solid var(--rule)}.poi-img{height:240px;background-size:cover;background-position:center;background-color:var(--ink-200);position:relative}.poi-close{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:50%;background:#fffffff2;color:var(--ink-700);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-1)}.poi-content{padding:var(--s-6)}.poi-title{font-family:var(--font-serif);font-style:italic;font-weight:600;font-size:var(--t-xl);margin:0 0 12px;letter-spacing:var(--ls-headline);color:var(--fg)}.poi-desc{font-size:14px;line-height:1.55;color:var(--fg-muted);margin:0 0 var(--s-5)}.poi-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.poi-passport.v2{width:520px;max-width:calc(100vw - 48px);background:var(--bg-elevated);border:1px solid var(--rule);border-radius:20px;overflow:hidden}.poi-hero{height:280px;position:relative;background-color:#3f4928;overflow:hidden}.poi-hero-img,.cp-card-hero-img{position:absolute;inset:0;width:100%;height:100%}.poi-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#1f24108c,#1f241026 40%,#1f241000 60%);pointer-events:none}.poi-hero-kicker{position:absolute;top:18px;left:22px;display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:.18em;color:#ffffffeb;text-transform:uppercase;z-index:2}.poi-hero-kicker .dot-sep{color:#ffffff8c}.poi-passport.v2 .poi-close{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;background:#00000073;color:#fff;backdrop-filter:blur(6px);z-index:2}.poi-body{padding:20px 24px 22px}.poi-passport.v2 .poi-pill{display:inline-flex;align-items:center;gap:6px;background:color-mix(in srgb,var(--accent) 35%,white);border:1px solid color-mix(in srgb,var(--accent) 50%,white);border-radius:999px;padding:5px 12px;font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:.16em;color:var(--ink-1000);text-transform:uppercase;margin-bottom:14px}.poi-passport.v2 .poi-pill .sep{color:#0006}.poi-passport.v2 .poi-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:2px}.poi-passport.v2 .poi-title{font-family:var(--font-sans);font-style:normal;font-weight:800;font-size:28px;line-height:1.1;letter-spacing:-.015em;color:var(--ink-1000);margin:0 0 8px}.poi-passport.v2 .poi-title em{font-family:var(--font-serif);font-style:italic;font-weight:600;letter-spacing:-.01em}.poi-stats{font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:.16em;color:var(--fg-muted);text-transform:uppercase;margin-bottom:14px}.poi-passport.v2 .poi-desc{font-size:13.5px;line-height:1.55;color:var(--ink-700);margin:0 0 18px}.poi-metrics{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:14px 0;margin-bottom:16px;gap:0}.poi-metrics.no-dist{grid-template-columns:auto 1fr}.poi-metrics.no-dist .m:first-child{border-right:0}.poi-metrics .m{padding:0 14px;border-right:1px solid var(--rule)}.poi-metrics .m:first-child{padding-left:0}.poi-metrics .m:last-child{border-right:0;padding-right:0}.poi-metrics .v{font-family:var(--font-serif);font-style:italic;font-weight:600;font-size:28px;letter-spacing:-.01em;color:var(--ink-1000);line-height:1}.poi-metrics .v small{font-family:var(--font-mono);font-style:normal;font-weight:700;font-size:10.5px;letter-spacing:.1em;margin-left:4px;color:var(--fg-muted)}.poi-metrics .l{margin-top:6px;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--fg-muted);text-transform:uppercase}.poi-cta{display:flex;align-items:stretch;gap:10px}.poi-cta .cta-route,.poi-cta .cta-from{flex:1}.poi-cta .cta-save{flex:0 0 52px}.cta-route,.cta-from{height:52px;border-radius:12px;font-family:var(--font-sans);font-size:13px;font-weight:800;letter-spacing:0;text-transform:none;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;transition:transform .12s ease,background .12s ease,color .12s ease}.cta-route{background:linear-gradient(135deg,#c0791f,#dd9942);color:var(--ink-1000);box-shadow:0 8px 24px #c0791f52}.cta-route:hover{transform:translateY(-1px)}.cta-from{background:var(--bg);color:var(--ink-1000);border:1px solid var(--rule)}.cta-from:hover{color:var(--accent);border-color:var(--accent)}.cta-from.primary{background:linear-gradient(135deg,#c0791f,#dd9942);color:var(--ink-1000);border:0;box-shadow:0 8px 24px #c0791f52}.cta-save{height:52px;border-radius:12px;background:var(--bg);border:1px solid var(--rule);display:inline-flex;align-items:center;justify-content:center;color:var(--fg);transition:all .15s ease}.cta-save:hover{color:var(--accent);border-color:var(--accent)}.cta-save.on{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--bg))}.cp-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:460px;max-width:calc(100vw - 48px);background:var(--bg-elevated);border:1px solid var(--rule);border-radius:20px;box-shadow:var(--shadow-pop);overflow:hidden;z-index:42}.cp-scrim{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0a141e80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:42}.cp-scrim .cp-card{position:relative;left:auto;top:auto;transform:none}.cp-card-route{display:inline-flex;align-items:center;gap:8px;margin:0 0 12px;padding:6px 12px;border-radius:999px;background:#38bdf824;border:1px solid rgba(56,189,248,.4);color:#0ea5e9;font-size:12.5px;font-weight:700}.cp-card-route svg{flex:0 0 auto}.cp-scrim .cp-card-cta{display:flex;gap:10px}.cp-scrim .cp-card-cancel,.cp-scrim .cp-card-apply{flex:1 1 0;min-width:0;height:48px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;font-size:13px;line-height:1.15}.cp-card-hero{height:220px;position:relative;background-color:#2c6e47;background-size:cover;background-position:center}.cp-card-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0a1e268c,#0a1e2626 40%,#0a1e2600 60%);pointer-events:none}.cp-card-placeholder{position:absolute;inset:0;background:radial-gradient(circle at 30% 30%,rgba(70,160,110,.55),transparent 55%),radial-gradient(circle at 70% 70%,rgba(31,182,224,.55),transparent 55%),linear-gradient(135deg,#2c6e47,#053944)}.cp-card-kicker{position:absolute;top:16px;left:20px;display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:.18em;color:#ffffffeb;text-transform:uppercase;z-index:2}.cp-card-kicker .dot-sep{color:#ffffff8c}.cp-card-close{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;background:#00000073;color:#fff;backdrop-filter:blur(6px);display:inline-flex;align-items:center;justify-content:center;z-index:2}.cp-card-body{padding:18px 22px 22px}.cp-card-pill{display:inline-flex;align-items:center;gap:6px;background:color-mix(in srgb,#46A06E 35%,white);border:1px solid color-mix(in srgb,#46A06E 50%,white);border-radius:999px;padding:4px 12px;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--ink-1000);text-transform:uppercase;margin-bottom:12px}.cp-card-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:#2c6e47}.cp-card-title{font-family:var(--font-sans);font-weight:800;font-size:24px;line-height:1.15;letter-spacing:-.01em;color:var(--ink-1000);margin:0 0 8px}.cp-card-hint{font-size:13px;line-height:1.55;color:var(--ink-700);margin:0 0 14px}.cp-card-meta{display:flex;align-items:center;gap:14px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:10px 0;margin-bottom:14px;font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:.14em;color:var(--fg);text-transform:uppercase}.cp-card-cta{display:flex;gap:10px}.cp-card-cancel,.cp-card-apply{flex:1;height:48px;border-radius:12px;font-family:var(--font-sans);font-size:13px;font-weight:800;letter-spacing:0;text-transform:none;transition:transform .12s ease,background .12s ease}.cp-card-cancel{flex:0 0 110px;background:var(--bg);color:var(--ink-1000);border:1px solid var(--rule)}.cp-card-cancel:hover{color:var(--accent);border-color:var(--accent)}.cp-card-apply{background:linear-gradient(135deg,#1fb6e0,#2c6e47);color:#fff;box-shadow:0 8px 24px #1fb6e052}.cp-card-apply:hover{transform:translateY(-1px)}.poi-pin{position:absolute;transform:translate(-50%,-100%);cursor:pointer;filter:drop-shadow(0 2px 4px rgba(0,0,0,.18));z-index:12}.poi-pin .body{width:22px;height:28px}.poi-pin .lbl{position:absolute;left:50%;bottom:-22px;transform:translate(-50%);background:var(--ink-1000);color:var(--paper-100);font-family:var(--font-mono);font-size:9.5px;font-weight:700;letter-spacing:.06em;padding:2px 6px;border-radius:3px;white-space:nowrap;opacity:0;transition:opacity .15s}.poi-pin:hover .lbl,.poi-pin.on .lbl{opacity:1}.checkpoint-halo{position:absolute;transform:translate(-50%,-50%);width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 55%,transparent) 0%,color-mix(in srgb,var(--accent) 18%,transparent) 50%,transparent 70%);pointer-events:none;animation:cp-halo 2.4s ease-in-out infinite;z-index:15}@keyframes cp-halo{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.85}50%{transform:translate(-50%,-50%) scale(1.18);opacity:.55}}.checkpoint-banner{position:absolute;left:50%;bottom:28px;transform:translate(-50%);background:var(--ink-1000);color:var(--paper-100);border-radius:var(--r-pill);padding:10px 20px 10px var(--s-4);display:flex;align-items:center;gap:12px;box-shadow:var(--shadow-3);z-index:35;animation:cp-banner-in .25s ease-out}@keyframes cp-banner-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.checkpoint-banner .dot{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 25%,transparent)}.checkpoint-banner .ttl{font-size:var(--t-sm);font-weight:700;letter-spacing:-.005em}.checkpoint-banner .sub{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:var(--ls-mono-caps);color:#ffffff8c;text-transform:uppercase}.route-dock{position:absolute;left:calc(var(--s-6) + 360px + var(--s-3));right:calc(var(--s-6) + 240px + var(--s-3));bottom:var(--s-6);max-height:50vh;display:flex;flex-direction:column;background:#131a18;color:var(--paper-100);border-radius:var(--r-lg);box-shadow:var(--shadow-3);z-index:30;overflow:hidden}.dock-grabber{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:100%;padding:8px 0 4px;background:none;border:0;cursor:grab;touch-action:none}.dock-grabber:active{cursor:grabbing}.dock-grabber-bar{width:40px;height:5px;border-radius:3px;background:#ffffff47;transition:background .14s,width .14s}.dock-grabber:hover .dock-grabber-bar{background:#ffffff6b}.route-dock header{display:grid;grid-template-columns:48px 1fr auto 36px;align-items:center;gap:16px;padding:6px 16px 14px;border-bottom:1px solid rgba(255,255,255,.08);flex:0 0 auto}.route-dock .title-block{cursor:grab;touch-action:none}.route-dock .title-block:active{cursor:grabbing}.route-dock .play{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#c0791f,#dd9942);color:var(--ink-1000);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #c0791f66}.route-dock .title-block{display:flex;flex-direction:column;gap:4px;min-width:0}.route-dock .title{font-family:var(--font-serif);font-style:italic;font-weight:600;font-size:20px;letter-spacing:var(--ls-headline);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-dock .subtitle{font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:0;color:#ffffff8c}.route-dock .route-variant{display:inline-flex;gap:0;margin-top:6px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:2px;align-self:flex-start}.route-dock .rv-pill{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.1em;padding:5px 12px;background:transparent;border:0;cursor:pointer;color:#ffffff8c;border-radius:999px;transition:background .16s,color .16s}.route-dock .rv-pill:hover{color:#ffffffd9}.route-dock .rv-pill.on{background:#ffffff2e;color:var(--paper-100)}.route-dock .metrics{display:flex;gap:28px;padding:0;border:0}.route-dock .metrics .m{display:flex;flex-direction:column;gap:4px;padding:0;border:0}.route-dock .metrics .v{font-family:var(--font-serif);font-weight:600;font-size:24px;color:var(--paper-100);letter-spacing:-.02em;line-height:1}.route-dock .metrics .v small{font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:.12em;color:#fff9;margin-left:4px}.route-dock .metrics .l{font-family:var(--font-mono);font-size:9.5px;font-weight:700;letter-spacing:.14em;color:#ffffff73;text-transform:uppercase}.route-dock .collapse{width:32px;height:32px;border-radius:8px;background:#ffffff0f;color:var(--paper-100);display:inline-flex;align-items:center;justify-content:center}.route-dock .collapse:hover{background:#ffffff1f}.route-dock .dock-body{display:grid;grid-template-columns:1fr 1fr;gap:0;flex:1 1 auto;overflow-y:auto;min-height:0}.route-dock .col-stops,.route-dock .col-steps{padding:14px 16px}.route-dock .col-stops{border-right:1px solid rgba(255,255,255,.08)}.route-dock .stop-li.clickable,.route-dock .step.cp.clickable,.route-dock .step.clickable{cursor:pointer;transition:background .12s ease}.route-dock .stop-li.clickable:hover,.route-dock .step.cp.clickable:hover,.route-dock .step.clickable:hover{background:#ffffff0f}.route-dock .stop-bullet.lift{background:#d896502e;color:var(--accent, #2DD4BF);border:1px solid rgba(216,150,80,.45)}.route-dock .play.on{background:var(--accent, #2DD4BF);color:#0a0a0a}.route-overlay .route-ball.halo{fill:#ff8a4059;filter:blur(.4px)}.route-overlay .route-ball.solid{fill:#ff8a40;stroke:#fff;stroke-width:.18}.lift-side-view-backdrop{position:fixed;inset:0;z-index:180;background:#080a0c8c;backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;animation:lsv-fade .14s ease-out}@keyframes lsv-fade{0%{opacity:0}to{opacity:1}}.lift-side-view{position:relative;background:#161817;border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:16px;box-shadow:0 18px 56px #00000080;color:#eee;animation:lsv-pop .16s ease-out}@keyframes lsv-pop{0%{transform:translateY(8px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.lift-side-view .lsv-header{display:flex;align-items:center;gap:10px;padding-bottom:10px;margin-bottom:4px;border-bottom:1px solid rgba(255,255,255,.08)}.lift-side-view .lsv-icon{width:30px;height:30px;border-radius:50%;background:#d896502e;color:var(--accent, #2DD4BF);display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px}.lift-side-view .lsv-title-block{flex:1;min-width:0}.lift-side-view .lsv-title{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}.lift-side-view .lsv-sub{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:#ffffff8c;margin-top:2px}.lift-side-view .lsv-close{width:28px;height:28px;border-radius:50%;border:0;background:transparent;color:#ffffff80;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 28px}.lift-side-view .lsv-close:hover{background:#ffffff14;color:#fff}.lift-side-view .lsv-svg{display:block;margin:6px auto 0}.lift-side-view .lsv-slab{stroke:#ffffff2e;stroke-width:1.2}.lift-side-view .lsv-floor.active .lsv-slab{stroke:#d896508c;stroke-width:1.6}.lift-side-view .lsv-floor-label{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.08em;fill:#ffffff8c}.lift-side-view .lsv-floor.active .lsv-floor-label{fill:var(--accent, #2DD4BF)}.lift-side-view .lsv-shaft{stroke:#d8965073;stroke-width:2;stroke-dasharray:4 4}.lift-side-view .lsv-dot{fill:var(--accent, #2DD4BF);stroke:#0a0a0a;stroke-width:1.4}.lift-side-view .lsv-dot.exit{fill:#ff8a40}.lift-side-view .lsv-side-label{font-family:var(--font-sans);font-size:11px;fill:#ffffffd9}.lift-side-view .lsv-ball.halo{fill:#ff8a4059}.lift-side-view .lsv-ball.solid{fill:#ff8a40;stroke:#fff;stroke-width:1}.lift-side-view.three .lsv-3d-host{position:relative;margin:8px auto 0;border-radius:12px;overflow:hidden;background:#0f1311;border:1px solid rgba(255,255,255,.06)}.lift-side-view.three .lsv-3d-host canvas{display:block}.lift-side-view.three .lsv-labels{position:absolute;inset:0;pointer-events:none}.lift-side-view.three .lsv-label{position:absolute;left:8px;transform:translateY(-50%);background:#141816b3;border:1px solid rgba(255,255,255,.1);color:#ffffffb3;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.1em;padding:3px 8px;border-radius:8px;cursor:pointer;pointer-events:auto;backdrop-filter:blur(4px);transition:background .12s,color .12s,border-color .12s}.lift-side-view.three .lsv-label:hover{background:#d896502e;color:#fff}.lift-side-view.three .lsv-label.active{background:#d8965038;border-color:var(--accent, #2DD4BF);color:var(--accent, #2DD4BF)}.lift-side-view.three .lsv-floor-strip{display:flex;flex-wrap:wrap;gap:4px;margin-top:10px;padding:6px;background:#ffffff0a;border-radius:10px}.lift-side-view.three .lsv-floor-chip{flex:1 1 auto;min-width:36px;height:26px;background:transparent;border:1px solid rgba(255,255,255,.08);border-radius:6px;color:#fff9;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.1em;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.lift-side-view.three .lsv-floor-chip:hover{background:#ffffff14;color:#fff}.lift-side-view.three .lsv-floor-chip.active{background:#d896502e;border-color:var(--accent, #2DD4BF);color:var(--accent, #2DD4BF)}.lift-side-view .lsv-help{margin-top:10px;padding:10px 12px;background:#ffffff0a;border-radius:10px;font-size:12px;line-height:1.45;color:#ffffffb3}.route-dock .col-head{display:flex;align-items:center;gap:8px;padding:4px 0 12px;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.14em;color:#ffffff8c;text-transform:uppercase}.route-dock .col-head em{margin-left:auto;font-style:normal;color:#ffffffb3}.route-dock .col-head .info-i{width:18px;height:18px;border-radius:50%;border:1px solid rgba(255,255,255,.3);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-style:italic;font-size:11px;color:#ffffffb3}.route-dock .col-head.sub{padding-top:16px}.route-dock .stop-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.route-dock .stop-li{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05)}.route-dock .stop-li:last-child{border-bottom:0}.route-dock .stop-bullet{width:24px;height:24px;border-radius:50%;background:var(--paper-100);color:var(--ink-1000);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:11px;font-weight:700}.route-dock .stop-bullet.start{background:#6fbf6a;color:var(--paper-100)}.route-dock .stop-bullet.end{background:#f58030;color:var(--paper-100)}.route-dock .stop-name{font-family:var(--font-sans);font-size:13px;font-weight:600;color:var(--paper-100);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-dock .stop-meta{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.06em;color:#ffffff8c;text-transform:uppercase;display:flex;gap:6px}.route-dock .stop-meta .id{color:#fff6}.route-dock .step-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.route-dock .step{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:center;padding:10px 12px;background:#ffffff0a;border-radius:var(--r-md)}.route-dock .step.start{background:#c0791f1f}.route-dock .step-ic{width:28px;height:28px;border-radius:50%;background:#ffffff0f;color:var(--paper-100);display:inline-flex;align-items:center;justify-content:center}.route-dock .step.start .step-ic{background:var(--accent);color:var(--ink-1000)}.route-dock .step-ic.cp-mini{background:radial-gradient(circle,#46a06e 30%,#2c6e47 70%)}.route-dock .step-text{font-family:var(--font-sans);font-size:12.5px;color:var(--paper-100);line-height:1.4}.route-dock.collapsed .dock-body{display:none}.live-card{position:absolute;left:calc(var(--s-6) + 360px + var(--s-3));right:calc(var(--s-6) + 60px);bottom:var(--s-6);background:#131a18;color:var(--paper-100);border-radius:var(--r-lg);box-shadow:var(--shadow-3);z-index:30;overflow:hidden}.live-card header{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.08)}.live-card header .now{font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:.14em;color:#ffffff8c;text-transform:uppercase}.live-card .closebtn{margin-left:auto;width:28px;height:28px;border-radius:7px;background:#ffffff0d;color:#ffffffa6;display:inline-flex;align-items:center;justify-content:center}.live-card .closebtn:hover{background:#ffffff1f;color:var(--paper-100)}.live-card .body{display:grid;grid-template-columns:88px 1fr;gap:18px;align-items:center;padding:18px 16px}.live-card .arrow-orb{width:88px;height:88px;border-radius:50%;background:linear-gradient(135deg,#c0791f,#dd9942);color:var(--ink-1000);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 8px 28px #c0791f66;transition:transform .12s ease}.live-card .arrow-orb:hover{transform:scale(1.04)}.live-card .text-block{display:flex;flex-direction:column;gap:12px;min-width:0}.live-card .cmd{font-family:var(--font-sans);font-size:22px;font-weight:600;line-height:1.15;color:var(--paper-100)}.live-card .cmd .emph{font-family:var(--font-serif);font-style:italic;font-weight:600;color:#e0a24a}.live-card .metrics{display:flex;gap:24px}.live-card .metrics .m{display:flex;flex-direction:column;gap:4px}.live-card .metrics .v{font-family:var(--font-serif);font-weight:600;font-size:22px;color:var(--paper-100);letter-spacing:-.02em;line-height:1}.live-card .metrics .v small{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.12em;color:#fff9;margin-left:2px}.live-card .metrics .l{font-family:var(--font-mono);font-size:9.5px;font-weight:700;letter-spacing:.14em;color:#ffffff73;text-transform:uppercase}.live-card .progress{padding:0 16px 16px}.live-card .progress .bar{height:4px;border-radius:2px;background:#ffffff1a;overflow:hidden}.live-card .progress .fill{height:100%;border-radius:2px;background:linear-gradient(90deg,#c0791f,#dd9942);transition:width .25s ease}.live-card .progress-meta{display:flex;justify-content:space-between;margin-top:8px;font-family:var(--font-mono);font-size:10.5px;font-weight:600;color:#fff9;letter-spacing:.04em}.live-card .next-pill{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:center;width:calc(100% - 32px);margin:0 16px 16px;padding:10px 14px;background:#ffffff0d;border-radius:var(--r-md);text-align:left;color:var(--paper-100)}.live-card .next-pill:hover{background:#ffffff17}.live-card .next-pill .ic{width:28px;height:28px;border-radius:7px;background:#ffffff14;color:var(--paper-100);display:inline-flex;align-items:center;justify-content:center}.live-card .next-pill .text-col{display:flex;flex-direction:column;gap:2px;min-width:0}.live-card .next-pill .lab{font-family:var(--font-mono);font-size:9.5px;font-weight:700;letter-spacing:.14em;color:#ffffff80;text-transform:uppercase}.live-card .next-pill .txt{font-family:var(--font-sans);font-size:13.5px;font-weight:600;color:var(--paper-100);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.done-summary{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:420px;background:var(--bg-elevated);border-radius:var(--r-lg);padding:var(--s-8);box-shadow:var(--shadow-pop);border:1px solid var(--rule);text-align:center;z-index:40;color:var(--fg)}.done-summary h2{margin:0 0 8px;font-family:var(--font-serif);font-style:italic;font-weight:600;font-size:var(--t-2xl);letter-spacing:var(--ls-headline)}.done-summary p{margin:0 0 22px;color:var(--fg-muted);font-size:14px;line-height:1.55}.done-summary .ds-check{width:72px;height:72px;margin:0 auto 18px;border-radius:50%;background:var(--accent, #2DD4BF);color:var(--ink-1000, #0a0a0a);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #d8965059}.done-summary .ds-title{margin:0 0 6px;font-family:var(--font-serif);font-style:italic;font-weight:600;font-size:var(--t-2xl);letter-spacing:var(--ls-headline);color:var(--fg)}.done-summary .ds-dest{margin:0 0 22px;font-size:14px;color:var(--fg-muted);font-style:italic}.done-summary .ds-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:16px 0;margin-bottom:20px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.done-summary .ds-m{display:flex;flex-direction:column;gap:4px;align-items:center}.done-summary .ds-v{font-family:var(--font-serif);font-weight:700;font-size:22px;color:var(--fg)}.done-summary .ds-v small{font-family:var(--font-mono);font-size:9.5px;font-weight:700;letter-spacing:.12em;margin-left:3px;color:var(--fg-muted)}.done-summary .ds-l{font-family:var(--font-mono);font-size:9.5px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--fg-muted)}.done-summary .ds-thanks{margin:0 0 24px;font-size:13.5px;line-height:1.55;color:var(--fg-muted)}.done-summary .ds-actions{display:flex;gap:10px;justify-content:center}.loading-overlay{position:fixed;inset:0;z-index:500;background:#efe9dcd9;backdrop-filter:blur(14px) saturate(110%);-webkit-backdrop-filter:blur(14px) saturate(110%);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;padding:24px;text-align:center;pointer-events:auto}.loading-overlay .loading-content{display:flex;flex-direction:column;align-items:center;gap:26px}.loading-overlay .loading-logo{display:flex;align-items:flex-end}.loading-overlay .loading-letters{font-family:var(--font-sans);font-size:44px;font-weight:800;letter-spacing:3px;color:var(--ink-1000);line-height:1;opacity:0;animation:ldFadeSlide .6s ease forwards}.loading-overlay .loading-pin{width:30px;height:40px;margin-left:2px;margin-bottom:3px;opacity:0;animation:ldPinDrop .5s ease forwards .4s;transform-origin:center bottom}.loading-overlay .loading-pin path{fill:var(--accent)}@keyframes ldFadeSlide{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes ldPinDrop{0%{opacity:0;transform:translateY(-30px) scale(.7)}60%{opacity:1;transform:translateY(3px) scale(1.05)}80%{transform:translateY(-2px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.loading-overlay .loading-bar-track{width:200px;height:3px;background:var(--rule);border-radius:2px;overflow:hidden;opacity:0;animation:ldFadeIn .3s ease forwards .7s}.loading-overlay .loading-bar-fill{width:42%;height:100%;border-radius:2px;background:linear-gradient(90deg,var(--route),var(--accent));animation:ldIndeterminate 1.15s ease-in-out infinite}@keyframes ldIndeterminate{0%{transform:translate(-120%)}to{transform:translate(320%)}}@keyframes ldFadeIn{to{opacity:1}}.loading-overlay .loading-status{font-family:var(--font-sans);font-size:13px;letter-spacing:.3px;font-weight:500;color:var(--fg-muted);opacity:0;animation:ldFadeIn .3s ease forwards .7s;min-height:20px;text-align:center;max-width:340px;line-height:1.4}.loading-overlay .vpn-hint{max-width:360px;margin-top:12px;padding:12px 16px;background:var(--bg-elevated);border:1px solid var(--rule);border-radius:12px;font-size:13px;line-height:1.5;color:var(--ink-700);box-shadow:var(--shadow-2);display:flex;gap:10px;align-items:flex-start;text-align:left}.loading-overlay .vpn-hint .ic{flex-shrink:0;width:22px;height:22px;border-radius:50%;background:color-mix(in srgb,var(--accent) 25%,transparent);color:var(--ink-1000);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:800;font-size:12px}.loading-overlay .vpn-hint b{color:var(--ink-1000)}.pf-scrim{position:absolute;inset:0;z-index:60;background:#0a0f1838;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.pf-modal{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:720px;max-width:calc(100vw - 48px);background:#ffffffe0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:18px;box-shadow:var(--sh-pop);border:1px solid var(--ink-100);overflow:hidden;z-index:61;display:flex;flex-direction:column}.pf-head{padding:16px 20px;border-bottom:1px solid var(--ink-100);display:flex;justify-content:space-between;align-items:flex-start}.pf-head .label-mono{margin-bottom:4px;font-weight:700}.pf-title{font-family:var(--font-display);font-style:italic;font-weight:600;font-size:22px;letter-spacing:-.022em;line-height:.98;color:var(--ink-1000)}.pf-head-right{display:flex;align-items:center;gap:8px}.pf-offline-pill{font-family:var(--font-mono);font-size:10px;font-weight:600;color:var(--ink-500);letter-spacing:.04em;padding:4px 8px;background:var(--bg);border-radius:4px}.pf-close{width:30px;height:30px;border-radius:7px;background:var(--bg);border:1px solid var(--ink-100);color:var(--ink-700);font-size:18px;line-height:1}.pf-body{display:grid;grid-template-columns:1fr 1fr}.pf-half{padding:18px 20px}.pf-half-left{border-right:1px solid var(--ink-100)}.pf-half-right{background:var(--bg)}.pf-step-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.pf-step-no{width:22px;height:22px;border-radius:5px;background:var(--ink-1000);color:#fff;font-family:var(--font-mono);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.pf-step-head h3{margin:0;font-size:14px;font-weight:700;letter-spacing:-.012em}.pf-step-help{font-size:12.5px;color:var(--ink-700);line-height:1.5;margin:10px 0 0}.pf-foot{background:var(--ink-1000);color:#fff;padding:12px 20px;display:flex;align-items:center;gap:14px}.pf-foot p{margin:0;font-size:12px;line-height:1.45;color:#ffffffd9}.pf-foot b{color:#fff;font-weight:700}.qr-stage{position:relative;width:100%;aspect-ratio:1 / 1;background:var(--ink-1000);border-radius:12px;overflow:hidden}.qr-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.qr-stage[data-status=denied] .qr-video,.qr-stage[data-status=no-camera] .qr-video,.qr-stage[data-status=no-detector] .qr-video{display:none}.qr-stage[data-status=denied]:before,.qr-stage[data-status=no-camera]:before,.qr-stage[data-status=no-detector]:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,#1a1f2a 0 8px,#0e1218 8px 16px)}.qr-bracket{position:absolute;width:24px;height:24px;pointer-events:none;border-color:var(--accent)}.qr-bracket.tl{left:18px;top:18px;border-left:3px solid;border-top:3px solid}.qr-bracket.tr{right:18px;top:18px;border-right:3px solid;border-top:3px solid}.qr-bracket.bl{left:18px;bottom:18px;border-left:3px solid;border-bottom:3px solid}.qr-bracket.br{right:18px;bottom:18px;border-right:3px solid;border-bottom:3px solid}.qr-sweep{position:absolute;left:10%;right:10%;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);box-shadow:0 0 16px var(--accent);top:20%;animation:qr-sweep 2.2s ease-in-out infinite}@keyframes qr-sweep{0%,to{top:20%}50%{top:78%}}.qr-status-pill{position:absolute;top:12px;left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:#00000080;backdrop-filter:blur(4px);font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.1em;color:#fff;white-space:nowrap}.qr-status-pill .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:qr-dot 1.4s ease-in-out infinite}@keyframes qr-dot{0%,to{opacity:1}50%{opacity:.4}}.qr-hint{position:absolute;left:14px;right:14px;bottom:14px;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.06em;color:#ffffffb3;text-align:center}.cp-input-pane{display:flex;flex-direction:column;gap:10px}.cp-input-card{background:var(--panel);border:1px solid var(--ink-100);border-radius:12px;padding:14px 16px}.cp-input-label{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.14em;font-weight:700;color:var(--ink-500);text-transform:uppercase;margin-bottom:6px}.cp-input-row{display:flex;align-items:center;gap:8px}.cp-input-prefix{font-family:var(--font-mono);font-size:18px;font-weight:700;color:var(--ink-400);letter-spacing:.05em}.cp-input-field{flex:1;border:0;outline:0;font-family:var(--font-mono);font-size:24px;font-weight:700;letter-spacing:.08em;color:var(--ink-1000);background:transparent;width:100%}.cp-input-apply{padding:8px 14px;border-radius:8px;background:var(--ink-1000);color:#fff;font-size:12px;font-weight:700;letter-spacing:-.005em}.cp-input-hit{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;color:var(--accent-deep);margin-top:6px;font-weight:700}.cp-input-err{font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;color:var(--danger);margin-top:6px;font-weight:700}.cp-input-alt{display:block;width:100%;margin-top:8px;padding:7px 10px;border-radius:8px;text-align:left;background:var(--panel);border:1px dashed var(--ink-200);color:var(--ink-700);font-size:12px;font-weight:600}.cp-input-alt:hover{border-color:var(--accent);color:var(--ink-1000)}.cp-quick-row{display:flex;gap:6px;flex-wrap:wrap}.cp-quick{flex:1 1 calc(50% - 3px);padding:6px 8px;border-radius:7px;background:var(--panel);border:1px solid var(--ink-100);display:flex;flex-direction:column;gap:2px;align-items:flex-start;text-align:left;min-width:0}.cp-quick-id{font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--ink-700);letter-spacing:.06em}.cp-quick-name{font-size:11px;color:var(--ink-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.cp-quick:hover{border-color:var(--accent)}.cp-quick:hover .cp-quick-id{color:var(--accent-deep)}.cp-input-help{margin:0;font-size:12.5px;color:var(--ink-700);line-height:1.5}.zoom-indicator{position:absolute;left:50%;bottom:12px;transform:translate(-50%);z-index:26;pointer-events:none;display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border-radius:999px;font:600 12px/1 var(--font, system-ui, sans-serif);letter-spacing:.02em;color:#fff;background:#14161c9e;border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 4px 14px #00000038}.zoom-indicator svg{opacity:.78}.zoom-indicator b{font-weight:700;font-variant-numeric:tabular-nums}.zoom-indicator .zi-dist{opacity:.6;font-weight:500;font-variant-numeric:tabular-nums}body.capture .topbar,body.capture .map-controls,body.capture .chat-fab,body.capture .qr-fab,body.capture .coordpick,body.capture .zoom-indicator,body.capture .left-stack,body.capture .route-drawer-stack,body.capture .search-bar,body.capture .tour-panel,body.capture .download-chip,body.capture .profile-modal,body.capture .profile-scrim,body.capture .saved-drawer,body.capture .chat-panel,body.capture .chat-usage,body.capture .splash,body.capture .loading-overlay,body.capture .input-state,body.capture .poi-passport,body.capture .room-card,body.capture .privacy-trigger,body.capture .privacy-scrim{display:none!important}.privacy-trigger{position:absolute;left:14px;bottom:12px;z-index:26;padding:5px 10px;border-radius:999px;background:#2b2b2b6b;color:#ffffff9e;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:color .14s,background .14s,border-color .14s}.privacy-trigger:hover{color:#fff;background:#2b2b2b9e;border-color:#fff3}.privacy-trigger.dev-shift{bottom:92px}.privacy-scrim{position:fixed;inset:0;z-index:90;background:#0c0a109e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px}.privacy-modal{position:relative;width:min(720px,100%);max-height:84vh;overflow:hidden;background:var(--bg-elevated, #1B1B20);color:var(--fg, #EDEBF0);border:1px solid rgba(255,255,255,.1);border-radius:18px;box-shadow:0 30px 80px -20px #000000b3}.privacy-close{position:absolute;top:12px;right:14px;z-index:2;width:34px;height:34px;border-radius:50%;background:#ffffff14;color:#fffc;border:1px solid rgba(255,255,255,.12);font-size:22px;line-height:1;cursor:pointer;transition:background .14s,color .14s}.privacy-close:hover{background:#ffffff29;color:#fff}.privacy-body{max-height:84vh;overflow-y:auto;padding:30px 32px 34px;font-family:var(--font-sans);font-size:13.5px;line-height:1.62;color:#edebf0db}.privacy-body h3{font-size:19px;font-weight:800;letter-spacing:-.01em;margin:22px 0 8px;color:#fff}.privacy-body h3:first-child{margin-top:0}.privacy-body h4{font-size:14.5px;font-weight:700;margin:18px 0 6px;color:#fff}.privacy-body p{margin:8px 0}.privacy-body ul{margin:8px 0;padding-left:20px}.privacy-body li{margin:4px 0}.privacy-body strong{color:#fff;font-weight:700}.privacy-body hr{border:none;border-top:1px solid rgba(255,255,255,.12);margin:24px 0}.privacy-body a{color:var(--accent, #B24BE0)}.coordpick{position:absolute;left:14px;bottom:14px;z-index:27;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.coordpick-btn{display:inline-flex;align-items:center;gap:7px;cursor:pointer;padding:7px 12px;border-radius:999px;font-size:12px;font-weight:600;color:#fff;background:#14161ca8;border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.coordpick.on .coordpick-btn{background:#9409ff;border-color:#9409ff}.coordpick-panel{min-width:150px;padding:10px 12px;border-radius:12px;background:#14161cd1;border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff}.coordpick-cur{display:flex;flex-direction:column;gap:2px;font-variant-numeric:tabular-nums}.coordpick-cur b{font-size:16px;font-weight:700}.coordpick-cur em{font-size:10px;font-style:normal;color:#caf45a;letter-spacing:.04em}.coordpick-log{list-style:none;margin:8px 0 0;padding:8px 0 0;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:4px}.coordpick-log li{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;font-variant-numeric:tabular-nums;color:#ffffffbf}.coordpick-log button{background:transparent;border:0;color:#ffffff80;cursor:pointer;font-size:13px}.coordpick-log button:hover{color:#fff}.qr-fab{position:absolute;right:24px;bottom:200px;z-index:28;display:flex;align-items:center;gap:10px;height:52px;padding:0 18px 0 14px;background:var(--accent);color:#06231f;border-radius:26px;box-shadow:0 6px 20px #46a06e73,0 2px 8px #0000002e;font-family:var(--font-mono);font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}@media (max-width: 768px){.qr-fab{display:flex}}.qr-fab .ico{width:32px;height:32px;border-radius:50%;background:#06231f;color:var(--accent);display:flex;align-items:center;justify-content:center}.qr-fab .ttl{display:flex;flex-direction:column;align-items:flex-start;line-height:1.1;gap:2px}.qr-fab .ttl b{font-family:var(--font-sans);font-size:13px;font-weight:700;letter-spacing:.01em;text-transform:none;color:#06231f}.qr-fab .ttl em{font-style:normal;font-size:9.5px;letter-spacing:.14em;color:#06231f99}.qr-fab:before{content:"";position:absolute;inset:-6px;border-radius:32px;border:2px solid rgba(70,160,110,.55);animation:qr-fab-pulse 2s ease-out infinite;pointer-events:none}@keyframes qr-fab-pulse{0%{transform:scale(.95);opacity:1}to{transform:scale(1.18);opacity:0}}.user-fix-marker{position:absolute;pointer-events:none;z-index:14;transform:scale(var(--pin-counter-scale, 1));transform-origin:0 0}.user-fix-marker>*{position:absolute;left:0;top:0;transform:translate(-50%,-50%)}.user-fix-marker .halo-outer{width:72px;height:72px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,#3B82F6 30%,transparent) 0%,transparent 70%);animation:ufx-pulse-outer 2.4s ease-in-out infinite}.user-fix-marker .halo-inner{width:36px;height:36px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,#3B82F6 40%,transparent) 0%,transparent 70%);animation:ufx-pulse-inner 2.4s ease-in-out infinite;animation-delay:.6s}.user-fix-marker .ring{width:22px;height:22px;border-radius:50%;border:2px solid #fff;box-shadow:0 2px 8px #00000059}.user-fix-marker .core{width:12px;height:12px;border-radius:50%;background:#2563eb}.user-fix-marker .label{left:14px;top:14px;transform:none;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:#2563eb;color:#fff;padding:4px 8px;border-radius:4px;white-space:nowrap;box-shadow:0 2px 8px #00000040}.user-fix-marker.source-manual .core{background:#46a06e}.user-fix-marker.source-manual .label{background:#46a06e;color:var(--ink-1000)}@keyframes ufx-pulse-outer{0%,to{opacity:.55;transform:translate(-50%,-50%) scale(1)}50%{opacity:.2;transform:translate(-50%,-50%) scale(1.4)}}@keyframes ufx-pulse-inner{0%,to{opacity:.7;transform:translate(-50%,-50%) scale(1)}50%{opacity:.3;transform:translate(-50%,-50%) scale(1.3)}}.floor-transitions{position:absolute;right:var(--s-6);top:96px;width:220px;background:var(--bg-elevated);border:1px solid var(--rule);border-radius:var(--r-lg);box-shadow:var(--shadow-2);z-index:19;overflow:hidden;display:flex;flex-direction:column}.floor-transitions header{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--rule)}.floor-transitions header .dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}.floor-transitions header .title{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.14em;color:var(--fg);text-transform:uppercase}.floor-transitions header .count{margin-left:auto;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--ink-1000);background:var(--accent);padding:2px 7px;border-radius:8px}.floor-transitions .ft-stack{position:relative;display:flex;flex-direction:column;padding:14px 14px 12px;gap:0;min-height:220px}.floor-transitions .ft-shaft{position:absolute;left:52px;top:14px;bottom:12px;width:2px;background:repeating-linear-gradient(180deg,var(--accent) 0,var(--accent) 4px,transparent 4px,transparent 8px);opacity:.55;pointer-events:none}.floor-transitions .ft-plank{position:relative;display:grid;grid-template-columns:28px 1fr 24px;align-items:center;gap:8px;padding:6px 0;min-height:28px;background:transparent;border:0;cursor:pointer;text-align:left}.floor-transitions .ft-plank+.ft-plank{border-top:1px dashed var(--rule)}.floor-transitions .ft-plank .ft-code{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--fg-muted)}.floor-transitions .ft-plank.on .ft-code{color:var(--ink-1000)}.floor-transitions .ft-plank .ft-bar{position:relative;height:8px;border-radius:4px;background:#0000000a;overflow:visible}.floor-transitions .ft-plank .ft-bar-fill{position:absolute;inset:0;border-radius:4px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 30%,var(--bg)),color-mix(in srgb,var(--accent) 55%,var(--bg)));transition:background .15s}.floor-transitions .ft-plank.on .ft-bar-fill{background:var(--accent)}.floor-transitions .ft-plank .ft-dot{position:absolute;top:50%;width:9px;height:9px;border-radius:50%;background:var(--ink-1000);transform:translate(-50%,-50%);box-shadow:0 0 0 2px var(--bg-elevated);z-index:1}.floor-transitions .ft-plank .ft-dot.in{left:12%}.floor-transitions .ft-plank .ft-dot.out{left:88%}.floor-transitions .ft-plank.on .ft-dot{background:var(--accent);box-shadow:0 0 0 2px var(--bg-elevated),0 0 0 5px color-mix(in srgb,var(--accent) 35%,transparent)}.floor-transitions .ft-plank .ft-len{font-family:var(--font-mono);font-size:10px;color:var(--fg-muted);text-align:right}.floor-transitions footer{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-top:1px solid var(--rule);font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--fg);text-transform:uppercase}.floor-transitions footer .muted{color:var(--fg-muted)}@media (max-width: 1280px){.floor-transitions{top:auto;bottom:calc(var(--s-6) + 200px)}}.tour-panel{position:absolute;left:var(--s-6);top:96px;width:360px;max-height:calc(100vh - 276px);background:var(--bg-elevated);border:1px solid var(--rule);border-radius:var(--r-lg);box-shadow:var(--shadow-2);z-index:19;overflow:hidden;display:flex;flex-direction:column}.tour-panel.below-drawer{top:auto;bottom:calc(220px + var(--s-3));max-height:38vh}.tour-panel header{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--rule)}.tour-panel header .dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}.tour-panel header .title{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.14em;color:var(--fg);text-transform:uppercase}.tour-panel header .count{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--fg-muted);letter-spacing:.05em}.tour-panel header .count em{font-style:normal;color:var(--fg);font-weight:700}.tour-panel .tour-steps{list-style:none;padding:8px 0;margin:0;overflow-y:auto}.tour-panel .tour-step{position:relative}.tour-panel .tour-step+.tour-step:before{content:"";position:absolute;left:26px;top:-2px;bottom:100%;width:2px;background:var(--rule)}.tour-panel .step-row{width:100%;display:grid;grid-template-columns:28px 1fr auto;align-items:flex-start;gap:10px;padding:10px 14px;background:transparent;border:0;text-align:left;cursor:pointer;transition:background .15s}.tour-panel .step-row:hover:not(:disabled){background:#00000008}.tour-panel .step-row:disabled{cursor:not-allowed;opacity:.7}.tour-panel .num{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:11px;font-weight:700;background:var(--bg);color:var(--fg-muted);border:1px solid var(--rule);flex-shrink:0}.tour-panel .tour-step.done .num{background:var(--accent);color:var(--ink-1000);border-color:var(--accent)}.tour-panel .tour-step.active .num{background:var(--ink-1000);color:var(--paper-100);border-color:var(--ink-1000);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 25%,transparent)}.tour-panel .tour-step.locked .num{background:var(--bg);color:var(--fg-muted);border-style:dashed}.tour-panel .body{min-width:0;display:flex;flex-direction:column;gap:4px}.tour-panel .ttl{font-size:13px;font-weight:600;color:var(--fg);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tour-panel .tour-step.locked .ttl{color:var(--fg-muted)}.tour-panel .meta{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted)}.tour-panel .meta .pill{padding:2px 6px;background:var(--bg);border:1px solid var(--rule);border-radius:4px}.tour-panel .meta .now{color:var(--accent);font-weight:700}.tour-panel .meta .lock-label{color:var(--fg-muted)}.tour-panel .play-ic{font-size:10px;color:var(--accent);font-weight:700;align-self:center}@media (max-width: 1280px){.tour-panel{display:none}}.hint-chip{position:absolute;left:50%;top:96px;transform:translate(-50%);display:inline-flex;align-items:center;gap:var(--s-2);padding:10px var(--s-4);background:var(--bg-elevated);border:1px solid var(--rule);border-radius:var(--r-pill);font-size:var(--t-sm);color:var(--fg-muted);box-shadow:var(--shadow-1);z-index:20}.hint-chip .dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}@media (max-width: 900px){.topbar{left:12px;right:12px;top:8px;padding:6px 12px;gap:8px;min-height:48px}.topbar .brand-title{font-size:14px}.topbar .by{display:none}.topbar .loc .n{font-size:14px;line-height:1.1}.topbar .right{gap:6px}.topbar .ov-loc .ov-loc-txt{display:none}.topbar .ov-loc{flex:0 0 auto!important;overflow:visible!important;min-width:0}.topbar .ov-loc .ovicon{flex:0 0 auto}.topbar{padding:6px 8px;gap:6px}.topbar .left{flex:0 0 auto;gap:6px}.topbar .right{margin-left:auto}.topbar .icbtn{width:38px;height:38px;padding:0}.topbar .lang{padding:6px 8px;font-size:12.5px}.topbar .right .download-chip{padding:7px 10px;gap:6px;font-size:13px}.topbar .ov-loc .ovicon{transform:scale(.88);transform-origin:left center}.left-stack,.route-drawer-stack{position:fixed!important;inset:auto 0 0!important;width:100vw!important;max-width:100vw!important;height:var(--sheet-open-h, 42vh);max-height:var(--sheet-open-h, 42vh);flex-direction:column!important;gap:8px!important;padding:18px 12px calc(env(safe-area-inset-bottom,0px) + 12px)!important;background:var(--bg-elevated, #FFFFFF)!important;border-top:1px solid var(--rule, #D2D6DF);border-radius:18px 18px 0 0;box-shadow:0 -8px 24px #0e12181a;overflow-y:auto!important;-webkit-overflow-scrolling:touch;z-index:30!important;transition:transform .35s cubic-bezier(.5,0,.15,1)!important}.left-stack[data-collapsed=true],.route-drawer-stack[data-collapsed=true]{transform:translateY(calc(100% - 56px - env(safe-area-inset-bottom,0px)))!important;touch-action:none;overflow-y:hidden!important}.left-stack .sheet-grab,.route-drawer-stack .sheet-grab{display:block;position:sticky;top:0;z-index:2;align-self:center;flex:0 0 auto;width:56px;height:22px;margin:-10px 0 6px;padding:0;background:transparent;border:0;cursor:pointer;touch-action:none}.left-stack .sheet-grab:before,.route-drawer-stack .sheet-grab:before{content:"";display:block;width:40px;height:4px;margin:9px auto 0;border-radius:999px;background:var(--rule-strong, #A9B0C0)}.route-drawer-stack:has(~.route-dock){display:none!important}body[data-segment=village] .left-stack,body[data-segment=village] .route-drawer-stack{pointer-events:auto!important}.room-card,.room-card.rc-ov{left:10px!important;right:10px!important;width:auto!important;max-width:none!important;bottom:calc(var(--sheet-peek, 0px) + var(--fab-gap, 14px))!important;top:auto!important;transform:none!important;max-height:calc(100vh - var(--sheet-peek, 0px) - 160px);overflow-y:auto!important;-webkit-overflow-scrolling:touch;z-index:60!important;transition:bottom .35s cubic-bezier(.5,0,.15,1)}.room-card.rc-ov .rc-photo{height:150px}.search-input input,.rf input,.cp-input-field,.chat-input input,.chat-input textarea,.pp-field input,.lk-page input{font-size:16px!important}.pf-modal{left:10px!important;right:10px!important;top:50%!important;transform:translateY(-50%)!important;width:auto!important;max-width:none!important;max-height:88vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.pf-body{display:flex!important;flex-direction:column}.pf-half{width:100%;min-width:0;padding:14px 16px}.pf-half-right{order:-1}.pf-half-left{border-right:0;border-top:1px solid var(--ink-100)}.pf-head{flex-wrap:wrap;gap:6px}.pf-offline-pill{display:none}.cp-input-row{flex-wrap:nowrap}.cp-input-row .cp-input-apply{flex:0 0 auto;white-space:nowrap}.cp-quick-row{grid-template-columns:1fr 1fr;display:grid;gap:8px}.left-stack>*,.route-drawer-stack>*{flex:0 0 auto!important;width:100%!important;min-width:0!important}.left-stack .card,.route-drawer-stack .card{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box}.left-stack .card *,.route-drawer-stack .card *{min-width:0;box-sizing:border-box}.left-stack,.route-drawer-stack{overflow-x:hidden!important}.left-stack .floors-card ul,.route-drawer-stack .floors-card ul{display:flex;flex-direction:column;gap:6px;max-height:none}.left-stack .floors-card .floor-row,.route-drawer-stack .floors-card .floor-row{width:100%!important}.tour-panel{left:12px!important;right:12px!important;top:auto!important;bottom:calc(42vh + 10px)!important;width:auto!important;max-height:28vh}.route-dock{left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom,0px) + 10px);max-height:60vh;border-radius:16px}.route-dock header{grid-template-columns:40px 1fr auto 30px;gap:8px;padding:12px}.route-dock .title{font-size:13px}.route-dock .metrics{display:none}.route-dock .dock-body{grid-template-columns:1fr}.route-dock .col-stops{border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}.mini-map{width:108px!important;height:86px!important;top:56px!important;bottom:auto!important;right:12px!important;border-radius:12px!important}.mini-map .floor-code{font-size:9px;padding:2px 6px}.search-bar .chip-rows,.search-bar>.chip-row{display:none!important}.map-controls{right:12px!important;top:148px!important;bottom:auto!important;transform:none!important;gap:8px!important;z-index:24}.map-controls .map-btn,.map-controls .map-btn-group .map-btn{width:40px!important;height:40px!important;border-radius:12px}.search-bar{left:12px!important;right:12px!important;top:80px!important;width:auto!important;margin-right:0!important;z-index:33}.search-bar .chip-row,.search-bar .filter-chips,.filter-chips,.chip-row{flex-wrap:nowrap!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch;touch-action:pan-x;scrollbar-width:none}.search-bar .chip-row::-webkit-scrollbar,.search-bar .filter-chips::-webkit-scrollbar,.filter-chips::-webkit-scrollbar,.chip-row::-webkit-scrollbar{display:none}.search-bar .chip,.filter-chips>*,.chip-row>*{flex:0 0 auto!important}.poi-passport{left:12px;right:12px;width:auto;max-width:none;bottom:calc(env(safe-area-inset-bottom,0px) + 10px);border-radius:16px}.done-summary{width:calc(100vw - 24px);padding:20px}.done-summary .ds-metrics{grid-template-columns:1fr 1fr}.download-modal,.lift-side-view{width:calc(100vw - 24px)!important}.lift-side-view .lsv-3d-host{width:100%!important;height:50vh!important}.app-root{--sheet-open-h: 42vh;--sheet-peek: var(--sheet-open-h);--fab-gap: 14px}.app-root[data-sheet=collapsed]{--sheet-peek: calc(56px + env(safe-area-inset-bottom, 0px)) ;--fab-gap: 24px}.app-root[data-nav=route] .qr-fab,.app-root[data-nav=route] .chat-fab{display:none!important}.chat-fab{right:16px!important;bottom:calc(var(--sheet-peek) + var(--fab-gap, 14px))!important;z-index:32!important;transition:bottom .35s cubic-bezier(.5,0,.15,1)!important}.qr-fab{right:16px!important;bottom:calc(var(--sheet-peek) + var(--fab-gap, 14px) + 76px)!important;z-index:31!important;transition:bottom .35s cubic-bezier(.5,0,.15,1)!important}.qr-fab{height:56px!important;padding:0 18px 0 12px!important;border-radius:28px!important}.qr-fab .ttl{display:flex!important}.qr-fab .ttl em{display:none}.qr-fab .ico{width:34px;height:34px}.chat-fab .chat-ttl{display:none!important}.chat-fab{width:64px;height:64px!important;padding:0!important;justify-content:center;border-radius:50%!important}.qr-fab .ico svg{width:20px;height:20px}.chat-fab .chat-ico svg{width:28px;height:28px}.chat-fab:after,.qr-fab:before{display:none!important}.candle-toast{top:56px!important;left:12px!important;right:12px!important;transform:none!important;text-align:center;font-size:12px;padding:8px 12px}}@media (max-width: 480px){.topbar{padding:4px 10px;min-height:44px;gap:6px}.topbar .crumb-back{display:none}.topbar .loc{min-width:0;flex:1 1 auto;overflow:hidden}.topbar .loc .n{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.topbar .loc .by{display:none}.topbar .right{gap:4px;flex:0 0 auto}.topbar .right .download-chip{padding:6px 8px}.location-picker{font-size:11px}.app-root{--sheet-open-h: 46vh}.left-stack,.route-drawer-stack{padding:16px 10px calc(env(safe-area-inset-bottom,0px) + 10px)!important;border-radius:14px 14px 0 0}.search-bar{top:72px!important;margin-right:0!important}.mini-map{width:96px!important;height:76px!important;top:50px!important;right:10px!important}.map-controls{top:140px!important;right:10px!important}.chat-fab{height:60px!important;width:60px}.qr-fab{height:52px!important}}.download-modal-backdrop{position:fixed;inset:0;z-index:200;background:#080a0c9e;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;animation:dm-fade .14s ease-out}@keyframes dm-fade{0%{opacity:0}to{opacity:1}}.download-modal{position:relative;width:min(420px,calc(100vw - 32px));background:#161817;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:28px 24px 22px;box-shadow:0 20px 60px #0000008c;color:#eee;animation:dm-pop .16s ease-out}@keyframes dm-pop{0%{transform:translateY(8px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.download-modal .dm-close{position:absolute;top:12px;right:12px;width:30px;height:30px;border-radius:50%;border:0;background:transparent;color:#ffffff80;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.download-modal .dm-close:hover{background:#ffffff14;color:#fff}.download-modal .dm-badge{display:inline-flex;align-items:center;gap:6px;margin-bottom:14px}.download-modal .dm-offline{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.14em;color:#ffffff8c}.download-modal .dm-ar{display:inline-flex;align-items:center;justify-content:center;height:22px;padding:0 10px;border-radius:999px;background:var(--accent, #2DD4BF);color:#0a0a0a;font-family:var(--font-mono);font-size:10px;font-weight:800;letter-spacing:.12em}.download-modal .dm-title{margin:0 0 10px;font-family:var(--font-serif, ui-serif, Georgia, serif);font-size:22px;font-weight:600;line-height:1.2;color:#fff}.download-modal .dm-body{margin:0 0 20px;font-size:14px;line-height:1.5;color:#ffffffc7}.download-modal .dm-actions{display:flex;flex-direction:column;gap:8px}.download-modal .dm-btn{display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 16px;border-radius:12px;background:#ffffff0f;color:#fff;text-decoration:none;font-size:14px;font-weight:600;border:1px solid rgba(255,255,255,.1);transition:background .12s,transform .12s,border-color .12s}.download-modal .dm-btn:hover{background:#ffffff1f;border-color:#ffffff2e;transform:translateY(-1px)}.download-modal .dm-btn.primary{background:var(--accent, #2DD4BF);color:#0a0a0a;border-color:transparent}.download-modal .dm-btn.primary:hover{background:var(--accent-hover, #14b8a6)}.mesh-cal-panel{position:fixed;top:96px;right:24px;bottom:24px;width:320px;z-index:38;background:var(--bg-elevated, #FBF8F3);border:1px solid var(--rule, #D2D6DF);border-radius:14px;box-shadow:0 16px 36px #0e121838;display:flex;flex-direction:column;overflow:hidden}.mesh-cal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--rule, #D2D6DF);background:var(--paper-200, #F4ECDA)}.mesh-cal-title{display:flex;align-items:center;gap:10px}.mesh-cal-dot{width:8px;height:8px;border-radius:50%;background:var(--seg-corp, #1F4F5C)}.mesh-cal-title b{display:block;font-size:11px;letter-spacing:.08em;font-weight:700;color:var(--ink-900, #0E1218)}.mesh-cal-title em{display:block;font-style:normal;font-size:11px;color:var(--ink-500, #5A6373);font-family:"Source Serif 4",serif}.mesh-cal-close{width:28px;height:28px;border:none;background:transparent;cursor:pointer;color:var(--ink-500, #5A6373);display:inline-flex;align-items:center;justify-content:center;border-radius:6px}.mesh-cal-close:hover{background:#0e12180f}.mesh-cal-body{padding:12px 14px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:14px}.mesh-cal-slider{display:flex;flex-direction:column;gap:4px;font-size:12px}.mesh-cal-slider-head{display:flex;align-items:center;gap:6px;color:var(--ink-500, #5A6373)}.mesh-cal-slider-head>span:first-child{flex:1;font-weight:500}.mesh-cal-num{width:64px;padding:3px 6px;border:1px solid var(--rule, #D2D6DF);border-radius:5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;text-align:right;background:var(--bg-base, #FFF);color:var(--ink-900, #0E1218)}.mesh-cal-unit{font-size:10px;color:var(--ink-400, #8189A0);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.mesh-cal-slider input[type=range]{width:100%;accent-color:var(--seg-forum, #2A4FB8)}.mesh-cal-flips{display:flex;gap:8px}.mesh-cal-toggle{flex:1;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:12px;font-weight:600;border:1px solid var(--rule, #D2D6DF);background:var(--bg-base, #FFF);color:var(--ink-500, #5A6373)}.mesh-cal-toggle .dot{width:8px;height:8px;border-radius:50%;background:var(--rule-strong, #C0C5D3)}.mesh-cal-toggle.on{background:var(--ink-900, #0E1218);color:var(--paper-100, #FBF8F3);border-color:var(--ink-900, #0E1218)}.mesh-cal-toggle.on .dot{background:var(--seg-forum-tint, #DCE4F7)}.mesh-cal-divider{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.06em;color:var(--ink-400, #8189A0);text-transform:uppercase;margin-top:6px}.mesh-cal-divider:before,.mesh-cal-divider:after{content:"";flex:1;height:1px;background:var(--rule, #D2D6DF)}.mesh-cal-actions{display:flex;gap:8px;margin-top:4px}.mesh-cal-btn{flex:1;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:12px;font-weight:600;border:1px solid var(--rule, #D2D6DF)}.mesh-cal-btn.ghost{background:var(--bg-base, #FFF);color:var(--ink-700, #2C3340)}.mesh-cal-btn.primary{background:var(--ink-900, #0E1218);color:var(--paper-100, #FBF8F3);border-color:var(--ink-900, #0E1218)}.mesh-cal-json{margin:0;padding:8px;background:var(--paper-200, #F4ECDA);border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;line-height:1.4;color:var(--ink-700, #2C3340);max-height:160px;overflow:auto}@media (max-width: 900px){.mesh-cal-panel{inset:auto 12px 12px;width:auto;max-height:60vh;border-radius:14px}}.chat-fab{position:absolute;right:24px;bottom:130px;z-index:29;display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 18px 0 14px;background:var(--ink-900, #0E1218);color:var(--paper-100, #FBF8F3);border:1px solid var(--ink-700, #232A35);border-radius:26px;cursor:pointer;box-shadow:0 8px 22px #0e121847,0 2px 8px #00000029;font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:transform .14s ease,box-shadow .14s ease,background .14s ease}.chat-fab:hover{transform:translateY(-1px);box-shadow:0 12px 28px #0e121857}.chat-fab.on{background:var(--accent, var(--seg-museum));color:#0e1218;border-color:transparent}.chat-fab .chat-ico{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#ffffff14}.chat-fab.on .chat-ico{background:#0e12181f}.chat-fab .chat-ttl{display:flex;flex-direction:column;gap:1px;text-align:left;line-height:1}.chat-fab .chat-ttl b{font-size:13px;letter-spacing:.04em}.chat-fab .chat-ttl em{font-style:normal;opacity:.7;font-size:10px}.chat-panel{position:absolute;top:80px;right:24px;bottom:24px;width:380px;max-width:calc(100vw - 48px);z-index:60;display:flex;flex-direction:column;background:var(--bg-elevated, #FFFFFF);color:var(--fg, #0E1218);border:1px solid var(--rule, #D2D6DF);border-radius:18px;box-shadow:0 20px 60px #0e12182e,0 4px 12px #0000000f;overflow:hidden;animation:chat-pop .18s ease-out}@keyframes chat-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--rule, #D2D6DF);background:var(--bg, var(--paper-100))}.chat-title{display:flex;align-items:center;gap:10px}.chat-title b{display:block;font-size:14px;font-weight:700;color:var(--fg)}.chat-title em{display:block;font-style:normal;font-family:var(--font-mono, ui-monospace, monospace);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-faint, var(--ink-400));margin-top:1px}.chat-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--signal-positive, #1F8A5B);box-shadow:0 0 0 3px #1f8a5b2e}.chat-close{width:30px;height:30px;border-radius:50%;border:0;background:transparent;color:var(--fg-muted, var(--ink-500));display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s}.chat-close:hover{background:var(--bg-sunken, var(--paper-200));color:var(--fg)}.chat-quota{display:inline-flex;align-items:baseline;gap:4px;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,transparent);border:1px solid color-mix(in srgb,var(--accent) 34%,transparent);color:var(--accent);font-size:11px;line-height:1;white-space:nowrap;font-family:var(--font-mono, monospace)}.chat-quota b{font-size:12.5px;font-weight:800}.chat-quota em{font-style:normal;opacity:.72;font-weight:600;margin-left:2px}.chat-quota.low{background:#f0b42829;border-color:#f0b42880;color:#c98a0e}.chat-quota.out{background:#ff4d4d29;border-color:#ff4d4d80;color:#e03b3b}.chat-list{flex:1 1 auto;min-height:0;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:10px;background:var(--bg-elevated, #FFFFFF)}.chat-msg{display:flex;flex-direction:column;gap:6px;max-width:92%}.chat-msg.is-bot{align-self:flex-start}.chat-msg.is-user{align-self:flex-end;align-items:flex-end}.chat-bubble{padding:10px 12px;border-radius:14px;font-size:13.5px;line-height:1.45;white-space:pre-wrap;word-wrap:break-word}.chat-msg.is-bot .chat-bubble{background:var(--bg-sunken, var(--paper-200));border:1px solid var(--rule, #D2D6DF);border-bottom-left-radius:4px;color:var(--fg)}.chat-msg.is-user .chat-bubble{background:var(--ink-900, #0E1218);color:var(--paper-100, #FBF8F3);border-bottom-right-radius:4px}.chat-bubble p{margin:0}.chat-bubble p+p{margin-top:4px}.chat-bubble.is-typing{color:var(--ink-400, #8189A0);letter-spacing:2px;animation:chat-typing-pulse 1.2s ease-in-out infinite}@keyframes chat-typing-pulse{0%,to{opacity:.4}50%{opacity:1}}.chat-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.chat-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;height:30px;background:var(--bg-elevated, #FFFFFF);border:1px solid var(--rule, #D2D6DF);border-radius:999px;color:var(--fg, var(--ink-900));font-size:12px;font-weight:600;cursor:pointer;transition:border-color .12s,background .12s,color .12s}.chat-chip:hover{border-color:var(--accent, var(--seg-museum));background:var(--accent-tint, var(--seg-museum-tint));color:var(--fg)}.chat-retry{align-self:flex-start;margin-top:6px;padding:5px 11px;background:transparent;border:1px dashed var(--rule, #D2D6DF);border-radius:999px;color:var(--fg-muted, #6d6580);font-size:11.5px;font-weight:600;cursor:pointer;transition:border-color .12s,color .12s,background .12s}.chat-retry:hover{border-style:solid;border-color:#9570e3;color:#6500ad;background:#9570e314}.chat-retry:focus-visible{outline:2px solid #9570e3;outline-offset:2px}.chat-input{flex:0 0 auto;display:grid;grid-template-columns:1fr 40px;gap:8px;padding:12px 14px;border-top:1px solid var(--rule, #D2D6DF);background:var(--bg, var(--paper-100))}.chat-usage{flex:0 0 auto;padding:4px 14px 8px;text-align:center;font-size:10px;line-height:1.2;letter-spacing:.02em;font-variant-numeric:tabular-nums;color:var(--fg-muted, rgba(120,120,130,.7));opacity:.7;user-select:none}.chat-rec{flex:0 0 auto;display:flex;align-items:center;gap:9px;margin:0 14px;padding:8px 12px;border-radius:12px;background:#f325291a;border:1px solid rgba(243,37,41,.32);font-size:11.5px;font-weight:600;color:#e0796a;animation:chat-rec-in .16s ease-out}@keyframes chat-rec-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.chat-rec-dot{width:9px;height:9px;border-radius:50%;background:#f32529;flex:0 0 auto;animation:chat-rec-pulse 1s ease-in-out infinite}@keyframes chat-rec-pulse{0%,to{opacity:1;box-shadow:0 0 #f3252980}50%{opacity:.5;box-shadow:0 0 0 5px #f3252900}}.chat-rec-wave{display:inline-flex;align-items:center;gap:2px;height:16px}.chat-rec-wave i{width:3px;height:5px;border-radius:2px;background:#f32529;animation:chat-rec-wave .9s ease-in-out infinite}.chat-rec-wave i:nth-child(2){animation-delay:.12s}.chat-rec-wave i:nth-child(3){animation-delay:.24s}.chat-rec-wave i:nth-child(4){animation-delay:.36s}.chat-rec-wave i:nth-child(5){animation-delay:.48s}@keyframes chat-rec-wave{0%,to{height:5px}50%{height:15px}}.chat-rec-txt{color:var(--fg-muted, rgba(120,120,130,.85));font-weight:500}.chat-mic.rec{background:#f32529!important;color:#fff!important;animation:chat-rec-pulse 1s ease-in-out infinite}.chat-input input{width:100%;height:40px;padding:0 14px;background:var(--bg-elevated, #FFFFFF);border:1px solid var(--rule, #D2D6DF);border-radius:12px;color:var(--fg);font:inherit;font-size:13.5px;outline:none;transition:border-color .12s,box-shadow .12s}.chat-input input:focus{border-color:var(--accent, var(--seg-museum));box-shadow:0 0 0 3px var(--accent-tint, var(--seg-museum-tint))}.chat-send{width:40px;height:40px;border-radius:12px;background:var(--ink-900, #0E1218);color:var(--paper-100, #FBF8F3);border:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .14s,transform .14s}.chat-send:hover:not(:disabled){background:var(--accent, var(--seg-museum));color:#0e1218;transform:translateY(-1px)}.chat-send:disabled{background:var(--ink-300, #A9B0C0);cursor:not-allowed}@media (max-width: 900px){.chat-panel{inset:auto 0 0!important;width:100vw;max-width:100vw;height:70vh;max-height:70vh;border-radius:18px 18px 0 0;border-left:0;border-right:0;border-bottom:0}}@media (max-width: 480px){.chat-fab{height:44px;padding:0 14px 0 10px}.chat-fab .chat-ico{width:24px;height:24px}.chat-fab .chat-ttl b{font-size:12px}.chat-fab .chat-ttl em{display:none}}@media (max-width: 480px){.left-stack{max-height:56vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.left-stack .card.floors-card{max-height:38vh;overflow-y:auto}.left-stack .card.floors-card ul{padding-bottom:4px}.floor-row{padding:8px 10px!important;gap:8px!important}.floor-row .code{font-size:12px!important}.floor-row .name{font-size:13px!important}.floor-row .meta{font-size:10px!important}.map-controls{gap:6px!important}.map-btn[title*=Переключить]{font-size:13px!important;font-weight:800!important}}@supports (-webkit-touch-callout: none){.map-controls,.left-stack,.topbar{-webkit-transform:translateZ(0);transform:translateZ(0)}}.onb-overlay,.rg-overlay{position:fixed;inset:0;z-index:95;display:flex;align-items:center;justify-content:center;padding:20px;background:#0a0e09a8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-family:var(--font-sans, system-ui, sans-serif)}.rg-overlay.rg-stage{background:#0a0e0966;align-items:flex-end;padding:16px}.onb-overlay:not(.rg-stage),.rg-overlay:not(.rg-stage){overflow-y:auto;align-items:flex-start}.onb-overlay:not(.rg-stage)>.onb-card,.rg-overlay:not(.rg-stage)>.rg-card{margin:auto 0;max-height:none;overflow:visible}.onb-card,.rg-card{position:relative;width:min(1140px,100%);max-height:min(94vh,calc(100dvh - 24px));overflow:auto;background:linear-gradient(152deg,#465542,#37412f 46%,#2b331f);color:#edebed;border:1px solid rgba(255,255,255,.08);border-radius:28px;box-shadow:0 34px 100px -26px #000c;padding:34px 38px}.rg-overlay.rg-stage .rg-card{width:min(940px,100%)}.onb-close{position:absolute;top:16px;right:18px;width:34px;height:34px;border-radius:50%;background:#00000040;color:#ffffffb3;border:1px solid rgba(255,255,255,.12);font-size:22px;line-height:1;cursor:pointer;z-index:3}.onb-close:hover{background:#0006;color:#fff}.onb-body{display:grid;grid-template-columns:1fr 340px;gap:40px;align-items:center}.onb-left{min-width:0}.onb-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.onb-step-pill{padding:7px 15px;border-radius:999px;background:#caf45a1f;border:1px solid rgba(202,244,90,.4);color:#cfe79a;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.onb-progress{display:flex;gap:7px}.onb-seg{width:40px;height:6px;border-radius:4px;border:0;padding:0;cursor:pointer;background:#ffffff29}.onb-seg.done{background:linear-gradient(90deg,#9409ff,#caf45a)}.onb-title{font-size:30px;font-weight:800;letter-spacing:-.02em;margin:0 0 12px;color:#fff;line-height:1.12}.onb-lead{font-size:16px;line-height:1.5;color:#edebedd1;margin:0 0 22px}.onb-gift{display:flex;align-items:flex-start;gap:16px;margin:8px 0 22px;padding:18px 20px;border-radius:18px;background:linear-gradient(135deg,#9409ff47,#5a3ca02e);border:1px solid rgba(178,120,255,.28)}.onb-gift-check{flex:0 0 auto;width:42px;height:42px;border-radius:12px;background:#caf45ae6;color:#24310f;display:grid;place-items:center;font-size:20px;font-weight:900}.onb-gift-title{font-size:15.5px;font-weight:700;color:#fff}.onb-gift-sub{font-size:13px;line-height:1.45;color:#edebedad;margin-top:4px}.onb-bullets{margin:12px 0 22px;padding:0;list-style:none;display:flex;flex-direction:column;gap:13px}.onb-bullets li{position:relative;padding-left:30px;font-size:15px;line-height:1.45;color:#edebedeb}.onb-bullets li:before{content:"✓";position:absolute;left:0;top:-1px;width:21px;height:21px;border-radius:50%;background:#caf45ae6;color:#24310f;font-size:12px;font-weight:900;display:grid;place-items:center}.onb-actions{display:flex;flex-direction:column;gap:12px;margin-top:6px}.onb-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;width:100%;padding:16px 20px;border-radius:15px;font-size:15px;font-weight:800;cursor:pointer;border:0;transition:filter .14s,transform .12s,background .14s}.onb-btn:active{transform:scale(.99)}.onb-btn-primary{background:linear-gradient(100deg,#b6e64b,#cff15e);color:#24310f;box-shadow:0 12px 28px -10px #b4e64680}.onb-btn-primary:hover{filter:brightness(1.04)}.onb-btn-secondary{background:#ffffff14;color:#fff}.onb-btn-secondary:hover{background:#ffffff24}.onb-btn-ghost{background:transparent;color:#edebedb8;border:1px solid rgba(255,255,255,.18)}.onb-btn-ghost:hover{color:#fff;border-color:#ffffff57}.onb-btn-sos{background:#ff4d4d29;color:#ff6b6b;border:1px solid rgba(255,77,77,.4);width:auto}.onb-btn-sos:hover{background:#ff4d4d42;color:#fff}.onb-skip{display:block;margin:16px auto 0;background:none;border:0;color:#edebed8c;font-size:13px;font-weight:600;cursor:pointer}.onb-skip:hover{color:#fff}.rg-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.rg-ix{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#edebed80}.rg-collapse{background:none;border:0;color:#edebedb3;font-size:13px;font-weight:600;cursor:pointer}.rg-collapse:hover{color:#fff}.rg-count{font-size:13.5px;color:#edebed99;margin:8px 0 0}.rg-marker{margin-top:14px}.rg-marker-ph{display:flex;align-items:center;gap:12px;min-height:96px;padding:16px;border-radius:16px;background:#00000029;border:1.5px dashed rgba(255,255,255,.2);color:#edebedb8;font-size:13.5px}.rg-marker-arrow{font-size:26px;color:#caf45a}.rg-hint{margin-top:9px;font-size:13px;color:#cfe79a;font-weight:700}.rg-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.rg-nav{display:flex;gap:10px}.rg-nav .onb-btn{width:auto}.rg-empty{font-size:14px;color:#edebed99;margin:14px 0 0}.rg-list-card{max-width:560px}.rg-list-card .rg-ix{display:block;margin-bottom:6px}.rg-intro-card{max-width:940px}.rg-intro-body{display:grid;grid-template-columns:1fr 300px;gap:36px;align-items:center}.rg-intro-left{min-width:0}.rg-intro-left .rg-ix{display:block;margin-bottom:8px}.rg-intro-left .onb-title{font-size:26px;margin-bottom:10px}.rg-intro-left .onb-lead{margin-bottom:14px}.rg-intro-feats{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:9px}.rg-intro-feats li{position:relative;padding-left:26px;font-size:14px;line-height:1.4;color:#edebede6}.rg-intro-feats li:before{content:"✓";position:absolute;left:0;top:-1px;width:18px;height:18px;border-radius:50%;font-size:11px;font-weight:900;background:#caf45ae6;color:#24310f;display:grid;place-items:center}.rg-intro-dl{display:inline-flex;align-items:center;gap:9px;padding:13px 22px;border-radius:14px;text-decoration:none;background:linear-gradient(100deg,#b6e64b,#cff15e);color:#24310f;font-size:15px;font-weight:800;box-shadow:0 12px 28px -10px #b4e64680;transition:filter .14s,transform .12s}.rg-intro-dl:hover{filter:brightness(1.05);transform:translateY(-1px)}.rg-intro-routes-label{margin:22px 0 4px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#edebed80}.rg-intro-card .rg-list{margin-top:10px;max-height:34vh;overflow-y:auto}@media (max-width: 820px){.rg-intro-body{grid-template-columns:1fr;gap:20px}.rg-intro-body .phone-mock{order:10}.rg-overlay:not(.rg-stage){overflow-y:auto;align-items:flex-start;padding:12px 12px calc(env(safe-area-inset-bottom,0px) + 12px)}.rg-overlay:not(.rg-stage) .rg-card{margin:auto 0;max-height:none;overflow:visible}.rg-intro-card .rg-list{max-height:none;overflow-y:visible}}@media (max-width: 520px){.onb-card,.rg-card{padding:20px 16px;border-radius:20px}.rg-intro-left .onb-title{font-size:21px}.phone-frame{width:170px;height:340px}}.rg-list{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}.rg-list-item{display:flex;align-items:center;gap:16px;width:100%;text-align:left;padding:16px 18px;border-radius:16px;cursor:pointer;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);transition:background .14s,border-color .14s,transform .12s}.rg-list-item:hover{background:#ffffff17;border-color:#caf45a66;transform:translateY(-1px)}.rg-list-code{flex:0 0 auto;width:46px;height:46px;border-radius:12px;display:grid;place-items:center;font-family:var(--font-mono, monospace);font-size:14px;font-weight:800;letter-spacing:.02em;background:linear-gradient(135deg,#9409ff,#caf45a);color:#16240a}.rg-list-thumb{flex:0 0 auto;position:relative;width:62px;height:62px;border-radius:12px;overflow:hidden;background:#ffffff0f;border:1px solid rgba(255,255,255,.12)}.rg-list-thumb img{width:100%;height:100%;object-fit:cover;display:block}.rg-list-thumb-code{position:absolute;left:4px;bottom:4px;font-family:var(--font-mono, monospace);font-size:10px;font-weight:800;letter-spacing:.02em;color:#16240a;background:#caf45a;border-radius:6px;padding:1px 5px;font-style:normal}.rg-ov-hero{width:100%;aspect-ratio:16 / 7;border-radius:14px;overflow:hidden;margin:4px 0 14px;background:#ffffff0d}.rg-ov-hero img{width:100%;height:100%;object-fit:cover;display:block}.rg-list-body{min-width:0;display:flex;flex-direction:column;gap:3px}.rg-list-name{font-size:16px;font-weight:800;color:#fff;line-height:1.2}.rg-list-desc{font-size:13px;color:#edebeda8;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.rg-list-meta{font-size:11.5px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#caf45ad9;margin-top:3px}.rg-list-arrow{flex:0 0 auto;margin-left:auto;font-size:20px;color:#edebed80}.rg-list-item:hover .rg-list-arrow{color:#caf45a}.rg-back-list{background:none;border:0;color:#edebedb3;font-size:13px;font-weight:600;cursor:pointer;padding:0;margin-bottom:12px}.rg-back-list:hover{color:#caf45a}.rg-stage-preview{list-style:none;margin:16px 0 20px;padding:0;display:flex;flex-direction:column;gap:9px}.rg-stage-preview li{display:flex;align-items:center;gap:12px;font-size:14px;color:#edebede6}.rg-sp-num{flex:0 0 auto;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800;background:#caf45a29;color:#caf45a}.rg-sp-title{flex:1;min-width:0}.rg-sp-calib{flex:0 0 auto;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#1fb6e0;background:#1fb6e024;border:1px solid rgba(31,182,224,.32);border-radius:999px;padding:3px 9px}.rg-cp-overlay{align-items:center;justify-content:center;background:#0a0e098c;padding:16px}.rg-cp-row{display:flex;align-items:center;gap:32px}.rg-cp-card{position:static;transform:none;left:auto;top:auto;width:460px;max-width:calc(100vw - 32px);flex:0 0 auto}.rg-cp-cta{margin-bottom:12px}@media (max-width: 900px){.rg-cp-row{flex-direction:column;gap:18px}.rg-cp-row .phone-mock{display:none}}.rg-cp-showmap{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-bottom:10px;padding:12px;border-radius:12px;cursor:pointer;background:#38bdf824;color:#0ea5e9;border:1px solid rgba(56,189,248,.4);font-size:13px;font-weight:800;transition:background .14s,transform .12s}.rg-cp-showmap:hover{background:#38bdf83d;transform:translateY(-1px)}.rg-cp-sos{display:block;width:100%;background:#ff4d4d24;color:#ff6b6b;border:1px solid rgba(255,77,77,.36);border-radius:12px;padding:11px;font-size:12.5px;font-weight:800;cursor:pointer;transition:background .14s,color .14s}.rg-cp-sos:hover{background:#ff4d4d3d;color:#fff}.phone-mock{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:12px;align-self:stretch;justify-content:center}.phone-frame{position:relative;width:300px;height:600px;border-radius:46px;background:#0b0b0e;border:5px solid #0b0b0e;box-shadow:0 26px 60px -18px #000000b3,inset 0 0 0 1.5px #ffffff0f;overflow:hidden}.phone-island{position:absolute;top:14px;left:50%;transform:translate(-50%);width:104px;height:26px;border-radius:15px;background:#000;z-index:5}.phone-video{width:100%;height:100%;object-fit:cover}.phone-screen{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(180deg,#b0c0c7,#9caaa2 45%,#91a389)}.ph-play{width:62px;height:62px;border-radius:50%;background:#fff;color:#24310f;border:0;cursor:pointer;display:grid;place-items:center;box-shadow:0 8px 22px #00000040;padding-left:3px}.ph-play:hover{transform:scale(1.04)}.phone-cap{font-size:13.5px;font-weight:700;color:#cfe79a;text-align:center}@media (max-width: 820px){.onb-body{grid-template-columns:1fr;gap:22px}.phone-mock{order:-1}.phone-frame{width:200px;height:400px}.onb-card,.rg-card{padding:26px 22px}.onb-title{font-size:23px}}.ach-toasts{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;gap:10px;align-items:center;pointer-events:none}.ach-toast{pointer-events:auto;display:flex;align-items:center;gap:12px;padding:12px 18px 12px 12px;border:0;cursor:pointer;border-radius:16px;background:linear-gradient(120deg,#2b331f,#465542 60%,#3a2c55);box-shadow:0 12px 34px #00000073,0 0 0 1px #caf45a59;color:#fff;animation:achpop .4s cubic-bezier(.2,.9,.3,1.4);max-width:90vw}@keyframes achpop{0%{opacity:0;transform:translateY(-14px) scale(.9)}to{opacity:1;transform:none}}.ach-toast-ic{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;background:linear-gradient(135deg,#b6e64b,#cff15e)}.ach-toast-txt{display:flex;flex-direction:column;text-align:left}.ach-toast-txt b{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#caf45a}.ach-toast-txt em{font-size:15px;font-style:normal;font-weight:700}.admin-wrap{position:fixed;inset:0;overflow:auto;background:#10130c;color:#eef;font-family:inherit;background-image:radial-gradient(1200px 600px at 80% -10%,rgba(148,9,255,.14),transparent),radial-gradient(900px 500px at -10% 110%,rgba(202,244,90,.08),transparent)}.admin-login{max-width:380px;margin:12vh auto 0;padding:34px 30px;border-radius:20px;text-align:center;background:linear-gradient(160deg,#465542,#2b331f);box-shadow:0 20px 60px #00000080}.admin-login h1{font-size:22px;margin:8px 0 6px}.admin-login p{font-size:13px;color:#ffffff8c;margin-bottom:20px}.admin-login input,.admin-detail input{width:100%;padding:13px 15px;border-radius:12px;border:1px solid rgba(255,255,255,.15);background:#0000004d;color:#fff;font-size:16px;text-align:center;letter-spacing:.3em;margin-bottom:12px}.admin-back{position:absolute;top:16px;left:18px;background:none;border:0;color:#fff9;font-size:13px;cursor:pointer}.admin-err{font-size:13px;color:#ff9a9a;margin-bottom:10px}.admin-btn{width:100%;padding:13px;border:0;border-radius:12px;cursor:pointer;font-size:15px;font-weight:700;background:linear-gradient(100deg,#b6e64b,#cff15e);color:#1a2410}.admin-btn:disabled{opacity:.5}.admin-head{display:flex;justify-content:space-between;align-items:flex-end;padding:22px 26px 16px}.admin-eyebrow{font-size:11px;letter-spacing:.12em;color:#caf45a}.admin-head h1{font-size:24px;margin:4px 0 0}.admin-head-actions{display:flex;gap:8px}.admin-ghost{padding:8px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:#ffffff0d;color:#fff;font-size:13px;cursor:pointer}.admin-analytics{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;padding:0 26px 18px;align-items:start}.admin-funnel,.admin-top{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:14px 16px 18px}.admin-funnel-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;align-items:end}.admin-funnel-step{display:flex;flex-direction:column;align-items:center;text-align:center;gap:3px}.admin-funnel-bar{width:100%;height:80px;border-radius:8px 8px 0 0;background:#ffffff0f;display:flex;align-items:flex-end;overflow:hidden}.admin-funnel-bar i{width:100%;background:linear-gradient(180deg,#caf45a,#9409ff);border-radius:8px 8px 0 0}.admin-funnel-step b{font-size:18px;margin-top:6px}.admin-funnel-step span{font-size:11px;color:#ffffff8c;line-height:1.2}.admin-funnel-step em{font-size:11px;font-style:normal;color:#caf45a}.admin-tops{display:grid;grid-template-columns:1fr 1fr;gap:16px}.admin-top-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-top:1px solid rgba(255,255,255,.06);font-size:13px}.admin-top-row span{color:#fffc;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-top-row b{color:#caf45a;margin-left:10px}.admin-top-empty{font-size:12px;color:#ffffff59;padding:6px 0}@media (max-width: 760px){.admin-analytics,.admin-tops{grid-template-columns:1fr}}.admin-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;padding:0 26px 30px;align-items:start}.admin-users{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:16px;overflow:hidden}.admin-datebar{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#00000040;border-bottom:1px solid rgba(255,255,255,.06);font-size:13px}.admin-datebar label{color:#ffffff8c;font-weight:600}.admin-datebar select{background:#ffffff14;color:#fff;border:1px solid rgba(255,255,255,.16);border-radius:9px;padding:6px 10px;font-size:13px;cursor:pointer}.admin-datebar-info{color:#fff6;font-size:12px;margin-left:auto}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th{text-align:left;padding:12px 14px;font-size:11px;letter-spacing:.06em;color:#ffffff73;background:#00000040;font-weight:600}.admin-table td{padding:11px 14px;border-top:1px solid rgba(255,255,255,.06);vertical-align:middle}.admin-table tbody tr{cursor:pointer}.admin-table tbody tr:hover{background:#caf45a0f}.admin-table tbody tr.on{background:#9409ff29}.admin-table td b{display:block;font-size:13.5px}.admin-table td small{font-size:11px;color:#fff6}.admin-table td em{color:#ffffff59;font-style:normal}.admin-ach-n{color:#caf45a;font-weight:700}.admin-last{font-size:11.5px;color:#ffffff73}.admin-empty,.admin-detail-empty{color:#fff6;text-align:center;padding:24px;font-size:13px}.admin-detail{position:sticky;top:16px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:18px 18px 22px;max-height:calc(100vh - 40px);overflow:auto}.admin-detail-head h2{font-size:18px;margin:0}.admin-detail-head span{font-size:12px;color:#ffffff80}.admin-sec-t{font-size:11px;font-weight:700;letter-spacing:.1em;color:#caf45a;margin:18px 0 9px}.admin-achs{display:flex;flex-wrap:wrap;gap:6px}.admin-ach{font-size:12px;padding:5px 10px;border-radius:9px;background:#ffffff0d;color:#ffffff80}.admin-ach.got{background:linear-gradient(120deg,#caf45a33,#9409ff2e);color:#fff}.admin-hist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.admin-hist li{display:grid;grid-template-columns:92px 1fr auto;gap:8px;align-items:center;padding:8px 10px;border-radius:9px;background:#ffffff08;font-size:12.5px}.admin-h-kind{color:#ffffffb3}.admin-h-q{color:#ffffffe6;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-h-ts{font-size:11px;color:#fff6}@media (max-width: 760px){.admin-grid{grid-template-columns:1fr}.admin-detail{position:static;max-height:none}.admin-table th:nth-child(3),.admin-table td:nth-child(3),.admin-table th:nth-child(4),.admin-table td:nth-child(4){display:none}}.lk-page{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;background:radial-gradient(1200px 600px at 80% -10%,rgba(148,9,255,.28),transparent 60%),radial-gradient(900px 500px at -10% 110%,rgba(202,244,90,.1),transparent 55%),#0e0b16;color:#fff;font-family:var(--font-sans, system-ui, sans-serif)}.lk-topbar{flex:0 0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.08);background:#0e0b16b8;backdrop-filter:blur(12px)}.lk-back{justify-self:start;display:inline-flex;align-items:center;gap:6px;padding:8px 12px 8px 8px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:#ffffff0d;color:#fff;font-size:13px;font-weight:600;cursor:pointer}.lk-back:hover{background:#ffffff1c}.lk-eyebrow{justify-self:center;font-size:10.5px;font-weight:700;letter-spacing:.12em;color:#ffffff8c;white-space:nowrap}.lk-logout{justify-self:end;padding:8px 14px;border:1px solid rgba(243,37,41,.35);border-radius:10px;background:#f325291a;color:#ff9b8c;font-size:13px;font-weight:600;cursor:pointer}.lk-logout:hover{background:#f325292e}.lk-logout-ghost{justify-self:end;width:1px}.lk-scroll{flex:1 1 auto;overflow-y:auto;padding:18px 16px 40px}.lk-scroll>*,.lk-login{width:100%;max-width:620px;margin-left:auto;margin-right:auto}.lk-card{background:#ffffff0b;border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:16px;margin-bottom:14px}.lk-card-flat{margin-bottom:14px}.lk-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.lk-card-head h3{margin:0;font-size:15px;font-weight:700;color:#fff}.lk-h1{margin:0 0 14px;font-size:22px;font-weight:800;color:#fff}.lk-note{margin:8px 0 0;font-size:12.5px;line-height:1.45;color:#ffffff8c}.lk-link{color:#caf45a;text-decoration:underline;text-underline-offset:2px}.lk-link:hover{color:#d8ff78}.lk-login{max-width:420px}.lk-consent{display:flex;align-items:flex-start;gap:9px;margin:4px 0 14px;font-size:13px;color:#fffc;line-height:1.4;cursor:pointer}.lk-consent input{width:18px;height:18px;margin-top:1px;flex:0 0 auto;accent-color:#CAF45A;cursor:pointer}.lk-coins-count{font-size:14px;font-weight:600;color:#ffffff8c}.lk-coins-count b{font-size:20px;font-weight:800;color:#caf45a}.lk-coins-bar{position:relative;height:8px;border-radius:5px;background:#ffffff1a;overflow:hidden}.lk-coins-bar.sm{height:6px;margin-top:6px}.lk-coins-bar i{position:absolute;inset:0 auto 0 0;border-radius:5px;background:linear-gradient(90deg,#9409ff,#caf45a);transition:width .4s ease}.lk-route-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.lk-route-open{width:100%;display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:11px;padding:11px 12px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#ffffff0a;color:#fff;text-align:left;cursor:pointer}.lk-route-open:hover{background:#ffffff14;border-color:#caf45a4d}.lk-route-dot{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.2);font-size:13px;font-weight:800;color:#0e0b16;flex:0 0 auto}.lk-route-dot.done{background:#caf45a;border-color:#caf45a}.lk-route-main{min-width:0}.lk-route-main b{display:block;font-size:14px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lk-route-main small{display:block;font-size:11.5px;color:#ffffff80;margin-top:2px}.lk-route-pill{font-size:11px;font-weight:700;padding:4px 9px;border-radius:999px;white-space:nowrap;background:#ffffff17;color:#fff9}.lk-route-pill.done{background:#caf45a2e;color:#caf45a}.lk-task{border:1px solid rgba(202,244,90,.28);background:linear-gradient(150deg,#9409ff1f,#caf45a0f);position:relative}.lk-task-badge{position:absolute;top:12px;right:14px;font-size:9px;font-weight:800;letter-spacing:.1em;color:#caf45abf}.lk-task-body{display:flex;align-items:flex-start;gap:13px}.lk-task-ic{font-size:30px;line-height:1;flex:0 0 auto}.lk-task-txt{min-width:0;flex:1 1 auto}.lk-task-txt b{display:block;font-size:14.5px;font-weight:700;color:#fff}.lk-task-txt small{display:block;font-size:12px;color:#fff9;margin:3px 0 8px}.lk-task-txt em{display:block;font-size:11px;font-style:normal;color:#caf45ad9;font-weight:700;margin-top:5px}.lk-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px;padding:4px 2px}.pp-login-note{font-size:11.5px;color:#ffffff73;text-align:center;margin-top:8px}@media (max-width: 520px){.lk-eyebrow{font-size:9px;letter-spacing:.08em}.lk-back span{display:none}}.lk-page,.lk-scroll{overflow-x:hidden}.lk-page input,.lk-page button{max-width:100%}.pp-field,.pp-field input{width:100%}.route-focus-chip{position:fixed;left:50%;transform:translate(-50%);top:68px;z-index:44;display:flex;align-items:center;gap:10px;max-width:calc(100vw - 32px);padding:8px 10px 8px 14px;border-radius:999px;background:#0e0b16db;border:1px solid rgba(202,244,90,.4);box-shadow:0 6px 20px #00000059;backdrop-filter:blur(10px);color:#fff;font-size:12.5px;font-weight:600}.rfc-dot{width:9px;height:9px;border-radius:50%;background:#2ee6c6;box-shadow:0 0 8px #2ee6c6;flex:0 0 auto}.rfc-txt{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rfc-clear{flex:0 0 auto;border:0;cursor:pointer;border-radius:999px;padding:5px 11px;background:#caf45a;color:#16240a;font-size:11.5px;font-weight:800;white-space:nowrap}.rfc-clear:hover{background:#d8ff78}@media (max-width: 520px){.route-focus-chip{top:60px;font-size:11.5px}}.admin-tabs{display:flex;gap:4px;margin-right:8px}.admin-tab{padding:7px 14px;border-radius:8px;border:1px solid var(--rule, #d8d1c6);background:transparent;color:var(--fg-muted, #6e6359);font:600 13px/1 inherit;cursor:pointer}.admin-tab.on{background:var(--accent, #9409ff);border-color:transparent;color:#fff}.admin-qr{padding:16px 24px 32px}.admin-qr-hint{margin:6px 0 14px;color:var(--fg-muted, #6e6359);font-size:13px;line-height:1.5}.admin-qr-table td{vertical-align:middle}.admin-qr-table small{display:block;color:var(--fg-faint, #948a7e);font-size:11px;margin-top:2px}.admin-qr-table em{display:block;color:var(--fg-faint, #948a7e);font-size:11px;font-style:normal}.admin-inp{width:100%;min-width:160px;padding:7px 10px;border-radius:7px;border:1px solid var(--rule, #d8d1c6);background:var(--bg-elevated, #fff);color:var(--fg, #1e1813);font:400 13px/1.3 inherit}.admin-inp:focus{outline:2px solid var(--accent, #9409ff);outline-offset:-1px}.admin-qr-act{white-space:nowrap}.admin-btn-sm,.admin-ghost-sm{padding:6px 11px;border-radius:7px;font:600 12px/1 inherit;cursor:pointer;margin-left:4px}.admin-btn-sm{background:var(--accent, #9409ff);color:#fff;border:0}.admin-ghost-sm{background:transparent;color:var(--fg-muted, #6e6359);border:1px solid var(--rule, #d8d1c6)}.admin-linkish{background:none;border:0;padding:0;cursor:pointer;color:var(--accent, #9409ff);font:700 15px/1 inherit;text-decoration:underline dotted}.admin-qr-people td{background:#ffffff0d;padding:14px 18px}.admin-qr-people .admin-top-row{display:flex;align-items:center;gap:10px;padding:5px 0}.admin-qr-people .admin-top-row em{margin-left:auto;font-style:normal;opacity:.6;font-size:11px}.admin-qr-new{margin-top:22px}.admin-qr-new-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.admin-qr-new-row .admin-inp{flex:1 1 180px;width:auto;min-width:150px}.admin-qr-msg{margin-top:10px;color:var(--signal-positive, #1f8a5b);font-size:13px;font-weight:600}.admin-qr-user .admin-top-row em{margin-left:auto;color:var(--fg-faint, #948a7e);font-style:normal;font-size:11px}.link-wrap{min-height:100dvh;display:grid;place-items:center;padding:24px;background:var(--bg, #fbf8f3)}.link-card{max-width:460px;width:100%;padding:28px;border-radius:16px;background:var(--bg-elevated, #fff);box-shadow:0 12px 40px #0000001a;text-align:center}.link-eyebrow{font:600 11px/1 inherit;letter-spacing:.14em;text-transform:uppercase;color:var(--accent, #9409ff);margin-bottom:12px}.link-text{font-size:17px;line-height:1.5;color:var(--fg, #1e1813);margin:0 0 20px}.link-btn{width:100%;padding:13px 20px;border:0;border-radius:10px;background:var(--accent, #9409ff);color:#fff;font:700 15px/1 inherit;cursor:pointer}.link-err{margin-top:12px;color:var(--signal-warn, #b8731f);font-size:13px}.admin-inp-xs{min-width:70px;width:84px;flex:0 0 auto;text-align:center}.admin-qr-show{display:flex;gap:20px;align-items:flex-start}.admin-qr-show img{border-radius:8px;background:#fff;flex:0 0 auto}.admin-qr-show .admin-qr-hint{margin:6px 0 12px;max-width:640px}body[data-segment=village] .topbar,body[data-segment=village] .top-bar,body[data-segment=village] .search-input,body[data-segment=village] .left-stack .card,body[data-segment=village] .route-drawer-stack .card,body[data-segment=village] .tour-panel,body[data-segment=village] .dock-body,body[data-segment=village] .map-btn-group{-webkit-backdrop-filter:blur(28px) saturate(185%);backdrop-filter:blur(28px) saturate(185%)}body[data-segment=village] .map-controls{-webkit-backdrop-filter:none;backdrop-filter:none;background:transparent}body[data-segment=village] .left-stack .card,body[data-segment=village] .route-drawer-stack .card,body[data-segment=village] .tour-panel{background:#2b2b2b8c;border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 55px -16px #0009,inset 0 1px #fff6,inset 0 -10px 24px -12px #00000059}body[data-segment=village] .search-input{position:relative;isolation:isolate}body[data-segment=village] .search-input:after,body[data-segment=village] .chat-panel:after{content:"";position:absolute;left:14%;right:14%;top:0;height:1px;pointer-events:none;z-index:1;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent)}body[data-segment=village] .topbar,body[data-segment=village] .top-bar{background:#26262a80;-webkit-backdrop-filter:blur(28px) saturate(.45) brightness(.7);backdrop-filter:blur(28px) saturate(.45) brightness(.7);border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 55px -16px #0009,inset 0 1px #fff6}body[data-segment=village] .ov-loc{display:flex;flex-direction:row;align-items:center;gap:11px;padding:0;border-radius:0;background:transparent;border:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}body[data-segment=village] .ovicon{width:36px;height:36px;flex:0 0 auto;border-radius:10px;background:var(--grad);display:grid;place-items:center;font:800 7px var(--font-display);letter-spacing:-.02em;color:#fff;text-align:center;line-height:1.04;box-shadow:0 3px 10px #9409ff66}body[data-segment=village] .ov-loc-txt{display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:36px;min-width:0}body[data-segment=village] .ov-loc .n{font:800 16px var(--font-display);letter-spacing:-.02em;color:var(--tx);line-height:1.18}body[data-segment=village] .ov-loc .by{font-size:11px;font-weight:500;color:var(--on-dark-soft);line-height:1.2;margin:0}body[data-segment=village] .topbar .ov-loc .by{color:var(--on-dark-soft);font-weight:500}body[data-segment=village] .topbar .ov-loc .by strong{color:var(--tx);letter-spacing:.04em}body[data-segment=village] .topbar .ov-loc .by svg{color:var(--violet-2)}body[data-segment=village] .topbar .right .icbtn{background:#2b2b2b8c;color:var(--tx);-webkit-backdrop-filter:blur(18px) saturate(180%);backdrop-filter:blur(18px) saturate(180%);border:1px solid rgba(255,255,255,.12);transition:background .15s,transform .15s,box-shadow .15s}body[data-segment=village] .topbar .right .icbtn:hover{background:#ffffff29;color:#fff;transform:translateY(-1px)}body[data-segment=village] .topbar .right .icbtn:active{transform:scale(.975)}body[data-segment=village] .topbar .right .icbtn.on,body[data-segment=village] .topbar .right .icbtn.badge-host.on{background:var(--violet);color:#fff;border-color:transparent;box-shadow:0 0 14px -2px #9409ff8c}body[data-segment=village] .topbar .right .icbtn .badge-dot{background:var(--lime);color:var(--graphite);font-weight:800}body[data-segment=village] .topbar .right .lang{background:#2b2b2b8c;color:var(--tx);font:700 13px var(--font-sans);border-radius:999px;-webkit-backdrop-filter:blur(18px) saturate(180%);backdrop-filter:blur(18px) saturate(180%);border:1px solid rgba(255,255,255,.12);transition:background .15s,transform .15s}body[data-segment=village] .topbar .right .lang:hover{background:#ffffff29}body[data-segment=village] .topbar .right .lang:active{transform:scale(.975)}body[data-segment=village] .left-stack,body[data-segment=village] .route-drawer-stack,body[data-segment=village] .search-bar{top:92px}body[data-segment=village] .left-stack,body[data-segment=village] .route-drawer-stack{pointer-events:none}body[data-segment=village] .left-stack>*,body[data-segment=village] .route-drawer-stack>*{pointer-events:auto}body[data-segment=village] .topbar .right .lang svg{color:var(--tx-soft)}body[data-segment=village] .topbar .right .download-chip{background:var(--grad-track);color:#fff;border:0;box-shadow:0 8px 20px -6px #9409ff99,inset 0 1px #fff6}body[data-segment=village] .topbar .right .download-chip:hover{filter:brightness(1.06);transform:translateY(-1px)}body[data-segment=village] .topbar .right .download-chip:active{transform:scale(.975)}body[data-segment=village] .topbar .right .download-chip .dc-label{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.22)}body[data-segment=village] .topbar .right .download-chip .dc-sep{background:#ffffff59}body[data-segment=village] .topbar .right .download-chip .dc-offline{color:#ffffffd9}body[data-segment=village] .topbar .right .download-chip .dc-ar{background:#ffffffeb;color:var(--graphite)}body[data-segment=village] .search-input{height:48px;border-radius:14px;color:var(--tx);background:#2b2b2b8c;border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);transition:transform .12s,background .15s,box-shadow .15s}body[data-segment=village] .search-input input{color:var(--tx);font:600 15px var(--font-sans)}body[data-segment=village] .search-input input::placeholder{color:#f3eff780;font-weight:600}body[data-segment=village] .search-input svg{color:#9180a0}body[data-segment=village] .search-input:active{transform:scale(.975)}body[data-segment=village] .search-input:focus-within{box-shadow:0 0 0 2px var(--violet),0 18px 55px -16px #0009}body[data-segment=village] .search-input .cog{background:#ffffff14;color:#9180a0}body[data-segment=village] .search-input .cog:hover{background:#ffffff24;color:var(--tx)}body[data-segment=village] .search-palette{background:#2b2b2bc7;color:var(--tx);-webkit-backdrop-filter:blur(24px) saturate(185%);backdrop-filter:blur(24px) saturate(185%);border:1px solid rgba(255,255,255,.12);border-radius:13px}body[data-segment=village] .search-palette .palette-chips{background:#2b2b2beb;border-bottom-color:#ffffff14}body[data-segment=village] .search-palette .palette-row:hover{background:#9409ff4d}body[data-segment=village] .search-palette .palette-row .title{color:var(--tx)}body[data-segment=village] .search-palette .palette-row .meta,body[data-segment=village] .search-palette .palette-row .kbd,body[data-segment=village] .search-palette .palette-head,body[data-segment=village] .search-palette .palette-hint,body[data-segment=village] .search-palette .palette-empty{color:var(--tx-soft)}body[data-segment=village] .search-palette .palette-head em{color:var(--tx)}body[data-segment=village] .search-palette .palette-row .thumb{background:#ffffff14;color:var(--tx-soft)}body[data-segment=village] .search-palette .palette-row:hover .thumb{background:#ffffff1f}body[data-segment=village] .search-palette .palette-row .thumb.cp-thumb{background:#9409ff29;color:#c9a8f2;border:1px solid rgba(148,9,255,.3)}body[data-segment=village] .search-palette .palette-hint{border-top-color:#ffffff12}body[data-segment=village] .tabs{background:#2b2b2b8c;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:5px;gap:4px;-webkit-backdrop-filter:blur(20px) saturate(185%);backdrop-filter:blur(20px) saturate(185%)}body[data-segment=village] .tabs button{background:transparent;color:#ffffffb3;font:700 12.5px var(--font-sans);padding:8px 13px;border-radius:10px;transition:.15s}body[data-segment=village] .tabs button:hover{background:#ffffff14;color:#fff}body[data-segment=village] .tabs button:active{transform:scale(.975)}body[data-segment=village] .tabs button.on,body[data-segment=village] .tabs button[aria-selected=true]{background:var(--grad-track);color:#fff;box-shadow:0 4px 14px -4px #9409ff99}body[data-segment=village] .map-btn-group{background:#26262a80;border-color:#ffffff1f;-webkit-backdrop-filter:blur(20px) saturate(.45) brightness(.7);backdrop-filter:blur(20px) saturate(.45) brightness(.7)}body[data-segment=village] .map-btn,body[data-segment=village] .map-controls button{background:#26262a80;color:var(--tx);-webkit-backdrop-filter:blur(18px) saturate(.45) brightness(.7);backdrop-filter:blur(18px) saturate(.45) brightness(.7);border:1px solid rgba(255,255,255,.12);transition:background .15s,transform .15s,box-shadow .15s}body[data-segment=village] .map-btn:hover,body[data-segment=village] .map-controls button:hover{background:#ffffff29;transform:translateY(-1px)}body[data-segment=village] .map-btn:active{transform:scale(.975)}body[data-segment=village] .map-btn.on,body[data-segment=village] .map-controls button.on{background:var(--violet);color:#fff;border-color:transparent;box-shadow:0 0 14px -2px #9409ff8c}body[data-segment=village] .chip-row .flt-chip{background:#2b2b2b8c;color:var(--tx);box-shadow:none;border-radius:999px;font:700 13px var(--font-sans);-webkit-backdrop-filter:blur(18px) saturate(180%);backdrop-filter:blur(18px) saturate(180%);border:1px solid rgba(255,255,255,.12);transition:background .14s,color .14s,transform .14s}body[data-segment=village] .chip-row .flt-chip:hover{background:#ffffff29}body[data-segment=village] .chip-row .flt-chip:active{transform:scale(.975)}body[data-segment=village] .chip-row .flt-chip em{color:var(--tx-soft)}body[data-segment=village] .chip-row .flt-chip.on{background:#fff;color:var(--graphite);border-color:transparent}body[data-segment=village] .chip-row .flt-chip.on em{color:#2b2b2b99}body[data-segment=village] .btn-rebuild,body[data-segment=village] .input-state .build,body[data-segment=village] .rc-ov .rc-btn.to,body[data-segment=village] .chat-send{width:44px;height:44px;border-radius:12px;color:#fff;background:var(--grad-track);border:0;background-clip:padding-box;box-shadow:0 8px 20px -6px #9409ff99;text-shadow:0 1px 2px rgba(0,0,0,.22);transition:transform .12s,filter .15s,box-shadow .15s}body[data-segment=village] .btn-rebuild:hover,body[data-segment=village] .input-state .build:hover,body[data-segment=village] .rc-ov .rc-btn.to:hover,body[data-segment=village] .chat-send:hover{filter:brightness(1.06)}body[data-segment=village] .btn-rebuild:active,body[data-segment=village] .input-state .build:active,body[data-segment=village] .rc-ov .rc-btn.to:active,body[data-segment=village] .chat-send:active{transform:scale(.97)}body[data-segment=village] .rc-ov .rc-btn.from,body[data-segment=village] .route-card.dark .btn-swap,body[data-segment=village] .input-state .route-fields .swap{background:#9409ff1f;color:#c9a8f2;border:1px solid rgba(255,255,255,.12);transition:background .15s,transform .12s}body[data-segment=village] .rc-ov .rc-btn.from:hover,body[data-segment=village] .route-card.dark .btn-swap:hover,body[data-segment=village] .input-state .route-fields .swap:hover{background:#9409ff38;color:#fff}body[data-segment=village] .rc-ov .rc-btn.from:active{transform:scale(.96)}body[data-segment=village] button:disabled,body[data-segment=village] [aria-disabled=true]{opacity:.45;cursor:default;filter:none!important;transform:none!important}body[data-segment=village] .chat-send:disabled{background:#ffffff1a;color:#f3eff766}body[data-segment=village] .left-stack .card,body[data-segment=village] .left-stack .builder-card,body[data-segment=village] .left-stack .route-card.dark,body[data-segment=village] .left-stack .floors-card,body[data-segment=village] .left-stack .routes-card{background:#2b2b2b8c;color:var(--tx)}body[data-segment=village] .left-stack .card header,body[data-segment=village] .route-drawer-stack .card header{border-bottom:1px solid rgba(255,255,255,.07)}body[data-segment=village] .left-stack .card header .title,body[data-segment=village] .route-drawer-stack .card header .title{color:var(--tx)}body[data-segment=village] .left-stack .card header .lnk{color:var(--tx-soft)}body[data-segment=village] .left-stack .card header .lnk:hover{color:var(--tx)}body[data-segment=village] .left-stack .card header .dot{background:var(--lime)}body[data-segment=village] .floor-row .code{background:#ffffff14;color:var(--tx);border:1px solid rgba(255,255,255,.12)}body[data-segment=village] .floor-row:hover{background:#ffffff12}body[data-segment=village] .floor-row.on{background:#9409ff33;border-color:var(--violet);color:var(--tx)}body[data-segment=village] .floor-row.on .code,body[data-segment=village] .floor-row.all.on .code{background:#fff;color:var(--graphite);border-color:transparent;box-shadow:0 4px 14px -4px #9409ff99}body[data-segment=village] .floor-row .name{color:var(--tx)}body[data-segment=village] .floor-row .meta,body[data-segment=village] .floor-row .cnt{color:var(--tx-soft)}body[data-segment=village] .route-row:hover{background:#ffffff12}body[data-segment=village] .route-row .name{color:var(--tx)}body[data-segment=village] .route-row .meta{color:var(--tx-soft)}body[data-segment=village] .route-row .meta em{color:var(--lime)}body[data-segment=village] .route-row .ar-hint{color:var(--violet-2)}body[data-segment=village] .route-row-lock{background:#9409ff2e;color:#c9a8f2}body[data-segment=village] .input-state .rf{background:#ffffff14;border:1.5px solid transparent;border-radius:13px;transition:background .15s,border-color .15s,box-shadow .15s}body[data-segment=village] .input-state .rf:hover{background:#ffffff1f}body[data-segment=village] .input-state .rf.focus{background:#ffffff1f;border-color:var(--violet-2);box-shadow:0 0 0 4px #9409ff29}body[data-segment=village] .input-state .rf input{color:var(--tx)}body[data-segment=village] .input-state .rf input::placeholder{color:#f3eff780}body[data-segment=village] .input-state .rf .lab{color:var(--tx-soft)}body[data-segment=village] .input-state .rf .pt{box-shadow:0 0 0 4px #ffffff1f}body[data-segment=village] .input-state .rf.from .pt{background:var(--lime)}body[data-segment=village] .input-state .rf.to .pt{background:var(--violet)}body[data-segment=village] .input-state .rf .suggest{background:#2b2b2bc7;color:var(--tx);border-radius:13px;border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(22px) saturate(185%);backdrop-filter:blur(22px) saturate(185%)}body[data-segment=village] .input-state .rf .sug{border-bottom:1px solid rgba(255,255,255,.07)}body[data-segment=village] .input-state .rf .sug:hover{background:#9409ff4d}body[data-segment=village] .input-state .rf .sug .si{background:#ffffff1a;color:var(--tx)}body[data-segment=village] .input-state .rf .sug .sm .sv{color:var(--tx)}body[data-segment=village] .input-state .rf .sug .sm .ss,body[data-segment=village] .input-state .rf .sug .sk{color:#f3eff780}body[data-segment=village] .input-state .dropzone{background:#ffffff0d;border:1.5px dashed rgba(255,255,255,.2);color:var(--tx-soft);border-radius:13px}body[data-segment=village] .input-state .dropzone:hover{background:#9409ff24;border-color:#9409ff80;color:var(--tx)}body[data-segment=village] .input-state .build{display:flex;justify-content:center;width:calc(100% - 28px);margin-left:14px;margin-right:14px;border-radius:13px;box-sizing:border-box}body[data-segment=village] .input-state .dropzone{width:calc(100% - 28px);margin-left:14px;margin-right:14px;box-sizing:border-box}body[data-segment=village] .input-state .rf,body[data-segment=village] .input-state .dropzone,body[data-segment=village] .input-state .build{min-height:54px;box-sizing:border-box}body[data-segment=village] .input-state .build{height:54px}body[data-segment=village] .eng-route .step-card,body[data-segment=village] .eng-route .leg,body[data-segment=village] .eng-route .od{background:#ffffff12;border:1px solid rgba(255,255,255,.12);color:var(--tx)}body[data-segment=village] .eng-route .step-card:before{background:var(--violet)}body[data-segment=village] .eng-route .sc-token{background:var(--grad-track);color:#fff}body[data-segment=village] .eng-route .progress .seg{background:#ffffff29}body[data-segment=village] .eng-route .progress .seg.done{background:var(--violet)}body[data-segment=village] .eng-route .progress .seg.cur{background:var(--violet-2);box-shadow:0 0 0 3px #b24be059}body[data-segment=village] .eng-route .nav .back,body[data-segment=village] .eng-route .od-swap{background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:var(--tx)}body[data-segment=village] .eng-route .nav .next{background:var(--grad-track);color:#fff;border:0;text-shadow:0 1px 2px rgba(0,0,0,.22)}body[data-segment=village] .eng-route .nav .next.finish{background:linear-gradient(110deg,#9409ff,#caf45a);color:#2b2b2b}body[data-segment=village] .eng-route .leg.cur{background:var(--violet);color:#fff;border-color:var(--violet)}body[data-segment=village] .eng-route .sh-status{color:var(--lime);background:#caf45a29}body[data-segment=village] .eng-route .od-row .pt.s{background:var(--lime)}body[data-segment=village] .eng-route .od-row .pt.e{background:var(--violet)}body[data-segment=village] .eng-route .modetag{background:#ffffff1f;color:var(--tx-soft)}body[data-segment=village] .eng-route .modetag.is3d{background:#caf45a2e;color:var(--lime)}body[data-segment=village] .route-card.dark .wp-act:hover{background:#ffffff1a;color:var(--tx)}body[data-segment=village] .route-card.dark .wp-name,body[data-segment=village] .route-card.dark .wp input{color:var(--tx)}body[data-segment=village] .route-summary .eta-min b,body[data-segment=village] .eng-route .eta-min b,body[data-segment=village] .metrics .big{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}body[data-segment=village] .room-card.rc-ov{border-radius:22px;color:var(--tx);top:84px;bottom:auto;max-height:calc(100vh - 104px);overflow:hidden;display:flex;flex-direction:column;background:#2b2b2b9e;-webkit-backdrop-filter:blur(28px) saturate(185%);backdrop-filter:blur(28px) saturate(185%);border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 70px -22px #0009}body[data-segment=village] .rc-ov .rc-tag,body[data-segment=village] .rc-ov .rc-chip{font:700 10.5px var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:#c9a8f2;background:#9409ff29;border:1px solid rgba(148,9,255,.3);border-radius:999px}body[data-segment=village] .rc-ov .rc-title-ov{font:800 20px var(--font-display);letter-spacing:-.01em;color:#fff;margin:5px 18px 0}body[data-segment=village] .rc-ov .rc-dev{font:700 12.5px var(--font-sans);color:var(--lime)}body[data-segment=village] .rc-ov .rc-desc{color:var(--tx-soft);font:500 13px var(--font-sans);line-height:1.5}body[data-segment=village] .rc-ov .rc-spec{background:#ffffff1a;border-color:#ffffff2e;color:var(--tx)}body[data-segment=village] .rc-ov .rc-btn.to,body[data-segment=village] .rc-ov .rc-btn.from{border:1px solid transparent}body[data-segment=village] .rc-ov .rc-close{position:absolute;top:12px;right:12px;width:34px;height:34px;display:grid;place-items:center;font-size:22px;line-height:1;z-index:6;background:#14121a9e;color:#fff;border-radius:10px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 2px 8px #0006;transition:background .15s,transform .12s}body[data-segment=village] .rc-ov .rc-photo,body[data-segment=village] .rc-ov .rc-carousel,body[data-segment=village] .rc-ov .rc-tag,body[data-segment=village] .rc-ov .rc-tagrow,body[data-segment=village] .rc-ov .rc-title-ov,body[data-segment=village] .rc-ov .rc-dev,body[data-segment=village] .rc-ov .rc-actions,body[data-segment=village] .rc-ov .rc-save{flex:0 0 auto}body[data-segment=village] .rc-ov .rc-desc{flex:1 1 auto;min-height:0;overflow-y:auto}body[data-segment=village] .rc-ov .rc-photo{object-fit:contain;background:#17121e}body[data-segment=village] .rc-ov .rc-close:hover{background:#14121acc}body[data-segment=village] .rc-ov .rc-close:active{transform:scale(.92)}body[data-segment=village] .rc-ov .rc-save{position:absolute;top:12px;left:12px;z-index:6;width:auto;min-width:0;height:34px;margin:0;padding:0 13px;border-radius:10px;display:inline-flex;align-items:center;gap:6px;font:700 12px var(--font-sans);background:#14121a9e;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 2px 8px #0006;transition:background .15s,transform .12s}body[data-segment=village] .rc-ov .rc-save.on{background:#caf45a;color:#16240a;font-weight:800;box-shadow:0 2px 10px #00000059}body[data-segment=village] .rc-ov .rc-btn{border-radius:13px;height:48px}body[data-segment=village] .rc-ov .rc-save:active{transform:scale(.97)}body[data-segment=village] .cp-card{border-radius:26px;overflow:hidden;color:var(--ink);background:#fcfbfeb8;-webkit-backdrop-filter:blur(26px) saturate(180%);backdrop-filter:blur(26px) saturate(180%);box-shadow:0 30px 70px -22px #000000b3,0 0 0 1px #ffffff8c,inset 0 1px #fffffff2,inset 0 -10px 26px -14px #2b2b2b2e;animation:ov-rise .45s cubic-bezier(.2,.8,.25,1)}body[data-segment=village] .cp-card-pill{background:#2b2b2bb3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;border-radius:999px;font:700 11px var(--font-sans);letter-spacing:.04em}body[data-segment=village] .cp-card-pill:before{background:var(--lime)}body[data-segment=village] .cp-card-placeholder{background:radial-gradient(circle at 30% 25%,rgba(148,9,255,.55),transparent 55%),radial-gradient(circle at 72% 72%,rgba(178,75,224,.5),transparent 55%),linear-gradient(135deg,#9409ff,#2b2b2b)}body[data-segment=village] .cp-card-kicker{font:700 11px var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}body[data-segment=village] .cp-card-title{font:800 22px var(--font-display);letter-spacing:-.01em;color:var(--ink);line-height:1.14}body[data-segment=village] .cp-card-meta,body[data-segment=village] .cp-card-hint{color:var(--ink-soft);font:500 13px var(--font-sans);line-height:1.55}body[data-segment=village] .cp-card-apply{background:var(--grad);color:#fff;border-radius:14px;font:800 15px var(--font-sans);box-shadow:0 10px 22px -8px #9409ff8c;text-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .12s,filter .15s}body[data-segment=village] .cp-card-apply:hover{filter:brightness(1.06)}body[data-segment=village] .cp-card-apply:active{transform:scale(.97)}body[data-segment=village] .cp-card-cancel{background:#2b2b2b14;color:var(--ink-soft);border:1px solid transparent;border-radius:14px;font:800 15px var(--font-sans);transition:transform .12s,background .15s}body[data-segment=village] .cp-card-cancel:hover{background:#2b2b2b24}body[data-segment=village] .cp-card-cancel:active{transform:scale(.97)}body[data-segment=village] .cp-card-close{background:#2b2b2b1a;color:var(--ink);border-radius:8px;transition:background .15s,transform .12s}body[data-segment=village] .cp-card-close:hover{background:#2b2b2b2e}body[data-segment=village] .cp-card-close:active{transform:scale(.92)}body[data-segment=village] .tour-panel{border-radius:18px}body[data-segment=village] .tour-panel header{border-bottom:1px solid rgba(255,255,255,.1)}body[data-segment=village] .tour-panel header .dot{background:var(--lime)}body[data-segment=village] .tour-panel header .title,body[data-segment=village] .tour-panel .ttl{color:var(--tx)}body[data-segment=village] .tour-panel header .count,body[data-segment=village] .tour-panel .meta{color:var(--tx-soft)}body[data-segment=village] .tour-panel header .count em{color:var(--tx)}body[data-segment=village] .tour-panel .num{background:#ffffff1a;color:var(--tx-soft);border:1px solid rgba(255,255,255,.16);font:800 12px var(--font-sans)}body[data-segment=village] .tour-panel .tour-step.locked .num{background:#ffffff0f;color:var(--tx-soft);border:1px dashed rgba(255,255,255,.22)}body[data-segment=village] .tour-panel .tour-step.active .num{background:var(--grad-track);color:#fff;border-color:transparent;box-shadow:0 0 0 4px #9409ff40}body[data-segment=village] .tour-panel .tour-step.done .num{background:linear-gradient(120deg,#caf45a,#a9e07f);color:#2b2b2b;border-color:transparent}body[data-segment=village] .tour-panel .tour-step.active .step-row{background:#9409ff33}body[data-segment=village] .tour-panel .step-row:hover:not(:disabled){background:#ffffff0f}body[data-segment=village] .tour-panel .tour-step+.tour-step:before{background:#ffffff24}body[data-segment=village] .chat-panel{background:#1b1622;border:1px solid rgba(255,255,255,.12);border-radius:18px;isolation:isolate;inset:auto 24px 92px auto;height:auto;max-height:min(82vh,760px);width:440px}body[data-segment=village] .chat-header{background:var(--grad-track);border-bottom-color:transparent}body[data-segment=village] .chat-header{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"title title close" "int mid quota";row-gap:12px;column-gap:8px;align-items:center}body[data-segment=village] .chat-title{grid-area:title;align-self:center;min-width:0}body[data-segment=village] .chat-title b{white-space:nowrap}body[data-segment=village] .chat-close{grid-area:close;align-self:start;justify-self:end}body[data-segment=village] .chat-int-btn{grid-area:int;justify-self:start}body[data-segment=village] .chat-quota{grid-area:quota;justify-self:end}body[data-segment=village] .chat-header .chat-title b,body[data-segment=village] .chat-header .chat-ttl,body[data-segment=village] .chat-header .chat-title em{color:#fff}body[data-segment=village] .chat-header .chat-close{background:#0000004d;color:#fff;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-size:18px;transition:background .15s,transform .12s}body[data-segment=village] .chat-header .chat-close:hover{background:#00000073}body[data-segment=village] .chat-header .chat-close:active{transform:scale(.92)}body[data-segment=village] .chat-msg.is-bot .chat-bubble{background:#ffffff12;color:var(--tx);border:1px solid rgba(255,255,255,.12)}body[data-segment=village] .chat-bubble.is-user{background:#9409ff29;color:#eadbf7}body[data-segment=village] .chat-input{background:#1e1e22f5;border-top-color:#ffffff1a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}body[data-segment=village] .chat-input input{height:44px;background:#ffffff12;border-color:#ffffff29;color:var(--tx)}body[data-segment=village] .chat-list{padding-bottom:20px;touch-action:pan-y;overscroll-behavior:contain;background:#1b1622;-webkit-overflow-scrolling:touch}body[data-segment=village] .chat-chip{background:#ffffff1a;color:var(--tx);border-radius:999px;transition:background .14s,transform .12s}body[data-segment=village] .chat-chip:hover{background:#9409ff4d}body[data-segment=village] .chat-chip:active{transform:scale(.96)}body[data-segment=village] .chat-chip.accent{background:#9409ff61;font-weight:700}body[data-segment=village] .chat-header{order:0}body[data-segment=village] .chat-list{order:1}body[data-segment=village] .chat-modes-wrap,body[data-segment=village] .chat-wizard{order:2}body[data-segment=village] .chat-rec,body[data-segment=village] .chat-chips-row,body[data-segment=village] .chat-input{order:3}body[data-segment=village] .chat-usage{order:4}body[data-segment=village] .chat-modes-wrap{flex:0 0 auto;background:#1b1622;padding:12px 16px 14px;border-top:1px solid rgba(255,255,255,.08)}body[data-segment=village] .chat-modes-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}body[data-segment=village] .chat-modes-head .lbl{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--tx-soft)}body[data-segment=village] .chat-modes-toggle{padding:6px 12px;border-radius:10px;cursor:pointer;white-space:nowrap;background:#ffffff12;border:1px solid rgba(255,255,255,.12);color:var(--tx);font:600 12px var(--font-sans)}body[data-segment=village] .chat-modes-toggle:hover{background:#ffffff24}body[data-segment=village] .chat-modes{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0}body[data-segment=village] .chat-modes.wrap{display:flex;flex-wrap:wrap;padding:8px 0 4px}body[data-segment=village] .chat-mode{display:inline-flex;align-items:center;gap:8px;text-align:left;padding:13px 15px;border-radius:14px;line-height:1.2;border:1px solid rgba(255,255,255,.09);background:#ffffff0d;color:var(--tx);font:600 14px var(--font-sans);cursor:pointer;transition:background .14s,transform .12s,border-color .14s}body[data-segment=village] .chat-modes>.chat-mode:nth-child(3){grid-column:1 / -1}body[data-segment=village] .chat-mode:hover{background:#caf45a24;border-color:#caf45a66}body[data-segment=village] .chat-mode:active{transform:scale(.98)}body[data-segment=village] .chat-mode.sel{background:#9409ff8c;border-color:#9409ffcc}body[data-segment=village] .chat-mode.back{grid-column:1 / -1;background:transparent;border-style:dashed;color:var(--tx-soft)}body[data-segment=village] .chat-mode-cur{color:var(--tx);font:700 14px var(--font-sans)}body[data-segment=village] .chat-mode.build{grid-column:1 / -1;width:100%;margin-top:8px;padding:13px;background:#c7e86f;color:#1a1422;border:0;font-weight:700;border-radius:14px;justify-content:center}body[data-segment=village] .chat-mode.build:disabled{opacity:.5;cursor:default}body[data-segment=village] .chat-wizard{padding:2px 16px 8px}body[data-segment=village] .chat-modes-head{display:flex;align-items:center;justify-content:space-between;padding:10px 16px 2px}body[data-segment=village] .chat-modes-head .lbl{font:700 12px var(--font-sans);letter-spacing:.04em;text-transform:uppercase;color:var(--tx-soft)}body[data-segment=village] .chat-modes-toggle{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:var(--tx);border-radius:10px;padding:5px 10px;font:600 12px var(--font-sans);cursor:pointer;display:inline-flex;align-items:center;gap:5px}body[data-segment=village] .chat-modes-toggle:hover{background:#9409ff47}body[data-segment=village] .chat-fab,body[data-segment=village] .qr-fab{background:linear-gradient(135deg,#9409ff,#b24be0 55%,#caf45a);color:#fff;border-color:transparent;box-shadow:0 10px 28px -6px #9409ffa6,inset 0 1px #ffffff80;transition:transform .12s,filter .15s,box-shadow .15s}body[data-segment=village] .chat-fab:hover,body[data-segment=village] .qr-fab:hover{filter:brightness(1.06);transform:translateY(-1px)}body[data-segment=village] .chat-fab:active,body[data-segment=village] .qr-fab:active{transform:scale(.975)}body[data-segment=village] .qr-fab .ttl b{color:#fff}body[data-segment=village] .qr-fab .ttl em{color:#caf45aeb}body[data-segment=village] .qr-fab .ico{background:#ffffff24;color:#caf45a}body[data-segment=village] .chat-fab:after{content:"";position:absolute;inset:-4px;border-radius:999px;border:2px solid rgba(202,244,90,.55);opacity:0;pointer-events:none;animation:ov-botping 2.4s ease-out infinite}@keyframes ov-botping{0%{transform:scale(1);opacity:.6}to{transform:scale(1.35);opacity:0}}body[data-segment=village] .saved-drawer{position:fixed;top:50%;left:50%;right:auto;transform:translate(-50%,-50%);width:min(440px,calc(100vw - 32px));max-height:72vh;z-index:1200;border-radius:20px;background:#2b2b2bd1;color:var(--tx);border:1px solid rgba(255,255,255,.12);box-shadow:0 40px 120px -30px #000000b3,inset 0 1px #ffffff2e;-webkit-backdrop-filter:blur(24px) saturate(185%);backdrop-filter:blur(24px) saturate(185%);animation:ov-pop-center .2s ease-out}@keyframes ov-pop-center{0%{opacity:0;transform:translate(-50%,-47%) scale(.97)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}body[data-segment=village] .saved-drawer>header{border-bottom-color:#ffffff1a}body[data-segment=village] .saved-drawer>header .title{color:var(--tx)}body[data-segment=village] .saved-drawer>header .count{background:var(--violet);color:#fff}body[data-segment=village] .saved-drawer .empty,body[data-segment=village] .saved-drawer .row .text .meta{color:var(--tx-soft)}body[data-segment=village] .saved-drawer .row .text .name{color:var(--tx)}body[data-segment=village] .saved-drawer .row .thumb{background:#ffffff14;border-color:#ffffff1f}body[data-segment=village] .saved-drawer .row:hover{background:#9409ff4d}body[data-segment=village] .saved-drawer>header .close,body[data-segment=village] .saved-drawer .row .unsave{color:var(--tx-soft)}body[data-segment=village] .saved-drawer>header .close:hover,body[data-segment=village] .saved-drawer .row .unsave:hover{background:#ffffff1f;color:var(--tx)}body[data-segment=village] .poi-passport .pp-header,body[data-segment=village] .passport-header{background:var(--grad-track);color:#fff}body[data-segment=village] .poi-passport .pp-cta{background:var(--grad);color:#fff}body[data-segment=village] .poi-passport .pp-share{background:#9409ff1f;color:#c9a8f2}body[data-segment=village] .kmini,body[data-segment=village] .mini-map{background:#2b2b2b8c;-webkit-backdrop-filter:blur(28px) saturate(185%);backdrop-filter:blur(28px) saturate(185%);border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 55px -16px #0009,inset 0 1px #fff6}body[data-segment=village] .kmini-badge,body[data-segment=village] .mini-map .floor-code{color:var(--tx-soft)}body[data-segment=village] .mini-vp{border-color:var(--violet);background:#9409ff24}body[data-segment=village] .mini-route-line{stroke:var(--lime)}body[data-segment=village] .mini-route-halo{stroke:var(--violet)}body[data-segment=village] .pf-scrim,body[data-segment=village] .pf-modal{--bg: #FBF8F3;--bg-elevated: #FFFFFF;--bg-sunken: #F4EFE6;--fg: #1E1813;--fg-muted: #6E6359;--fg-faint: #948A7E;--rule: #D8D1C6;--rule-strong: #B7AEA2;--paper-200: #F4EFE6;--paper-300: #E9E2D2}body[data-segment=village] button,body[data-segment=village] .flt-chip,body[data-segment=village] [role=button],body[data-segment=village] .palette-row{transition:filter .15s ease,transform .15s ease,background .15s ease,box-shadow .15s ease}body[data-segment=village] button:not(:disabled):active,body[data-segment=village] [role=button]:active{transform:scale(.975)}body[data-segment=village] .route-drawer-stack,body[data-segment=village] .chat-panel,body[data-segment=village] .room-card.rc-ov{animation:ov-rise .34s cubic-bezier(.2,.8,.25,1)}@keyframes ov-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (max-width: 760px){body[data-segment=village] .chat-panel{inset:0!important;width:100%!important;height:100%!important;max-height:100%!important;border-radius:0!important;z-index:120!important}body[data-segment=village] .chat-header{padding-top:max(14px,env(safe-area-inset-top))}body[data-segment=village] .chat-close{width:36px;height:36px;font-size:22px;display:grid;place-items:center;color:#fff}body[data-segment=village] .room-card.rc-ov:not(.rc-ov-noimg){inset:0!important;width:100%!important;height:100%!important;max-height:100%!important;border-radius:0!important;z-index:110!important}body[data-segment=village] .room-card.rc-ov.rc-ov-noimg{inset:auto 0 0!important;width:100%!important;height:auto!important;max-height:70vh!important;border-radius:18px 18px 0 0!important;z-index:110!important}body[data-segment=village] .room-card.rc-ov:not(.rc-ov-noimg) .rc-actions{margin-top:auto}body[data-segment=village] .input-state .rf{width:auto;box-sizing:border-box}body[data-segment=village] .input-state .dropzone,body[data-segment=village] .input-state .build{width:calc(100% - 28px);box-sizing:border-box}body[data-segment=village] .chip-row .flt-chip{flex:0 0 auto}body[data-segment=village] .room-card.rc-ov:not(.rc-ov-noimg) .rc-desc{max-height:none;min-height:0;flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y}body[data-segment=village] .room-card.rc-ov.rc-ov-noimg .rc-desc{min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y}}@media (prefers-reduced-motion: reduce){body[data-segment=village] *,body[data-segment=village] *:after{animation:none!important;transition:none!important}}.loading-overlay.ov-loading{background:radial-gradient(120% 100% at 50% 30%,#241b33,#11131a 70%);display:grid;place-items:center}.ov-loaderbox{text-align:center;padding:40px 24px;max-width:min(420px,90vw)}.ov-loaderbox .lmk{font:700 11px var(--font-display, sans-serif);letter-spacing:.16em;text-transform:uppercase;color:#c9a8f2;margin-bottom:18px}.ov-loaderbox h3{font:800 28px var(--font-display, sans-serif);letter-spacing:-.02em;color:#fff;margin:0 0 6px}.ov-loaderbox p{font:500 13px var(--font-sans, sans-serif);color:#fff9;margin:0 0 22px}.ov-loaderbox .track{width:200px;height:4px;border-radius:99px;background:#ffffff24;margin:0 auto;overflow:hidden}.ov-loaderbox .track i{display:block;height:100%;width:0;border-radius:99px;background:var(--grad-track, linear-gradient(90deg, #9409FF, #CAF45A));animation:ov-lbar 2.6s ease-in-out infinite}@keyframes ov-lbar{0%{width:6%}60%{width:100%}to{width:100%}}.ov-loaderbox .lstat{margin-top:12px;font:500 12px ui-monospace,SF Mono,monospace;color:#ffffff80}.ov-loaderbox .vpn-hint{margin-top:18px;color:#ffffffb3;font-size:12px}body[data-segment=village] .chat-panel.chat-ov .chat-title .chat-ic{width:32px;height:32px;border-radius:9px;flex:0 0 auto;display:grid;place-items:center;background:var(--grad-track);color:#fff}body[data-segment=village] .chat-head-btns{display:contents}body[data-segment=village] .chat-int-btn{width:auto;height:30px;padding:0 12px;border:0;border-radius:999px;cursor:pointer;background:#00000047;color:#fff;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font:700 12.5px var(--font-sans);transition:background .15s,transform .12s}body[data-segment=village] .chat-int-btn:after{content:"Мои интересы"}body[data-segment=village] .chat-int-btn:hover{background:#00000073}body[data-segment=village] .chat-int-btn:active{transform:scale(.92)}body[data-segment=village] .chat-chips-row{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:7px;padding:10px 14px;background:#1e1e22f5}body[data-segment=village] .chat-chips-hint{flex:0 0 100%;font-size:11px;font-weight:500;color:var(--tx-soft);padding:0 2px 4px;letter-spacing:.01em}body[data-segment=village] .chat-chips-row .chat-chip{padding:7px 12px;border-radius:999px;cursor:pointer;font:700 12px var(--font-sans);background:#9409ff2e;border:1px solid rgba(178,75,224,.3);color:#e3cbf5;transition:background .14s}body[data-segment=village] .chat-chips-row .chat-chip:hover{background:#9409ff4d}body[data-segment=village] .chat-mic{width:44px;height:44px;border:0;border-radius:12px;cursor:pointer;flex:0 0 auto;display:grid;place-items:center;background:#9409ff40;color:#e3cbf5;transition:background .15s}body[data-segment=village] .chat-mic:hover{background:#9409ff66;color:#fff}body[data-segment=village] .chat-mic.rec{background:var(--grad-track);color:#fff;animation:ov-micp 1.3s infinite}@keyframes ov-micp{0%{box-shadow:0 0 #9409ff80}70%{box-shadow:0 0 0 12px #9409ff00}to{box-shadow:0 0 #9409ff00}}body[data-segment=village] .chat-input{grid-template-columns:1fr auto auto}body[data-segment=village] .rcard{align-self:stretch;margin-top:4px;border-radius:22px;padding:18px 18px 15px;overflow:hidden;position:relative;color:#241d2e;border:0;background:#fcfbfef2;-webkit-backdrop-filter:blur(26px) saturate(180%);backdrop-filter:blur(26px) saturate(180%);box-shadow:0 28px 64px -22px #0009,0 0 0 1px #ffffff8c,inset 0 1px #fffffff2,inset 0 -10px 26px -14px #2b2b2b2e}body[data-segment=village] .rc-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark-soft, rgba(243, 239, 247, .6));margin-bottom:10px}body[data-segment=village] .rc-eyebrow{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--violet);display:flex;align-items:center;gap:8px;margin-bottom:7px}body[data-segment=village] .rc-eyedot{width:5px;height:5px;border-radius:50%;background:var(--violet);flex:0 0 auto}body[data-segment=village] .rc-title{font-size:21px;font-weight:800;letter-spacing:-.01em;line-height:1.08;color:#241d2e;margin:0 0 12px}body[data-segment=village] .rc-row{display:flex;align-items:center;gap:10px;padding:10px 11px;border-radius:12px;background:#2b2b2b0b;margin-bottom:7px;border:1px solid rgba(43,43,43,.06)}body[data-segment=village] .rc-row.off{opacity:.42}body[data-segment=village] .rc-row.off .rc-t b{text-decoration:line-through}body[data-segment=village] .rc-b{width:24px;height:24px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;font:800 12px var(--font-sans);color:#fff;background:var(--violet)}body[data-segment=village] .rc-t{flex:1;min-width:0}body[data-segment=village] .rc-t b{display:flex;align-items:center;font-size:13px;font-weight:700;line-height:1.2;color:#241d2e}body[data-segment=village] .rc-t>span{display:block;font-size:11px;color:#6a6276;margin-top:2px}body[data-segment=village] .rc-tag{font-size:9.5px;font-weight:700;padding:2px 7px;border-radius:999px;background:#9409ff1f;color:#9409ff;margin-left:6px;text-transform:none;letter-spacing:0}body[data-segment=village] .rc-eye{width:26px;height:26px;border:0;border-radius:8px;cursor:pointer;flex:0 0 auto;display:grid;place-items:center;background:#9409ff1a;color:#9409ff}body[data-segment=village] .rc-x{width:26px;height:26px;border:0;border-radius:8px;cursor:pointer;flex:0 0 auto;display:grid;place-items:center;background:#2b2b2b0f;color:#6a6276}body[data-segment=village] .rc-subs{margin:2px 0 7px 34px;display:flex;flex-direction:column;gap:5px}body[data-segment=village] .rc-sub{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:10px;background:#2b2b2b0d;font-size:12.5px;cursor:pointer}body[data-segment=village] .rc-ck{width:17px;height:17px;border-radius:5px;border:1.5px solid #8DB52E;flex:0 0 auto;display:grid;place-items:center;background:var(--lime);color:#2b2b2b}body[data-segment=village] .rc-sub.off .rc-ck{border-color:#2b2b2b52;background:transparent;color:transparent}body[data-segment=village] .rc-nm{flex:1;font-weight:600;color:#241d2e}body[data-segment=village] .rc-code{font-size:10.5px;color:#6a6276}body[data-segment=village] .rc-foot{display:flex;justify-content:space-between;align-items:baseline;font-size:15px;color:#241d2e;font-weight:800;letter-spacing:-.01em;margin:13px 1px 12px}body[data-segment=village] .rc-foot>span:first-child{color:#6a6276}body[data-segment=village] .rc-build{width:100%;border:0;border-radius:13px;padding:13px;cursor:pointer;font:800 14.5px var(--font-sans);color:#fff;background:var(--grad-track);box-shadow:0 10px 22px -8px #9409ff8c,inset 0 1px #fff6;display:flex;align-items:center;justify-content:center;gap:9px;transition:filter .15s,transform .12s}body[data-segment=village] .rc-build:hover{filter:brightness(1.06)}body[data-segment=village] .rc-build:active{transform:scale(.985)}body[data-segment=village] .rc-crow{display:flex;gap:8px;margin-top:8px}body[data-segment=village] .rc-ghost{flex:1;border:0;border-radius:13px;padding:11px;cursor:pointer;font:700 13px var(--font-sans);background:#2b2b2b0f;color:#6a6276;transition:background .15s}body[data-segment=village] .rc-ghost:hover{background:#2b2b2b1a}body[data-segment=village] .int-ov{position:absolute;inset:0;z-index:7;display:flex;flex-direction:column;background:#14101c99;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:ov-rise .25s}body[data-segment=village] .int-sheet{margin-top:auto;background:#26212eeb;border-top:1px solid rgba(255,255,255,.08);border-radius:22px 22px 0 0;padding:18px 18px max(22px,env(safe-area-inset-bottom) + 12px);max-height:92%;overflow:auto;touch-action:pan-y;overscroll-behavior:contain;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}body[data-segment=village] .int-sheet h3{font:800 17px var(--font-display);color:var(--tx);margin-bottom:3px}body[data-segment=village] .int-d{font-size:12.5px;color:var(--on-dark-soft, rgba(243, 239, 247, .6));margin-bottom:14px}body[data-segment=village] .int-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}body[data-segment=village] .int-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-radius:999px;background:#9409ff33;border:1px solid rgba(178,75,224,.35);color:#e3cbf5;font:600 12px var(--font-sans)}body[data-segment=village] .int-chip button{border:0;background:none;padding:0;cursor:pointer;color:#e3cbf5;opacity:.7;display:grid;place-items:center}body[data-segment=village] .int-chip button:hover{opacity:1}body[data-segment=village] .int-add{display:flex;gap:8px;margin-bottom:12px}body[data-segment=village] .int-add input{flex:1;background:#00000047;border:1px solid rgba(255,255,255,.08);border-radius:11px;padding:10px 12px;color:var(--tx);font:500 13px var(--font-sans);outline:none}body[data-segment=village] .int-add input::placeholder{color:#f3eff76b}body[data-segment=village] .int-add button{border:0;border-radius:11px;padding:0 16px;background:var(--grad-track);color:#fff;font:800 16px var(--font-sans);cursor:pointer}body[data-segment=village] .int-tip{background:#caf45a14;border:1px solid rgba(202,244,90,.3);border-radius:13px;padding:11px;margin-bottom:14px;font-size:12px;color:#dce8c0;line-height:1.4}body[data-segment=village] .int-hlabel{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark-soft, rgba(243, 239, 247, .6));margin-bottom:6px}body[data-segment=village] .int-empty{font-size:12px;color:var(--on-dark-soft, rgba(243, 239, 247, .6));padding:6px 0}body[data-segment=village] .int-hrow{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08)}body[data-segment=village] .int-hrow:last-child{border-bottom:0}body[data-segment=village] .int-ht{flex:1}body[data-segment=village] .int-ht b{display:block;font-size:13px;font-weight:700;color:var(--tx)}body[data-segment=village] .int-ht span{font-size:11px;color:var(--on-dark-soft, rgba(243, 239, 247, .6))}body[data-segment=village] .int-rep{border:0;background:#ffffff14;color:var(--tx);font:700 10.5px var(--font-sans);padding:6px 11px;border-radius:8px;cursor:pointer;text-transform:uppercase;letter-spacing:.04em}body[data-segment=village] .int-close{position:sticky;bottom:0;z-index:2;width:100%;border:0;border-radius:13px;padding:13px;margin-top:14px;background:var(--grad-track);color:#fff;font:800 14px var(--font-sans);cursor:pointer;box-shadow:0 -16px 16px -4px #26212eeb}body[data-segment=village] .route-guide-btn{background:#caf45a;color:#16240a;border-color:transparent;font-weight:800}body[data-segment=village] .route-guide-btn:hover{background:#d8ff78;color:#16240a}body[data-segment=village] .chat-wizard{display:flex;flex-direction:column;min-height:0;flex:0 0 auto;max-height:44vh;background:#1b1622}body[data-segment=village] .chat-wizard .chat-chips-hint{flex:0 0 auto}body[data-segment=village] .chat-wizard .chat-modes.wrap{flex:1 1 auto;min-height:108px;overflow-y:auto;align-content:flex-start;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:#1b1622}body[data-segment=village] .chat-wizard .chat-mode.build{flex:0 0 auto}body[data-segment=village] .chat-chip.accent{background:linear-gradient(135deg,#9409ff,#c24dea 55%,#caf45a 130%);color:#fff;font:800 15px var(--font-sans);letter-spacing:-.01em;padding:12px 18px;border-radius:14px;border:0;box-shadow:0 8px 22px -6px #9409ff99;transition:transform .12s,filter .15s}body[data-segment=village] .chat-chip.accent:hover{filter:brightness(1.07)}@media (hover: none){body[data-segment=village] .chat-mode:hover{background:#ffffff0d;border-color:#ffffff17}body[data-segment=village] .chat-mode.build:hover{filter:none}body[data-segment=village] .chat-chip:hover{background:#ffffff1a}body[data-segment=village] .chat-chip.accent:hover{filter:none}body[data-segment=village] .chat-int-btn:hover{background:#00000047}}body[data-segment=village] .chat-bubble.bubble-cta{background:#9409ffe6;color:#fff;font-weight:700;border:1.5px solid #CAF45A;box-shadow:0 0 0 3px #caf45a2e,0 10px 26px -6px #9409ff99;text-shadow:0 1px 2px rgba(0,0,0,.3)}body[data-segment=village] .chat-msg.is-bot .chat-bubble.bubble-cta{background:#9409ffe6;color:#fff;border:1.5px solid #CAF45A}body[data-segment=village] .chat-bubble.bubble-cta p{color:#fff;margin:0}body[data-segment=village] .entry{position:fixed;inset:0;z-index:600;display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));background:#0c0710;overflow-y:auto}body[data-segment=village] .entry-card{width:100%;max-width:440px;display:flex;flex-direction:column;gap:12px}body[data-segment=village] .entry-head{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:20px;background:#2b2b2b8c;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}body[data-segment=village] .entry-logo{flex:0 0 auto;width:56px;height:56px;border-radius:15px;display:grid;place-items:center;text-align:center;font:800 11px/1.05 var(--font-sans);letter-spacing:.02em;color:#fff;background:linear-gradient(150deg,#b24be0,#9409ff)}body[data-segment=village] .entry-title{margin:0;font:800 22px var(--font-display);color:#fff}body[data-segment=village] .entry-sched{margin:3px 0 0;font:600 13px var(--font-sans);color:var(--lime)}body[data-segment=village] .entry-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--lime);margin-right:6px;vertical-align:middle}body[data-segment=village] .entry-video{display:flex;align-items:center;gap:18px;text-align:left;padding:20px;border-radius:22px;border:0;cursor:pointer;background:linear-gradient(135deg,#9409ffd9,#6b0fb8bf);box-shadow:0 18px 40px -18px #9409ff99}body[data-segment=village] .entry-play{flex:0 0 auto;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;font-size:26px;color:#fff;background:#9409ffe6;box-shadow:0 0 0 6px #ffffff1f}body[data-segment=village] .entry-video-tx b{display:block;font:800 24px var(--font-display);color:#fff}body[data-segment=village] .entry-video-tx small{display:block;margin-top:6px;font:500 14px/1.35 var(--font-sans);color:#ffffffd9}body[data-segment=village] .entry-ask{display:flex;align-items:center;gap:10px;padding:10px;border-radius:20px;background:#2b2b2b8c;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}body[data-segment=village] .entry-mic{flex:0 0 auto;width:52px;height:52px;border-radius:16px;border:0;cursor:pointer;font-size:22px;background:var(--lime);color:#16240a;box-shadow:0 0 18px -2px #caf45a80}body[data-segment=village] .entry-mic.rec{background:#ff4b4b;color:#fff;animation:entry-rec 1s ease-in-out infinite}@keyframes entry-rec{0%,to{box-shadow:0 0 #ff4b4b8c}50%{box-shadow:0 0 0 10px #ff4b4b00}}body[data-segment=village] .entry-video.off{filter:grayscale(.5);opacity:.75;cursor:default}body[data-segment=village] .entry-note{margin:2px 4px 0;font:500 12px/1.4 var(--font-sans);color:#ffffff80;text-align:center}body[data-segment=village] .entry-input{flex:1 1 auto;min-width:0;height:52px;padding:0 8px;background:transparent;border:0;outline:none;font:500 15px var(--font-sans);color:#fff}body[data-segment=village] .entry-input::placeholder{color:#ffffff73}body[data-segment=village] .entry-send{flex:0 0 auto;width:52px;height:52px;border-radius:16px;border:0;cursor:pointer;font-size:20px;background:#9409ff;color:#fff}body[data-segment=village] .entry-cta{display:flex;align-items:center;justify-content:center;gap:10px;height:60px;border:0;border-radius:18px;cursor:pointer;font:800 16px var(--font-sans)}body[data-segment=village] .entry-cta span{font-size:20px}body[data-segment=village] .entry-cta-map{background:var(--lime);color:#16240a;box-shadow:0 0 26px -6px #caf45a8c}body[data-segment=village] .entry-cta-plan{background:#2b2b2b99;color:#fff;border:1px solid rgba(255,255,255,.12)}body[data-segment=village] .entry-plan{display:flex;flex-direction:column;gap:8px;padding:16px 18px;border-radius:18px;background:#2b2b2b80;border:1px solid rgba(255,255,255,.1)}body[data-segment=village] .entry-plan-t{margin:0 0 4px;font:700 14px var(--font-sans);color:#fff}body[data-segment=village] .entry-plan-b{display:block;text-align:center;text-decoration:none;height:46px;line-height:46px;border-radius:14px;font:700 15px var(--font-sans);color:#16240a;background:var(--lime)}body[data-segment=village] .entry-plan-b.off{background:#ffffff1a;color:#fff9;pointer-events:none}body[data-segment=village] .entry-plan-note{margin:6px 0 0;font:500 13px/1.4 var(--font-sans);color:#ffffffb3}body[data-segment=village] .entry-vmodal{position:fixed;inset:0;z-index:210;background:#000000e6;display:grid;place-items:center;padding:16px}body[data-segment=village] .entry-vplayer{width:100%;max-width:480px;max-height:90vh;border-radius:16px}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:var(--t-base);line-height:var(--lh-base);font-feature-settings:"ss01","ss02","cv11";font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}button,input,textarea{font-family:inherit;color:inherit;background:none;border:0;outline:none}button{cursor:pointer}.app-root svg{stroke-linecap:round;stroke-linejoin:round}.app-root :where(button,header,.card,.map-controls,.theme-pop,.kset-pop,.saved-drawer,.loc-picker,.download-modal,.route-dock,.live-card,.poi-passport,.checkpoint-banner,.tour-panel,.room-card,.chat-fab,.qr-fab) svg :where(path,line,polyline,polygon,circle,rect:not([fill])){stroke-width:2}.app-root{position:relative;width:100vw;height:100vh;overflow:hidden;background:var(--bg)}.label-mono{font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:var(--ls-mono-caps);text-transform:uppercase;color:var(--fg-muted);font-weight:500}.coord-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid var(--rule);background:var(--bg-elevated);font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:var(--fg-muted);border-radius:2px}.coord-chip:before{content:"";width:6px;height:6px;background:var(--accent);border-radius:50%}
