:root{--ground:#e9ece7;--backdrop:#dfe3dc;--surface:#ffffff;--surface-2:#f4f6f2;--surface-3:#eceff0;--ink:#11201a;--ink-2:#48554f;--ink-3:#7a857f;--line:rgba(17,32,26,.11);--line-2:rgba(17,32,26,.06);--cheap:#0f7a46;--cheap-tint:#e4f2ea;--dear:#c23a2b;--dear-tint:#f8e7e4;--mid:#5b6560;--mid-tint:#eef1ee;--accent:#1c62c9;--shadow:0 1px 2px rgba(17,32,26,.06),0 8px 24px -12px rgba(17,32,26,.18);--shadow-sheet:0 -8px 40px -12px rgba(17,32,26,.35);--r:16px;--r-sm:11px;--sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--mono:ui-monospace,"SF Mono","Cascadia Code","Roboto Mono",Menlo,Consolas,monospace;--round:ui-rounded,"SF Pro Rounded","Segoe UI",system-ui,-apple-system,Roboto,sans-serif;--glow:none}@media (prefers-color-scheme:dark){:root{--ground:#0c1512;--backdrop:#080e0c;--surface:#111d18;--surface-2:#16241e;--surface-3:#1b2a23;--ink:#e9efeb;--ink-2:#a6b3ad;--ink-3:#6d7a74;--line:rgba(255,255,255,.10);--line-2:rgba(255,255,255,.05);--cheap:#3dbe72;--cheap-tint:rgba(61,190,114,.14);--dear:#ec6a58;--dear-tint:rgba(236,106,88,.15);--mid:#9aa5a0;--mid-tint:rgba(255,255,255,.05);--accent:#6ea2ff;--shadow:0 1px 2px rgba(0,0,0,.4),0 10px 30px -14px rgba(0,0,0,.7);--shadow-sheet:0 -8px 44px -10px rgba(0,0,0,.75);--glow:0 0 22px rgba(61,190,114,.16)}}:root[data-theme=light]{--ground:#e9ece7;--backdrop:#dfe3dc;--surface:#ffffff;--surface-2:#f4f6f2;--surface-3:#eceff0;--ink:#11201a;--ink-2:#48554f;--ink-3:#7a857f;--line:rgba(17,32,26,.11);--line-2:rgba(17,32,26,.06);--cheap:#0f7a46;--cheap-tint:#e4f2ea;--dear:#c23a2b;--dear-tint:#f8e7e4;--mid:#5b6560;--mid-tint:#eef1ee;--accent:#1c62c9;--glow:none}:root[data-theme=dark]{--ground:#0c1512;--backdrop:#080e0c;--surface:#111d18;--surface-2:#16241e;--surface-3:#1b2a23;--ink:#e9efeb;--ink-2:#a6b3ad;--ink-3:#6d7a74;--line:rgba(255,255,255,.10);--line-2:rgba(255,255,255,.05);--cheap:#3dbe72;--cheap-tint:rgba(61,190,114,.14);--dear:#ec6a58;--dear-tint:rgba(236,106,88,.15);--mid:#9aa5a0;--mid-tint:rgba(255,255,255,.05);--accent:#6ea2ff;--glow:0 0 22px rgba(61,190,114,.16)}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%}body{background:var(--ground);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.45;overscroll-behavior:none}button{font:inherit;color:inherit}:focus-visible{outline:2.5px solid var(--accent);outline-offset:2px;border-radius:6px}.shell{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.topbar{position:relative;gap:8px;padding:11px 16px 6px;background:var(--ground);z-index:40;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.brand,.topbar{display:flex;align-items:center}.brand{gap:9px;margin-right:auto;color:inherit}.settingswrap{position:relative;flex:none}.settingsbtn{display:flex;align-items:center;justify-content:center;width:42px;height:42px;flex:none;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:11px;cursor:pointer;box-shadow:var(--shadow);transition:color .16s,border-color .16s}.settingsbtn:hover{color:var(--ink);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.settingsbtn svg{width:20px;height:20px}.settingsbtn[aria-expanded=true]{color:var(--ink);border-color:var(--accent)}.brand:active{transform:scale(.98)}.logo{width:30px;height:30px;border-radius:9px;flex:none;background:var(--ink);color:var(--ground);display:grid;place-items:center}.logo.loading{animation:pulse 1s ease-in-out infinite}.logo svg{width:18px;height:18px}.wordmark{font-weight:700;letter-spacing:-.02em;font-size:19px}.wordmark b{color:var(--cheap)}.updated{position:relative;margin-left:auto;display:flex;align-items:center;gap:6px;border:0;background:none;padding:0;font-family:var(--mono);font-size:11px;color:var(--ink-3);min-width:0;cursor:pointer}.updated:hover{color:var(--ink-2)}.u-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fresh-tip{position:absolute;top:calc(100% + 8px);left:0;z-index:20;display:flex;flex-direction:column;gap:2px;align-items:flex-start;text-align:left;white-space:nowrap;min-width:220px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-sheet);padding:11px 13px;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .16s,transform .16s;pointer-events:none}.fresh-tip.show{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.fresh-tip b{font-family:var(--round);font-size:13px;font-weight:700;color:var(--ink)}.fresh-tip span{font-size:11.5px;color:var(--ink-3)}.fresh-tip .fresh-src{font-size:10px;color:var(--ink-3);opacity:.7;margin-top:2px}.fresh-sep{align-self:stretch;height:1px;background:var(--line);margin:9px 0 3px}.fresh-tip .fresh-theme-label{font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:700;color:var(--ink-3);margin-bottom:6px}.themeseg{display:flex;gap:3px;align-self:stretch;background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:3px}.themeseg button{flex:1 1;display:flex;align-items:center;justify-content:center;gap:5px;border:0;background:none;color:var(--ink-2);font:inherit;font-size:11.5px;font-weight:600;padding:6px 4px;border-radius:6px;cursor:pointer;white-space:nowrap}.themeseg button svg{width:14px;height:14px}.themeseg button:hover{color:var(--ink)}.themeseg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.08)}.viewtoggle{display:flex;gap:2px;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:2px;flex:none}.viewtoggle button{border:0;background:none;font:inherit;font-size:12.5px;font-weight:650;color:var(--ink-3);padding:5px 12px;border-radius:999px;cursor:pointer}.viewtoggle button[aria-pressed=true]{background:var(--ink);color:var(--ground)}.themetoggle{flex:none;width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer;display:grid;place-items:center;transition:color .16s,transform .3s ease}.themetoggle svg{width:18px;height:18px}.themetoggle:hover{color:var(--ink)}.themetoggle:active svg{transform:rotate(35deg) scale(.9)}.langwrap{position:relative;flex:none}.langbtn{width:auto;padding:0 11px}.langbtn,.langtag{display:inline-flex;align-items:center}.langtag{font-size:13px;font-weight:700;font-family:var(--round);line-height:1;white-space:nowrap}.lt-opt{display:inline-flex;align-items:center}.lt-sep{margin:0 3px;opacity:.4;font-weight:500}.lt-sm{display:none}.langmenu{position:absolute;top:calc(100% + 8px);right:0;z-index:60;min-width:132px;display:flex;flex-direction:column;gap:2px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-sheet);padding:5px;animation:amodalpop .16s ease both}.langmenu button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;border:0;background:none;font:inherit;font-size:14px;font-weight:600;color:var(--ink);padding:9px 11px;border-radius:8px;cursor:pointer}.langmenu button:hover{background:var(--surface-2)}.langmenu button.on{color:var(--cheap)}.langmenu button.on:after{content:"✓";font-size:12px;font-weight:700}.bell{position:relative;flex:none;width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer;display:grid;place-items:center}.bell svg{width:18px;height:18px}.bell:hover{color:var(--ink)}.bell.on{background:var(--ink);border-color:var(--ink);color:var(--ground)}.bell-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 3px;border-radius:99px;background:var(--dear);color:#fff;font-size:10px;font-weight:700;font-family:var(--mono);display:grid;place-items:center;border:1.5px solid var(--ground)}@media (max-width:520px){.topbar{gap:4px}.lt-lg,.updated{display:none}.lt-sm{display:inline}.langbtn{padding:0 6px}.langtag{font-size:11px}.bell,.themetoggle:not(.langbtn){width:34px;height:34px}.viewtoggle button{padding:5px 7px;font-size:11.5px}}@media (max-width:430px){.topbar{gap:3px}.wordmark{font-size:16.5px}.langbtn{padding:0 5px}.langtag{font-size:10.5px}.bell,.themetoggle:not(.langbtn){width:31px;height:31px}.bell svg{width:16px;height:16px}.viewtoggle button{padding:4px 6px;font-size:10.5px}}.updated i{width:6px;height:6px;border-radius:50%;background:var(--cheap);display:inline-block}.updated.loading i{background:var(--accent);animation:pulse 1s ease-in-out infinite}@keyframes pulse{50%{opacity:.35}}.locate{width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:var(--surface);cursor:pointer;display:grid;place-items:center;color:var(--ink-2);flex:none;box-shadow:var(--shadow)}.locate svg{width:18px;height:18px}.locate:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.searchrow{padding:2px 16px 6px;background:var(--ground);z-index:20}.searchbox,.searchrow{display:flex;gap:8px;align-items:center;position:relative}.searchbox{flex:1 1;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:9px 12px;box-shadow:var(--shadow)}.searchbox>svg{width:16px;height:16px;color:var(--ink-3);flex:none}.searchbox input{flex:1 1;min-width:0;border:0;background:none;outline:none;font:inherit;font-size:14px;color:var(--ink)}.searchbox input::placeholder{color:var(--ink-3)}.nearbtn{flex:none;display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:11px;padding:9px 13px;font-size:13px;font-weight:650;cursor:pointer;box-shadow:var(--shadow);transition:.16s}.nearbtn svg{width:16px;height:16px;color:var(--accent)}.nearbtn:hover{border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.suggestions{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow),0 14px 34px -14px rgba(0,0,0,.5);overflow:hidden;max-height:264px;overflow-y:auto}.sug{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line-2);padding:11px 13px;cursor:pointer;font:inherit;color:var(--ink)}.sug:last-child{border-bottom:0}.sug.active,.sug:hover{background:var(--surface-2)}.sug .sug-name{font-weight:600;font-size:14px}.sug .sug-pc{font-family:var(--mono);font-size:12px;color:var(--ink-3)}.chips{display:flex;gap:7px;overflow-x:auto;padding:2px 16px 10px;border-bottom:1px solid var(--line-2);background:var(--ground);scrollbar-width:none;z-index:5}.chips::-webkit-scrollbar{display:none}.chipsrow{position:relative}.chips-hint{position:absolute;top:2px;bottom:11px;right:0;width:48px;border:0;padding:0 12px 0 0;display:flex;align-items:center;justify-content:flex-end;cursor:pointer;background:linear-gradient(90deg,transparent,var(--ground) 62%);color:var(--ink-2);opacity:0;visibility:hidden;transition:opacity .2s}.chips-hint.show{opacity:1;visibility:visible}.chips-hint svg{width:15px;height:15px;animation:hintnudge 1.5s ease-in-out infinite}@keyframes hintnudge{0%,to{transform:translateX(0)}50%{transform:translateX(3px)}}@media (prefers-reduced-motion:reduce){.chips-hint svg{animation:none}}.chip{flex:none;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:999px;padding:5px 11px;font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap;transition:.16s}.brandchips{display:flex;gap:6px;overflow-x:auto;padding:0 0 12px;margin-top:2px;scrollbar-width:none}.brandchips::-webkit-scrollbar{display:none}.brandchips .chip{display:inline-flex;align-items:center;gap:6px}.chip-logo{width:15px;height:15px;object-fit:contain;background:#fff;border-radius:3px;padding:1px;flex:none}.chip-dot{width:9px;height:9px;border-radius:50%;flex:none}.groupchips{display:flex;align-items:center;gap:6px;overflow-x:auto;padding:0 0 12px;margin-top:-4px;scrollbar-width:none}.groupchips::-webkit-scrollbar{display:none}.group-lead{flex:none;font-size:10px;font-weight:700;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;margin-right:1px}.group-chip{display:inline-flex;align-items:center;gap:6px;background:var(--surface-2)}.group-badge{display:inline-grid;place-items:center;min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:var(--line-2);color:var(--ink-3);font-size:10px;font-weight:700;font-family:var(--mono)}.group-chip[aria-pressed=true] .group-badge{background:rgba(255,255,255,.28);color:var(--ground)}.chip:hover{border-color:color-mix(in srgb,var(--ink) 22%,transparent)}.chip[aria-pressed=true]{background:var(--ink);color:var(--ground);border-color:var(--ink)}.chip.tier1{border-color:color-mix(in srgb,#e6a72e 50%,var(--line));color:color-mix(in srgb,#e6a72e 60%,var(--ink))}.chip.tier1 .tier1-star{font-size:10px;line-height:1}.chip.tier1:hover{border-color:#e6a72e}.chip.tier1[aria-pressed=true]{background:linear-gradient(180deg,#f7d979,#e6ab35);border-color:#d99f28;color:#3a2a06;box-shadow:0 2px 10px -3px rgba(230,171,53,.65)}.chip.tier1[aria-pressed=true] .tier1-star{color:#3a2a06}.errbar{background:var(--dear-tint);color:var(--dear);border-bottom:1px solid color-mix(in srgb,var(--dear) 30%,transparent);padding:9px 16px;font-size:13px;font-weight:600;display:flex;gap:8px;align-items:center}.errbar button{margin-left:auto;background:none;border:1px solid;border-radius:8px;padding:4px 10px;font-size:12px;font-weight:600;cursor:pointer}.main{flex:1 1;min-height:0;display:flex;flex-direction:column;position:relative;overflow:hidden}@media (min-width:900px){.main{flex-direction:row-reverse}}.mapwrap{position:relative;flex:1 1;background:var(--surface-2);z-index:1}@media (max-width:899px){.mapwrap{position:absolute;inset:0}}.map-canvas{position:absolute;inset:0;width:100%;height:100%}.sheet-handle{display:none}@media (max-width:899px){.sheet-handle{display:flex;align-items:center;justify-content:center;width:100%;height:28px;background:none;border:0;cursor:-webkit-grab;cursor:grab;flex:none;touch-action:none;-webkit-tap-highlight-color:transparent}.sheet-handle .grab{width:42px;height:5px;border-radius:99px;background:var(--line)}.sheet-handle:active{cursor:-webkit-grabbing;cursor:grabbing}}.map-locate{position:absolute;left:12px;bottom:22px;z-index:2;display:flex;align-items:center;gap:7px;background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:9px 12px;font-size:13px;font-weight:600;cursor:pointer;box-shadow:var(--shadow);color:var(--ink)}.map-locate svg{width:16px;height:16px;color:var(--accent)}.results{display:flex;flex-direction:column;min-height:0}.results-scroll{flex:1 1;min-height:0;overflow-y:auto;padding:12px 16px 40px}@media (min-width:900px){.results{flex:none;width:436px;border-right:1px solid var(--line);height:100%}.results-scroll{padding:14px 16px 44px}}@media (max-width:899px){.results{position:absolute;left:0;right:0;bottom:0;height:92%;z-index:6;background:var(--ground);border-radius:20px 20px 0 0;border-top:1px solid var(--line);box-shadow:0 -8px 28px -10px rgba(0,0,0,.4);transform:translateY(calc(100% - 184px));transition:transform .34s cubic-bezier(.32,.72,0,1);will-change:transform}.results.min{transform:translateY(calc(100% - 40px))}.results.peek{transform:translateY(calc(100% - 184px))}.results.open{transform:translateY(6%)}}.marker{cursor:pointer;background:none;border:0;padding:0;display:flex;flex-direction:column;align-items:center;transition:transform .12s}.marker:focus-visible,.marker:hover{transform:scale(1.08);z-index:5;outline:none}.marker .bubble{display:inline-flex;align-items:center;gap:4px;font-family:var(--round);font-size:11.5px;font-weight:700;line-height:1;padding:4px 6px;border-radius:8px;color:#fff;white-space:nowrap;box-shadow:0 2px 6px rgba(0,0,0,.3);text-shadow:0 1px 1.5px rgba(0,0,0,.45)}.marker .bubble .dec{font-size:9px;opacity:.85}.marker .mlogo{width:14px;height:14px;flex:none;object-fit:contain;background:#fff;border-radius:3px;padding:1px;box-shadow:0 1px 2px rgba(0,0,0,.25)}.marker .stem{width:2px;height:7px;border-radius:2px;margin-top:-1px}.marker.cheap .bubble,.marker.cheap .stem{background:var(--cheap)}.marker.mid .bubble,.marker.mid .stem{background:var(--mid)}.marker.dear .bubble,.marker.dear .stem{background:var(--dear)}.marker.best{z-index:550}.marker.best .bubble{color:#08160e;text-shadow:none;font-weight:800;transform:scale(1.3);transform-origin:50% 100%;outline:2px solid #fff;animation:neonpulse 1.7s ease-in-out infinite}.marker.best .bubble .dec{opacity:.7}@keyframes neonpulse{0%,to{box-shadow:0 0 0 3px rgba(37,255,132,.5),0 0 12px 2px rgba(37,255,132,.85),0 2px 8px rgba(0,0,0,.3)}50%{box-shadow:0 0 0 6px rgba(37,255,132,.2),0 0 26px 7px rgba(37,255,132,1),0 2px 8px rgba(0,0,0,.3)}}@media (prefers-reduced-motion:reduce){.marker.best .bubble{animation:none;box-shadow:0 0 0 3px rgba(37,255,132,.5),0 0 18px 4px rgba(37,255,132,.95)}}.marker.sel{transform:scale(1.14);z-index:6}.marker.sel .bubble{outline:2.5px solid var(--accent)}.me-dot{width:14px;height:14px;border-radius:50%;background:var(--accent);border:3px solid #fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 30%,transparent)}.cluster{cursor:pointer;border:0;display:flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;color:#fff;font-family:var(--round);white-space:nowrap;box-shadow:0 0 0 2px #fff,0 2px 8px rgba(0,0,0,.35);text-shadow:0 1px 1.5px rgba(0,0,0,.45)}.cluster .cl-count{font-weight:800;font-size:15px;line-height:1}.cluster .cl-min{font-size:10px;opacity:.92;font-weight:600;letter-spacing:.02em;border-left:1px solid rgba(255,255,255,.4);padding-left:6px}.cluster.best-cluster{color:#08160e;text-shadow:none;font-weight:700;animation:neonpulse 1.7s ease-in-out infinite}.cluster.best-cluster .cl-min{border-left-color:rgba(0,0,0,.28);opacity:.85}@media (prefers-reduced-motion:reduce){.cluster.best-cluster{animation:none;box-shadow:0 0 0 2px #fff,0 0 18px 4px rgba(37,255,132,.95)}}.summary{display:flex;gap:8px;margin-bottom:12px}.stat{flex:1 1;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 12px;box-shadow:var(--shadow)}.stat .k{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}.stat .k,.stat .v{font-family:var(--mono)}.stat .v{font-weight:600;font-size:19px;margin-top:3px;letter-spacing:-.01em}.stat .v small{font-size:11px;color:var(--ink-3);font-weight:600}.stat.good .v{color:var(--cheap)}.legend{display:flex;align-items:center;gap:9px;margin:2px 2px 13px;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.legend-bar{flex:1 1;height:7px;border-radius:99px;border:1px solid var(--line-2)}.legend-best{width:12px;height:12px;border-radius:4px;flex:none;box-shadow:0 0 8px rgba(37,255,132,.85)}.eyebrow{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:4px 2px 10px;display:flex;align-items:center;gap:8px}.eyebrow .rule{height:1px;flex:1 1;background:var(--line)}.list{display:flex;flex-direction:column;gap:9px}.card{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:12px;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:13px 14px;box-shadow:var(--shadow);cursor:pointer;text-align:left;width:100%;transition:transform .12s,border-color .16s}.flagged-corner{position:absolute;top:6px;left:8px;z-index:2;display:inline-flex;align-items:center;gap:2px;background:var(--dear-tint);color:var(--dear);font-size:10px;font-weight:700;font-family:var(--mono);padding:2px 6px;border-radius:999px;line-height:1.4}.card:hover{border-color:color-mix(in srgb,var(--ink) 16%,transparent)}.card:active{transform:scale(.992)}.card.sel{border-color:var(--accent);box-shadow:var(--shadow),0 0 0 1px var(--accent)}.rank{width:20px;text-align:center;font-family:var(--mono);font-size:12px;color:var(--ink-3);font-weight:600}.brandc{display:flex;align-items:center;gap:11px;min-width:0}.mono-chip{width:38px;height:38px;border-radius:10px;flex:none;background:var(--surface-3);border:1px solid var(--line);display:grid;place-items:center;font-weight:700;font-size:12px;letter-spacing:-.02em;color:var(--ink-2);overflow:hidden}.mono-chip.branded{border-color:transparent;font-weight:800;letter-spacing:0}.mono-chip.logo-chip{background:#fff;border-color:var(--line);padding:3px}.brand-logo{width:100%;height:100%;object-fit:contain;display:block}.st-name{font-weight:650;font-size:14.5px;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.st-meta{display:flex;align-items:center;gap:7px;margin-top:2px;color:var(--ink-3);font-size:12px;font-family:var(--mono)}.st-meta .dotsep{width:3px;height:3px;border-radius:50%;background:var(--ink-3);opacity:.6}.fresh{display:inline-flex;align-items:center;gap:4px}.fresh i{width:6px;height:6px;border-radius:50%;background:var(--cheap);display:inline-block}.fresh.stale i{background:var(--ink-3)}.price{text-align:right;font-family:var(--mono);font-weight:600;line-height:1;letter-spacing:-.02em}.price .d-int{font-size:26px}.price .d-dec{font-size:14px;color:inherit;opacity:.55}.price.cheap .d-int{color:var(--cheap)}.price.cheap .d-dec{color:var(--cheap);opacity:.7}.price.dear .d-int{color:var(--dear)}.price.dear .d-dec{color:var(--dear);opacity:.7}.tierlab{display:block;margin-top:4px;font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}.tierlab.cheap{color:var(--cheap)}.tierlab.mid{color:var(--ink-3)}.tierlab.dear{color:var(--dear)}.fueltag{display:inline-block;font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.04em;padding:2px 6px;border-radius:6px;background:var(--surface-3);color:var(--ink-2);border:1px solid var(--line);margin-bottom:5px}.skel{height:66px;border-radius:var(--r);background:linear-gradient(100deg,var(--surface-2) 30%,var(--surface-3) 50%,var(--surface-2) 70%);background-size:200% 100%;animation:sh 1.2s infinite;margin-bottom:9px;border:1px solid var(--line-2)}@keyframes sh{to{background-position:-200% 0}}.empty{text-align:center;color:var(--ink-3);padding:40px 16px;font-size:13.5px}.scrim{position:fixed;inset:0;z-index:50;background:rgba(8,14,12,.42);opacity:0;pointer-events:none;transition:opacity .24s}.scrim.on{opacity:1;pointer-events:auto}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:51;margin:0 auto;max-width:520px;background:var(--surface);border-radius:24px 24px 0 0;box-shadow:var(--shadow-sheet);padding:8px 18px calc(26px + env(safe-area-inset-bottom));transform:translateY(102%);transition:transform .3s cubic-bezier(.32,.72,0,1);max-height:86%;overflow-y:auto}.sheet.on{transform:none}@media (prefers-reduced-motion:reduce){.card,.marker,.scrim,.sheet{transition:none}}.grabber{width:38px;height:4px;border-radius:99px;background:var(--line);margin:6px auto 14px}.sh-grab{margin:-8px -18px 2px;padding:11px 0 7px;display:flex;justify-content:center;cursor:-webkit-grab;cursor:grab;touch-action:none}.sh-grab:active{cursor:-webkit-grabbing;cursor:grabbing}.sh-grab .grabber{margin:0;width:44px;height:5px}.sh-head{display:flex;align-items:flex-start;gap:13px;margin-bottom:4px}.sh-head .mono-chip{width:46px;height:46px;font-size:14px}.sh-name{font-size:18px;font-weight:700;letter-spacing:-.02em}.sh-addr{color:var(--ink-3);font-size:13px;margin-top:2px}.sh-sub{display:flex;gap:8px;margin:14px 0 16px}.sh-sub .stat{flex:1 1}.pricetable{display:flex;flex-direction:column;gap:1px;margin-bottom:16px}.prow{display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:12px;gap:12px;padding:11px 4px;border-bottom:1px solid var(--line-2)}.prow.hi,.prow:last-child{border-bottom:0}.prow.hi{background:var(--cheap-tint);border-radius:9px;padding-left:10px;padding-right:10px}.prow .fuel{font-weight:650;font-size:14px}.prow .fuel small{display:block;color:var(--ink-3);font-size:11px;font-weight:500;font-family:var(--mono)}.prow .pp{font-family:var(--mono);font-weight:600;letter-spacing:-.02em;text-align:right}.prow .pp .d-int{font-size:20px}.prow .pp .d-dec{font-size:12px;color:inherit;opacity:.55}.prow .pp.cheap .d-int{color:var(--cheap)}.prow .pp.dear .d-int{color:var(--dear)}.sh-actions{display:flex;gap:9px}.btn{flex:1 1;border-radius:13px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);font-weight:650;font-size:14px;padding:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;transition:.16s}.btn svg{width:17px;height:17px}.btn.primary{background:var(--cheap);border-color:var(--cheap);color:#fff}.btn:hover{filter:brightness(.98)}.fav{flex:none;width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:var(--surface-2);cursor:pointer;display:grid;place-items:center;color:var(--ink-3);margin-left:auto;transition:.16s}.fav svg{width:20px;height:20px}.fav[aria-pressed=true]{color:var(--dear);border-color:var(--dear);background:var(--dear-tint)}.report-zone{margin-top:14px;padding-top:12px;border-top:1px solid var(--line-2)}.report-link{background:none;border:0;color:var(--ink-3);font:inherit;font-size:13px;font-weight:600;cursor:pointer;padding:2px 0}.report-link:hover{color:var(--dear)}.report-q{font-size:13px;font-weight:650;margin-bottom:9px}.report-reasons{display:flex;flex-wrap:wrap;gap:7px}.report-reasons .chip{cursor:pointer}.report-official{display:inline-block;margin-top:12px;font-size:12.5px;color:var(--accent);text-decoration:none;font-weight:600}.reported{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:var(--cheap);font-weight:600}.reported a{color:var(--accent);text-decoration:none;font-weight:600}.flagged-note{display:flex;align-items:flex-start;gap:8px;margin:10px 0 2px;padding:9px 12px;border-radius:11px;background:var(--dear-tint);color:var(--dear);font-size:12.5px;font-weight:600;line-height:1.35}.flagged-ic{flex:none;font-size:14px;line-height:1.25}.flagged-mini{display:inline-flex;align-items:center;gap:3px;color:var(--dear);font-weight:600}.verify-zone{margin:12px 0 16px;display:flex;flex-direction:column;gap:9px}.verify-sig{display:flex;align-items:flex-start;gap:8px;padding:9px 12px;border-radius:11px;font-size:12.5px;font-weight:600;line-height:1.35}.verify-sig.confirmed{background:var(--cheap-tint);color:var(--cheap)}.verify-sig.disputed{background:var(--dear-tint);color:var(--dear)}.verify-sig .v-ic{flex:none;font-size:14px;line-height:1.25}.verify-mine{font-size:12.5px;font-weight:600;color:var(--cheap)}.verify-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.verify-prompt{font-size:12.5px;color:var(--ink-2);font-weight:600;margin-right:auto}.btn.small{flex:none;padding:8px 12px;font-size:13px;border-radius:10px}.btn.small.confirm{color:var(--cheap);border-color:color-mix(in srgb,var(--cheap) 35%,transparent);background:var(--cheap-tint)}.btn.small.confirm:hover{border-color:var(--cheap)}.verify-dispute{display:flex;flex-direction:column;gap:8px}.vd-q{font-size:13px;font-weight:650}.vd-row{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.vd-fuel{background:var(--surface-2);font:inherit;font-size:13px}.vd-fuel,.vd-price{border:1px solid var(--line);color:var(--ink);border-radius:9px;padding:8px 9px;font-weight:600}.vd-price{width:84px;background:var(--surface);font-size:14px}.vd-price,.vd-unit{font-family:var(--mono)}.vd-unit{color:var(--ink-3);font-size:13px;margin-left:-4px}.verify-corner{position:absolute;top:6px;right:8px;z-index:2;display:inline-flex;align-items:center;gap:2px;font-size:10px;font-weight:700;font-family:var(--mono);padding:2px 6px;border-radius:999px;line-height:1.4}.verify-corner.confirmed{background:var(--cheap-tint);color:var(--cheap)}.verify-corner.disputed{background:var(--dear-tint);color:var(--dear)}.sh-hours{display:inline-flex;align-items:center;gap:7px;margin:10px 0 2px;padding:8px 12px;border-radius:11px;font-size:13px;font-weight:600;background:var(--surface-2);color:var(--ink-2)}.sh-hours .sh-hours-dot{width:8px;height:8px;border-radius:50%;background:var(--ink-3);flex:none}.sh-hours.hrs-24h,.sh-hours.hrs-open{color:var(--cheap)}.sh-hours.hrs-24h .sh-hours-dot,.sh-hours.hrs-open .sh-hours-dot{background:var(--cheap)}.sh-hours.hrs-closed{color:var(--dear)}.sh-hours.hrs-closed .sh-hours-dot{background:var(--dear)}.sh-hours-today{color:var(--ink-3);font-weight:500}.valcards{display:flex;flex-direction:column;gap:8px;margin:10px 0 2px}.valcard{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:12px;background:var(--surface-2)}.valcard.good{background:var(--cheap-tint)}.valcard.dear{background:var(--dear-tint)}.val-ic{flex:none;font-size:15px;line-height:1.3;font-weight:800}.valcard.good .val-ic{color:var(--cheap)}.valcard.dear .val-ic{color:var(--dear)}.valcard.neutral .val-ic{color:var(--ink-3)}.val-body{flex:1 1;min-width:0}.val-title{font-size:14px;font-weight:700;letter-spacing:-.01em}.valcard.good .val-title{color:var(--cheap)}.valcard.dear .val-title{color:var(--dear)}.val-net{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.val-cap{font-size:11.5px;color:var(--ink-3);font-weight:600;margin-top:1px}.val-sub{font-size:12.5px;color:var(--ink-2);line-height:1.4;margin-top:3px}.val-car{margin-top:8px;background:none;border:0;padding:0;font:inherit;font-size:12px;font-weight:600;color:var(--ink-3);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.val-car:hover{color:var(--accent)}.val-carform{display:flex;gap:10px;margin-top:9px}.val-carform label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:600;color:var(--ink-3);flex:1 1}.val-carform input{width:100%;padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font:inherit;font-size:13px;font-weight:600}.val-carform input:focus{outline:none;border-color:var(--accent)}.sortrow{display:flex;gap:6px;padding:0 0 11px}.sortchip{font-size:12px;padding:5px 11px;flex:none}.filterrow{display:flex;gap:6px;padding:0 0 10px;margin-top:2px}.open-now{display:inline-flex;align-items:center;gap:6px}.open-now .on-dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--cheap)}.open-now[aria-pressed=true]{background:var(--cheap);border-color:var(--cheap);color:#fff}.open-now[aria-pressed=true] .on-dot{background:#fff}.adblue{display:inline-flex;align-items:center;gap:6px}.adblue .ab-dot{width:8px;height:8px;border-radius:50%;flex:none;background:#2b7fff}.adblue[aria-pressed=true]{background:#2b7fff;border-color:#2b7fff;color:#fff}.adblue[aria-pressed=true] .ab-dot{background:#fff}.offlinebar{background:var(--dear-tint);color:var(--dear);font-size:12.5px;padding:6px 16px;border-bottom:1px solid color-mix(in srgb,var(--dear) 25%,transparent)}.offlinebar,.toast{font-weight:600;text-align:center}.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:90;background:var(--ink);color:var(--ground);font-size:13px;padding:10px 16px;border-radius:999px;box-shadow:var(--shadow-sheet);animation:toastin .2s ease both;max-width:calc(100% - 32px)}@keyframes toastin{0%{opacity:0;transform:translate(-50%,8px)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.onboard-scrim{position:fixed;inset:0;z-index:80;background:rgba(8,14,12,.6);display:grid;place-items:center;padding:20px;animation:obfade .2s ease both}@keyframes obfade{0%{opacity:0}}.onboard{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-sheet);padding:22px;animation:obpop .24s cubic-bezier(.2,.7,.3,1) both}@keyframes obpop{0%{opacity:0;transform:translateY(10px) scale(.98)}}.onboard-title{font-size:21px;font-weight:800;letter-spacing:-.02em}.onboard-sub{font-size:14px;color:var(--ink-2);margin-top:5px}.onboard-list{list-style:none;margin:16px 0 4px;padding:0;display:flex;flex-direction:column;gap:12px}.onboard-list li{display:flex;align-items:flex-start;gap:11px;font-size:14px;line-height:1.4;color:var(--ink)}.ob-ic{flex:none;width:22px;text-align:center;font-size:17px;line-height:1.35}.ob-glow{width:13px;height:13px;margin:3px 4px 0;border-radius:50%;background:#2ad4c4;box-shadow:0 0 0 3px rgba(42,212,196,.28)}.onboard-cta{margin-top:18px;width:100%;background:var(--ink);color:var(--ground);border:0;border-radius:12px;padding:12px;font:inherit;font-size:15px;font-weight:700;cursor:pointer}.onboard-cta:hover{opacity:.92}.onboard-note{margin-top:12px;font-size:11px;color:var(--ink-3);line-height:1.5}@media (prefers-reduced-motion:reduce){.onboard,.onboard-scrim{animation:none}}.amodal-scrim{position:fixed;inset:0;z-index:70;background:rgba(8,14,12,.55);display:grid;place-items:center;padding:20px}.amodal{width:100%;max-width:360px;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-sheet);padding:18px;animation:amodalpop .2s ease both}@keyframes amodalpop{0%{opacity:0;transform:translateY(6px) scale(.98)}}.amodal-head{display:flex;align-items:center;gap:11px;margin-bottom:2px}.amodal-icon{width:38px;height:38px;border-radius:11px;flex:none;background:var(--cheap-tint);color:var(--cheap);display:grid;place-items:center}.amodal-icon svg{width:20px;height:20px}.amodal-title{font-size:16px;font-weight:700;letter-spacing:-.01em}.amodal-sub{font-size:12.5px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.amodal-now{margin-top:6px;font-size:11.5px;color:var(--ink-3);font-family:var(--mono)}.amodal-actions{display:flex;gap:9px;margin-top:18px}.amodal-actions .btn{flex:1 1;justify-content:center}.foot{margin:20px 4px 0;color:var(--ink-3);font-size:11px;line-height:1.5;font-family:var(--mono)}.saved{padding:2px 0 8px}.saved-head{font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--ink-3);margin:2px 2px 12px}.saved-graderow{position:relative}.saved-grades{display:flex;gap:6px;overflow-x:auto;padding:2px 0 12px;scrollbar-width:none}.saved-grades::-webkit-scrollbar{display:none}.saved-error{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;border-radius:12px;background:var(--dear-tint);color:var(--dear);font-size:13px;font-weight:600;margin-bottom:10px}.saved-error button{background:none;border:0;font:inherit;font-size:13px;font-weight:700;color:var(--dear);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.saved-placeholder{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px}.saved-rm-inline{background:none;border:0;font:inherit;font-size:12.5px;font-weight:600;color:var(--ink-2);cursor:pointer;flex:none}.saved-rm-inline:hover{color:var(--dear)}.saved-grades .chip{flex:none}.saved-grades .chip.dim{opacity:.4}.saved-na{font-weight:600}.saved-card.na .saved-price-v,.saved-na{color:var(--ink-3)}.saved-price-v.cheap{color:var(--cheap)}.saved-price-f.cheap{color:var(--cheap);font-weight:700;text-transform:uppercase;letter-spacing:.02em}.saved-loading{padding:24px 8px;color:var(--ink-3);font-size:14px;text-align:center}.saved-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:48px 20px}.saved-empty-star{font-size:40px;color:var(--ink-3);line-height:1}.saved-empty-title{font-size:17px;font-weight:700;letter-spacing:-.01em}.saved-empty-sub{font-size:13.5px;color:var(--ink-3);max-width:280px}.saved-list{display:flex;flex-direction:column;gap:10px}.saved-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}.saved-main{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;background:none;border:0;padding:13px 14px;font:inherit;text-align:left;cursor:pointer}.saved-main:hover{background:var(--surface-2)}.saved-info{min-width:0;flex:1 1}.saved-name{display:flex;align-items:center;gap:8px;min-width:0}.saved-logo{width:20px;height:20px;border-radius:5px;object-fit:contain;background:#fff;flex:none}.saved-name-txt{font-size:14.5px;font-weight:650;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.saved-meta{display:flex;align-items:center;gap:10px;margin-top:4px;font-size:12px;color:var(--ink-3);font-weight:500}.saved-hrs{display:inline-flex;align-items:center;gap:5px;font-weight:600}.saved-hrs-dot{width:7px;height:7px;border-radius:50%;background:var(--ink-3);flex:none}.saved-hrs.hrs-24h,.saved-hrs.hrs-open{color:var(--cheap)}.saved-hrs.hrs-24h .saved-hrs-dot,.saved-hrs.hrs-open .saved-hrs-dot{background:var(--cheap)}.saved-hrs.hrs-closed{color:var(--dear)}.saved-hrs.hrs-closed .saved-hrs-dot{background:var(--dear)}.saved-price{display:flex;flex-direction:column;align-items:flex-end;flex:none}.saved-price-v{font-size:22px;font-weight:800;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1}.saved-price-f{font-size:11px;font-weight:600;color:var(--ink-3);margin-top:2px}.saved-actions{display:flex;border-top:1px solid var(--line)}.saved-actions a,.saved-actions button{flex:1 1;text-align:center;padding:10px;font:inherit;font-size:12.5px;font-weight:600;background:none;border:0;cursor:pointer;color:var(--ink-2);text-decoration:none}.saved-actions a{color:var(--accent);border-right:1px solid var(--line)}.saved-actions button:hover{color:var(--dear)}.saved-actions a:hover{background:var(--surface-2)}.rt{padding:2px 0 8px}.rt-form{display:grid;grid-template-columns:1fr 42px;grid-template-rows:auto auto;grid-gap:8px;gap:8px;margin-bottom:14px}.rt-form>:first-child{grid-column:1;grid-row:1}.rt-form>:nth-child(2){grid-column:2;grid-row:1/span 2;align-self:center}.rt-form>:nth-child(3){grid-column:1;grid-row:2}.rt-field{position:relative;display:flex;align-items:center}.rt-field input{width:100%;padding:11px 40px 11px 38px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font:inherit;font-size:14.5px;font-weight:600}.rt-field input::placeholder{color:var(--ink-3);font-weight:500}.rt-field input:focus{outline:none;border-color:var(--accent)}.rt-pin{left:12px;width:17px;height:17px;pointer-events:none}.rt-loc,.rt-pin{position:absolute;color:var(--ink-3)}.rt-loc{right:7px;width:28px;height:28px;border:0;background:none;cursor:pointer;display:grid;place-items:center;border-radius:8px}.rt-loc:hover{color:var(--accent);background:var(--surface-2)}.rt-loc:disabled{opacity:.5;cursor:default}.rt-loc svg{width:17px;height:17px}.rt-swap{width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink-2);cursor:pointer;display:grid;place-items:center}.rt-swap:hover{color:var(--accent);border-color:var(--accent)}.rt-swap:disabled{opacity:.4;cursor:default}.rt-swap svg{width:18px;height:18px}.rt-summary{background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-bottom:12px}.rt-sum-top{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--ink-2);flex-wrap:wrap}.rt-km{color:var(--ink);font-weight:800;font-size:16px;letter-spacing:-.01em}.rt-dot{color:var(--ink-3)}.rt-sum-cheap{margin-top:7px;font-size:14px;font-weight:700;color:var(--cheap)}.rt-save{color:var(--ink-2);font-weight:600}.rt-trip{display:flex;align-items:flex-start;gap:9px;margin-top:11px;padding-top:11px;border-top:1px solid var(--line)}.rt-trip-ic{font-size:18px;line-height:1.2;flex:none}.rt-trip-body{min-width:0}.rt-trip-main{font-size:14px;font-weight:700;color:var(--ink)}.rt-trip-note{margin-top:3px;font-size:12px;color:var(--ink-3);display:flex;align-items:center;gap:5px;flex-wrap:wrap}.rt-eco{display:inline-flex;align-items:center;gap:4px}.rt-eco input{width:52px;padding:3px 6px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);font:inherit;font-size:12px;font-weight:600}.rt-eco input:focus{outline:none;border-color:var(--accent)}.rt-prompt{padding:34px 18px;text-align:center;color:var(--ink-3);font-size:14px;max-width:360px;margin:0 auto;line-height:1.5}.rt-prompt.rt-err{color:var(--dear)}.rt-note{padding:12px 4px 4px;text-align:center;color:var(--ink-3);font-size:12.5px}.rt-detour{font-weight:600}.rt-along{color:var(--ink-3)}.rt-locerr{margin:-4px 0 12px;padding:9px 12px;border-radius:10px;background:var(--dear-tint);color:var(--dear);font-size:12.5px;font-weight:600}.rt-viewmap{display:inline-flex;align-items:center;gap:7px;margin-top:12px;background:var(--ink);color:var(--ground);border:0;border-radius:10px;padding:9px 14px;font:inherit;font-size:13px;font-weight:650;cursor:pointer}.rt-viewmap:hover{opacity:.9}.rt-viewmap svg{width:16px;height:16px}.routepill{position:absolute;top:12px;left:50%;transform:translateX(-50%);z-index:5;display:inline-flex;align-items:center;gap:9px;max-width:calc(100% - 32px);background:var(--surface);border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow-sheet);padding:8px 13px;font:inherit;font-size:12.5px;font-weight:600;color:var(--ink);cursor:pointer}.rp-dot{width:16px;height:4px;border-radius:2px;background:#2f80ed;flex:none}.rp-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.rp-x{color:var(--ink-3);font-weight:700;flex:none;margin-left:2px}.routepill:hover .rp-x{color:var(--dear)}.lb{padding:2px 0 8px}.lb-modes{display:flex;gap:6px}.lb-modes,.lb-search{margin-bottom:12px}.lb-title{font-size:15px;font-weight:700;letter-spacing:-.01em;margin:2px 2px 12px}.lb-empty{padding:30px 8px;text-align:center;color:var(--ink-3);font-size:14px}.lb-empty.lb-err{color:var(--dear)}.lb-list{display:flex;flex-direction:column;gap:8px}.lb-row{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:11px 13px;font:inherit;cursor:pointer}.lb-row:hover{background:var(--surface-2)}.lb-rank{flex:none;width:24px;height:24px;border-radius:7px;display:grid;place-items:center;font-family:var(--mono);font-size:12.5px;font-weight:700;color:var(--ink-2);background:var(--surface-2);border:1px solid var(--line)}.lb-rank.r1{background:#f5c518;color:#3a2c00;border-color:#e0b400}.lb-rank.r2{background:#c9d1d6;color:#2a3138;border-color:#b3bcc2}.lb-rank.r3{background:#e0a878;color:#3a2410;border-color:#cf9862}.lb-logo{width:26px;height:26px;border-radius:6px;object-fit:contain;background:#fff;flex:none}.lb-logo-blank{background:var(--surface-2);border:1px solid var(--line)}.lb-info{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.lb-name{font-size:14px;font-weight:650;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lb-meta{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--ink-3);font-weight:500}.lb-price{flex:none;display:flex;flex-direction:column;align-items:flex-end}.lb-price-v{font-size:18px;font-weight:800;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1}.lb-price-v.top{color:var(--cheap)}.lb-price-f{font-size:10px;font-weight:600;color:var(--ink-3);margin-top:2px}.trends-view{flex:1 1;min-height:0;overflow-y:auto;padding:14px 16px 44px}.trends{max-width:640px;margin:0 auto}.trends .panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:16px;margin-bottom:12px}.trends .panel h3{margin:0 0 4px;font-size:16px;letter-spacing:-.01em}.trends .panel p.note{margin:0;color:var(--ink-2);font-size:12.5px}.trends .panel p.note b{color:var(--ink);font-family:var(--mono)}.trends .rec-fill{background:var(--cheap-tint);border-color:color-mix(in srgb,var(--cheap) 30%,transparent)}.trends .rec-wait{background:var(--dear-tint);border-color:color-mix(in srgb,var(--dear) 30%,transparent)}.trends .rec-tag{display:inline-block;font-family:var(--mono);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:4px 9px;border-radius:7px;color:#fff;margin-bottom:10px}.trends .rec-title{margin:0 0 6px;font-size:22px;letter-spacing:-.02em}.trends .rec-detail{margin:0;color:var(--ink-2);font-size:13.5px;line-height:1.5}.trends .rec-tip{margin:9px 0 0;color:var(--ink-3);font-size:12px}.trends .rec-tip b{color:var(--ink);font-weight:700}.gauge{margin-top:13px}.gauge .track{position:relative;height:10px;border-radius:99px}.gauge .mark{position:absolute;top:-5px;width:4px;height:20px;border-radius:3px;background:var(--ink);border:2px solid var(--surface);transform:translateX(-50%)}.gauge .lbls{display:flex;justify-content:space-between;margin-top:8px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}figure.chart{margin:0}figure.chart figcaption{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}figcaption .ct{font-size:14px;font-weight:650}figcaption .cs{font-family:var(--mono);font-size:11px;color:var(--ink-3)}.plot{position:relative;width:100%}.plot svg{display:block;width:100%;height:auto;overflow:visible;touch-action:pan-y;cursor:crosshair}.gridline{stroke:var(--line-2);stroke-width:1}.axlab{fill:var(--ink-3);font-family:var(--mono);font-size:9px}.cvline{stroke:var(--ink);stroke-width:2;fill:none;stroke-linejoin:round}.cvarea{opacity:1}.cvdot{fill:var(--cheap);stroke:var(--surface);stroke-width:2.5}.crosshair{stroke:var(--ink-3);stroke-width:1;stroke-dasharray:3 3}.hoverdot{fill:var(--ink);stroke:var(--surface);stroke-width:2}.tip{position:absolute;pointer-events:none;transform:translate(-50%,-120%);background:var(--ink);color:var(--ground);border-radius:9px;padding:6px 9px;font-family:var(--mono);font-size:11px;white-space:nowrap;box-shadow:var(--shadow);z-index:5}.tip b{font-size:13px}.tip small{display:block;color:color-mix(in srgb,var(--ground) 60%,var(--ink-3))}.bars{display:flex;align-items:flex-end;gap:7px;height:112px;margin-top:6px}.barcol{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}.barcol .bar{width:100%;border-radius:5px 5px 3px 3px;background:var(--mid);min-height:4px;position:relative}.barcol.min .bar{background:var(--cheap)}.barcol .bd{font-family:var(--mono);font-size:9.5px;color:var(--ink-3)}.barcol.min .bd{color:var(--cheap);font-weight:700}.barcol .bp{position:absolute;top:-15px;left:50%;transform:translateX(-50%);font-family:var(--mono);font-size:9px;color:var(--ink-2);white-space:nowrap}.barcol.min .bp{color:var(--cheap);font-weight:700}.afield{margin-top:13px}.afield>label{display:block;font-size:12px;font-weight:600;color:var(--ink-2);margin-bottom:6px}.afield select{width:100%;font:inherit;font-weight:600;padding:10px 12px;border-radius:11px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);cursor:pointer}.loc-search{position:relative}.loc-search input{width:100%;font:inherit;font-size:14px;padding:10px 12px;border-radius:11px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);outline:none}.loc-search input::placeholder{color:var(--ink-3)}.loc-picked{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 8px 8px 12px;border-radius:11px;border:1px solid var(--line);background:var(--surface-2);font-weight:600;font-size:14px}.loc-picked>button{border:0;background:var(--surface-3);color:var(--ink-2);width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:16px;line-height:1;display:grid;place-items:center;flex:none}.arow{gap:9px}.arow,.thresh{display:flex;align-items:center}.thresh{gap:6px;background:var(--surface-2);border:1px solid var(--line);border-radius:11px;padding:9px 12px}.arow .thresh{flex:1 1}.thresh input{width:60px;border:0;background:none;outline:none;font:inherit;font-size:15px;font-family:var(--mono);font-weight:600;color:var(--ink)}.thresh span{color:var(--ink-3);font-family:var(--mono);font-size:14px}.arow .btn{flex:none;width:auto;padding:12px 18px}.alert-list{display:flex;flex-direction:column;margin-top:4px}.alert-row{display:flex;align-items:center;gap:12px;padding:12px 2px;border-bottom:1px solid var(--line-2)}.alert-row:last-child{border-bottom:0}.alert-row.off{opacity:.55}.alert-info{flex:1 1;min-width:0}.alert-name{font-weight:600;font-size:14.5px}.alert-name b{font-family:var(--mono);color:var(--cheap)}.alert-sub{color:var(--ink-3);font-size:12px;margin-top:2px}.alert-toggle{flex:none;width:42px;height:24px;border-radius:99px;border:1px solid var(--line);background:var(--surface-3);cursor:pointer;padding:0;position:relative;transition:.16s}.alert-toggle .knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--ink-3);transition:.18s}.alert-toggle.on{background:var(--cheap);border-color:var(--cheap)}.alert-toggle.on .knob{left:20px;background:#fff}.alert-del{flex:none;width:34px;height:34px;border-radius:9px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-3);cursor:pointer;display:grid;place-items:center}.alert-del svg{width:17px;height:17px}.alert-del:hover{color:var(--dear);border-color:var(--dear)}.maplibregl-ctrl-attrib{font-size:10px}