:root{--bg:#f4f2ec;--bg-2:#ebe7df;--surface:#ffffff;--surface-2:#faf7f1;--border:#e3ddd0;--border-strong:#cbc4b3;--text:#1a1814;--muted:#857c70;--accent:#2e6b5e;--accent-hover:#235247;--accent-soft:rgba(46,107,94,.08);--accent-rgb:46,107,94;--danger:#b94632;--warning:#b87a2c;--gold:#c79a3a;--radius:14px;--radius-sm:8px;--radius-lg:20px;--panel-w:400px;--panel-w-expanded:560px;--panel-w-compact:214px;--header-h:54px;--font-head:'DM Serif Display',Georgia,serif;--font-body:'DM Sans',sans-serif;--c-low:#d05c44;--c-mid:#c99830;--c-high:#4a9b6c;--shadow-xs:0 1px 1px rgba(28,22,12,.04),0 2px 4px -1px rgba(28,22,12,.04);--shadow-sm:0 1px 2px rgba(28,22,12,.04),0 4px 12px -2px rgba(28,22,12,.06);--shadow-md:0 1px 2px rgba(28,22,12,.04),0 8px 24px -4px rgba(28,22,12,.10),0 16px 32px -8px rgba(28,22,12,.06);--shadow-lg:0 1px 2px rgba(28,22,12,.04),0 12px 28px -6px rgba(28,22,12,.14),0 32px 64px -16px rgba(28,22,12,.10);--backdrop:rgba(20,18,14,.5);--transition:cubic-bezier(.2,0,0,1)}[data-theme="dark"]{--bg:#131618;--bg-2:#1b1f22;--surface:#1f2428;--surface-2:#262b30;--border:#2f353a;--border-strong:#444b51;--text:#ece8e1;--muted:#8d867c;--accent:#6cc2a6;--accent-hover:#85cfb6;--accent-soft:rgba(108,194,166,.12);--accent-rgb:108,194,166;--danger:#e07060;--warning:#d9a454;--gold:#e0b858;--c-low:#e07b5a;--c-mid:#e0b84a;--c-high:#6cc2a6;--shadow-xs:0 1px 1px rgba(0,0,0,.3),0 2px 4px -1px rgba(0,0,0,.25);--shadow-sm:0 1px 2px rgba(0,0,0,.3),0 4px 12px -2px rgba(0,0,0,.35);--shadow-md:0 1px 2px rgba(0,0,0,.3),0 8px 24px -4px rgba(0,0,0,.45),0 16px 32px -8px rgba(0,0,0,.35);--shadow-lg:0 1px 2px rgba(0,0,0,.3),0 12px 28px -6px rgba(0,0,0,.55),0 32px 64px -16px rgba(0,0,0,.4);--backdrop:rgba(0,0,0,.7)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}button,a,input,label,.mode-btn,.action-btn,.icon-btn{-webkit-tap-highlight-color:transparent;touch-action:manipulation}body{font-family:var(--font-body);background:var(--bg);color:var(--text);height:100dvh;overflow:hidden;display:flex;flex-direction:column;transition:background .25s,color .25s;padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0)}button{font-family:inherit}input{font-family:inherit}header{height:var(--header-h);display:flex;align-items:center;gap:10px;padding:0 14px;background:rgba(255,255,255,.82);border-bottom:1px solid var(--border);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 8px 24px -22px rgba(28,22,12,.35);flex-shrink:0;z-index:1000;transition:background .25s,border-color .25s}[data-theme="dark"] header{background:rgba(31,36,40,.86);box-shadow:0 10px 28px -22px rgba(0,0,0,.5)}.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);flex-shrink:0}.logo-mark{width:30px;height:30px;display:grid;place-items:center;transition:transform .25s var(--transition)}.logo-mark svg{width:100%;height:100%;display:block}.vm-cutout{fill:var(--bg)}.vm-brand-fill{fill:#2e6b5e}.vm-brand-stroke{stroke:#2e6b5e}[data-theme="dark"] .vm-brand-fill{fill:#6cc2a6}[data-theme="dark"] .vm-brand-stroke{stroke:#6cc2a6}.logo:hover .logo-mark{transform:rotate(-8deg) scale(1.05)}.logo-text{font-family:var(--font-head);font-size:22px;font-weight:400;letter-spacing:-.012em;white-space:nowrap;color:var(--text);line-height:1;transform:translateY(-1px)}.logo-text em{font-style:normal;font-weight:inherit;color:inherit}.search-wrap{flex:1;max-width:420px;position:relative}.search-wrap::before{content:'';position:absolute;inset:-1px;border-radius:999px;background:linear-gradient(135deg,rgba(var(--accent-rgb),.16),rgba(var(--accent-rgb),0) 48%);opacity:0;transition:opacity .18s ease;pointer-events:none}.search-wrap:focus-within::before{opacity:1}#search-input{width:100%;padding:10px 38px 10px 38px;border:1.5px solid transparent;border-radius:999px;background:linear-gradient(180deg,var(--surface-2),var(--bg));font-size:13.5px;color:var(--text);outline:none;box-shadow:var(--shadow-xs);transition:border-color .15s,box-shadow .15s,background .25s,color .25s,transform .15s}#search-input:hover{border-color:var(--border)}#search-input:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.14),var(--shadow-sm)}#search-input::placeholder{color:var(--muted)}#search-input:disabled{opacity:.55;cursor:wait}#search-input.is-error{border-color:var(--danger) !important;box-shadow:0 0 0 3px rgba(192,57,43,.15) !important}.search-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:13px;pointer-events:none}.search-spinner{position:absolute;right:13px;top:50%;transform:translateY(-50%);width:15px;height:15px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite;display:none}.search-wrap.loading .search-spinner{display:block}.suggestions{position:absolute;top:calc(100%+6px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-md);z-index:2000;overflow:hidden;display:none}.suggestions.open{display:block}.sug-item{padding:9px 14px;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--border);transition:background .12s;width:100%;text-align:left;border-left:none;border-right:none;border-top:none;background:transparent;font:inherit}.sug-item:last-child{border-bottom:none}.sug-item:hover{background:var(--bg)}.suggestion-icon-v{width:12px;height:12px;flex-shrink:0;fill:var(--accent);margin-top:1px;opacity:.75;transition:opacity .15s,transform .15s}.sug-item:hover .suggestion-icon-v,.sug-item:focus-visible .suggestion-icon-v,.sug-item.active .suggestion-icon-v,.sug-item[aria-selected="true"] .suggestion-icon-v{opacity:1;transform:translateX(1px)}.sug-item .sug-name{font-weight:500;flex:1;color:var(--text)}.sug-item .sug-type{font-size:11px;color:var(--muted)}.modes{display:flex;gap:5px;padding:4px;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;box-shadow:var(--shadow-xs);flex-shrink:0}.mode-btn{padding:6px 11px;border-radius:999px;border:none;background:transparent;font-size:12.5px;font-weight:600;letter-spacing:-.01em;color:var(--muted);cursor:pointer;white-space:nowrap;transition:all .15s}.mode-btn:hover{background:var(--accent-soft);color:var(--accent)}.mode-btn.active{background:var(--accent);color:#fff;box-shadow:0 8px 18px -12px rgba(var(--accent-rgb),.95)}.mode-icon{width:16px;height:16px;display:inline-block;vertical-align:-3px;object-fit:contain;flex-shrink:0}.vm-ui-icon,.action-icon,.theme-glyph{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.vm-ui-icon .fill,.action-icon .fill,.theme-glyph .fill{fill:currentColor;stroke:none}.mode-btn .mode-icon{margin-right:4px}.mode-inline-icon{width:1.15em;height:1.15em;display:inline-block;vertical-align:-.18em;margin-right:.35em;object-fit:contain}.header-right{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}.icon-btn{width:34px;height:34px;border-radius:10px;border:1.5px solid var(--border);background:var(--surface-2);color:var(--text);font-size:15px;cursor:pointer;display:grid;place-items:center;transition:all .15s;padding:0;position:relative}.icon-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--surface);box-shadow:var(--shadow-sm)}.icon-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.icon-btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.hamburger-btn{gap:3px}.hamburger-lines{width:16px;height:12px;display:grid;gap:3px;align-content:center}.hamburger-lines span{display:block;width:100%;height:2px;border-radius:999px;background:currentColor}#theme-icon{display:grid;place-items:center}#theme-icon svg{width:17px;height:17px}.user-btn{padding:0 10px;width:auto;min-width:34px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:13px;font-weight:500;max-width:140px}#user-btn-content{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0}.user-btn:has(>#user-btn-content>svg:only-child),.user-btn:has(>svg:only-child){padding:0;width:38px;min-width:38px;justify-content:center}.user-btn .user-initial{width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;line-height:1;text-align:center;flex-shrink:0}.user-btn .user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:90px}.menu-wrap{position:relative}.menu{position:absolute;top:calc(100%+6px);right:0;min-width:200px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);padding:6px;z-index:2000;display:none}.app-menu{min-width:230px}.menu.open{display:block}.menu-item{padding:8px 12px;border-radius:8px;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:9px;color:var(--text);background:transparent;border:none;width:100%;text-align:left;text-decoration:none;transition:background .12s}.menu-item:hover{background:var(--bg)}.menu-item.danger{color:var(--danger)}.menu-item .mi-icon{width:16px;height:16px;display:grid;place-items:center;color:var(--accent);flex-shrink:0}.vm-menu-v::before{content:'';width:13px;height:13px;display:block;background:currentColor;clip-path:polygon(18% 78%,18% 64%,56% 50%,18% 36%,18% 22%,82% 50%);opacity:.82}.menu-item:hover .vm-menu-v::before{opacity:1;transform:translateX(1px)}.menu-sep{height:1px;background:var(--border);margin:4px 0}.menu-header{padding:10px 12px 6px;font-size:11px;color:var(--muted);font-weight:600;letter-spacing:.05em;text-transform:uppercase}.main{flex:1;display:flex;overflow:hidden;position:relative}.info-modal{max-width:600px !important}.modal-eyebrow{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}.info-body{padding:4px 24px 16px}.info-body .lede{font-family:var(--font-head);font-size:18px;line-height:1.5;color:var(--text);margin-bottom:18px}.info-body .lede em{color:var(--accent);font-style:italic}.info-body h3{font-family:var(--font-head);font-size:16px;color:var(--text);margin:22px 0 8px;letter-spacing:-.01em}.info-body p{font-size:13.5px;line-height:1.65;color:var(--text);margin-bottom:10px}.info-body strong{font-weight:600;color:var(--text)}.info-body em{font-style:italic;color:var(--accent)}.inline-link{color:var(--accent);background:transparent;border:0;padding:0;font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}.info-list{list-style:none;padding:0;margin:6px 0 14px}.info-list li{font-size:13px;line-height:1.55;color:var(--text);padding:6px 0 6px 22px;position:relative;border-bottom:1px solid var(--border)}.info-list li:last-child{border-bottom:none}.info-list li::before{content:'✓';position:absolute;left:0;top:6px;color:var(--accent);font-weight:600}.info-foot{padding:14px 24px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px}.info-divider{text-align:center;margin:18px 0 12px;font-size:11px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;position:relative}.info-divider::before,.info-divider::after{content:'';position:absolute;top:50%;width:30%;height:1px;background:var(--border)}.info-divider::before{left:0}.info-divider::after{right:0}.contact-channels{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:6px}.contact-channel{display:flex;align-items:center;gap:11px;padding:12px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;text-decoration:none;color:inherit;transition:border-color .15s,background .15s,transform .12s}.contact-channel:hover{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-1px)}.cc-icon{width:36px;height:36px;display:grid;place-items:center;background:var(--accent);color:#fff;border-radius:10px;font-size:16px;flex-shrink:0}.cc-label{font-size:11px;color:var(--muted);margin-bottom:2px}.cc-value{font-size:13px;font-weight:600;color:var(--text)}.contact-form{display:grid;gap:12px}.form-label{display:grid;gap:6px;font-size:12px;font-weight:600;color:var(--text)}.form-label input,.form-label select,.form-label textarea{width:100%;box-sizing:border-box;display:block;padding:10px 12px;border:1.5px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font-size:13px;font-weight:400;font-family:var(--font-body);outline:none;transition:border-color .15s,box-shadow .15s}.form-label input:focus,.form-label select:focus,.form-label textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.form-label textarea{resize:vertical;min-height:92px}.form-error{font-size:12px;color:var(--danger);padding:8px 12px;background:rgba(185,70,50,.08);border-radius:8px}@media (max-width:600px){.contact-channels{grid-template-columns:1fr}.info-body{padding:4px 16px 16px}}#map{flex:1;cursor:crosshair;background:var(--bg)}.leaflet-container{background:var(--bg-2);-webkit-tap-highlight-color:transparent}.leaflet-tile{outline:1px solid transparent;-webkit-backface-visibility:hidden;backface-visibility:hidden}.leaflet-tile-container,.leaflet-pane{transform:translateZ(0)}.leaflet-control-attribution{font-size:10px;opacity:.5;background:var(--surface) !important;color:var(--text) !important}.leaflet-control-attribution a{color:var(--accent) !important}.leaflet-control-zoom{border:0 !important;border-radius:12px !important;box-shadow:var(--shadow-sm) !important;overflow:hidden}.leaflet-control-zoom a{width:34px !important;height:34px !important;line-height:32px !important;background:#fff !important;border-color:rgba(46,107,94,.32) !important;color:#2e6b5e !important;font:700 20px/32px var(--font-body) !important;text-decoration:none !important;transition:background .15s,color .15s,border-color .15s,filter .15s}.leaflet-control-zoom a:hover,.leaflet-control-zoom a:focus-visible{background:#2e6b5e !important;border-color:#2e6b5e !important;color:#fff !important}[data-theme="dark"] .leaflet-control-zoom a{background:#6cc2a6 !important;border-color:rgba(108,194,166,.72) !important;color:#fff !important}[data-theme="dark"] .leaflet-control-zoom a:hover,[data-theme="dark"] .leaflet-control-zoom a:focus-visible{background:#2e6b5e !important;border-color:#6cc2a6 !important;color:#fff !important;filter:brightness(1.08)}.vm-pin{width:22px;height:22px;background:var(--accent);border:3px solid #fff;border-radius:50% 50% 50% 3px;box-shadow:0 3px 10px rgba(0,0,0,.3);transform:rotate(45deg)}[data-theme="dark"] .vm-pin{border-color:#fff}.zone-inner{stroke:var(--accent);stroke-width:2.5;fill:rgba(var(--accent-rgb),.18)}.zone-inner.natural-zone{stroke:rgb(88,150,195);fill:rgba(88,150,195,.22)}.panel{width:0;flex-shrink:0;background:var(--surface);border-left:0 solid var(--border);overflow:hidden;transition:width .38s cubic-bezier(.16,1,.3,1),border-left-width .38s,background .25s;display:flex;flex-direction:column}.panel.open{width:var(--panel-w);border-left-width:1px;overflow-y:auto;overflow-x:hidden}.panel.open.compact{width:var(--panel-w-compact)}.panel.open.expanded{width:var(--panel-w-expanded)}.panel-inner{width:var(--panel-w);padding:20px 22px 36px;position:relative;flex-shrink:0}.panel.compact .panel-inner{width:var(--panel-w-compact);padding:18px 16px 24px}.panel.expanded .panel-inner{width:var(--panel-w-expanded);padding:22px 26px 40px}.panel-mobile-handle{display:none}.panel-peek{display:none;width:100%;border:1px solid var(--border);background:linear-gradient(180deg,var(--surface-2),var(--bg));border-radius:16px;padding:14px 16px;text-align:left;cursor:pointer;box-shadow:var(--shadow-sm);color:inherit}.panel-peek-name{font-family:var(--font-head);font-size:16px;line-height:1.22;color:var(--text);margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.panel-peek-row{display:flex;align-items:center;gap:10px}.panel-peek-score{min-width:44px;padding:7px 10px;border-radius:999px;background:rgba(var(--accent-rgb),.10);color:var(--text);font:700 13px var(--font-body);text-align:center}.panel-peek-copy{min-width:0;flex:1}.panel-peek-label{font-size:11px;line-height:1.25;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}.panel-peek-label .mode-inline-icon{width:1.2em;height:1.2em}.panel-peek-traits{font-size:12.5px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.panel-full{display:block}.panel.compact .panel-peek{display:block;margin-top:10px}.panel.compact .panel-full{display:none}.panel-topbar{min-height:30px;display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-bottom:8px}.panel-actions{display:flex;align-items:center;gap:6px}.action-btn{width:30px;height:30px;border-radius:50%;border:none;background:var(--bg);color:var(--muted);font-size:14px;cursor:pointer;display:grid;place-items:center;transition:all .15s}.action-btn:hover{background:var(--border);color:var(--text)}.action-btn.saved{background:var(--gold);color:#fff}.action-btn.saved:hover{background:var(--gold);filter:brightness(1.1)}.action-btn .action-icon,.action-btn>.action-icon{width:15px;height:15px}.panel-close-btn{font-size:15px}.share-btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.panel-compact-btn{font-size:18px;line-height:1}.panel-size-expand{display:none}.panel.expanded .panel-size-expand{display:inline-grid}.panel.expanded .panel-size-collapse{display:none}.loc-header{display:flex;align-items:flex-start;gap:10px;margin:0 0 12px;padding-right:0}.loc-header>div:last-child{min-width:0;flex:1}.loc-pin-icon{width:30px;height:30px;border-radius:50% 50% 50% 4px;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:13px;flex-shrink:0;margin-top:1px}.loc-name{font-family:var(--font-head);font-size:17px;line-height:1.25;overflow-wrap:anywhere;color:var(--text)}.loc-meta{font-size:10.5px;color:var(--muted);margin-top:5px;line-height:1.35;font-family:monospace;overflow-wrap:anywhere}.panel.expanded .loc-name{font-size:19px}.panel.expanded .vibe-card-front{gap:20px}.panel.expanded .ring-wrap{width:96px;height:96px}.panel.expanded .ring-num strong{font-size:34px}.recommend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}.recommend-panel{display:none}.panel.expanded .recommend-panel{display:block}.recommend-card{padding:12px 13px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border);box-shadow:var(--shadow-xs)}.recommend-card strong{display:block;margin-bottom:5px;font-size:12px;color:var(--text)}.recommend-card span{font-size:11.5px;line-height:1.45;color:var(--muted)}.panel.open:not(.expanded):not(.compact) .panel-tools,.panel.open:not(.expanded):not(.compact) .recents,.panel.open:not(.expanded):not(.compact) .sources-footer{display:none}.vibe-card{position:relative;display:block;margin-bottom:12px;perspective:1100px;isolation:isolate}.vibe-card-inner{position:relative;min-height:var(--score-front-h,218px);transform-style:preserve-3d;transition:transform .58s cubic-bezier(.2,.8,.2,1),min-height .24s ease}.vibe-card.flipped .vibe-card-inner{min-height:var(--score-back-h,304px);transform:rotateY(180deg)}.vibe-card-face{position:absolute;inset:0;border:1px solid rgba(var(--accent-rgb),.18);border-radius:var(--radius);background:radial-gradient(circle at 16% 18%,rgba(var(--accent-rgb),.18),transparent 38%),radial-gradient(circle at 90% 8%,rgba(var(--accent-rgb),.10),transparent 34%),linear-gradient(155deg,var(--surface-2),var(--bg) 72%);box-shadow:var(--shadow-sm),inset 0 1px 0 rgba(255,255,255,.08);backface-visibility:hidden;-webkit-backface-visibility:hidden;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;overflow:hidden;transition:opacity .18s ease,visibility 0s linear .18s}.vibe-card-front{display:flex;align-items:center;gap:16px;padding:54px 16px 16px;opacity:1;visibility:visible;pointer-events:auto;transform:rotateY(0deg) translateZ(.01px);transition-delay:.08s,0s;z-index:2}.vibe-card-back{padding:16px;transform:rotateY(180deg) translateZ(.01px);overflow-y:auto;opacity:0;visibility:hidden;pointer-events:none;z-index:1}.vibe-card.flipped .vibe-card-front{opacity:0;visibility:hidden;pointer-events:none;transition-delay:0s,.18s;z-index:1}.vibe-card.flipped .vibe-card-front>*,.vibe-card:not(.flipped) .vibe-card-back>*{opacity:0 !important;visibility:hidden}.vibe-card.flipped .vibe-card-back{opacity:1;visibility:visible;pointer-events:auto;transition-delay:.08s,0s;z-index:2}.vibe-card.flipped .vibe-card-back>*{opacity:1;visibility:visible}.vibe-card-back::before{content:'';position:absolute;inset:-40% -15% auto auto;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(var(--accent-rgb),.13),transparent 68%);pointer-events:none}.subscore-toggle{position:absolute;top:12px;right:12px;min-width:138px;height:31px;padding:0 10px;border:1px solid rgba(var(--accent-rgb),.55);border-radius:999px;background:var(--accent);color:var(--bg);display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;box-shadow:0 12px 26px -16px rgba(var(--accent-rgb),.95),inset 0 1px 0 rgba(255,255,255,.18);font:900 10.5px/1 var(--font-body);letter-spacing:.03em;white-space:nowrap;z-index:3;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .18s ease}.subscore-toggle:hover,.subscore-toggle:focus-visible{color:var(--bg);border-color:var(--accent-hover);background:var(--accent-hover);box-shadow:0 15px 30px -16px rgba(var(--accent-rgb),1),inset 0 1px 0 rgba(255,255,255,.2)}.vibe-card.flipped .vibe-card-back .subscore-toggle{color:var(--accent);border-color:rgba(var(--accent-rgb),.55);background:rgba(var(--accent-rgb),.10)}.subscore-toggle:focus-visible{outline:2px solid rgba(var(--accent-rgb),.35);outline-offset:2px}.subscore-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.subscore-toggle:hover .flip-arrow,.subscore-toggle:focus-visible .flip-arrow{transform:translateX(1px) rotate(12deg)}.flip-arrow{transition:transform .18s ease}.flip-back-label{min-width:0}.ring-wrap{position:relative;width:92px;height:92px;flex-shrink:0;display:grid;place-items:center}.ring-wrap::before{content:'';position:absolute;inset:-9px;border-radius:50%;background:radial-gradient(circle,rgba(var(--accent-rgb),.18),rgba(var(--accent-rgb),0) 70%);filter:blur(.2px)}.ring-wrap::after{content:'';position:absolute;inset:12px;border-radius:50%;background:linear-gradient(90deg,transparent 0 34%,rgba(var(--accent-rgb),.16) 47%,transparent 60%) -120% 0 / 220% 100% no-repeat,repeating-linear-gradient(90deg,rgba(var(--accent-rgb),.045) 0 1px,transparent 1px 9px),radial-gradient(circle at 50% 34%,rgba(255,255,255,.08),transparent 42%),linear-gradient(180deg,rgba(var(--accent-rgb),.09),transparent 72%),var(--card);box-shadow:inset 0 1px 0 rgba(255,255,255,.10),inset 0 -10px 20px rgba(0,0,0,.04);z-index:0;overflow:hidden;animation:scoreInnerStream 5.6s ease-in-out infinite}@keyframes scoreInnerStream{0%,16%{background-position:-120% 0,0 0,0 0,0 0,0 0}46%{background-position:118% 0,3px 0,0 0,0 0,0 0}100%{background-position:118% 0,3px 0,0 0,0 0,0 0}}@media (prefers-reduced-motion:reduce){.ring-wrap::after{animation:none;background-position:14% 0,0 0,0 0,0 0,0 0}}.ring-wrap svg{width:100%;height:100%;transform:rotate(-90deg);display:block}.ring-wrap svg,.ring-num{position:relative;z-index:1}.ring-wrap circle{fill:none;stroke-width:7.5;stroke-linecap:round}.ring-track{stroke:rgba(var(--accent-rgb),.14)}.ring-fill{transition:stroke-dashoffset .85s cubic-bezier(.16,1,.3,1),stroke .4s}.ring-num{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;color:var(--text);font-variant-numeric:tabular-nums;line-height:1}.ring-num strong{display:block;font-family:var(--font-head);font-size:34px;font-weight:400;line-height:.86;letter-spacing:-.055em;color:var(--text);font-feature-settings:"tnum" 1,"lnum" 1}.ring-num span{display:block;margin-top:4px;font:900 7px/1 var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);opacity:.86}.vibe-meta{flex:1;min-width:0}.vibe-label{font-size:10.5px;color:var(--accent);font-weight:800;letter-spacing:.075em;text-transform:uppercase;margin-bottom:5px}.vibe-label .mode-inline-icon{width:1.25em;height:1.25em}.vibe-title{font-family:var(--font-head);font-size:20px;margin-bottom:5px;line-height:1.12;color:var(--text)}.vibe-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10.5px;font-weight:700}.time-chip{display:inline-block;font-size:10.5px;font-weight:600;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);padding:2px 7px;border-radius:999px;margin-bottom:5px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vibe-time-context{font-size:11.5px;color:var(--muted);margin:-1px 0 5px;line-height:1.3}.confidence-note{display:flex;align-items:flex-start;gap:7px;margin:6px 0 6px;padding:7px 9px;border:1px solid var(--border);border-radius:12px;background:rgba(var(--accent-rgb),.055);color:var(--muted)}.confidence-note strong{display:block;font-size:11px;color:var(--text);margin-bottom:1px}.confidence-note span:last-child{display:block;font-size:10.5px;line-height:1.28}.confidence-dot{width:8px;height:8px;border-radius:999px;flex:0 0 auto;margin-top:4px;background:var(--c-high);box-shadow:0 0 0 3px rgba(78,158,110,.14)}.confidence-note.good .confidence-dot{background:rgb(88,150,195);box-shadow:0 0 0 3px rgba(88,150,195,.14)}.confidence-note.partial .confidence-dot{background:var(--c-mid);box-shadow:0 0 0 3px rgba(212,164,55,.16)}.confidence-note.estimated .confidence-dot,.confidence-note.low .confidence-dot{background:var(--c-low);box-shadow:0 0 0 3px rgba(217,98,74,.14)}.why-confidence{margin:0 0 10px;padding:9px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.why-confidence ul{margin:7px 0 0;padding-left:18px;font-size:11.5px;line-height:1.55}.natural-banner{background:linear-gradient(135deg,rgba(88,150,195,.14),rgba(58,120,160,.18));border:1px solid rgba(88,150,195,.35);color:rgb(35,90,130);padding:8px 14px;border-radius:999px;font-size:12.5px;font-weight:600;letter-spacing:.02em;text-align:center;margin-bottom:12px}[data-theme="dark"] .natural-banner{background:linear-gradient(135deg,rgba(88,150,195,.12),rgba(58,120,160,.15));border-color:rgba(120,180,220,.28);color:rgb(150,200,225)}.water-banner{background:linear-gradient(135deg,rgba(88,150,195,.16),rgba(58,120,160,.20));border:1px solid rgba(88,150,195,.40);border-radius:var(--radius);padding:11px 14px 12px;margin-bottom:14px}.water-banner-head{font-weight:700;font-size:13px;color:rgb(20,70,110);letter-spacing:.01em;margin-bottom:3px}.water-banner-body{font-size:12px;line-height:1.5;color:rgb(55,95,125)}[data-theme="dark"] .water-banner{background:linear-gradient(135deg,rgba(88,150,195,.14),rgba(58,120,160,.18));border-color:rgba(120,180,220,.32)}[data-theme="dark"] .water-banner-head{color:rgb(160,210,235)}[data-theme="dark"] .water-banner-body{color:rgb(145,185,210)}.panel-inner.natural{background:linear-gradient(180deg,rgba(88,150,195,.04),transparent 240px)}.vote-row-wrap{padding:10px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px}.score-insights{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin:0 0 12px}.score-insight{padding:9px 10px;border:1px solid var(--border);border-radius:13px;background:var(--surface-2)}.score-insight span{display:block;margin-bottom:4px;font:800 9.5px/1 var(--font-body);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.score-insight strong{display:block;font-size:12px;line-height:1.3;color:var(--text)}.score-insight.good strong{color:var(--accent)}.vote-collapsed{display:flex;align-items:center;justify-content:space-between;gap:10px}.vote-prompt{font-size:12px;color:var(--muted);flex:1}.vote-btn-open{padding:7px 14px;background:var(--accent);color:#fff;border:0;border-radius:8px;font:600 12px var(--font-body);letter-spacing:.02em;cursor:pointer;transition:transform .12s ease,filter .12s ease}.vote-btn-open:hover{transform:translateY(-1px);filter:brightness(1.08)}.vote-btn-open:active{transform:translateY(0)}.vote-expanded.hidden{display:none}.vote-expanded{animation:voteReveal .22s cubic-bezier(.16,1,.3,1)}@keyframes voteReveal{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.vote-header{font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);text-align:center;margin-bottom:9px}.vote-row{margin-bottom:8px}.vote-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:500;color:var(--text);margin-bottom:4px}.vote-val{font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums;min-width:28px;text-align:right}.vote-slider{width:100%;-webkit-appearance:none;appearance:none;height:4px;background:var(--border);border-radius:999px;outline:none;cursor:pointer;transition:background .15s ease}.vote-slider:hover{background:var(--border-strong)}.vote-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent);border:2px solid var(--surface);box-shadow:0 1px 3px rgba(0,0,0,.18);cursor:pointer;transition:transform .12s ease}.vote-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.vote-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--accent);border:2px solid var(--surface);box-shadow:0 1px 3px rgba(0,0,0,.18);cursor:pointer}.vote-slider::-moz-range-thumb:hover{transform:scale(1.15)}.vote-reasons{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.vote-reason-title{font-size:11px;font-weight:700;color:var(--muted);margin-bottom:7px}.vote-reason-grid{display:flex;flex-wrap:wrap;gap:6px}.vote-reason-chip{position:relative;display:inline-flex;align-items:center;gap:5px}.vote-reason-chip input{position:absolute;inset:0;opacity:0;cursor:pointer}.vote-reason-chip span{display:inline-flex;align-items:center;min-height:26px;padding:5px 8px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--muted);font:700 10.5px/1.1 var(--font-body);transition:background .15s,color .15s,border-color .15s,transform .15s}.vote-reason-chip input:checked+span{background:rgba(var(--accent-rgb),.12);border-color:rgba(var(--accent-rgb),.55);color:var(--accent)}.vote-reason-chip input:focus-visible+span{outline:2px solid rgba(var(--accent-rgb),.35);outline-offset:2px}.vote-actions{display:flex;gap:8px;margin-top:10px}.vote-btn-cancel,.vote-btn-submit{flex:1;padding:8px 10px;border-radius:8px;font:600 12px var(--font-body);cursor:pointer;transition:transform .12s ease,filter .12s ease,background .15s ease}.vote-btn-cancel{background:var(--surface);border:1px solid var(--border);color:var(--text)}.vote-btn-cancel:hover{background:var(--border)}.vote-btn-submit{background:var(--accent);border:0;color:#fff}.vote-btn-submit:hover{filter:brightness(1.08);transform:translateY(-1px)}.vote-btn-submit:active{transform:translateY(0)}.vote-thanks-main{font-size:13px;font-weight:600;color:var(--accent);text-align:center}.vote-thanks-sub{font-size:11px;color:var(--muted);text-align:center;margin-top:4px}.sub-section{display:none;margin:0 0 12px}.vibe-card-back .sub-section{position:relative;display:block;margin:0;z-index:1}.vibe-card-back .section-label{margin:0 128px 11px 0}.vibe-card-back .score-row:last-child{margin-bottom:0}.sub-section.open{display:block;animation:subscoresReveal .18s ease-out}@keyframes subscoresReveal{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.custom-score-panel{margin:0 0 12px;border:1px solid var(--border);border-radius:14px;background:rgba(var(--accent-rgb),.04);overflow:hidden}.custom-score-panel summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;cursor:pointer;list-style:none;color:var(--text);font-weight:800;font-size:12.5px}.custom-score-panel summary::-webkit-details-marker{display:none}.custom-score-panel summary::after{content:'+';color:var(--accent);font-weight:900}.custom-score-panel[open] summary::after{content:'−'}.custom-score-body{padding:0 12px 12px}.custom-score-copy{margin:0 0 10px;color:var(--muted);font-size:11.5px;line-height:1.45}.custom-score-preview{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;margin-bottom:10px;border-radius:12px;background:var(--card);border:1px solid var(--border)}.custom-score-preview strong{display:block;color:var(--text);font-size:12px}.custom-score-preview span{color:var(--muted);font-size:11px}.custom-score-num{flex:0 0 auto;font:400 30px/1 var(--font-head);color:var(--accent)}.custom-presets{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.custom-preset{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:999px;padding:6px 9px;font-size:11px;font-weight:700;cursor:pointer}.custom-preset.active,.custom-preset:hover{border-color:var(--accent);color:var(--accent)}.custom-weight-row{display:grid;grid-template-columns:98px 1fr 42px;gap:10px;align-items:center;margin-bottom:7px;color:var(--text);font-size:12px}.custom-weight-row input{width:100%;accent-color:var(--accent)}.custom-weight-val{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}.custom-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.custom-actions .btn{padding:7px 10px;font-size:11.5px}.custom-active-pill{font-size:10.5px;color:var(--muted)}.section-label{font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:9px}.score-row{display:grid;grid-template-columns:20px 1fr 34px;align-items:center;gap:9px;margin-bottom:9px}.s-icon{font-size:13px;text-align:center;line-height:1}.s-body{min-width:0}.s-head{display:flex;align-items:center;gap:6px;margin-bottom:4px}.s-label{font-size:12px;font-weight:500;color:var(--text)}.s-src{font-size:9.5px;font-weight:600;letter-spacing:.03em;padding:1px 5px;border-radius:4px}.s-src.live{background:rgba(78,158,110,.2);color:var(--c-high)}.s-src.proxy{background:rgba(212,164,55,.2);color:var(--c-mid)}.s-src.estimated{background:rgba(212,164,55,.2);color:var(--c-mid)}.s-src.cached{background:rgba(88,150,195,.2);color:rgb(35,90,130)}.s-src.unavailable{background:rgba(217,98,74,.18);color:var(--c-low)}.s-src.natural{background:rgba(88,150,195,.2);color:rgb(35,90,130)}[data-theme="dark"] .s-src.natural,[data-theme="dark"] .s-src.cached{color:rgb(150,200,225)}.score-source-est{font-size:10px;color:var(--muted);font-style:italic;margin-left:2px;opacity:.7}.s-time{font-size:9.5px;font-weight:700;padding:1px 5px;border-radius:4px;letter-spacing:.02em}.s-time.up{background:rgba(78,158,110,.2);color:var(--c-high)}.s-time.down{background:rgba(217,98,74,.18);color:var(--c-low)}.bar-track{height:6px;background:var(--border);border-radius:999px;overflow:hidden}.bar-fill{height:100%;border-radius:999px;width:0%;transition:width .8s cubic-bezier(.16,1,.3,1)}.s-val{font-size:12px;font-weight:700;text-align:right;color:var(--muted)}.skeleton-panel{padding:18px 22px 28px}.skeleton-vibe-card{display:flex;gap:16px;align-items:center;padding:16px;margin-bottom:18px;background:linear-gradient(180deg,var(--surface-2),var(--bg));border:1px solid var(--border);border-radius:var(--radius)}.skeleton-vibe-card .vibe-meta{flex:1;min-width:0}.skeleton-vibe-card .ring-num.skeleton-ring-num{color:var(--muted);font-size:32px;opacity:.4}.skeleton-vibe-card .ring-num.skeleton-ring-num strong{font-size:32px}.skeleton-line{background:var(--border);border-radius:4px;position:relative;overflow:hidden}.skeleton-line::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4) 50%,transparent);animation:skeletonShimmer 1.4s ease-in-out infinite;transform:translateX(-100%)}[data-theme="dark"] .skeleton-line::after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.07) 50%,transparent)}.skeleton-eyebrow{width:88px;height:10px;margin-bottom:8px}.skeleton-title{width:70%;height:19px;margin-bottom:8px}.skeleton-sub{width:55%;height:12px}.skeleton-bar{background:var(--border)}.skeleton-dot{display:inline-block;width:18px;height:12px;background:var(--border);border-radius:4px;position:relative;overflow:hidden}.skeleton-dot::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4) 50%,transparent);animation:skeletonShimmer 1.4s ease-in-out infinite;transform:translateX(-100%)}.skeleton-hint{text-align:center;margin-top:18px;font-size:12px;color:var(--muted);font-style:italic;opacity:.8}.skeleton-progress{margin-top:14px;padding:11px 12px;border:1px solid var(--border);border-radius:12px;background:rgba(var(--accent-rgb),.04)}.loading-message{font-size:12px;font-weight:650;color:var(--text);margin-bottom:7px}.skeleton-panel .bar-label{display:flex;flex-direction:column;gap:2px;line-height:1.25}.skeleton-panel .bar-label small{font-size:10.5px;font-weight:500;color:var(--muted);letter-spacing:normal}.skeleton-panel .bar-row.ready .bar-label small{color:var(--c-high)}.skeleton-panel .bar-row.estimated .bar-label small{color:var(--c-mid)}.skeleton-panel .bar-row.unavailable .bar-label small{color:var(--muted)}@keyframes skeletonShimmer{100%{transform:translateX(100%)}}.bar-fill-low{background:var(--c-low)}.bar-fill-mid{background:var(--c-mid)}.bar-fill-high{background:var(--c-high)}.bar-num{display:inline-block;font-size:12px;font-weight:700;color:var(--text);animation:barNumPop .35s cubic-bezier(.34,1.56,.64,1)}.bar-num-missing{color:var(--muted);font-weight:500}@keyframes barNumPop{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}.summary{position:relative;background:linear-gradient(180deg,var(--surface-2),var(--bg));border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px 12px 17px;font-size:12.5px;line-height:1.55;margin-bottom:12px;color:var(--text);box-shadow:var(--shadow-xs);overflow:hidden}.summary::before{content:'';position:absolute;left:0;top:11px;bottom:11px;width:3px;border-radius:999px;background:linear-gradient(180deg,var(--accent),rgba(var(--accent-rgb),.35))}.chips-wrap{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.chip{padding:5px 11px;border-radius:999px;font-size:12px;font-weight:500;display:flex;align-items:center;gap:4px}.chip.good{background:rgba(78,158,110,.15);color:var(--c-high)}.chip.warn{background:rgba(212,164,55,.18);color:var(--c-mid)}.chip.bad{background:rgba(217,98,74,.15);color:var(--c-low)}.sources-footer{display:none;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;font-size:11.5px;line-height:1.7;color:var(--muted);box-shadow:var(--shadow-xs)}.sources-footer strong{color:var(--text);font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;display:block;margin-bottom:5px}.sources-footer a{color:var(--accent);text-decoration:none}.sources-footer a:hover{text-decoration:underline}.sources-footer .zone-note{font-size:10.5px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.panel-tools{margin-bottom:12px}.panel-affiliate-tools{margin-bottom:12px;padding:10px;background:linear-gradient(180deg,rgba(var(--accent-rgb),.08),var(--bg));border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-xs)}.tool-btn{width:100%;padding:8px 11px;background:var(--bg);border:1px solid var(--border);border-radius:10px;font:600 12.5px var(--font-body);color:var(--text);cursor:pointer;transition:border-color .15s,color .15s,transform .12s;margin-bottom:7px;text-align:left}.tool-btn:hover{border-color:var(--accent);color:var(--accent)}.tool-btn:active{transform:translateY(1px)}.gyg-link{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;margin-top:7px;text-decoration:none;color:var(--accent);font-weight:500}.gyg-link:hover .gyg-arrow{transform:translate(2px,-2px)}.gyg-arrow{transition:transform .15s ease-out;font-size:14px;opacity:.7;display:inline-block}.gyg-widget-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px;padding:9px 10px;border:1px solid rgba(var(--accent-rgb),.18);border-radius:14px;background:radial-gradient(circle at top left,rgba(var(--accent-rgb),.13),transparent 42%),linear-gradient(180deg,rgba(var(--accent-rgb),.055),var(--surface-2))}.gyg-title-row{display:flex;align-items:center;gap:9px;min-width:0}.gyg-title-mark{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:var(--accent);color:var(--bg);box-shadow:0 8px 18px -14px rgba(var(--accent-rgb),.9)}.gyg-title-mark::before{content:'';width:12px;height:12px;background:currentColor;clip-path:polygon(18% 78%,18% 64%,56% 50%,18% 36%,18% 22%,82% 50%)}.gyg-title{font-family:var(--font-head);font-size:17px;line-height:1.05;letter-spacing:-.02em;color:var(--text)}.gyg-widget-copy{margin-top:4px;font-size:11.5px;line-height:1.35;color:var(--muted)}@media (max-width:600px){.gyg-widget-head{padding:9px;gap:8px}.gyg-title-mark{width:22px;height:22px}.gyg-title{font-size:16px}.gyg-widget-copy{font-size:11px;line-height:1.3}}.gyg-widget-scroll{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;border-radius:12px}.gyg-widget-slot{min-height:184px;min-width:100%;border-radius:12px;overflow:hidden}.gyg-widget-loading{display:flex;align-items:center;justify-content:center;min-height:184px;padding:18px;border:1px dashed var(--border);border-radius:12px;background:var(--surface-2);color:var(--muted);font-size:12px;text-align:center}.gyg-widget-slot.ready .gyg-widget-loading,.gyg-widget-slot.failed .gyg-widget-loading{display:none}.gyg-local-scroll{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(208px,74%);gap:10px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding-bottom:3px}.gyg-local-card{position:relative;display:grid;grid-template-columns:62px 1fr auto;align-items:stretch;gap:10px;min-height:112px;padding:10px;border:1px solid rgba(var(--accent-rgb),.2);border-radius:16px;background:linear-gradient(145deg,rgba(var(--accent-rgb),.12),var(--surface-2));color:var(--text);text-decoration:none;overflow:hidden;transition:transform .15s ease-out,border-color .15s ease-out}.gyg-local-card:hover{transform:translateY(-1px);border-color:rgba(var(--accent-rgb),.45)}.gyg-card-art{border-radius:13px;background:radial-gradient(circle at 26% 24%,rgba(255,255,255,.5),transparent 18%),linear-gradient(145deg,rgba(var(--accent-rgb),.95),rgba(var(--accent-rgb),.42));box-shadow:inset 0 -18px 28px rgba(0,0,0,.12)}.gyg-card-art::after{content:'';display:block;width:32px;height:32px;margin:15px auto 0;background:var(--bg);opacity:.9;clip-path:polygon(50% 5%,86% 34%,73% 34%,73% 82%,27% 82%,27% 34%,14% 34%)}.gyg-local-card-water .gyg-card-art::after{clip-path:polygon(4% 66%,18% 54%,34% 66%,50% 54%,66% 66%,82% 54%,96% 66%,96% 86%,4% 86%)}.gyg-local-card-active .gyg-card-art::after{clip-path:polygon(44% 5%,64% 5%,52% 38%,79% 38%,36% 95%,46% 53%,21% 53%)}.gyg-local-card-heritage .gyg-card-art::after{clip-path:polygon(12% 88%,12% 38%,26% 38%,26% 22%,42% 22%,42% 38%,58% 38%,58% 22%,74% 22%,74% 38%,88% 38%,88% 88%)}.gyg-card-body{display:flex;flex-direction:column;gap:5px;min-width:0}.gyg-card-body strong{font-family:var(--font-head);font-size:15px;line-height:1.05;letter-spacing:-.015em}.gyg-card-body span,.gyg-card-body em{font-size:11.5px;line-height:1.35;color:var(--muted);font-style:normal}.gyg-card-arrow{color:var(--accent);opacity:.75;font-size:13px;transition:transform .15s ease-out}.gyg-local-card:hover .gyg-card-arrow{transform:translate(2px,-2px)}.gyg-fallback-link{display:none;margin:10px 0 0}.panel-affiliate-tools.widget-failed .gyg-fallback-link{display:flex}.panel-affiliate-tools.widget-tour-ids .gyg-fallback-link{display:flex}.panel-affiliate-tools.no-widget .gyg-fallback-link{display:flex}.why-score{border:1px solid var(--border);border-radius:10px;background:var(--bg);overflow:hidden}.why-score summary{padding:9px 12px;font:600 12.5px var(--font-body);color:var(--text);cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;transition:color .15s}.why-score summary::-webkit-details-marker{display:none}.why-score summary::after{content:'›';font-size:18px;color:var(--muted);transform:rotate(90deg);transition:transform .2s ease}.why-score[open] summary::after{transform:rotate(-90deg)}.why-score summary:hover{color:var(--accent)}.why-score .why-body{padding:0 12px 12px;font-size:12px;line-height:1.6;color:var(--muted)}.why-score .why-body strong{color:var(--accent);font-weight:600}.similar-origin{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;margin-bottom:14px}.similar-origin-pin{font-size:18px}.similar-origin-name{font-weight:600;font-size:13.5px;color:var(--text)}.similar-origin-score{font-size:11.5px;color:var(--muted)}.similar-list{display:flex;flex-direction:column;gap:8px;min-height:100px}.similar-loading{display:flex;align-items:center;justify-content:center;gap:6px;padding:24px 0;color:var(--muted);font-size:13px}.loading-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:loadingPulse 1.4s infinite ease-in-out}.loading-dot:nth-child(2){animation-delay:.15s}.loading-dot:nth-child(3){animation-delay:.30s}@keyframes loadingPulse{0%,80%,100%{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.similar-empty{text-align:center;padding:24px 0;color:var(--muted)}.similar-empty .state-icon{font-size:30px;margin-bottom:6px}.similar-empty strong{color:var(--text);display:block;margin-bottom:4px}.similar-empty p{font-size:12px;margin:0}.similar-card{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg);cursor:pointer;transition:border-color .15s,transform .12s}.similar-card:hover{border-color:var(--accent);transform:translateY(-1px)}.similar-score{font-family:var(--font-head);font-size:22px;min-width:40px;text-align:center}.similar-info{flex:1;min-width:0}.similar-title{font-weight:600;font-size:13px;color:var(--text)}.similar-meta{font-size:11px;color:var(--muted);margin-top:2px}.similar-view{background:transparent;border:1px solid var(--border);color:var(--accent);font:600 11px var(--font-body);padding:5px 10px;border-radius:6px;cursor:pointer}.similar-view:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.recents{margin-bottom:18px}.recent-list{display:flex;flex-direction:column;gap:5px}.recent-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:8px;border:1px solid var(--border);background:var(--bg);cursor:pointer;font-size:12.5px;transition:border-color .15s,background .15s;color:var(--text)}.recent-item:hover{border-color:var(--accent)}.recent-v-icon{width:13px;height:13px;flex-shrink:0;fill:var(--accent);opacity:.82}.r-name{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.r-score{font-family:var(--font-head);font-size:13px;flex-shrink:0}.empty-state,.loading-state,.error-state{width:min(100%,calc(var(--panel-w) - 32px));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:40px 26px;text-align:center;margin:20px auto;border:1px solid var(--border);border-radius:calc(var(--radius-lg) - 2px);background:linear-gradient(180deg,var(--surface-2),var(--bg));box-shadow:var(--shadow-sm)}.state-icon{width:58px;height:58px;display:grid;place-items:center;font-size:28px;margin-bottom:2px;border-radius:18px;background:var(--accent-soft);color:var(--accent)}.empty-state strong,.error-state strong{font-size:16px;color:var(--text);font-weight:600;letter-spacing:-.01em}.empty-state p,.error-state p{max-width:280px;font-size:13px;line-height:1.6;color:var(--muted)}.error-state strong{color:var(--danger)}.spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .65s linear infinite}.loading-state p{font-size:13px;color:var(--muted)}.loading-steps{font-size:11.5px;color:var(--muted);display:flex;flex-direction:column;gap:3px;margin-top:4px}.loading-step{opacity:.4;transition:opacity .25s ease,color .25s ease}.loading-step.active{opacity:1;color:var(--accent)}.loading-step.done{opacity:.6}.loading-step.estimated{opacity:.9;color:var(--c-mid)}.loading-step.unavailable{opacity:.75;color:var(--muted)}@keyframes spin{to{transform:rotate(360deg)}}.intent-chip{position:absolute;top:14px;left:50%;transform:translateX(-50%) translateY(-8px);z-index:410;display:flex;align-items:center;gap:8px;padding:7px 8px 7px 14px;background:var(--accent);color:#fff;border-radius:999px;box-shadow:0 4px 16px rgba(var(--accent-rgb),.4);font:600 12px var(--font-body);letter-spacing:.01em;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;max-width:calc(100vw - 32px)}.intent-chip.show{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto}.ic-spark{font-size:11px;opacity:.9}.ic-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:280px}.ic-clear{background:rgba(255,255,255,.25);border:none;color:#fff;width:22px;height:22px;border-radius:50%;font-size:11px;cursor:pointer;display:grid;place-items:center;transition:background .15s,transform .15s;flex-shrink:0}.ic-clear:hover{background:rgba(255,255,255,.4);transform:scale(1.08)}.intent-chip.show~.hint,.main:has(.intent-chip.show) .hint{opacity:0}@media (max-width:600px){.intent-chip{font-size:11px;padding:6px 7px 6px 11px}.ic-label{max-width:180px}.ic-clear{width:20px;height:20px}}.landing{position:absolute;inset:0;z-index:500;background:radial-gradient(circle at top,rgba(var(--accent-rgb),.14) 0%,rgba(var(--accent-rgb),0) 34%),linear-gradient(180deg,rgba(244,242,236,.72) 0%,rgba(244,242,236,.94) 100%);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:clamp(8px,2vh,14px) 12px;overflow:hidden;transition:opacity .35s ease,transform .35s ease}[data-theme="dark"] .landing{background:radial-gradient(circle at top,rgba(var(--accent-rgb),.16) 0%,rgba(var(--accent-rgb),0) 36%),linear-gradient(180deg,rgba(19,22,24,.72) 0%,rgba(19,22,24,.94) 100%)}.landing.gone{opacity:0;transform:scale(.98);pointer-events:none}.landing-card{position:relative;overflow:hidden;max-width:500px;width:min(100%,500px);max-height:min(700px,calc(100% - 4px));background:linear-gradient(180deg,rgba(255,255,255,.96),var(--surface));border:1px solid var(--border);border-radius:18px;padding:18px 18px 14px;box-shadow:0 22px 56px -32px rgba(28,22,12,.24),var(--shadow-md);text-align:center;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(var(--accent-rgb),.35) transparent}.landing-card::-webkit-scrollbar{width:6px}.landing-card::-webkit-scrollbar-thumb{background:rgba(var(--accent-rgb),.28);border-radius:999px}[data-theme="dark"] .landing-card{background:linear-gradient(180deg,rgba(38,43,48,.98),var(--surface))}.landing-card::before{content:'';position:absolute;inset:0 0 auto 0;height:88px;background:radial-gradient(circle at top,rgba(var(--accent-rgb),.18),transparent 70%);pointer-events:none}.landing-card>*{position:relative}.landing-topbar{display:flex;justify-content:flex-end;margin-bottom:4px}.landing-skip{border:1px solid rgba(var(--accent-rgb),.28);background:rgba(var(--accent-rgb),.08);color:var(--accent);font-family:var(--font-body);font-size:11.5px;font-weight:900;padding:5px 9px;border-radius:999px;cursor:pointer;transition:background .15s,color .15s,border-color .15s,transform .15s}.landing-skip:hover,.landing-skip:focus-visible{background:var(--accent);border-color:var(--accent);color:var(--bg);transform:translateY(-1px)}.landing-skip:focus-visible{outline:2px solid rgba(var(--accent-rgb),.35);outline-offset:2px}.landing-mark{width:40px;height:40px;display:grid;place-items:center;margin:0 auto 8px}.landing-mark svg{width:100%;height:100%;display:block}.landing-eyebrow{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}.landing-title{font-family:var(--font-head);font-size:22px;line-height:1.15;color:var(--text);letter-spacing:-.02em;margin-bottom:6px}.landing-title em{color:var(--accent);font-style:italic}.landing-sub{font-size:13px;line-height:1.5;color:var(--muted);margin:0 auto 12px;max-width:380px}.landing-subtitle{font-size:11.5px;line-height:1.35;color:var(--muted);max-width:400px;margin:0 auto 4px;font-weight:600;letter-spacing:0}.landing-subtitle:last-of-type{margin-bottom:10px}.landing-proof{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 auto 10px;max-width:420px}.landing-proof-item{padding:4px 8px;border-radius:999px;font-size:10.5px;font-weight:600;color:var(--text);background:var(--surface-2);border:1px solid var(--border);box-shadow:var(--shadow-xs)}.landing-vibes{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:0 auto 12px;max-width:380px}.landing-vibes span{padding:5px 9px;border-radius:999px;background:rgba(var(--accent-rgb),.08);color:var(--accent);border:1px solid rgba(var(--accent-rgb),.18);font-size:11px;font-weight:700}.landing-example{margin:0 auto 9px;padding:10px;border:1px solid rgba(var(--accent-rgb),.18);border-radius:16px;background:radial-gradient(circle at top right,rgba(var(--accent-rgb),.12),transparent 42%),linear-gradient(180deg,rgba(var(--accent-rgb),.06),var(--surface-2));box-shadow:var(--shadow-xs);text-align:left}.landing-example-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;margin-bottom:8px}.landing-place-kicker{font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--accent);margin-bottom:3px}.landing-place-name{font-family:var(--font-head);font-size:20px;line-height:1.1;color:var(--text);margin:0 0 4px}.landing-place-copy{margin:0;font-size:11.5px;line-height:1.4;color:var(--muted)}.landing-score{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at center,var(--surface) 0 54%,transparent 55%),conic-gradient(var(--accent) var(--score,82%),rgba(var(--accent-rgb),.16) 0);border:1px solid rgba(var(--accent-rgb),.24);color:var(--text);box-shadow:inset 0 0 0 5px var(--surface),var(--shadow-xs)}.landing-score strong{display:block;font-size:22px;line-height:.9;text-align:center}.landing-score span{display:block;margin-top:3px;font-size:8.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:center}.landing-pillars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.landing-pillar{padding:7px;border-radius:12px;background:var(--surface);border:1px solid var(--border)}.landing-pillar-head{display:flex;justify-content:space-between;gap:8px;align-items:baseline;margin-bottom:5px}.landing-pillar-head strong{font-size:11.5px;color:var(--text)}.landing-pillar-head span{font-size:11px;font-weight:800;color:var(--accent)}.landing-pillar-bar{height:5px;border-radius:999px;background:var(--border);overflow:hidden;margin-bottom:5px}.landing-pillar-fill{width:var(--w,70%);height:100%;border-radius:inherit;background:var(--accent)}.landing-pillar p{margin:0;font-size:10px;line-height:1.3;color:var(--muted)}.landing-example-tools{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:-2px auto 10px}.landing-cycle{border:1px solid var(--border);background:var(--surface);color:var(--accent);border-radius:999px;font:inherit;font-size:11px;font-weight:700;padding:7px 10px;cursor:pointer;box-shadow:var(--shadow-xs);transition:transform .15s,border-color .15s,background .15s}.landing-cycle:hover{transform:translateY(-1px);border-color:rgba(var(--accent-rgb),.38);background:rgba(var(--accent-rgb),.07)}.landing-example-count{font-size:10.5px;color:var(--muted);font-weight:700}.landing-features{display:none;gap:8px;margin-bottom:12px;text-align:left}.lf-item{display:flex;align-items:flex-start;gap:12px;padding:8px 10px;background:linear-gradient(180deg,var(--surface-2),rgba(var(--accent-rgb),.035));border:1px solid var(--border);border-radius:12px}.lf-num{width:22px;height:22px;flex-shrink:0;background:var(--accent);color:#fff;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700}.lf-item strong{display:block;font-size:12.5px;color:var(--text);margin-bottom:1px}.lf-item span{font-size:11.5px;color:var(--muted);line-height:1.42}.landing-actions{display:flex;flex-direction:column;gap:8px;gap:8px;margin-bottom:10px}.landing-cta{width:100%;min-height:42px;padding:11px 14px;font-size:13px;box-shadow:var(--shadow-xs)}.landing-logic-link{display:inline-flex;justify-content:center;align-items:center;min-height:28px;color:var(--accent);font-size:11.5px;font-weight:700;text-decoration:none}.landing-logic-link:hover{text-decoration:underline}.landing-foot{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;font-size:10px;color:var(--muted);padding-top:10px;border-top:1px solid var(--border)}.landing-foot a{color:var(--accent);text-decoration:none;font-weight:700}.landing-foot a:hover{text-decoration:underline}.lf-tag{display:inline-block}.lf-dot{opacity:.5}@media (max-height:860px){.landing-card{max-height:calc(100% - 4px)}.landing-foot{display:none}.landing-proof{margin-bottom:8px}.landing-subtitle:last-of-type{margin-bottom:8px}}@media (max-width:820px){.landing-card{max-height:calc(100% - 4px)}}@media (max-width:600px){.landing{padding:8px;align-items:flex-start}.landing-card{padding:14px 12px 12px;border-radius:14px;max-height:calc(100% - 2px)}.landing-topbar{margin-bottom:2px}.landing-skip{font-size:11px;padding:4px 8px}.landing-mark{width:34px;height:34px;margin-bottom:6px}.landing-eyebrow{font-size:9px;margin-bottom:4px}.landing-title{font-size:18px;margin-bottom:4px}.landing-subtitle{font-size:10.5px;margin-bottom:3px}.landing-subtitle:last-of-type{margin-bottom:6px}.landing-sub{font-size:11.5px;margin-bottom:8px;line-height:1.4}.landing-proof{display:flex;margin-bottom:7px;gap:6px}.landing-proof-item{font-size:10px;padding:3px 7px}.landing-vibes{gap:5px;margin-bottom:8px}.landing-vibes span{font-size:10px;padding:4px 7px}.landing-example{padding:10px;margin-bottom:9px;border-radius:14px}.landing-example-top{grid-template-columns:1fr 62px;gap:9px;margin-bottom:8px}.landing-place-name{font-size:17px}.landing-place-copy{font-size:10.5px;line-height:1.35}.landing-score{width:62px;height:62px}.landing-score strong{font-size:20px}.landing-pillars{gap:6px}.landing-pillar{padding:7px}.landing-pillar-head strong,.landing-pillar-head span{font-size:10.5px}.landing-pillar p{font-size:9.5px}.landing-example-tools{margin-bottom:8px}.landing-features{display:none}.lf-item{padding:7px 8px;gap:8px}.lf-num{width:20px;height:20px;font-size:10px}.lf-item strong{font-size:11.5px}.lf-item span{font-size:10.5px;line-height:1.35}.landing-cta{min-height:40px;padding:10px 12px;font-size:12.5px}.landing-foot{display:none}}@media (max-width:600px) and (max-height:740px){.landing-vibes{display:none}.landing-pillar p{display:none}.landing-sub{margin-bottom:10px}}.hint{position:absolute;top:12px;left:50%;transform:translateX(-50%);z-index:400;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:6px 16px;font-size:12.5px;color:var(--muted);box-shadow:var(--shadow-sm);pointer-events:none;transition:opacity .5s,transform .5s;white-space:nowrap}.hint.gone{opacity:0;transform:translateX(-50%) translateY(-10px)}.legend{position:absolute;bottom:22px;left:14px;z-index:400;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:9px 13px;font-size:11px;color:var(--muted);box-shadow:var(--shadow-sm)}.legend-title{font-weight:700;margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em;font-size:10px;color:var(--text)}.legend-row{display:flex;align-items:center;gap:7px;margin-bottom:3px}.legend-dot{width:9px;height:9px;border-radius:3px;flex-shrink:0}.locate-btn{position:absolute;bottom:22px;right:14px;z-index:400;width:44px;height:44px;border-radius:12px;background:var(--surface);border:1px solid var(--border);color:var(--muted);display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow-sm);transition:right .38s cubic-bezier(.16,1,.3,1),background .15s,color .15s,border-color .15s,transform .12s,box-shadow .15s}.main:has(.panel.open) .locate-btn{right:calc(var(--panel-w)+14px)}.main:has(.panel.open.compact) .locate-btn{right:calc(var(--panel-w-compact)+14px)}.main:has(.panel.open.expanded) .locate-btn{right:calc(var(--panel-w-expanded)+14px)}.locate-btn:hover{color:var(--accent);border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-1px)}.locate-btn:active{transform:translateY(0)}.locate-btn:disabled{cursor:wait;opacity:.85;transform:none}.locate-btn.loading .locate-icon{opacity:0;transform:scale(.9)}.locate-btn.loading .locate-spinner{opacity:1}.locate-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.locate-btn.active:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.locate-icon{transition:opacity .2s,transform .2s}.locate-spinner{position:absolute;width:18px;height:18px;border:2px solid transparent;border-top-color:var(--accent);border-right-color:var(--accent);border-radius:50%;opacity:0;animation:locateSpin 0.8s linear infinite;transition:opacity .2s}.locate-btn.active .locate-spinner{border-top-color:#fff;border-right-color:#fff}@keyframes locateSpin{to{transform:rotate(360deg)}}.satellite-btn{position:absolute;top:auto;bottom:76px;right:14px;z-index:400;width:44px;min-width:0;height:44px;padding:0;border-radius:12px;background:var(--accent);border:1px solid var(--accent);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow-sm);transition:right .38s cubic-bezier(.16,1,.3,1),background .15s,color .15s,border-color .15s,transform .12s,box-shadow .15s}.main:has(.panel.open) .satellite-btn{right:calc(var(--panel-w)+14px)}.main:has(.panel.open.compact) .satellite-btn{right:calc(var(--panel-w-compact)+14px)}.main:has(.panel.open.expanded) .satellite-btn{right:calc(var(--panel-w-expanded)+14px)}.satellite-btn:hover{background:var(--accent-hover);color:#fff;border-color:var(--accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.satellite-btn:active{transform:translateY(0)}.satellite-btn[data-map-style="satellite"]{background:var(--accent);color:#fff;border-color:var(--accent)}.satellite-btn[data-map-style="dark"]{background:#20272a;color:#6cc2a6;border-color:rgba(108,194,166,.48)}.satellite-btn[data-map-style="light"]{background:#f4f2ec;color:#2e6b5e;border-color:rgba(46,107,94,.38)}.satellite-btn svg{width:21px;height:21px;stroke-width:1.7}.map-style-label{display:none}.filter-map-btn{position:absolute;top:14px;bottom:auto;right:14px;z-index:400;width:44px;height:44px;border-radius:12px;background:var(--surface);border:1px solid var(--border);color:var(--muted);display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow-sm);transition:right .38s cubic-bezier(.16,1,.3,1),background .15s,color .15s,border-color .15s,transform .12s,box-shadow .15s}.main:has(.panel.open) .filter-map-btn{right:calc(var(--panel-w)+14px)}.main:has(.panel.open.compact) .filter-map-btn{right:calc(var(--panel-w-compact)+14px)}.main:has(.panel.open.expanded) .filter-map-btn{right:calc(var(--panel-w-expanded)+14px)}.filter-map-btn:hover{color:var(--accent);border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-1px)}.filter-map-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.filter-map-btn svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.heatmap-btn{position:absolute;top:66px;right:14px;z-index:400;width:44px;height:44px;border-radius:12px;background:var(--surface);border:1px solid var(--border);color:var(--muted);display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow-sm);transition:right .38s cubic-bezier(.16,1,.3,1),background .15s,color .15s,border-color .15s,transform .12s,box-shadow .15s}.main:has(.panel.open) .heatmap-btn{right:calc(var(--panel-w)+14px)}.main:has(.panel.open.compact) .heatmap-btn{right:calc(var(--panel-w-compact)+14px)}.main:has(.panel.open.expanded) .heatmap-btn{right:calc(var(--panel-w-expanded)+14px)}.heatmap-btn:hover{color:var(--accent);border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-1px)}.heatmap-btn.active{background:linear-gradient(135deg,var(--accent),#d9a74a);color:#102019;border-color:var(--accent)}.heatmap-btn.loading{cursor:wait;opacity:.88}.heatmap-btn.loading::after{content:'';position:absolute;inset:-5px;border-radius:inherit;border:1.5px solid rgba(var(--accent-rgb),.48);opacity:.8;pointer-events:none;animation:heatmapPreparingPulse .9s ease-out infinite}@keyframes heatmapPreparingPulse{from{transform:scale(.96);opacity:.85}to{transform:scale(1.18);opacity:0}}.heatmap-btn svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.heatmap-legend{position:absolute;top:118px;right:14px;z-index:399;width:176px;padding:10px 11px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--surface) 88%,transparent);color:var(--text);box-shadow:var(--shadow-sm);backdrop-filter:blur(14px);opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .16s,transform .16s,right .38s cubic-bezier(.16,1,.3,1)}.heatmap-legend.show{opacity:1;transform:translateY(0)}.main:has(.panel.open) .heatmap-legend{right:calc(var(--panel-w)+14px)}.main:has(.panel.open.compact) .heatmap-legend{right:calc(var(--panel-w-compact)+14px)}.main:has(.panel.open.expanded) .heatmap-legend{right:calc(var(--panel-w-expanded)+14px)}.heatmap-legend-title{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:7px}.heatmap-gradient{height:8px;border-radius:999px;background:linear-gradient(90deg,#e92f57,#ff5d37,#ffd34d,#68e67a,#32d7c9,#2396ff);filter:saturate(.9);margin-bottom:6px}.heatmap-legend-scale{display:flex;justify-content:space-between;gap:8px;font-size:10.5px;color:var(--muted)}.heatmap-legend-copy{margin-top:7px;font-size:10.5px;line-height:1.35;color:var(--muted)}.vibe-heatmap-canvas{position:absolute;pointer-events:none;opacity:.91;image-rendering:auto;filter:saturate(1.51) contrast(1.16);will-change:transform,opacity;transform:translateZ(0);transition:opacity .18s ease}[data-theme="dark"] .vibe-heatmap-canvas{opacity:.91;mix-blend-mode:screen}.map-filter-panel{position:absolute;top:70px;left:14px;z-index:470;width:min(340px,calc(100vw - 28px));max-height:calc(100vh - 110px);overflow:auto;padding:16px;border-radius:18px;border:1px solid var(--border);background:linear-gradient(180deg,var(--surface),var(--bg));box-shadow:var(--shadow-lg);transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease}.map-filter-panel.open{transform:translateY(0);opacity:1;pointer-events:auto}.filter-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.filter-head h3{margin:0 0 2px;font:400 20px var(--font-head);color:var(--text)}.filter-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.4}.filter-close{width:30px;height:30px;border:1px solid var(--border);border-radius:50%;background:var(--bg);color:var(--muted);cursor:pointer}.filter-row{display:grid;grid-template-columns:1fr 48px;gap:10px;align-items:center;margin:10px 0}.filter-row label{min-width:0;font-size:12.5px;font-weight:700;color:var(--text)}.filter-row input[type="range"]{width:100%;accent-color:var(--accent)}.filter-value{font:700 12px var(--font-body);color:var(--accent);text-align:right}.filter-radius{margin:13px 0 12px;padding:11px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}.filter-radius label{display:flex;align-items:center;gap:8px;color:var(--text);font-weight:700;font-size:12.5px}.filter-radius select{width:100%;margin-top:9px;padding:9px 10px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);font:500 12px var(--font-body)}.filter-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.filter-status{margin-top:11px;color:var(--muted);font-size:12px;line-height:1.45}.filter-results{display:grid;gap:7px;margin-top:10px}.filter-result{display:grid;grid-template-columns:44px 1fr auto;gap:9px;align-items:center;padding:9px 10px;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--text);text-align:left;cursor:pointer}.filter-result.dim{opacity:.55}.filter-result-score{font:400 22px var(--font-head);text-align:center}.filter-result strong{display:block;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-result span{color:var(--muted);font-size:11px}.filter-match-pill{padding:4px 7px;border-radius:999px;border:1px solid var(--border);font-size:10px;color:var(--muted)}.filter-result.match .filter-match-pill{color:var(--accent);border-color:rgba(var(--accent-rgb),.35);background:rgba(var(--accent-rgb),.08)}.compare-tray{position:absolute;left:50%;bottom:22px;transform:translateX(-50%) translateY(12px);z-index:460;min-width:min(620px,calc(100vw - 28px));max-width:min(720px,calc(100vw - 28px));padding:10px;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-lg);display:none;gap:10px;align-items:center}.compare-tray.open{display:flex;transform:translateX(-50%) translateY(0)}.compare-tray-title{flex:0 0 auto;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.compare-tray-items{flex:1;min-width:0;display:flex;gap:6px;overflow:hidden}.compare-chip{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:150px;padding:6px 8px;border-radius:999px;background:var(--bg);border:1px solid var(--border);font-size:11.5px;color:var(--text)}.compare-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compare-chip b{color:var(--accent);font-family:var(--font-head);font-size:15px}.compare-chip button{border:none;background:transparent;color:var(--muted);cursor:pointer;padding:0}.compare-tray-actions{display:flex;gap:6px}.compare-tray-actions .btn{padding:7px 10px;font-size:11.5px;white-space:nowrap}.user-marker{position:relative;width:18px;height:18px}.user-dot{position:absolute;inset:0;background:#1a73e8;border:2.5px solid #fff;border-radius:50%;box-shadow:0 0 0 1px rgba(0,0,0,.15),0 2px 6px rgba(0,0,0,.25);z-index:2}.user-pulse{position:absolute;inset:-4px;border-radius:50%;background:#1a73e8;opacity:.35;animation:userPulse 2s cubic-bezier(.4,0,.2,1) infinite;z-index:1}@keyframes userPulse{0%{transform:scale(.6);opacity:.6}70%{transform:scale(2.4);opacity:0}100%{transform:scale(2.4);opacity:0}}.user-accuracy{stroke:#1a73e8;stroke-width:1;stroke-opacity:.35;fill:#1a73e8;fill-opacity:.12}.toast{position:absolute;bottom:20px;left:50%;transform:translateX(-50%) translateY(0);z-index:900;background:var(--text);color:var(--surface);border-radius:999px;padding:8px 18px;font-size:13px;box-shadow:var(--shadow-md);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;white-space:nowrap}.toast.show{opacity:1;transform:translateX(-50%) translateY(-4px)}.modal-backdrop{position:fixed;inset:0;background:var(--backdrop);z-index:5000;display:none;align-items:center;justify-content:center;padding:16px;backdrop-filter:blur(3px)}.modal-backdrop.open{display:flex;animation:fadein .2s}@keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes slideup{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal{background:var(--surface);border-radius:18px;box-shadow:var(--shadow-lg);max-width:440px;width:100%;max-height:90vh;overflow-y:auto;animation:slideup .25s cubic-bezier(.16,1,.3,1)}.modal.wide{max-width:720px}.modal.medium{max-width:540px}.modal-head{padding:20px 24px 12px;display:flex;align-items:flex-start;gap:12px}.modal-head h2{flex:1;font-family:var(--font-head);font-size:22px;line-height:1.2;color:var(--text)}.modal-head p{font-size:13px;line-height:1.55;color:var(--muted);margin-top:4px}.modal-close{width:30px;height:30px;border-radius:50%;border:none;background:var(--bg);color:var(--muted);font-size:13px;cursor:pointer;display:grid;place-items:center;flex-shrink:0;transition:all .15s}.modal-close span{display:none}.modal-close::before,.modal-close::after{content:'';grid-area:1 / 1;width:13px;height:2px;border-radius:999px;background:currentColor}.modal-close::before{transform:rotate(45deg)}.modal-close::after{transform:rotate(-45deg)}.modal-close:hover{background:var(--border);color:var(--text)}.modal-body{padding:8px 24px 20px}.modal-foot{padding:12px 24px 20px;display:flex;gap:10px;justify-content:flex-end}.share-modal{max-width:620px}.share-card-img{width:100%;aspect-ratio:1200 / 630;display:block;object-fit:cover;border-radius:16px;border:1px solid var(--border);background:var(--bg);box-shadow:var(--shadow-sm)}.share-actions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.share-action{display:flex;align-items:center;justify-content:center;min-height:42px;border-radius:12px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:13px;font-weight:800;text-decoration:none;cursor:pointer;transition:transform .15s,border-color .15s,color .15s,background .15s}.share-action:hover{transform:translateY(-1px);border-color:var(--accent);color:var(--accent)}.share-action.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.share-action.primary:hover{color:#fff;filter:brightness(1.04)}.share-url-box{margin-top:12px;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--bg);color:var(--muted);font-size:11.5px;line-height:1.45;word-break:break-all}.share-url-box strong{display:block;margin-bottom:4px;color:var(--text)}.form-group{margin-bottom:14px}.demo-auth-notice{display:flex;gap:11px;align-items:flex-start;padding:12px 13px;background:rgba(var(--accent-rgb),.08);border:1px solid rgba(var(--accent-rgb),.25);border-radius:var(--radius-sm);margin-bottom:16px;font-size:12px;line-height:1.55;color:var(--text)}.dan-icon{flex-shrink:0;width:22px;height:22px;background:var(--accent);color:#fff;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700;margin-top:1px}.demo-auth-notice strong{color:var(--text);font-weight:600}.form-label{display:block;font-size:12px;font-weight:600;color:var(--text);margin-bottom:6px}.form-input{width:100%;padding:9px 12px;border:1.5px solid var(--border);border-radius:10px;background:var(--bg);font-size:13.5px;color:var(--text);outline:none;transition:all .15s}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.15)}.form-input.is-error{border-color:var(--danger)}.form-error{display:block;font-size:12.5px;color:var(--danger);margin-top:5px;min-height:0;line-height:1.5}.form-error:not(:empty){margin-top:10px;padding:10px 12px;background:rgba(208,92,68,.08);border:1px solid rgba(208,92,68,.25);border-radius:var(--radius-sm);font-weight:500;display:flex;gap:9px;align-items:flex-start}.form-error:not(:empty)::before{content:'⚠';font-size:13px;flex-shrink:0;line-height:1.4}.form-check{display:flex;align-items:flex-start;gap:9px;font-size:12.5px;line-height:1.5;color:var(--text);cursor:pointer;padding:8px 0}.form-check input[type="checkbox"]{margin-top:2px;accent-color:var(--accent);width:15px;height:15px;flex-shrink:0;cursor:pointer}.btn{padding:9px 18px;border-radius:10px;border:1.5px solid transparent;font-size:13.5px;font-weight:600;cursor:pointer;transition:all .15s;font-family:var(--font-body)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:transparent;color:var(--text);border-color:var(--border-strong)}.btn-secondary:hover{background:var(--bg)}.btn-ghost{background:transparent;color:var(--accent)}.btn-ghost:hover{background:rgba(var(--accent-rgb),.1)}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-danger:hover{filter:brightness(1.08)}.btn-danger:disabled{opacity:.5;cursor:not-allowed;filter:none}.danger-notice{display:flex;gap:11px;align-items:flex-start;padding:12px 13px;background:rgba(208,92,68,.08);border:1px solid rgba(208,92,68,.25);border-radius:var(--radius-sm);font-size:12.5px;line-height:1.55;color:var(--text)}.dn-icon{flex-shrink:0;width:22px;height:22px;background:var(--danger);color:#fff;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700;margin-top:1px}.danger-notice strong{color:var(--text);font-weight:600}.btn-block{width:100%;display:block}.modal-switch{margin-top:14px;padding-top:14px;border-top:1px solid var(--border);text-align:center;font-size:12.5px;color:var(--muted)}.modal-switch a{color:var(--accent);font-weight:600;cursor:pointer;text-decoration:none}.modal-switch a:hover{text-decoration:underline}.onboard-features{display:flex;flex-direction:column;gap:10px;margin:16px 0}.onboard-feat{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:var(--bg);border-radius:10px}.onboard-feat-ic{font-size:18px;flex-shrink:0;width:28px;text-align:center}.onboard-feat-ic .mode-icon{width:20px;height:20px;margin:0;vertical-align:middle}.onboard-feat-txt strong{display:block;font-size:13px;margin-bottom:2px;color:var(--text)}.onboard-feat-txt span{font-size:12px;color:var(--muted);line-height:1.45}.places-list{display:flex;flex-direction:column;gap:8px;max-height:55vh;overflow-y:auto}.place-card{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg);border:1px solid var(--border);border-radius:12px;transition:all .15s;cursor:pointer}.place-card:hover{border-color:var(--accent);transform:translateY(-1px)}.place-card.selected{border-color:var(--accent);background:rgba(var(--accent-rgb),.08)}.place-check{width:22px;height:22px;border:2px solid var(--border-strong);border-radius:50%;background:transparent;padding:0;cursor:pointer;display:grid;place-items:center;flex-shrink:0;color:transparent;font-size:13px;transition:all .15s}.place-check:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px}.place-card.selected .place-check{background:var(--accent);border-color:var(--accent);color:#fff}.place-info{flex:1;min-width:0}.place-name{font-weight:600;font-size:13.5px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.place-meta{font-size:11px;color:var(--muted);margin-top:2px;display:flex;align-items:center;gap:6px}.place-mode{color:var(--accent);font-weight:600}.place-mode .mode-inline-icon{width:1.05em;height:1.05em;margin-right:.25em}.places-callout{padding:10px 12px;margin-bottom:12px;border:1px solid rgba(var(--accent-rgb),.18);border-radius:12px;background:rgba(var(--accent-rgb),.06);color:var(--muted);font-size:12px;line-height:1.45;display:flex;justify-content:space-between;gap:10px;align-items:center}.places-callout strong{display:block;color:var(--text);font-size:12.5px}.places-callout .btn{white-space:nowrap;padding:7px 10px;font-size:11.5px}.places-toolbar{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin-bottom:12px}.place-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:1px}.place-tab{border:1px solid var(--border);background:var(--bg);color:var(--muted);border-radius:999px;padding:6px 10px;font:700 11px var(--font-body);cursor:pointer;white-space:nowrap}.place-tab.active{color:#fff;background:var(--accent);border-color:var(--accent)}.place-sort{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:999px;padding:7px 10px;font:600 11.5px var(--font-body)}.place-list-select{border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--accent);font:700 10.5px var(--font-body);padding:4px 7px;max-width:86px}.place-subs{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.place-subs span{font-size:10px;font-weight:700;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:2px 6px}.place-local-pill{color:var(--c-mid);font-weight:700}.place-score{font-family:var(--font-head);font-size:22px;min-width:44px;text-align:center}.place-del{background:transparent;border:none;color:var(--muted);cursor:pointer;font-size:14px;padding:4px;border-radius:6px;transition:all .15s}.place-del:hover{background:var(--bg-2);color:var(--danger)}.places-empty{text-align:center;padding:36px 20px;color:var(--muted);font-size:13px;line-height:1.5}.places-empty .state-icon{margin-bottom:12px}.places-actions{display:flex;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border);align-items:center}.select-hint{font-size:12px;color:var(--muted);text-align:center;margin-top:4px}.places-section-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:16px 0 8px}.places-section-title .section-label{margin:0}.recent-saved-note{font-size:11px;color:var(--muted)}.export-group{position:relative}.export-btn{padding:8px 12px !important;font-size:12px !important;white-space:nowrap}.export-menu{position:absolute;bottom:calc(100%+6px);left:50%;transform:translateX(-50%) translateY(4px);background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-md);padding:4px;min-width:130px;opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease;z-index:100}.export-menu.open{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto}.export-opt{display:block;width:100%;padding:8px 12px;background:transparent;border:none;text-align:left;font:500 12.5px var(--font-body);color:var(--text);border-radius:6px;cursor:pointer;transition:background .12s,color .12s}.export-opt:hover{background:var(--accent-soft);color:var(--accent)}.compare-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}.compare-col{background:var(--bg);border-radius:var(--radius);padding:14px;min-width:0}.compare-name{font-family:var(--font-head);font-size:15px;margin-bottom:4px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compare-meta{font-size:10px;color:var(--muted);font-family:monospace;margin-bottom:12px}.compare-vibe{display:flex;align-items:center;gap:10px;padding-bottom:12px;margin-bottom:10px;border-bottom:1px solid var(--border)}.compare-vibe-num{font-family:var(--font-head);font-size:32px}.compare-vibe-label{font-size:11px;color:var(--muted);font-weight:500;letter-spacing:.05em;text-transform:uppercase}.compare-sub{display:flex;justify-content:space-between;padding:5px 0;font-size:12px;color:var(--text);border-bottom:1px dashed var(--border)}.compare-sub:last-child{border-bottom:none}.compare-sub .v{font-weight:700;font-family:monospace}.compare-winner{color:var(--c-high) !important}.compare-winner::after{content:' ✓'}.compare-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:12px}.compare-summary-card{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:10px 12px;font-size:12px;color:var(--muted);line-height:1.45}.compare-summary-card strong{display:block;color:var(--text);margin-bottom:3px}@media (max-width:620px){.compare-grid{grid-template-columns:1fr}.compare-summary{grid-template-columns:1fr}.places-toolbar{grid-template-columns:1fr}.places-callout{flex-direction:column;align-items:stretch}}@media (max-width:780px){header{padding:0 12px;gap:8px}.mode-btn .ml{display:none}.mode-btn{padding:0 10px;min-height:36px;min-width:36px;font-size:15px}.user-btn .user-name{display:none}.user-btn{padding:0;width:36px}.icon-btn{width:36px;height:36px}}@media (max-width:600px){:root{--header-h:148px;--sheet-h:calc(100dvh - var(--header-h) - env(safe-area-inset-top,0px));--sheet-h-min:92px}header{flex-wrap:wrap;height:auto;min-height:var(--header-h);padding:6px 10px 7px;gap:5px;align-content:center;row-gap:5px}.logo{flex:1;gap:8px}.header-right{flex-shrink:0;gap:5px}.search-wrap{flex:1 1 100%;width:100%;max-width:none;min-width:0;order:3}.modes{flex:1 1 100%;width:100%;gap:3px;padding:3px;order:4}.logo-text{display:inline;font-size:18px}.logo-mark{width:26px;height:26px}.mode-btn{padding:4px 6px;min-height:44px;min-width:0;font-size:14px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;line-height:1.1}.mode-btn .mode-icon{width:18px;height:18px;margin:0;vertical-align:middle}.mode-btn .ml{display:block !important;font-size:8.5px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;opacity:.85;text-indent:-.25em}.icon-btn{width:34px;height:34px;font-size:14px;border-radius:9px}.user-btn:has(>#user-btn-content>svg:only-child),.user-btn:has(>svg:only-child){width:34px;min-width:34px}.user-btn .user-initial{width:21px;height:21px;font-size:10.5px}#search-input{height:42px;padding:0 36px;font-size:15px}#search-input::placeholder{font-size:12.5px}.search-icon{left:13px;font-size:12px}.search-spinner{right:13px;width:14px;height:14px}.suggestions{top:calc(100%+4px)}.leaflet-control-attribution{display:none}.leaflet-control-zoom{display:none !important}.panel{position:fixed;left:0;right:0;bottom:0;top:auto;width:100% !important;height:var(--sheet-h);max-height:var(--sheet-h);min-height:min(520px,calc(100dvh - var(--header-h) - env(safe-area-inset-top,0px)));transform:translateY(100%);transition:transform .35s cubic-bezier(.16,1,.3,1),height .32s cubic-bezier(.16,1,.3,1),max-height .32s cubic-bezier(.16,1,.3,1);border-left:none;border-top:1px solid var(--border);border-radius:18px 18px 0 0;box-shadow:0 -8px 32px -8px rgba(0,0,0,.18),0 -2px 8px -2px rgba(0,0,0,.10);overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:500;pointer-events:none}.panel.open{transform:translateY(0);pointer-events:auto}.panel.open.minimized{height:var(--sheet-h-min);max-height:var(--sheet-h-min);min-height:var(--sheet-h-min);overflow:hidden}.panel.minimized .panel-full,.panel.minimized .panel-topbar,.panel.minimized .panel-mobile-handle{display:none}.panel.minimized .panel-peek{display:block;margin-top:0}.panel.open::before{content:"";position:sticky;top:8px;display:block;width:40px;height:4px;margin:0 auto 4px;background:var(--border-strong);border-radius:2px;z-index:1}.panel-inner{padding:10px 12px 20px;width:100%}.panel.minimized .panel-inner{padding:10px 14px calc(12px+env(safe-area-inset-bottom,0))}.panel-mobile-handle{display:block;position:sticky;top:0;z-index:5;margin:-10px -12px 7px;padding:10px 12px 7px;background:var(--surface);border:none;cursor:pointer;width:calc(100%+24px);text-align:center;-webkit-tap-highlight-color:transparent}.panel-mobile-handle::before{content:"";display:block;width:44px;height:5px;margin:0 auto;background:var(--border-strong);border-radius:999px;transition:background .15s,width .15s}.panel-mobile-handle:active::before{background:var(--muted);width:60px}.panel-mobile-handle .pmc-label{display:block;margin-top:5px;font-size:10px;color:var(--muted);font-weight:500;letter-spacing:.04em;text-transform:uppercase}.panel-topbar{min-height:34px;justify-content:space-between;gap:10px;margin:0 0 8px}.panel-actions-primary{order:1}.panel-actions-controls{order:2;margin-left:auto}.panel-actions-controls .panel-close-btn{margin-left:0}.panel-peek{border-radius:18px;padding:10px 14px;min-height:68px}.panel-peek-row{gap:9px}.panel-peek-name{font-size:15px;margin-bottom:6px}.panel-peek-score{min-width:42px;padding:6px 9px}.panel-peek-label{font-size:10px}.panel-peek-traits{font-size:12px}.panel-size-btn,.panel-compact-btn{display:none}.panel-close-btn{display:grid;width:34px;height:34px;font-size:13px;background:rgba(255,255,255,.86);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:var(--shadow-xs)}[data-theme="dark"] .panel-close-btn{background:rgba(34,39,43,.9)}.recommend-panel{display:block}.panel.open::before{display:none}#map{width:100% !important;height:100% !important}.main:has(.panel.open) .locate-btn{bottom:calc(var(--sheet-h)+12px);right:12px}.main:has(.panel.open.minimized) .locate-btn{bottom:calc(var(--sheet-h-min)+12px)}.main:has(.panel.open) .satellite-btn{top:auto;bottom:calc(var(--sheet-h)+64px);right:12px}.main:has(.panel.open.minimized) .satellite-btn{top:auto;bottom:calc(var(--sheet-h-min)+64px)}.locate-btn{bottom:22px;right:12px;width:44px;height:44px}.satellite-btn{top:auto;bottom:76px;right:12px;width:42px;min-width:0;height:42px;padding:0;border-radius:13px}.satellite-btn svg{width:18px;height:18px}.map-style-label{display:none}.main:has(.panel.open:not(.minimized)) .locate-btn,.main:has(.panel.open:not(.minimized)) .satellite-btn,.main:has(.panel.open:not(.minimized)) .filter-map-btn,.main:has(.panel.open:not(.minimized)) .heatmap-btn,.main:has(.panel.open:not(.minimized)) .heatmap-legend{opacity:0;pointer-events:none;transform:translateY(8px) scale(.96)}.modal-backdrop{padding:0;align-items:stretch}.modal,.modal.medium,.modal.wide{max-width:100%;width:100%;max-height:100svh;height:100svh;border-radius:0;display:flex;flex-direction:column}.modal-head{padding:16px 16px 10px}.modal-body{padding:0 16px 16px;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-foot{padding:12px 16px calc(12px+env(safe-area-inset-bottom,0))}.modal-close{width:36px;height:36px;font-size:15px}.modal-head h2{font-size:19px}.vote-slider{height:6px;padding:8px 0;background-clip:content-box}.vote-slider::-webkit-slider-thumb{width:24px;height:24px}.vote-slider::-moz-range-thumb{width:24px;height:24px}.vote-actions{gap:10px}.vote-btn-cancel,.vote-btn-submit{padding:11px 10px;font-size:13px}.legend{display:none}.filter-map-btn{top:12px;bottom:auto;right:12px}.main:has(.panel.open) .filter-map-btn{top:12px;bottom:auto;right:12px}.main:has(.panel.open.minimized) .filter-map-btn{top:12px;bottom:auto;right:12px}.heatmap-btn{top:62px;bottom:auto;right:12px;width:42px;height:42px;border-radius:13px}.main:has(.panel.open) .heatmap-btn,.main:has(.panel.open.minimized) .heatmap-btn{top:62px;bottom:auto;right:12px}.heatmap-legend{top:112px;right:12px;width:min(172px,calc(100vw - 24px))}.main:has(.panel.open) .heatmap-legend,.main:has(.panel.open.minimized) .heatmap-legend{right:12px}.map-filter-panel{top:8px;left:10px;right:10px;width:auto;bottom:calc(10px+env(safe-area-inset-bottom));max-height:none;padding:12px;border-radius:16px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(var(--accent-rgb),.35) transparent}.map-filter-panel::-webkit-scrollbar{width:5px}.map-filter-panel::-webkit-scrollbar-thumb{background:rgba(var(--accent-rgb),.28);border-radius:999px}.filter-head{margin-bottom:8px;gap:8px}.filter-head h3{font-size:18px;line-height:1.1}.filter-head p{font-size:11px;line-height:1.32}.filter-close{width:28px;height:28px;flex-shrink:0}.filter-row{margin:7px 0;gap:8px;grid-template-columns:minmax(0,1fr) 42px}.filter-row label{font-size:11.5px}.filter-value{font-size:11.5px}.filter-radius{margin:9px 0;padding:9px}.filter-radius label,.filter-radius select{font-size:11.5px}.filter-radius select{margin-top:7px;padding:8px 9px}.filter-actions{position:sticky;bottom:-12px;z-index:1;margin:8px -12px 0;padding:9px 12px calc(9px+env(safe-area-inset-bottom));background:linear-gradient(180deg,transparent,var(--surface) 28%)}.filter-status{margin-top:8px;font-size:11px;line-height:1.35}.filter-results{max-height:min(30svh,190px);overflow-y:auto;padding-right:2px}.filter-result{grid-template-columns:38px minmax(0,1fr) auto;gap:8px;padding:8px}.filter-result-score{font-size:20px}.compare-tray{left:10px;right:10px;bottom:10px;min-width:0;max-width:none;transform:translateY(12px);flex-wrap:wrap}.compare-tray.open{transform:translateY(0)}.main:has(.panel.open) .compare-tray{bottom:calc(var(--sheet-h)+8px)}.main:has(.panel.open.minimized) .compare-tray{bottom:calc(var(--sheet-h-min)+8px)}.compare-tray-items{order:3;flex-basis:100%}.compare-tray-actions{margin-left:auto}.vibe-card-inner{min-height:var(--score-front-h,230px)}.vibe-card.flipped .vibe-card-inner{min-height:var(--score-back-h,304px)}.vibe-card-front{padding:48px 12px 12px;gap:12px}.vibe-card-back{padding:12px}.ring-wrap{width:84px;height:84px}.ring-num strong{font-size:30px}.ring-num span{font-size:6.8px}.subscore-toggle{top:9px;right:9px;min-width:132px;height:29px;font-size:9.5px;padding:0 9px}.subscore-toggle svg{width:15px;height:15px}.vibe-title{font-size:17.5px}.vibe-time-context{font-size:11px}.confidence-note{padding:6px 8px;margin:5px 0}.confidence-note span:last-child{font-size:10.2px}.vote-row-wrap,.score-insights,.custom-score-panel,.panel-affiliate-tools,.summary,.chips-wrap,.panel-tools{margin-bottom:10px}.score-insights{grid-template-columns:1fr;gap:7px}.chip{padding:7px 11px;font-size:12px}.recent-item{padding:10px 12px}.place-card{padding:11px 12px}.similar-card{padding:12px}.similar-view{padding:7px 12px;font-size:12px}.tool-btn{padding:11px 12px;font-size:13px}.why-score summary{padding:11px 12px;font-size:13px}.suggestions{right:0;left:0}.hint{font-size:11px;padding:6px 10px}.hint.gone{display:none}}@media (max-width:380px){:root{--header-h:142px}header{padding:5px 8px 6px;gap:4px;row-gap:4px}.logo-text{font-size:17px}.logo-mark{width:25px;height:25px}#search-input{height:40px;font-size:14px}.mode-btn{padding:3px 5px;min-height:42px;font-size:13px}.mode-btn .mode-icon{width:17px;height:17px}.mode-btn .ml{font-size:8px}.icon-btn{width:32px;height:32px}.modes{gap:3px;padding:3px}}@media (max-width:900px) and (orientation:landscape) and (max-height:500px){:root{--header-h:48px}.panel-inner{padding:10px 14px 16px}.vibe-card-inner{min-height:var(--score-front-h,230px)}.vibe-card.flipped .vibe-card-inner{min-height:var(--score-back-h,304px)}.vibe-card-front{padding:48px 12px 12px;gap:12px}.vibe-card-back{padding:12px}.ring-wrap{width:84px;height:84px}.ring-num strong{font-size:30px}.ring-num span{font-size:6.8px}.subscore-toggle{top:9px;right:9px;min-width:132px;height:29px;font-size:9.5px;padding:0 9px}.subscore-toggle svg{width:15px;height:15px}.vibe-title{font-size:17.5px}.vibe-time-context{font-size:11px}.confidence-note{padding:6px 8px;margin:5px 0}.confidence-note span:last-child{font-size:10.2px}.sub-section,.vote-row-wrap,.summary{margin-bottom:10px}}@media (pointer:coarse) and (min-width:601px){.vote-slider::-webkit-slider-thumb{width:20px;height:20px}.vote-slider::-moz-range-thumb{width:20px;height:20px}}