@font-face{font-family:Libre Franklin;font-style:normal;font-weight:100 900;font-display:swap;src:url(/landing/fonts/libre-franklin-latin-wght-normal.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/landing/fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/landing/fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/landing/fonts/ibm-plex-mono-latin-600-normal.woff2) format("woff2")}:root{--paper: #f2efe6;--paper-2: #e9e4d8;--paper-3: #ded7c8;--ink: #14120e;--ink-2: #514b41;--ink-3: #6c6457;--line: #c9c1b2;--line-strong: #8f8778;--accent: #c13b1b;--accent-dark: #9c2d12;--accent-soft: #e9b6a4;--accent-on-dark: #f0a48b;--danger: #a3261a;--success: #1f7a4d;--on-dark: #f2efe6;--on-dark-muted: #b9b1a3;--on-dark-line: rgba(242, 239, 230, .3);--surface: var(--paper);--surface-1: var(--paper);--surface-2: var(--paper-2);--surface-3: var(--paper-3);--text: var(--ink);--text-muted: var(--ink-2);--stroke: var(--line);--font-display: "Libre Franklin", "Helvetica Neue", Arial, sans-serif;--font-sans: "Libre Franklin", "Helvetica Neue", Arial, sans-serif;--font-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;--text-2xs: .6875rem;--text-xs: .8rem;--text-sm: 1rem;--text-md: 1.25rem;--text-lg: 1.5625rem;--text-xl: 1.953rem;--text-2xl: 2.441rem;--text-3xl: 3.052rem;--text-4xl: 3.815rem;--text-5xl: 4.768rem;--text-display: clamp(3.4rem, 8.5vw, 7.5rem);--text-section: clamp(2.1rem, 4.2vw, 3.6rem);--leading-tight: .94;--leading-snug: 1.12;--leading-normal: 1.55;--tracking-display: -.035em;--tracking-title: -.02em;--tracking-label: .14em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4.5rem;--space-9: 6rem;--space-10: 8rem;--container: 84rem;--gutter: var(--space-5);--measure-title: 17ch;--measure-text: 64ch;--rail-width: 25rem;--layer-width: 17.5rem;--radius: 0;--border: 1px solid var(--line);--border-strong: 1px solid var(--ink);--rule: 2px solid var(--ink);--rule-accent: 4px solid var(--accent);--shadow-panel: none;--elev-shadow: none;--dur-fast: .12s;--dur: .2s;--dur-slow: .36s;--ease: cubic-bezier(.2, 0, 0, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--z-map: 0;--z-rail: 2;--z-floating: 4;--z-overlay: 5;--z-backdrop: 7;--z-sheet: 8;--z-modal: 9;--z-notify: 20;--safe-bottom: env(safe-area-inset-bottom, 0px);color-scheme:light;font-family:var(--font-sans)}@media(min-width:60rem){:root{--gutter: var(--space-7)}}@media(prefers-contrast:more){:root{--line: #9a9186;--line-strong: #5f584d;--ink-2: #3d382f;--ink-3: #4a453e;--accent: #a52f12}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.busy-dots{display:inline-flex;align-items:center;justify-content:center;gap:.18em;line-height:1}.busy-dots span{width:.34em;height:.34em;background:currentColor;animation:busy-pulse 1s ease-in-out infinite}.busy-dots span:nth-child(2){animation-delay:.15s}.busy-dots span:nth-child(3){animation-delay:.3s}@keyframes busy-pulse{0%,80%,to{opacity:.25}40%{opacity:1}}.skeleton-lines{display:grid;gap:.65rem}.skeleton-line{display:block;height:.8rem;background:var(--paper-2);animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-line:first-child{height:1rem}@keyframes skeleton-pulse{0%,to{opacity:.45}50%{opacity:.9}}.status-panel{margin:var(--space-5) 0;padding:var(--space-4);border-top:2px solid var(--ink);background:var(--paper-2)}.status-panel.status-error{border-top-color:var(--danger)}.status-panel.status-success{border-top-color:var(--success)}.status-title{display:flex;align-items:center;gap:var(--space-2);margin:0;font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;letter-spacing:-.01em}.status-error .status-title{color:var(--danger)}.status-body{margin-top:var(--space-2);color:var(--ink-2);font-size:var(--text-xs);line-height:1.55}.status-body p{margin:0 0 var(--space-2)}.status-body p:last-child{margin-bottom:0}.status-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-top:var(--space-4)}.status-actions .btn{min-height:2.5rem;padding:.65rem 1rem}.btn[aria-busy=true]{cursor:progress}.btn[aria-busy=true]:disabled{opacity:1}.refresh-indicator{margin-left:var(--space-2);color:var(--ink-3);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:400;letter-spacing:.08em;text-transform:uppercase}.session-entry-pending{display:inline-block;width:3.4rem;height:.7rem;vertical-align:middle;background:var(--paper-3);animation:skeleton-pulse 1.5s ease-in-out infinite}.muted-details{margin:var(--space-4) 0;color:var(--ink-2);font-size:var(--text-xs);line-height:1.55}.muted-details summary{cursor:pointer;font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:500;letter-spacing:.1em;text-transform:uppercase}.muted-details p{margin:var(--space-3) 0 0}h1[tabindex="-1"]:focus{outline:none}.report-issue{width:min(calc(100% - 2rem),34rem);max-height:calc(100dvh - 2rem);margin:auto;padding:0;overflow:auto;border:1px solid var(--ink);border-top:6px solid var(--accent);background:var(--paper);color:var(--ink);font-family:var(--font-sans)}.report-issue::backdrop{background:#14120ea3}.report-issue-head{position:relative;padding:var(--space-5) var(--space-5) 0}.report-issue-kicker{margin:0;color:var(--accent);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:500;letter-spacing:.16em;text-transform:uppercase}.report-issue-head h2{margin:var(--space-1) 3rem 0 0;font-family:var(--font-display);font-size:var(--text-lg);font-weight:900;letter-spacing:-.03em;line-height:1.05}.report-issue-close{position:absolute;top:var(--space-4);right:var(--space-4);width:2.5rem;height:2.5rem;padding:0;border:1px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-md);line-height:1}.report-issue-close:hover:not(:disabled){background:var(--ink);color:var(--paper)}.report-issue-close:disabled{opacity:.45;cursor:not-allowed}.report-issue-form{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4) var(--space-5) var(--space-5)}.report-issue-field{display:flex;flex-direction:column;gap:var(--space-2)}.report-issue-field label{color:var(--ink-2);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:500;letter-spacing:.1em;text-transform:uppercase}.report-issue-field select,.report-issue-field input,.report-issue-field textarea{width:100%;min-height:2.75rem;padding:.7rem .8rem;border:1px solid var(--line-strong);background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-sm)}.report-issue-field textarea{min-height:8rem;resize:vertical}.report-issue-field select:focus,.report-issue-field input:focus,.report-issue-field textarea:focus{border-color:var(--ink);outline:2px solid var(--accent);outline-offset:1px}.report-issue-field input[aria-invalid=true],.report-issue-field textarea[aria-invalid=true]{border-color:var(--danger)}.report-issue-hint{margin:0;color:var(--ink-3);font-size:var(--text-xs);line-height:1.5}.report-issue-error{margin:0;color:var(--danger);font-size:var(--text-xs)}.report-issue-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-3)}.report-issue-cancel,.report-issue-submit{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:2.75rem;padding:.7rem 1.1rem;border:1px solid var(--ink);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:500;letter-spacing:.1em;line-height:1;text-transform:uppercase}.report-issue-cancel{background:transparent;color:var(--ink)}.report-issue-submit{background:var(--ink);color:var(--paper)}.report-issue-cancel:hover:not(:disabled){background:var(--ink);color:var(--paper)}.report-issue-submit:hover:not(:disabled){border-color:var(--accent);background:var(--accent);color:var(--paper)}.report-issue-cancel:disabled,.report-issue-submit:disabled{opacity:.45;cursor:not-allowed}.report-issue-success{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4) var(--space-5) var(--space-5)}.report-issue-success p{margin:0;font-size:var(--text-sm);line-height:1.5}@media(prefers-reduced-motion:reduce){.busy-dots span,.skeleton-line,.session-entry-pending{animation:none}}*,*:before,*:after{box-sizing:border-box;border-radius:0}html,body,#root{margin:0;height:100%}body{color:var(--ink);background:var(--paper);font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--leading-normal);overflow:hidden;overscroll-behavior:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--accent);color:var(--paper)}h1,h2,h3{font-family:var(--font-display);letter-spacing:var(--tracking-display);line-height:var(--leading-snug)}button,input,select,textarea{font:inherit;border-radius:0}button{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:var(--line-strong)}::-webkit-scrollbar-track{background:transparent}.shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%;height:100dvh;border-top:4px solid var(--accent);background:var(--paper)}.topbar{display:flex;align-items:stretch;justify-content:space-between;gap:var(--space-4);min-height:4.5rem;padding:0 var(--space-4);border-bottom:1px solid var(--ink);background:var(--paper);color:var(--ink)}.topbar-brand{display:flex;align-items:center;gap:var(--space-4);min-width:0}.topbar-brand .logo{display:inline-flex;align-items:center;gap:var(--space-2);color:inherit;text-decoration:none;font-family:var(--font-display);font-size:var(--text-sm);font-weight:800;letter-spacing:-.03em}.topbar-brand .logo img{width:1.85rem;height:1.85rem;object-fit:contain}.topbar-brand>div{display:flex;flex-direction:column;justify-content:center;min-width:0;padding-left:var(--space-4);border-left:1px solid var(--line)}.topbar-home{color:var(--accent);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.12em;text-decoration:none;text-transform:uppercase;white-space:nowrap}.map-toolbar{display:flex;flex-shrink:0;align-items:center;justify-content:flex-end;gap:var(--space-5)}.topbar-nav{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--space-4);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.topbar-nav span{max-width:16ch;overflow:hidden;color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap}.topbar-nav a,.topbar-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:.2rem 0;border:0;border-bottom:1px solid transparent;background:transparent;color:var(--ink-2);cursor:pointer;font:inherit;text-decoration:none;white-space:nowrap;transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.topbar-nav a:hover,.topbar-link:hover{color:var(--ink);border-bottom-color:var(--accent)}.topbar h1{margin:0;overflow:hidden;font-size:1.32rem;font-weight:900;letter-spacing:-.03em;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.topbar p{margin:var(--space-1) 0 0;overflow:hidden;color:var(--ink-3);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em;line-height:1.3;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.controls{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--space-4)}.controls label{display:flex;flex-direction:column;gap:var(--space-1);color:var(--ink-2);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase}.controls .check{display:flex;flex-direction:row;align-items:center;gap:var(--space-2);color:var(--ink-2);cursor:pointer}.controls .controls-add{display:inline-flex;align-items:center;padding:.55rem .9rem;border:1px solid var(--ink);color:var(--ink);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:500;letter-spacing:.1em;line-height:1;text-decoration:none;text-transform:uppercase;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.controls .controls-add:hover{border-color:var(--accent);background:var(--accent);color:var(--paper)}.controls .check input{width:1rem;height:1rem;accent-color:var(--accent)}.controls input[type=password]{min-width:14rem;padding:var(--space-2);border:1px solid var(--line-strong);background:var(--paper);color:var(--ink);font:inherit}.controls button{display:inline-flex;align-items:center;gap:var(--space-2);padding:.55rem .9rem;border:1px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:500;letter-spacing:.1em;line-height:1;text-transform:uppercase;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.controls button:hover:not(:disabled){border-color:var(--accent);background:var(--accent)}.controls button:disabled{opacity:.45;cursor:not-allowed}.controls button:disabled,.controls input:disabled{cursor:not-allowed}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-backdrop);margin:0;padding:0;border:0;background:#14120e8c;cursor:pointer}.topbar-menu-btn,.layer-fab{display:none}.mobile-menu{position:fixed;right:0;bottom:0;left:0;z-index:var(--z-sheet);display:grid;gap:0;max-height:min(82dvh,calc(100% - var(--space-4)));overflow:auto;padding-bottom:calc(var(--space-4) + var(--safe-bottom));border-top:4px solid var(--accent);background:var(--paper)}.mobile-menu-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:2px solid var(--ink)}.mobile-menu-head strong{font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:500;letter-spacing:.14em;text-transform:uppercase}.mobile-menu-user{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);color:var(--ink-3);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase}.mobile-menu a,.mobile-menu-link{display:flex;align-items:center;min-height:3rem;padding:0 var(--space-4);border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.1em;text-decoration:none;text-transform:uppercase}.mobile-menu a:hover,.mobile-menu-link:hover{color:var(--accent)}.mobile-menu .controls{display:grid;gap:var(--space-2);padding:var(--space-4);border-bottom:1px solid var(--line)}.mobile-menu .controls label{font-size:var(--text-2xs)}.mobile-menu .controls button,.mobile-menu .controls .controls-add{min-height:2.75rem}.stage{position:relative;min-height:0;overflow:hidden;background:var(--paper-2)}.banner{position:absolute;top:var(--space-3);left:50%;z-index:6;max-width:min(36rem,calc(100% - var(--space-6)));padding:.6rem .9rem;transform:translate(-50%);border:1px solid var(--ink);background:var(--paper);color:var(--ink);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.04em}.banner.error{border-left:4px solid var(--danger);color:var(--danger)}.banner.paywall{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);border-left:4px solid var(--accent)}.banner.paywall a{color:var(--accent);font-weight:600}.banner-dismiss{margin-left:auto;padding:0;border:0;border-bottom:1px solid var(--line-strong);background:transparent;color:var(--ink-2);cursor:pointer;font:inherit;font-size:var(--text-2xs);text-transform:uppercase}.map-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;align-items:center;justify-content:center;background:var(--paper);color:var(--ink-2);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase}.stage>.map{position:absolute;top:0;right:0;bottom:0;left:0}.map-search{position:absolute;top:var(--space-4);left:50%;z-index:5;width:min(34rem,calc(100% - var(--space-6)));transform:translate(-50%)}.stage:has(.listing-list.rail-dock) .map-search,.stage:has(.panel.rail-panel) .map-search{left:calc(var(--rail-width) + (100% - var(--rail-width)) / 2);width:min(32rem,calc(100% - var(--rail-width) - var(--space-6)))}@media(min-width:58.0625rem){.stage:has(.layer-panel) .map-search{left:calc((100% - var(--layer-width)) / 2);width:min(32rem,calc(100% - var(--layer-width) - var(--space-6)))}.stage:has(.layer-panel):has(.listing-list.rail-dock) .map-search,.stage:has(.layer-panel):has(.panel.rail-panel) .map-search{left:calc(var(--rail-width) + (100% - var(--rail-width) - var(--layer-width)) / 2);width:min(32rem,calc(100% - var(--rail-width) - var(--layer-width) - var(--space-6)))}}.map-search form{display:flex;align-items:stretch;border:1px solid var(--ink);background:var(--paper)}.map-search form:focus-within{outline:2px solid var(--accent);outline-offset:1px}.map-search-prefix{display:flex;align-items:center;padding:0 var(--space-4);border-right:1px solid var(--line-strong);color:var(--ink-2);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.14em;text-transform:uppercase}.map-search input[type=search]{flex:1;min-width:0;padding:.85rem .9rem;border:0;outline:none;background:transparent;color:var(--ink);font:inherit;font-size:.95rem}.map-search input[type=search]::placeholder{color:var(--ink-3)}.map-search-results{max-height:19rem;margin:-1px 0 0;padding:0;overflow:auto;border:1px solid var(--ink);background:var(--paper);list-style:none}.map-search-results li.muted,.map-search-error{padding:.8rem .9rem;color:var(--ink-3);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase}.map-search-error{color:var(--danger)}.map-search-status{display:flex;align-items:center;gap:var(--space-2);padding:.8rem .9rem;color:var(--ink-3);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase}.map-search-status button{margin-left:auto;padding:.35rem .55rem;border:1px solid currentColor;background:transparent;color:inherit;cursor:pointer;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase}.map-search-status button:hover{background:var(--ink);color:var(--paper)}.map-search-results button:disabled{cursor:progress}.map-search-results button{display:grid;grid-template-columns:4.5rem minmax(0,1fr);grid-template-rows:auto auto;column-gap:var(--space-3);width:100%;padding:.7rem .9rem;border:0;border-bottom:1px solid var(--line);background:transparent;color:inherit;cursor:pointer;font:inherit;text-align:left}.map-search-results li:last-child button{border-bottom:0}.map-search-results button.active,.map-search-results button:hover{background:var(--paper-2)}.map-search-results button.active{padding-left:calc(.9rem - 3px);border-left:3px solid var(--accent)}.map-search-kind{grid-row:1 / span 2;align-self:center;color:var(--accent);font-family:var(--font-mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase}.map-search-label{font-family:var(--font-display);font-size:.9rem;font-weight:700;letter-spacing:-.01em}.map-search-sub{color:var(--ink-3);font-family:var(--font-mono);font-size:.66rem}.listing-list,.layer-panel,.panel,.map-chat{background:var(--paper);color:var(--ink)}.left-rail{position:absolute;top:0;bottom:0;left:0;z-index:3;display:flex;flex-direction:column;width:min(var(--rail-width),calc(100% - 2rem));border-top:4px solid var(--accent);border-right:1px solid var(--ink);background:var(--paper)}.left-rail:not(:has(.panel.rail-panel)){bottom:auto}.listing-list.rail-dock{position:static;flex:0 0 auto;width:auto;max-height:42%;padding-top:var(--space-4);overflow:auto;border-bottom:1px solid var(--ink)}.left-rail:not(:has(.panel.rail-panel)) .listing-list.rail-dock{flex:0 0 auto;max-height:calc(42dvh - 3rem)}.listing-list h2{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin:0;padding:0 var(--space-4) var(--space-3);color:var(--ink-2);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:500;letter-spacing:.14em;text-transform:uppercase}.listing-list button{display:grid;grid-template-columns:4px minmax(0,1fr);gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border:0;border-top:1px solid var(--line);background:transparent;color:inherit;cursor:pointer;font:inherit;text-align:left}.listing-list button:hover,.listing-list button.active{background:var(--paper-2)}.listing-list button.active{border-left:3px solid var(--accent);padding-left:calc(var(--space-4) - 3px)}.listing-signal{grid-row:1 / span 2;align-self:stretch;width:4px;min-height:1.5rem;background:var(--ink-3)}.listing-copy{display:block;min-width:0}.listing-list .addr{display:block;font-family:var(--font-display);font-size:.9rem;font-weight:700;letter-spacing:-.015em}.listing-list .meta{display:block;margin-top:var(--space-1);overflow:hidden;color:var(--ink-2);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap}.listing-state-body{display:grid;gap:var(--space-3);padding:var(--space-3) var(--space-4) var(--space-4)}.listing-state-body a{color:var(--ink);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;text-decoration-color:var(--accent);text-underline-offset:.18em}.listing-state .status-panel{margin:var(--space-3) var(--space-4)}.listing-strip{display:flex;align-items:center;gap:var(--space-3);padding:.55rem .7rem;border-bottom:1px solid var(--ink);background:var(--paper);color:var(--ink-2);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase}.listing-strip button,.listing-strip a{padding:.3rem .5rem;border:1px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;text-decoration:none}.listing-strip button:hover,.listing-strip a:hover{background:var(--ink);color:var(--paper)}.panel{position:absolute;top:0;right:0;z-index:3;width:min(26rem,calc(100% - 2rem));max-height:calc(100% - 5rem);padding:var(--space-5);overflow:auto;border-top:4px solid var(--accent);border-bottom:1px solid var(--ink);border-left:1px solid var(--ink)}.panel.rail-panel{position:static;flex:1 1 auto;width:auto;min-height:0;max-height:none;border:0;border-radius:0}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:2px solid var(--ink)}.panel h2,.panel h3{margin:0}.panel h2{color:var(--ink-2);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:500;letter-spacing:.14em;text-transform:uppercase}.panel h3{margin:var(--space-4) 0 var(--space-2);font-size:var(--text-lg);font-weight:900;letter-spacing:-.03em;line-height:1.05}.icon-btn{display:inline-grid;flex:0 0 auto;width:2rem;height:2rem;padding:0;place-items:center;border:1px solid var(--line-strong);background:transparent;color:var(--ink);cursor:pointer;font-size:1.15rem;line-height:1}.icon-btn:hover{border-color:var(--ink);background:var(--ink);color:var(--paper)}.method-panel{position:absolute;top:var(--space-4);right:var(--space-4);bottom:auto;left:auto;z-index:var(--z-modal);width:min(32rem,calc(100% - var(--space-6)));max-height:calc(100% - var(--space-6));padding:var(--space-5);transform:none;border:1px solid var(--ink);border-top:4px solid var(--accent)}.method-panel .method-list{display:grid;gap:0;margin:var(--space-3) 0 0}.method-panel .method-list div{padding:var(--space-3) 0;border-top:1px solid var(--line)}.method-panel .method-list dt{font-family:var(--font-display);font-size:var(--text-xs);font-weight:700}.method-panel .method-list dd{margin:var(--space-1) 0 0;color:var(--ink-2);font-size:var(--text-xs);line-height:1.5}.method-note{margin:0 0 var(--space-3);font-size:.7rem}.dossier-detail{margin:0 0 var(--space-3)}.dossier-detail summary{padding:.3rem 0;color:var(--accent);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase}.dossier-detail .row:first-of-type{border-top:1px solid var(--line)}.row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);padding:.55rem 0;border-bottom:1px solid var(--line);font-size:var(--text-xs)}.row span{color:var(--ink-2)}.row strong{font-family:var(--font-mono);font-weight:500;text-align:right}.muted{margin:var(--space-2) 0 var(--space-3);color:var(--ink-2);font-size:var(--text-xs);line-height:1.5}.error{color:var(--danger)}.alerts{margin:var(--space-3) 0 0;padding:0;color:var(--accent);font-size:var(--text-xs);list-style:none}.alerts li{padding:.35rem 0 .35rem var(--space-4);border-top:1px solid var(--line)}.alerts li:before{float:left;width:var(--space-4);margin-left:calc(var(--space-4) * -1);content:"■"}.dossier-actions{display:grid;gap:var(--space-3);margin-top:var(--space-5);padding-top:var(--space-4);border-top:2px solid var(--ink)}.dossier-actions>button{min-height:2.5rem;padding:.55rem .75rem;border:1px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase}.dossier-actions>button:hover:not(:disabled){border-color:var(--accent);background:var(--accent)}.dossier-actions>button:disabled{opacity:.45;cursor:not-allowed}.dossier-actions>button[aria-busy=true]:disabled{opacity:1;cursor:progress}.dossier-actions details{border-top:1px solid var(--line);padding-top:var(--space-3)}.dossier-actions summary{cursor:pointer;color:var(--accent);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase}.dossier-actions details>button{width:100%;min-height:2.5rem;margin-top:var(--space-2);padding:.55rem .75rem;border:1px solid var(--ink);background:var(--paper);color:var(--ink);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase}.dossier-actions details>button:hover:not(:disabled){background:var(--ink);color:var(--paper)}.dossier-actions details>button:disabled{opacity:.45;cursor:not-allowed}.dossier-actions .check{display:flex;align-items:center;gap:var(--space-2);margin:.45rem 0;font-size:var(--text-xs)}.dossier-actions .check input{accent-color:var(--accent)}.dossier-actions select{padding:.3rem .4rem;border:1px solid var(--line-strong);background:var(--paper);font-family:var(--font-mono);font-size:var(--text-2xs)}.dossier-actions label{font-size:var(--text-xs);color:var(--ink-2)}.dossier-actions label select{margin-left:var(--space-2)}.paywall-hint{margin:0 0 var(--space-3);padding:var(--space-3);border-left:4px solid var(--accent);background:var(--paper-2);color:var(--ink);font-size:var(--text-xs);line-height:1.5}.layer-panel{position:absolute;top:5.5rem;right:0;bottom:5rem;z-index:4;width:min(var(--layer-width),calc(100% - 2rem));padding:var(--space-4);overflow:auto;border-top:4px solid var(--accent);border-bottom:1px solid var(--ink);border-left:1px solid var(--ink)}.layer-panel h2,.layer-panel h3{margin:0;font-family:var(--font-mono);font-weight:500;letter-spacing:.12em;text-transform:uppercase}.layer-panel h2{color:var(--ink);font-size:var(--text-2xs)}.layer-panel h3{margin:var(--space-4) 0 var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--line);color:var(--ink-3);font-size:.64rem}.layer-panel .check{display:flex;align-items:center;gap:var(--space-2);margin:.35rem 0;color:var(--ink);cursor:pointer;font-size:var(--text-xs)}.layer-panel .check input{width:.95rem;height:.95rem;accent-color:var(--accent)}.layer-legend{max-height:6.5rem;margin:0 0 var(--space-2) var(--space-4);padding:0;overflow:auto;list-style:none}.layer-legend li{display:flex;align-items:center;gap:var(--space-2);margin:.25rem 0;color:var(--ink-2);font-size:.66rem;line-height:1.3}.layer-legend i{width:.6rem;height:.6rem;flex:0 0 auto}.notification-center{position:relative}.notification-button{display:inline-flex;align-items:center;gap:var(--space-2)}.notification-count{display:inline-grid;min-width:1.1rem;height:1.1rem;padding:0 .2rem;place-items:center;background:var(--accent);color:var(--paper);font-family:var(--font-mono);font-size:.6rem;line-height:1}.notification-popover{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:var(--z-notify);width:min(24rem,90vw);max-height:26rem;overflow:auto;border:1px solid var(--ink);border-top:4px solid var(--accent);background:var(--paper)}.notification-popover header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:2px solid var(--ink);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase}.notification-popover header button{padding:0 .2rem;border:0;background:transparent;cursor:pointer;font-size:1rem}.notification-item{display:grid;gap:.2rem;width:100%;padding:.75rem 1rem;border:0;border-bottom:1px solid var(--line);background:transparent;color:inherit;cursor:pointer;font:inherit;text-align:left}.notification-item:last-child{border-bottom:0}.notification-item:hover{background:var(--paper-2)}.notification-item strong{font-family:var(--font-display);font-size:.85rem;font-weight:700}.notification-item span,.notification-item small{color:var(--ink-2);font-size:.75rem}.notification-item small{font-family:var(--font-mono);font-size:.6rem}.notification-item.unread{border-left:3px solid var(--accent)}.notification-popover .muted{margin:0;padding:var(--space-4)}.notification-status{padding:var(--space-4)}.notification-status p{margin:0 0 var(--space-3);color:var(--ink-2);font-size:var(--text-xs)}.notification-marking{display:inline-flex;align-items:center;gap:var(--space-2)}.notification-action-error{margin:0;padding:var(--space-3) var(--space-4);border-top:1px solid var(--line);color:var(--danger);font-size:var(--text-xs)}.notification-item:disabled{cursor:progress}.legend{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);padding:.55rem var(--space-4);border-top:1px solid var(--ink);background:var(--paper);color:var(--ink-2);font-family:var(--font-mono);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase}.legend span{display:inline-flex;align-items:center;gap:.4rem}.legend i{display:inline-block;width:.6rem;height:.6rem;flex:0 0 auto}.legend .count{color:var(--ink);font-weight:500}.legend .legend-coords{margin-left:auto;color:var(--ink-3);letter-spacing:.12em}.legend .legend-coords+.count{margin-left:0}.legend .legend-feedback{padding:.25rem .5rem;border:1px solid var(--line-strong);background:transparent;color:var(--ink-2);cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit}.legend .legend-feedback:hover{border-color:var(--accent);background:var(--accent);color:var(--paper)}.map-chat{position:absolute;bottom:var(--space-4);left:50%;z-index:5;display:flex;flex-direction:column;width:min(40rem,calc(100% - var(--space-6)));max-height:min(30rem,calc(100% - var(--space-6)));overflow:hidden;transform:translate(-50%);border:1px solid var(--ink);border-top:4px solid var(--accent)}.stage:has(.listing-list.rail-dock) .map-chat,.stage:has(.panel.rail-panel) .map-chat{left:calc(var(--rail-width) + (100% - var(--rail-width)) / 2);width:min(40rem,calc(100% - var(--rail-width) - var(--space-6) - var(--space-7)))}.stage:has(.layer-panel) .map-chat{left:calc((100% - var(--layer-width)) / 2);width:max(18rem,min(40rem,calc(100% - var(--layer-width) - var(--space-4))))}.stage:has(.layer-panel):has(.listing-list.rail-dock) .map-chat,.stage:has(.layer-panel):has(.panel.rail-panel) .map-chat{left:calc(var(--rail-width) + (100% - var(--rail-width) - var(--layer-width)) / 2);width:max(18rem,min(40rem,calc(100% - var(--rail-width) - var(--layer-width) - var(--space-4))))}.map-chat-collapsed{width:auto;min-width:18rem;max-height:none;background:var(--ink);color:var(--paper);border-color:var(--ink);border-top-color:var(--accent)}.map-chat-collapsed .map-chat-head{align-items:center;padding:.7rem .8rem .7rem 1rem;border-bottom:0;background:transparent}.map-chat-collapsed .map-chat-kicker,.map-chat-collapsed .map-chat-quota{display:none}.map-chat-collapsed .map-chat-head h2{margin:0;color:var(--paper);font-family:var(--font-display);font-size:.9rem;font-weight:700;letter-spacing:-.01em}.map-chat-collapsed .chat-toggle{border-color:var(--on-dark-line);color:var(--paper)}.map-chat-collapsed .chat-toggle:hover{border-color:var(--accent);background:var(--accent);color:var(--paper)}.map-chat.map-chat-sized{max-width:calc(100% - var(--space-6));max-height:calc(100% - var(--space-6))}.map-chat-resize{position:absolute;z-index:2;touch-action:none}.map-chat-resize-n{top:0;right:3rem;left:10px;height:10px;cursor:ns-resize}.map-chat-resize-n:after{position:absolute;top:4px;left:50%;width:2.5rem;height:3px;transform:translate(-50%);background:var(--line-strong);content:""}.map-chat-resize-e{top:10px;right:0;bottom:0;width:8px;cursor:ew-resize}.map-chat-resize-w{top:10px;bottom:0;left:0;width:8px;cursor:ew-resize}.map-chat-resize-ne{top:0;right:0;width:12px;height:12px;cursor:nesw-resize}.map-chat-resize-nw{top:0;left:0;width:12px;height:12px;cursor:nwse-resize}.map-chat-head{display:flex;flex-shrink:0;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--ink);background:var(--paper-2);color:var(--ink)}.map-chat-head h2{margin:var(--space-1) 0 0;font-family:var(--font-display);font-size:1.05rem;font-weight:900;letter-spacing:-.025em}.map-chat-kicker{color:var(--accent);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:500;letter-spacing:.14em;text-transform:uppercase}.map-chat-quota{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-1) 0 0;color:var(--ink-3);font-family:var(--font-mono);font-size:.6rem;letter-spacing:.05em;text-transform:uppercase}.chat-toggle{display:inline-grid;width:2rem;height:2rem;flex:0 0 auto;padding:0;place-items:center;border:1px solid var(--line-strong);background:transparent;color:var(--ink);cursor:pointer;font:inherit;font-size:var(--text-md);line-height:1}.chat-toggle:hover{border-color:var(--ink);background:var(--ink);color:var(--paper)}.map-chat-body{display:flex;flex:1;flex-direction:column;min-height:0;padding:var(--space-4);overflow:hidden}.map-chat-intro{flex-shrink:0;margin:0 0 var(--space-3);padding-left:var(--space-3);border-left:2px solid var(--accent);color:var(--ink-2);font-size:.78rem;line-height:1.5}.map-chat-log{flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:var(--space-1)}.map-chat-user,.map-chat-assistant{margin:0 0 var(--space-3);font-size:.85rem;line-height:1.5}.map-chat-user{margin-left:var(--space-5);padding:var(--space-3);border-left:3px solid var(--accent);background:var(--paper-2)}.map-chat-assistant{margin-right:var(--space-2);padding:0 0 var(--space-3);border-bottom:1px solid var(--line)}.map-chat-user strong,.map-chat-assistant strong{display:block;margin-bottom:var(--space-1);color:var(--ink-3);font-family:var(--font-mono);font-size:.6rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase}.map-chat-user p,.map-chat-assistant p{margin:0;white-space:pre-wrap}.chat-citation{color:var(--accent);font-family:var(--font-mono);font-size:.72em;font-weight:600;text-decoration:underline;text-underline-offset:.15em}.chat-references{margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--line)}.chat-references>summary,.chat-reference-data>summary{color:var(--accent);cursor:pointer;font-family:var(--font-mono);font-size:.62rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.chat-references>ol{margin:var(--space-3) 0 0;padding-left:var(--space-5)}.chat-references>ol>li{margin-bottom:var(--space-3);scroll-margin-block:var(--space-5)}.chat-reference-head{display:flex;align-items:baseline;gap:var(--space-2)}.chat-reference-head>span{color:var(--accent);font-family:var(--font-mono);font-size:.6rem;font-weight:600}.chat-reference-head>strong{display:inline;margin:0;color:var(--ink);font-family:var(--font-display);font-size:.8rem;font-weight:700;letter-spacing:0;text-transform:none}.chat-reference-sources{margin:var(--space-2) 0;padding:0;list-style:none}.chat-reference-sources li{margin-bottom:var(--space-1);font-size:.7rem}.chat-reference-sources a,.chat-reference-sources span{display:block;color:var(--ink)}.chat-reference-sources a{text-decoration-color:var(--accent-soft);text-underline-offset:.15em}.chat-reference-sources small{display:block;color:var(--ink-3);font-family:var(--font-mono);font-size:inherit}.chat-reference-data{margin-top:var(--space-2)}.chat-reference-data dl{display:grid;gap:var(--space-1);margin:var(--space-2) 0}.chat-reference-data dl>div{display:grid;grid-template-columns:5rem minmax(0,1fr);gap:var(--space-2)}.chat-reference-data dt{color:var(--ink-3);font-family:var(--font-mono);font-size:.66rem}.chat-reference-data dd{min-width:0;margin:0;overflow-wrap:anywhere;font-size:.72rem}.chat-reference-data h4{margin:var(--space-2) 0 var(--space-1);color:var(--ink-3);font-family:var(--font-mono);font-size:.58rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase}.chat-reference-data pre{max-height:12rem;margin:0;padding:var(--space-2);overflow:auto;border:1px solid var(--line);background:var(--paper-2);color:var(--ink);font-family:var(--font-mono);font-size:.62rem;line-height:1.45;overflow-wrap:anywhere;white-space:pre-wrap}.chat-reference-data pre+h4{margin-top:var(--space-3)}.chat-empty{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-1) 0 var(--space-3)}.chat-empty span{color:var(--ink-3);font-family:var(--font-mono);font-size:.6rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase}.chat-empty button{padding:var(--space-2) var(--space-3);border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;font:inherit;font-size:.76rem;text-align:left}.chat-empty button:hover{border-color:var(--ink);background:var(--paper-2)}.chat-targets{flex-shrink:0;margin:var(--space-2) 0;padding:var(--space-3);border-top:2px solid var(--ink);background:var(--paper-2)}.chat-targets-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);color:var(--ink);font-family:var(--font-mono);font-size:.6rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.chat-targets-head button{padding:0;border:0;border-bottom:1px solid var(--line-strong);background:transparent;color:inherit;cursor:pointer;font:inherit;font-size:.6rem;text-transform:uppercase}.chat-target-list{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-2)}.chat-target-list span{max-width:100%;overflow:hidden;padding:.15rem .4rem;border:1px solid var(--line-strong);background:var(--paper);color:var(--ink);font-family:var(--font-mono);font-size:.6rem;text-overflow:ellipsis;white-space:nowrap}.map-chat-form{flex-shrink:0;margin-top:var(--space-2);padding-top:var(--space-3);border-top:2px solid var(--ink)}.map-chat-form textarea{display:block;width:100%;max-height:6rem;padding:var(--space-3);resize:none;border:1px solid var(--line-strong);background:var(--paper);color:var(--ink);font:inherit;font-size:.85rem;line-height:1.45}.map-chat-form textarea:focus{border-color:var(--ink);outline:2px solid var(--accent);outline-offset:1px}.map-chat-submit{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-2)}.map-chat-submit span{color:var(--ink-3);font-family:var(--font-mono);font-size:.58rem;letter-spacing:.04em;text-transform:uppercase}.map-chat-submit button,.chat-action{padding:.55rem .9rem;border:1px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:500;letter-spacing:.1em;text-decoration:none;text-transform:uppercase}.map-chat-submit button:hover:not(:disabled),.chat-action:hover{border-color:var(--accent);background:var(--accent)}.map-chat-submit button:disabled{cursor:not-allowed;opacity:.45}.chat-callout{padding:var(--space-3);border-left:3px solid var(--accent);background:var(--paper-2)}.chat-callout p{margin:0 0 var(--space-4);font-size:.82rem;line-height:1.5}.chat-error{flex-shrink:0;margin:var(--space-2) 0;color:var(--danger);font-size:var(--text-xs)}.chat-error p{margin:0}.chat-error button{margin-top:var(--space-2);padding:.35rem .55rem;border:1px solid currentColor;background:transparent;color:inherit;cursor:pointer;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase}.chat-error button:hover{background:var(--danger);color:var(--paper)}.chat-pending p{display:flex;align-items:center;gap:var(--space-2);color:var(--ink-3)}.chat-dots{display:inline-flex;gap:.25rem}.chat-dots span{width:.4rem;height:.4rem;background:currentColor;animation:chat-pulse 1s ease-in-out infinite}.chat-dots span:nth-child(2){animation-delay:.15s}.chat-dots span:nth-child(3){animation-delay:.3s}@keyframes chat-pulse{0%,80%,to{opacity:.3}40%{opacity:1}}.maplibregl-ctrl-group{border:1px solid var(--ink);border-radius:0;background:var(--paper);box-shadow:none}.maplibregl-ctrl-group button{width:2rem;height:2rem;border-radius:0;background:transparent}.maplibregl-ctrl-group button+button{border-top:1px solid var(--line)}.maplibregl-ctrl-group button:hover{background:var(--paper-2)}.maplibregl-ctrl-attrib{border-radius:0;background:#f2efe6eb;box-shadow:none;color:var(--ink-2);font-family:var(--font-mono);font-size:.58rem}.maplibregl-ctrl-attrib-button{border-radius:0}@media(min-width:58.0625rem){.stage:has(.left-rail) .maplibregl-ctrl-bottom-left{left:var(--rail-width)}}.maplibregl-ctrl-attrib a{color:var(--ink-2)}.maplibregl-popup-content{padding:var(--space-3) var(--space-4);border:1px solid var(--ink);border-top:4px solid var(--accent);border-radius:0;background:var(--paper);color:var(--ink);box-shadow:none;font-family:var(--font-sans);font-size:.75rem;line-height:1.55}.maplibregl-popup-content strong{font-family:var(--font-display);font-size:.9rem;font-weight:800}.maplibregl-popup-close-button{width:1.6rem;height:1.6rem;border-radius:0;color:var(--ink);font-size:1.1rem}.maplibregl-popup-close-button:hover{background:var(--paper-2)}.maplibregl-popup-tip{display:none}@media(max-width:72rem){.topbar{align-items:center;gap:var(--space-3);padding-inline:var(--space-3)}.map-toolbar,.topbar-nav{gap:var(--space-2)}.topbar-nav span,.topbar-nav a[href="/"],.topbar-nav a[href="/en/"],.topbar p{display:none}.panel,.method-panel{z-index:6}}@media(max-width:58rem){.shell{--layer-fab-width: 5.5rem;--map-bar-height: 2.5rem;--map-bar-top: calc(var(--space-2) + 2.75rem);--map-bar-right: calc(var(--space-2) + var(--layer-fab-width));border-top-width:3px}.topbar{gap:var(--space-2);min-height:3.5rem;padding:.3rem .75rem;padding-top:calc(.3rem + env(safe-area-inset-top,0px))}.topbar-brand{flex:1 1 auto;gap:var(--space-2);min-width:0}.topbar-brand>div{min-width:0;padding-left:var(--space-3)}.topbar-brand .logo img{width:1.5rem;height:1.5rem}.topbar-brand .logo-mark{font-size:.8rem}.topbar h1{font-size:.98rem}.topbar p{display:none}.map-toolbar{flex:0 0 auto;gap:var(--space-2)}.topbar-nav{display:none}.topbar-menu-btn{display:inline-flex;align-items:center;min-height:2.5rem;padding:0 .7rem;border:1px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase}.map-toolbar .topbar-link{min-height:2.5rem;font-size:.62rem}.map-search,.stage:has(.listing-list.rail-dock) .map-search,.stage:has(.panel.rail-panel) .map-search{top:var(--space-2);left:50%;width:calc(100% - var(--space-4));transform:translate(-50%)}.map-search-prefix{display:none}.map-search form{height:2.75rem}.map-search input[type=search]{padding:.72rem .8rem;font-size:1rem}.map-search-results{max-height:45dvh}.left-rail{display:contents}.listing-list,.listing-list.rail-dock{position:absolute;top:calc(var(--map-bar-top) + var(--map-bar-height));right:var(--map-bar-right);bottom:auto;left:var(--space-2);display:flex;flex-direction:row;gap:0;width:auto;max-height:none;padding:0;overflow-x:auto;overflow-y:hidden;border-top:0;border-right:0;border-bottom:1px solid var(--ink);border-left:1px solid var(--ink);scrollbar-width:none;z-index:var(--z-rail)}.listing-list.is-collapsed{display:none}.listing-list::-webkit-scrollbar{display:none}.listing-list h2{display:none}.listing-strip,.listing-toggle{position:absolute;top:var(--map-bar-top);right:var(--map-bar-right);left:var(--space-2);z-index:var(--z-rail);display:flex;align-items:center;gap:var(--space-3);min-height:var(--map-bar-height);padding:.55rem .7rem;border:1px solid var(--ink);border-top:0;border-right:0;background:var(--paper);color:var(--ink-2);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase}.listing-strip>span,.listing-toggle>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.listing-toggle{justify-content:space-between;width:auto;color:var(--ink);cursor:pointer;text-align:left}.listing-toggle:hover,.listing-toggle[aria-expanded=true]{background:var(--paper-2)}.listing-toggle-arrow{flex:0 0 auto;width:.45rem;height:.45rem;margin-top:-.15rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform var(--dur) var(--ease)}.listing-toggle[aria-expanded=true] .listing-toggle-arrow{margin-top:.15rem;transform:rotate(-135deg)}.listing-list button,.listing-list button.active{flex:1 0 14rem;width:auto;max-width:none;padding:.55rem .7rem;border-top:0;border-right:1px solid var(--line);border-bottom:0;border-left:0;background:var(--paper)}.listing-list button:hover{background:var(--paper-2)}.listing-list .addr,.listing-list .meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-fab{position:absolute;top:var(--map-bar-top);right:var(--space-2);z-index:var(--z-floating);display:inline-flex;align-items:center;justify-content:center;width:var(--layer-fab-width);min-height:var(--map-bar-height);padding:0 var(--space-3);border:1px solid var(--ink);border-top:3px solid var(--accent);background:var(--paper);color:var(--ink);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase}.layer-panel,.layer-panel-sheet{position:fixed;top:auto;right:0;bottom:0;left:0;z-index:var(--z-sheet);width:auto;max-height:min(74dvh,calc(100% - var(--space-4)));padding:var(--space-4);padding-bottom:calc(var(--space-4) + var(--safe-bottom));border-top:4px solid var(--accent);border-right:0;border-bottom:0;border-left:0;background:var(--paper)}.layer-panel .check{min-height:2.5rem}.panel,.panel.rail-panel{position:fixed;top:auto;right:0;bottom:0;left:0;width:auto;max-height:min(76dvh,calc(100% - var(--space-4)));padding:var(--space-4);padding-bottom:calc(var(--space-4) + var(--safe-bottom));border-top:4px solid var(--accent);border-right:0;border-bottom:0;border-left:0;background:var(--paper);z-index:var(--z-sheet)}.panel .icon-btn,.layer-panel .icon-btn{width:2.5rem;height:2.5rem}.method-panel{top:calc(var(--space-2) + env(safe-area-inset-top,0px));right:var(--space-2);bottom:calc(var(--space-2) + var(--safe-bottom));left:var(--space-2);width:auto;max-height:none;padding:var(--space-4);transform:none;border:1px solid var(--ink);border-top:4px solid var(--accent);z-index:var(--z-modal)}.notification-popover{position:fixed;top:auto;right:var(--space-2);bottom:calc(var(--space-2) + var(--safe-bottom));left:var(--space-2);width:auto;max-height:60dvh;border-top-width:4px;z-index:var(--z-notify)}.banner,.banner.paywall{top:calc(var(--space-2) + 3.55rem);max-width:calc(100% - var(--space-4));z-index:6}.map-chat{position:fixed;top:auto;right:0;bottom:var(--vv-bottom, 0px);left:0;width:auto;max-height:calc(var(--vvh, 100dvh) - 3.5rem);transform:none;border-right:0;border-bottom:0;border-left:0;background:var(--paper);padding-bottom:var(--safe-bottom);z-index:var(--z-sheet)}.stage:has(.listing-list.rail-dock) .map-chat,.stage:has(.panel.rail-panel) .map-chat{right:0;left:0;width:auto;transform:none}.map-chat-collapsed,.stage:has(.listing-list.rail-dock) .map-chat.map-chat-collapsed,.stage:has(.panel.rail-panel) .map-chat.map-chat-collapsed{top:auto;right:auto;bottom:calc(var(--vv-bottom, 0px) + 2.5rem + var(--safe-bottom));left:50%;width:auto;min-width:0;max-width:calc(100% - var(--space-4));max-height:none;transform:translate(-50%);border:1px solid var(--ink);border-top:3px solid var(--accent);background:var(--ink);color:var(--paper);padding-bottom:0;z-index:6}.map-chat-collapsed .map-chat-head{padding:.55rem .6rem .55rem .8rem}.map-chat-collapsed .map-chat-head h2{font-size:.8rem}.map-chat-collapsed .chat-toggle{width:2.25rem;height:2.25rem}.map-chat-intro{display:none}.map-chat-body{padding:var(--space-3)}.map-chat-resize{display:none}.map-chat-form textarea{font-size:1rem}.legend{gap:var(--space-3);padding:.5rem var(--space-3);padding-bottom:calc(.5rem + var(--safe-bottom))}.legend span:not(.count):not(.legend-coords),.legend .legend-mode{display:none}.legend .legend-coords{margin-left:0;font-size:.56rem}.legend .count{margin-left:auto;font-size:.6rem}.legend .legend-feedback{display:none}}
