.sidepanel-wrapper{display:flex;flex-direction:column;height:100%;background:white;position:relative;overflow-x:auto}html.dark .sidepanel-wrapper{background:var(--h-card)}.hero-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.sidepanel-content{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;scrollbar-width:thin;scrollbar-color:rgba(107,100,87,.5) transparent}.sidepanel-content::-webkit-scrollbar{width:8px}.sidepanel-content::-webkit-scrollbar-track{background:transparent}.sidepanel-content::-webkit-scrollbar-thumb{background:rgba(107,100,87,.45);border-radius:9999px;border:2px solid transparent;background-clip:padding-box}.sidepanel-content::-webkit-scrollbar-thumb:hover{background:rgba(107,100,87,.7);background-clip:padding-box}html.dark .sidepanel-content{scrollbar-color:rgba(107,100,87,.35) transparent}html.dark .sidepanel-content::-webkit-scrollbar-thumb{background:rgba(107,100,87,.3);background-clip:padding-box}html.dark .sidepanel-content::-webkit-scrollbar-thumb:hover{background:rgba(107,100,87,.5);background-clip:padding-box}.tech-generation{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #f0f0f0}html.dark .tech-generation{border-bottom-color:#333}.tech-generation:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.tech-gen-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.tech-gen-label{font-size:13px;font-weight:700;padding:3px 10px;border-radius:6px;white-space:nowrap;display:flex;align-items:center;gap:4px}.tech-gen-label.gen-5g{background:color-mix(in srgb,var(--t-5g-500) 15%,transparent);color:var(--t-5g-700)}.tech-gen-label.gen-4g{background:color-mix(in srgb,var(--t-4g-500) 15%,transparent);color:var(--t-4g-700)}.tech-gen-label.gen-3g{background:color-mix(in srgb,var(--t-3g-500) 15%,transparent);color:var(--t-3g-700)}.tech-gen-label.gen-2g{background:color-mix(in srgb,var(--t-2g-500) 15%,transparent);color:var(--t-2g-700)}.signal-bars{display:flex;gap:1px;align-items:flex-end;margin-left:4px}.signal-bar{width:2px;height:6px;background:#ddd;border-radius:1px}.signal-bar.active{background:currentColor}.tech-bands{display:flex;flex-wrap:wrap;gap:6px}.tech-band-chip{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:18px;border:1.5px solid;background:transparent;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;user-select:none;-webkit-tap-highlight-color:transparent}.tech-band-chip.band-5g{border-color:var(--t-5g-300);color:var(--t-5g-700);background:color-mix(in srgb,var(--t-5g-500) 8%,transparent)}.tech-band-chip.band-5g:active{background:color-mix(in srgb,var(--t-5g-500) 15%,transparent);transform:scale(.98)}.tech-band-chip.band-5g.highlighted{background:color-mix(in srgb,var(--t-5g-500) 25%,transparent);box-shadow:0 0 12px color-mix(in srgb,var(--t-5g-700) 40%,transparent);transform:scale(1.05)}.tech-band-chip.band-4g{border-color:var(--t-4g-300);color:var(--t-4g-700);background:color-mix(in srgb,var(--t-4g-500) 8%,transparent)}.tech-band-chip.band-4g:active{background:color-mix(in srgb,var(--t-4g-500) 15%,transparent);transform:scale(.98)}.tech-band-chip.band-4g.highlighted{background:color-mix(in srgb,var(--t-4g-500) 25%,transparent);box-shadow:0 0 12px color-mix(in srgb,var(--t-4g-700) 40%,transparent);transform:scale(1.05)}.tech-band-chip.band-3g{border-color:var(--t-3g-300);color:var(--t-3g-700);background:color-mix(in srgb,var(--t-3g-500) 8%,transparent)}.tech-band-chip.band-3g:active{background:color-mix(in srgb,var(--t-3g-500) 15%,transparent);transform:scale(.98)}.tech-band-chip.band-3g.highlighted{background:color-mix(in srgb,var(--t-3g-500) 25%,transparent);box-shadow:0 0 12px color-mix(in srgb,var(--t-3g-700) 40%,transparent);transform:scale(1.05)}.tech-band-chip.band-2g{border-color:var(--t-2g-300);color:var(--t-2g-700);background:color-mix(in srgb,var(--t-2g-500) 8%,transparent)}.tech-band-chip.band-2g:active{background:color-mix(in srgb,var(--t-2g-500) 15%,transparent);transform:scale(.98)}.band-freq{opacity:.7;font-size:11px}.tech-update-date{font-size:10px;color:var(--h-muted);margin-top:8px;padding-top:8px;border-top:1px solid #f0f0f0}html.dark .tech-update-date{color:var(--h-muted);border-top-color:#333}.filter-tabs{display:flex;gap:6px;margin-bottom:12px;overflow-x:auto;padding-bottom:4px}.filter-tab{padding:6px 12px;border-radius:16px;border:1px solid var(--h-hair);background:var(--h-card);color:var(--h-muted);font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s ease;flex-shrink:0;-webkit-tap-highlight-color:transparent}.filter-tab:hover{border-color:var(--border-solid);background:var(--h-chip)}.filter-tab.active{background:var(--h-brand);color:var(--h-on-brand);border-color:transparent}html.dark .filter-tab{background:var(--h-chip)}html.dark .filter-tab:hover{border-color:var(--h-brand);background:var(--h-raised)}.signal-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.signal-stat-card{background:var(--h-chip);padding:10px;border-radius:8px;border:1px solid var(--h-hair)}.signal-stat-label{font-size:10px;font-weight:600;text-transform:uppercase;margin-bottom:4px}.signal-stat-label,html.dark .signal-stat-label{color:var(--h-muted)}.signal-stat-value{font-size:16px;font-weight:700;color:var(--h-ink);font-family:var(--font-mono)}html.dark .signal-stat-value{color:var(--h-ink)}.signal-stat-unit{font-size:11px;color:var(--h-muted);margin-left:2px}.cell-list-container{margin-top:12px;padding-top:12px;border-top:1px solid var(--h-hair)}html.dark .cell-list-container{border-top-color:var(--h-hair)}.cell-list-title{font-size:10px;font-weight:600;text-transform:uppercase;margin-bottom:10px;display:block}.cell-list-title,html.dark .cell-list-title{color:var(--h-muted)}.cell-list-by-sector{display:flex;flex-direction:column;gap:10px}.cell-sector-group{padding:10px;background:var(--h-chip);border:1px solid var(--h-hair);border-radius:10px}.cell-sector-name{font-size:11px;font-weight:700;color:var(--h-ink-2);margin-bottom:8px;display:flex;align-items:center;gap:6px}.cell-sector-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:var(--h-go-bg);color:var(--h-go-ink);border-radius:4px;font-size:10px;font-weight:700}.cell-items{display:flex;flex-direction:column;gap:6px}.cell-item{padding:10px;background:white;border:1.5px solid #e0e7ff;border-radius:8px;cursor:pointer;transition:all .2s ease;user-select:none;display:flex;justify-content:space-between;align-items:center;-webkit-tap-highlight-color:transparent}.cell-item:hover{border-color:#a5b4fc;background:linear-gradient(135deg,#f8f6ff,#faf5ff);transform:translateY(-1px);box-shadow:0 2px 8px rgba(99,102,241,.1)}.cell-item.active{border-color:#6366f1;background:linear-gradient(135deg,#eef2ff,#f3e8ff);box-shadow:0 0 0 3px rgba(99,102,241,.1)}html.dark .cell-item{background:#333;border-color:rgba(99,102,241,.2)}html.dark .cell-item:hover{border-color:#6366f1;background:rgba(99,102,241,.1)}html.dark .cell-item.active{border-color:#6366f1;background:rgba(99,102,241,.2);box-shadow:0 0 0 3px rgba(99,102,241,.15)}.cell-item-info{display:flex;flex-direction:column;gap:2px;flex:1}.cell-item-band{font-size:12px;font-weight:700;color:#1e1b4b;font-family:var(--font-mono)}html.dark .cell-item-band{color:#e0e7ff}.cell-item-meta{font-size:10px;color:#6366f1;font-weight:500}html.dark .cell-item-meta{color:#a5b4fc}.cell-item-indicator{width:10px;height:10px;border-radius:50%;background:#e0e7ff;transition:all .2s ease;flex-shrink:0}.cell-item.active .cell-item-indicator{background:linear-gradient(135deg,#818cf8,#6366f1);box-shadow:0 0 8px rgba(99,102,241,.5)}html.dark .cell-item-indicator{background:rgba(99,102,241,.3)}html.dark .cell-item.active .cell-item-indicator{background:linear-gradient(135deg,#818cf8,#6366f1);box-shadow:0 0 8px rgba(99,102,241,.6)}.sidepanel-footer{border-top:1px solid var(--h-hair);padding:12px 18px 16px;background:var(--h-card);display:flex;gap:8px;flex-shrink:0}@media (max-width:768px){.sidepanel-drag-handle{position:absolute;z-index:1;width:100%}.sidepanel-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom, 0px))}}.sidepanel-desktop-shell{position:fixed;top:max(16px,env(safe-area-inset-top,0px));right:max(16px,env(safe-area-inset-right,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));z-index:1102;display:flex;width:min(392px,calc(100vw - 32px));min-height:0;overflow:hidden;border-radius:16px;box-shadow:0 4px 18px rgba(28,32,30,.14)}.sidepanel-mobile-host{position:fixed;top:var(--map-inset-top,0);right:0;bottom:var(--map-inset-bottom,0);left:0;z-index:1002;overflow:hidden;transform:translateZ(0);pointer-events:none}.sidepanel-mobile-host>*{pointer-events:auto}.sidepanel-mobile-overlay{position:fixed;inset:0;z-index:1599;background:rgba(24,21,15,.22)}.sidepanel-mobile-drawer{position:fixed;right:0;bottom:0;left:0;z-index:1600;display:flex;height:100%;flex-direction:column;overflow:hidden;border-radius:var(--r-4,24px) var(--r-4,24px) 0 0;background:white;box-shadow:0 -20px 52px rgba(24,21,15,.22);outline:none;padding-bottom:max(env(safe-area-inset-bottom,0px),8px)}html.dark .sidepanel-mobile-drawer{background:var(--h-card);box-shadow:0 -20px 58px rgba(0,0,0,.48)}.sidepanel-drag-handle{display:flex;flex-shrink:0;justify-content:center;align-items:flex-start;padding-top:8px;pointer-events:none}.sidepanel-drag-handle__bar{position:absolute;top:8px;left:50%;z-index:2;width:40px;height:5px;margin-left:-20px;border-radius:3px;background:#E6E3D9;pointer-events:none}html.dark .sidepanel-drag-handle__bar{background:rgba(241,244,241,.22)}.sidepanel-snap-toggle:not(:focus-visible){clip-path:inset(50%);opacity:0}.sidepanel-snap-toggle{position:absolute;top:0;right:4px;z-index:3;display:inline-flex;width:48px;height:48px;align-items:center;justify-content:center;border:0;border-radius:9999px;background:transparent;color:var(--h-muted);font-size:22px;line-height:1;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.sidepanel-snap-toggle:focus-visible,.sidepanel-snap-toggle:hover{background:color-mix(in srgb,var(--sidepanel-accent) 12%,transparent);color:var(--h-ink)}.sidepanel-snap-toggle:focus-visible{outline:2px solid color-mix(in srgb,var(--sidepanel-accent) 55%,white);outline-offset:-4px}.sidepanel-wrapper{--sidepanel-accent:var(--h-brand);--sidepanel-accent-2:#ff5a33;width:100%}@media (max-width:768px){.sidepanel-mobile-drawer{border-radius:14px 14px 0 0}.sidepanel-drag-handle{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;width:100%;height:16px;min-height:16px;padding:0;pointer-events:auto;touch-action:none;cursor:grab;-webkit-tap-highlight-color:transparent}.sidepanel-drag-handle:active{cursor:grabbing}}.operator-segmented{display:flex;gap:4px;margin:10px 0 4px;padding:4px;border-radius:14px;background:rgba(24,21,15,.05);border:1px solid rgba(24,21,15,.08);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}.operator-segmented::-webkit-scrollbar{display:none}html.dark .operator-segmented{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1)}.operator-segmented__item{position:relative;flex:1 0 auto;min-width:72px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;padding:6px 14px;border:none;border-radius:10px;background:transparent;color:#3a352b;font-size:13px;font-weight:600;cursor:pointer;scroll-snap-align:start;transition:color .16s ease;-webkit-tap-highlight-color:transparent}.operator-segmented__item:hover{color:#18150f}html.dark .operator-segmented__item{color:#9a917f}html.dark .operator-segmented__item:hover{color:var(--h-ink)}.operator-segmented__item.is-active{color:#fff}.operator-segmented__item:focus-visible{outline:2px solid var(--op-color,#2563eb);outline-offset:2px}.operator-segmented__pill{position:absolute;inset:0;border-radius:10px;box-shadow:0 4px 12px rgba(24,21,15,.22);z-index:0}.operator-segmented__content{position:relative;z-index:1;display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.operator-segmented__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.operator-segmented__tags{font-size:10px;font-weight:700;letter-spacing:.02em;opacity:.85}@media (max-width:768px){.operator-segmented__item{min-width:64px;padding:6px 10px}}