:root{--bg:#080f13;--surface:rgba(17,31,38,.8);--surface-solid:#122129;--text:#e8f4f4;--muted:#9ab3b7;--accent:#2dd4bf;--border:rgba(130,180,190,.25);--shadow:0 10px 30px rgba(0,0,0,.3)}:root[data-theme=light]{--bg:#fff;--surface:hsla(0,0%,100%,.98);--surface-solid:#fff;--text:#0f2f3a;--muted:#2f5967;--accent:#0f766e;--border:rgba(31,77,92,.24);--shadow:0 12px 24px rgba(21,44,56,.08)}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;background:radial-gradient(circle at top,#153442 0,var(--bg) 45%);color:var(--text);min-height:100vh}:root[data-theme=light] body{background:var(--bg)}a{color:inherit;text-decoration:none}.container{width:100%;max-width:1200px;margin:0 auto;padding:clamp(.75rem,2.4vw,1.2rem)}.grid{display:grid;grid-gap:1rem;gap:1rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%;margin-inline:auto;overflow:hidden}.header{justify-content:space-between;gap:.75rem;margin-bottom:1rem}.header,.pageHeader{display:flex;align-items:center}.pageHeader{gap:.7rem;min-width:0}.pageHeaderLogo{border-radius:12px;flex-shrink:0}.headerNav{align-items:center;gap:.5rem;flex-wrap:wrap}.desktopNav,.headerNav{display:flex}.mobileNav{display:none}.navTab{border:1px solid var(--border);background:var(--surface-solid);color:var(--text);border-radius:10px;padding:.45rem .8rem;font-size:.9rem;font-weight:600;transition:background-color .14s ease,color .14s ease,border-color .14s ease,transform .14s ease,box-shadow .14s ease}.navTab:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent) 12%,var(--surface-solid));transform:translateY(-1px)}.navTab.active{color:#fff;border-color:var(--accent);background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 78%,#0b1318),var(--accent));box-shadow:0 8px 18px color-mix(in srgb,var(--accent) 28%,transparent)}.hamburgerBtn{width:36px;height:36px;border-radius:10px;border:1px solid var(--border);background:var(--surface-solid);position:relative;display:inline-flex;align-items:center;justify-content:center;padding:0}.hamburgerBtn span{position:absolute;left:50%;width:18px;height:2px;margin-left:-9px;border-radius:999px;background:var(--text);transform-origin:50% 50%;transition:transform .17s ease,opacity .17s ease,background-color .17s ease}.hamburgerBtn span:first-child{transform:translateY(-5px)}.hamburgerBtn span:nth-child(2){transform:translateY(0)}.hamburgerBtn span:nth-child(3){transform:translateY(5px)}.hamburgerBtn.active span:first-child{transform:translateY(0) rotate(45deg);background:var(--accent)}.hamburgerBtn.active span:nth-child(2){opacity:0}.hamburgerBtn.active span:nth-child(3){transform:translateY(0) rotate(-45deg);background:var(--accent)}.mobileMenuBackdrop{position:fixed;inset:0;z-index:35;background:rgba(5,14,20,.28);border:0;margin:0;padding:0}.mobileMenuPanel{position:fixed;top:68px;right:12px;width:min(260px,calc(100vw - 24px));z-index:40;background:color-mix(in srgb,var(--surface) 96%,transparent);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:.55rem;display:grid;grid-gap:.45rem;gap:.45rem;opacity:0;transform:translateY(-8px) scale(.98);pointer-events:none;transition:opacity .16s ease,transform .16s ease}.mobileMenuPanel.open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.mobileMenuLink{border:1px solid var(--border);border-radius:10px;padding:.6rem .7rem;font-weight:600;background:var(--surface-solid);transition:border-color .14s ease,background-color .14s ease,transform .14s ease}.mobileMenuLink:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent) 12%,var(--surface-solid));transform:translateY(-1px)}.mobileMenuLink.active{color:#fff;border-color:var(--accent);background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 78%,#0b1318),var(--accent))}.badge{font-size:.75rem;border:1px solid var(--border);color:var(--accent);border-radius:999px;padding:.2rem .6rem}button,input[type=range]{accent-color:var(--accent)}button{border:1px solid var(--border);background:var(--surface-solid);color:var(--text);border-radius:10px;padding:.5rem .8rem;cursor:pointer}.themeToggle{display:inline-flex;align-items:center;justify-content:center;gap:0;padding:.45rem .55rem;font-size:.85rem;font-weight:600;line-height:1}.themeToggle.iconOnly{width:36px;height:36px;padding:0}.themeToggle svg{color:var(--accent)}table{width:100%;border-collapse:collapse}td,th{padding:.7rem;text-align:left;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:600}.tableWrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.tableWrap>table{min-width:700px}.rankingControls{display:flex;align-items:flex-end;gap:.7rem;flex-wrap:wrap}.segmentControl{display:inline-flex;border:1px solid var(--border);border-radius:11px;overflow:hidden}.segmentControl a,.segmentControl button{display:inline-flex;align-items:center;justify-content:center;border:0;border-right:1px solid var(--border);border-radius:0;min-width:88px;background:var(--surface-solid);color:var(--text);text-decoration:none;height:36px;padding:0 .7rem;font-weight:600}.segmentControl a:last-child,.segmentControl button:last-child{border-right:0}.segmentControl a.active,.segmentControl button.active{background:var(--accent);color:#fff}.inlineField{display:inline-flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:var(--muted)}.inlineField input,.inlineField select{border:1px solid var(--border);background:var(--surface-solid);color:var(--text);border-radius:10px;height:36px;padding:0 .65rem}.inlineField select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:2rem;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 16px) calc(50% - 2px),calc(100% - 11px) calc(50% - 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.listFilters{display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:minmax(250px,2fr) minmax(190px,1fr) minmax(180px,1fr);margin-bottom:.9rem}.iconLink{display:inline-grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:999px;border:1px solid var(--border);color:var(--text);background:color-mix(in srgb,var(--surface-solid) 88%,transparent);font-size:1rem;font-weight:700;line-height:1;transition:transform .14s ease,border-color .14s ease,background-color .14s ease}.iconLink:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 60%,var(--border));background:color-mix(in srgb,var(--accent) 16%,var(--surface-solid))}.inlineBackLink{display:inline-flex;align-items:center;gap:.35rem;color:var(--muted);font-size:.88rem}.inlineBackLink:hover{color:var(--text)}.iconBackLink{display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:999px;border:1px solid var(--border);color:var(--muted);background:color-mix(in srgb,var(--surface-solid) 90%,transparent);transition:border-color .14s ease,transform .14s ease,color .14s ease}.iconBackLink:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 60%,var(--border));transform:translateY(-1px)}.dsoStatCard{padding:1rem}.dsoStatLabel{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.76rem;margin-bottom:.35rem}.dsoStatValue{font-size:1.05rem;font-weight:700;line-height:1.3}.dsoAreaRow{display:flex;flex-wrap:wrap;gap:.55rem}.areaChip{border-radius:999px;padding:.32rem .66rem;font-size:.78rem;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-solid) 90%,transparent)}.areaChip.active{color:#fff;border-color:var(--accent);background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 78%,#0b1318),var(--accent))}.areaChip.muted{color:var(--muted);opacity:.75}.dsoTabHeader{display:inline-flex;gap:.45rem;margin-bottom:.85rem;flex-wrap:wrap}.miniTab{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;font:inherit;border:1px solid var(--border);border-radius:10px;padding:.35rem .68rem;color:var(--muted);background:color-mix(in srgb,var(--surface-solid) 85%,transparent);font-size:.86rem}.miniTab.active{color:var(--text);border-color:color-mix(in srgb,var(--accent) 60%,var(--border))}.pill{display:inline-flex;align-items:center;border-radius:8px;font-size:.78rem;padding:.18rem .52rem;border:1px solid var(--border);font-weight:600}.pill.private{color:#052e2b;background:linear-gradient(180deg,#5eead4,#2dd4bf);border-color:rgba(45,212,191,.45)}.pill.business{color:#dbeafe;background:linear-gradient(180deg,#334155,#1f2937);border-color:rgba(148,163,184,.3)}.pill.neutral{color:var(--text);background:color-mix(in srgb,var(--surface-solid) 88%,transparent)}.loadingCard{padding:1rem}.loadingHeader{display:flex;align-items:center;gap:.6rem;margin-bottom:.75rem}.loadingSpinner{width:1rem;height:1rem;border-radius:999px;border:2px solid color-mix(in srgb,var(--accent) 25%,transparent);border-top-color:var(--accent);animation:spin .8s linear infinite}.loadingBars{display:grid;grid-gap:.45rem;gap:.45rem}.loadingBar{height:.72rem;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--surface-solid) 75%,transparent) 0,color-mix(in srgb,var(--surface-solid) 92%,transparent) 50%,color-mix(in srgb,var(--surface-solid) 75%,transparent) 100%);background-size:220% 100%;animation:pulseBar 1.2s ease-in-out infinite}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulseBar{0%{background-position:0 0;opacity:.65}50%{background-position:100% 0;opacity:1}to{background-position:0 0;opacity:.65}}.rankLegend{display:flex;justify-content:space-between;gap:.75rem;color:var(--muted);font-size:.85rem;margin-bottom:.7rem}.rankRows{display:grid;grid-gap:.55rem;gap:.55rem}.rankRow{display:grid;grid-template-columns:auto 1fr auto auto;grid-gap:.8rem;gap:.8rem;align-items:center;border:1px solid var(--border);border-radius:14px;padding:.6rem .75rem;background:color-mix(in srgb,var(--surface-solid) 88%,transparent)}.rankIndex{width:2rem;text-align:center;font-weight:700;color:var(--muted)}.rankMain{min-width:0}.rankTop{display:flex;justify-content:space-between;gap:.7rem;align-items:baseline;margin-bottom:.35rem}.rankMeta{display:block;color:var(--muted);font-size:.82rem;margin-top:.1rem}.rankPrice{font-weight:700;white-space:nowrap}.rankBarTrack{height:10px;background:color-mix(in srgb,var(--border) 75%,transparent);border-radius:999px;overflow:hidden}.rankBarFill{height:100%;border-radius:999px;background:linear-gradient(90deg,#0f766e,#2dd4bf)}.peakBubble{width:2.1rem;height:2.1rem;border-radius:999px;display:grid;place-items:center;color:#fff;font-weight:700;background:linear-gradient(180deg,#94a3b8,#64748b)}.peakBubble.peak-low{background:linear-gradient(180deg,#ef4444,#b91c1c);box-shadow:0 8px 16px rgba(185,28,28,.28)}.peakBubble.peak-good{background:linear-gradient(180deg,#4ade80,#16a34a);box-shadow:0 8px 16px rgba(22,163,74,.28)}.peakBubble.peak-high{background:linear-gradient(180deg,#22c55e,#166534);box-shadow:0 8px 16px rgba(21,128,61,.28)}.peakBubble.peak-unknown{background:linear-gradient(180deg,#94a3b8,#64748b)}.routeLoadingOverlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:1rem;background:color-mix(in srgb,#07141b 36%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}:root[data-theme=light] .routeLoadingOverlay{background:color-mix(in srgb,#e9f4f8 45%,transparent)}.routeLoadingCard{width:min(430px,calc(100vw - 2rem));border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:var(--shadow);padding:1rem 1.05rem}.routeLoadingTitle{display:block;margin-bottom:.65rem}.routeLoadingTrack{height:10px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--border) 75%,transparent)}.routeLoadingBar{height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,#0f766e,#2dd4bf);animation:routeLoadGrow 1.4s ease-in-out infinite}@keyframes routeLoadGrow{0%{width:0;opacity:.65}75%{width:92%;opacity:1}90%{width:100%;opacity:1}to{width:100%;opacity:0}}@media (max-width:800px){.mobile-stack{grid-template-columns:1fr!important}.header{align-items:flex-start}.pageHeader h1{font-size:2rem;line-height:1.15}.pageHeaderLogo{width:54px;height:54px;border-radius:14px}.desktopNav{display:none}.mobileNav{display:flex;flex-wrap:nowrap}.rankLegend{display:none}.rankRow{grid-template-columns:auto 1fr auto}.rankTop{flex-direction:column;align-items:flex-start}.listFilters{grid-template-columns:1fr}.tableWrap>table{min-width:640px}}