body,html{height:100%;margin:0;padding:0;font-family:Inter,Noto Sans Thai,sans-serif;overflow:hidden}.sb{width:300px;min-width:300px;height:100%;background:#fff;border-right:1px solid #f1f5f9;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}.sb::-webkit-scrollbar{width:3px}.sb::-webkit-scrollbar-track{background:transparent}.sb::-webkit-scrollbar-thumb{background:#a7f3d0;border-radius:99px}.sb-shimmer{height:3px;flex-shrink:0;background:linear-gradient(90deg,#059669,#10b981,#34d399,#10b981,#059669);background-size:300% 100%;animation:sbShimmer 4s ease infinite}@keyframes sbShimmer{0%{background-position:0}50%{background-position:100%}to{background-position:0}}.sb-header{padding:16px 20px 14px;border-bottom:1px solid #f1f5f9;flex-shrink:0}.sb-header-inner{gap:12px}.sb-close,.sb-header-inner{display:flex;align-items:center}.sb-close{justify-content:center;width:32px;height:32px;border-radius:10px;border:1.5px solid #f1f5f9;background:#f8fafc;color:#94a3b8;cursor:pointer;flex-shrink:0;transition:all .18s cubic-bezier(.34,1.56,.64,1);margin-left:auto}.sb-close:hover{background:#fee2e2;border-color:#fecaca;color:#dc2626;transform:rotate(90deg) scale(1.1)}.sb-logo{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#059669,#10b981);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px rgba(5,150,105,.3);animation:logoPulse 3s ease-in-out infinite}@keyframes logoPulse{0%,to{box-shadow:0 4px 12px rgba(5,150,105,.3)}50%{box-shadow:0 4px 24px rgba(5,150,105,.5),0 0 28px rgba(16,185,129,.15)}}.sb-eyebrow{font-size:.47rem;text-transform:uppercase;letter-spacing:.22em;color:#059669;line-height:1}.sb-eyebrow,.sb-title{font-weight:900;margin:0}.sb-title{font-size:1.18rem;color:#111827;line-height:1.15;letter-spacing:-.02em}.sb-desc{font-size:.67rem;color:#9ca3af;margin:8px 0 0;line-height:1.55}.sb-section{border-bottom:1px solid #f1f5f9;padding:14px 16px;flex-shrink:0}.sb-sec-head{margin-bottom:12px}.sb-acc-head,.sb-sec-head{display:flex;align-items:center;gap:8px}.sb-acc-head{cursor:pointer;user-select:none;padding:1px 0}.sb-acc-head:hover{opacity:.8}.sb-sec-icon{font-size:.9rem;line-height:1;flex-shrink:0}.sb-sec-title{font-size:.76rem;font-weight:900;color:#374151;flex:1}.sb-chip{font-size:.59rem;font-weight:700;color:#6b7280;background:#f3f4f6;border-radius:99px;padding:2px 8px}.sb-loading{font-size:.59rem;color:#9ca3af;font-style:italic}.sb-chevron{color:#9ca3af;transition:transform .22s;flex-shrink:0}.sb-chevron-open{transform:rotate(180deg)}.poi-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pcat-btn{display:flex;flex-direction:column;align-items:center;padding:12px 8px 10px;border-radius:14px;border:1.5px solid #f0f0f0;background:#fff;cursor:pointer;gap:5px;transition:all .18s ease;font-family:inherit;position:relative;overflow:hidden}.pcat-btn:hover{border-color:#bbf7d0;background:#f8fffe;transform:translateY(-1px);box-shadow:0 4px 14px rgba(5,150,105,.08)}.pcat-btn-on{border-color:#6ee7b7;background:linear-gradient(135deg,#ecfdf5,#f0fdf4);box-shadow:0 3px 14px rgba(5,150,105,.13)}.pcat-btn-on:before{content:"";position:absolute;inset:0;border-radius:14px;background:radial-gradient(circle at 50% 0,rgba(16,185,129,.07),transparent 65%);pointer-events:none}.pcat-icon{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;transition:transform .18s}.pcat-btn:hover .pcat-icon{transform:scale(1.1) rotate(-4deg)}.pcat-btn-on .pcat-icon{transform:scale(1.05)}.pcat-lbl{font-size:.71rem;font-weight:700;color:#374151;text-align:center;line-height:1.2}.pcat-btn-on .pcat-lbl{color:#065f46}.pcat-cnt{font-size:.66rem;font-weight:800;color:#9ca3af;background:#f3f4f6;border-radius:99px;padding:1px 8px;min-width:28px;text-align:center;transition:all .18s;font-variant-numeric:tabular-nums}.pcat-btn-on .pcat-cnt{color:#047857;background:#d1fae5}.radius-wrap{margin-top:12px;background:#f9fafb;border-radius:12px;padding:10px 12px;border:1px solid #f1f5f9}.radius-row{display:flex;align-items:center;gap:7px;margin-bottom:8px}.radius-lbl{font-size:.71rem;font-weight:600;color:#6b7280;flex:1}.radius-val{font-size:.71rem;font-weight:800;color:#059669;min-width:52px;text-align:right;font-variant-numeric:tabular-nums}#radius-slider{width:100%;height:4px;background:#e5e7eb;border-radius:99px;outline:none;cursor:pointer;accent-color:#059669;-webkit-appearance:none;appearance:none}#radius-slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;background:#10b981;border-radius:50%;cursor:pointer;border:3px solid #fff;box-shadow:0 2px 10px rgba(0,0,0,.15);background-image:linear-gradient(90deg,transparent 45%,hsla(0,0%,100%,.9) 0,hsla(0,0%,100%,.9) 55%,transparent 0);transition:transform .2s}#radius-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}#radius-slider::-moz-range-thumb{width:20px;height:20px;background:#10b981;border-radius:50%;cursor:pointer;border:3px solid #fff;box-shadow:0 2px 10px rgba(0,0,0,.15);background-image:linear-gradient(90deg,transparent 45%,hsla(0,0%,100%,.9) 0,hsla(0,0%,100%,.9) 55%,transparent 0)}.sb-hint{font-size:.61rem;color:#9ca3af;margin-top:10px;line-height:1.55}.lul1-section-label{font-size:.57rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#9ca3af;margin:10px 0 6px}.lul1-table{display:flex;flex-direction:column;gap:5px}.lul1-row{display:flex;align-items:flex-start;gap:8px;padding:8px 9px;border-radius:10px;background:#f9fafb;border:1px solid #f1f5f9;transition:background .15s}.lul1-row:hover{background:#f0fdf4;border-color:#d1fae5}.lul1-badge{display:flex;flex-direction:column;align-items:center;gap:1px;min-width:36px;padding:5px 6px;border-radius:8px;border:1.5px solid;flex-shrink:0}.lul1-icon{font-size:.95rem;line-height:1}.lul1-code{font-size:.58rem;font-weight:900;letter-spacing:.08em;line-height:1}.lul1-body{flex:1;min-width:0}.lul1-name{font-size:.72rem;font-weight:800;margin:0 0 3px;line-height:1.2}.lul1-desc{font-size:.62rem;color:#6b7280;line-height:1.5;margin:0}.lul1-count{font-size:.64rem;font-weight:800;color:#374151;text-align:right;flex-shrink:0;line-height:1.3;font-variant-numeric:tabular-nums}.lul1-unit{font-size:.54rem;font-weight:500;color:#9ca3af}.legend-list{display:flex;flex-direction:column;gap:1px;margin-top:10px}.select-all-btn{font-size:.62rem;color:#059669;font-weight:700;background:none;border:none;cursor:pointer;padding:2px 4px;margin-bottom:4px;text-align:left;font-family:inherit}.select-all-btn:hover{text-decoration:underline}.legend-row{display:flex;align-items:center;gap:7px;padding:5px;border-radius:7px;cursor:default;transition:background .12s}.legend-row:hover{background:#f1f5f9;transform:translateX(2px)}.legend-sw{width:14px;height:14px;border-radius:4px;flex-shrink:0;box-shadow:0 2px 4px rgba(0,0,0,.1),0 0 0 1.5px #fff,0 0 0 2.5px rgba(0,0,0,.05);transition:transform .2s}.legend-row:hover .legend-sw{transform:scale(1.15)}.legend-nm{flex:1;font-size:.7rem;font-weight:500;color:#374151;line-height:1.3}.legend-ct{font-size:.62rem;font-weight:700;color:#9ca3af;min-width:22px;text-align:right;font-variant-numeric:tabular-nums}.legend-cb{width:13px;height:13px;accent-color:#059669}.legend-cb,.toggle-sw{cursor:pointer;flex-shrink:0}.toggle-sw{position:relative;display:inline-flex;width:36px;height:20px;background:#e5e7eb;border-radius:99px;border:none;padding:0;transition:background .2s}.toggle-sw-on{background:#059669}.toggle-sw-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,.15);transition:transform .2s cubic-bezier(.34,1.56,.64,1);pointer-events:none}.toggle-sw-on .toggle-sw-knob{transform:translateX(16px)}.layer-rows{display:flex;flex-direction:column;gap:7px}.layer-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1.5px solid #f1f5f9;border-radius:12px;background:#fff;cursor:pointer;transition:all .18s}.layer-row:hover{background:#f8fafc;border-color:#e2e8f0}.layer-row-on{background:#f0fdf4;border-color:#bbf7d0}.layer-row-ico{font-size:1.1rem;width:26px;text-align:center;flex-shrink:0}.layer-row-info{flex:1}.layer-row-name{font-size:.78rem;font-weight:700;color:#374151;margin:0;line-height:1}.layer-row-desc{font-size:.61rem;color:#9ca3af;margin:2px 0 0}.sb-insights{padding:14px 16px;flex:1;min-height:0}.sb-insights-head{display:flex;align-items:center;gap:7px;margin-bottom:12px}.sb-live-dot{width:6px;height:6px;border-radius:50%;background:#10b981;animation:livePulse 2s infinite;flex-shrink:0}@keyframes livePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.3)}}.sb-insights-title{font-size:.57rem;font-weight:900;text-transform:uppercase;letter-spacing:.14em;color:#9ca3af}.sb-divider{flex:1;height:1px;background:#f1f5f9}.sb-footer{padding:12px 16px;border-top:1px solid #f1f5f9;font-size:.61rem;color:#9ca3af;flex-shrink:0;line-height:1.7}.sb-footer-link{color:#059669;font-weight:600;text-decoration:none}.sb-footer-link:hover{text-decoration:underline}.map-ctrl-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;width:48px;height:48px;background:hsla(0,0%,100%,.9);border:1px solid hsla(0,0%,100%,.4);border-radius:16px;color:#4b5563;cursor:pointer;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);transition:all .25s cubic-bezier(.34,1.56,.64,1);box-shadow:0 4px 12px rgba(0,0,0,.08),inset 0 0 0 1px hsla(0,0%,100%,.5);gap:2px;overflow:hidden}.map-ctrl-btn:hover{background:#fff;color:#059669;border-color:rgba(16,185,129,.3);box-shadow:0 8px 24px rgba(5,150,105,.15),inset 0 0 0 1px hsla(0,0%,100%,.6);transform:scale(1.05)}.map-ctrl-btn:active{transform:scale(.95)}.map-ctrl-btn.active{color:#fff;background:#10b981;border-color:#059669;box-shadow:0 4px 12px rgba(16,185,129,.35)}.map-ctrl-btn svg{flex-shrink:0}.map-ctrl-btn span{font-size:.58rem;font-weight:600;letter-spacing:.01em;line-height:1.2}@media (max-width:768px){.map-ctrl-btn{width:44px;height:44px;border-radius:14px}.map-ctrl-btn span{font-size:.5rem}}.pitch-bar{position:relative}.pitch-bar:after{content:"";position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,#059669,#34d399,#a7f3d0);border-radius:4px;height:var(--pitch-pct,0);transition:height .5s cubic-bezier(.34,1.56,.64,1)}.scan-ring{pointer-events:none}.scan-ring,.scan-ring:before{position:absolute;border-radius:50%}.scan-ring:before{content:"";inset:0;border:1.5px solid transparent;background:conic-gradient(from 0deg,transparent,rgba(16,185,129,.25),transparent,rgba(52,211,153,.25),transparent) border-box;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);mask-composite:exclude;animation:scanRotate 6s linear infinite}.scan-ring:after{content:"";position:absolute;inset:16px;border-radius:50%;border:1px dashed rgba(16,185,129,.12);animation:scanRotate 8s linear infinite reverse}@keyframes scanRotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.scan-pulse{position:absolute;border-radius:50%;border:2px solid rgba(16,185,129,.08);animation:pulseOut 3s ease-in-out infinite;pointer-events:none}@keyframes pulseOut{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.06);opacity:1}}.lens-toggle{position:absolute;transform:translateX(-50%);display:flex;gap:4px;background:hsla(0,0%,100%,.88);border:1px solid hsla(0,0%,100%,.5);border-radius:18px;padding:4px;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);box-shadow:0 8px 28px rgba(0,0,0,.12),inset 0 0 0 1px hsla(0,0%,100%,.6);animation:toggleIn .25s cubic-bezier(.34,1.56,.64,1)}@keyframes toggleIn{0%{opacity:0;transform:translateX(-50%) scale(.85) translateY(8px)}to{opacity:1;transform:translateX(-50%) scale(1) translateY(0)}}.toggle-opt{display:flex;align-items:center;gap:5px;border:none;outline:none;background:transparent;border-radius:13px;padding:5px 11px;font-family:Inter,Noto Sans Thai,sans-serif;font-size:11px;font-weight:600;color:#94a3b8;cursor:pointer;white-space:nowrap;transition:all .2s cubic-bezier(.34,1.56,.64,1);line-height:1;user-select:none}.toggle-opt:hover:not(.active){background:rgba(241,245,249,.7);color:#475569}.tgl-icon{display:flex;align-items:center;flex-shrink:0}.tgl-label{letter-spacing:.01em}.toggle-opt.active.map{background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff;box-shadow:0 2px 10px rgba(59,130,246,.35)}.lens-drag-handle{position:absolute;border-radius:50%;cursor:grab;background:transparent;touch-action:none}.lens-drag-handle:active{cursor:grabbing}.map-pin{position:absolute;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;pointer-events:auto;cursor:pointer;filter:drop-shadow(0 3px 8px rgba(0,0,0,.16));animation:pinDrop .4s cubic-bezier(.34,1.56,.64,1) backwards}@keyframes pinDrop{0%{transform:translate(-50%,-120%);opacity:0}to{transform:translate(-50%,-100%);opacity:1}}.map-pin:nth-child(2n){animation-delay:.05s}.map-pin:nth-child(3n){animation-delay:.1s}.map-pin:hover{transform:translate(-50%,-110%) scale(1.12);z-index:999}.map-pin:hover .pin-label{opacity:1;transform:translateX(-50%) scale(1)}.pin-body{width:30px;height:30px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:linear-gradient(135deg,#fff,#f8fafc);border:2.5px solid var(--pin-color,#10b981);display:flex;align-items:center;justify-content:center;box-shadow:0 3px 8px rgba(0,0,0,.12),inset 0 0 0 1px hsla(0,0%,100%,.5)}.pin-icon{transform:rotate(45deg);font-size:13px;line-height:1;display:block}.pin-needle{width:2px;height:7px;background:var(--pin-color,#10b981);border-radius:0 0 2px 2px}.pin-label{bottom:calc(100% + 5px);left:50%;transform:translateX(-50%) scale(.9);backdrop-filter:blur(8px);border:1px solid hsla(0,0%,100%,.5);border-radius:7px;padding:3px 8px;font-size:10px;font-weight:600;color:#374151;max-width:130px;overflow:hidden;text-overflow:ellipsis;box-shadow:0 4px 12px rgba(0,0,0,.08);opacity:0;transition:opacity .18s,transform .18s cubic-bezier(.34,1.56,.64,1)}.pin-label,.pin-popup{position:absolute;background:hsla(0,0%,100%,.92);white-space:nowrap;pointer-events:none}.pin-popup{transform:translate(-50%,calc(-100% - 48px));backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid hsla(0,0%,100%,.5);border-radius:12px;padding:10px 14px;font-family:Inter,Noto Sans Thai,sans-serif;font-size:12px;box-shadow:0 12px 40px rgba(0,0,0,.13),inset 0 0 0 1px hsla(0,0%,100%,.6);z-index:900;animation:popupIn .25s cubic-bezier(.34,1.56,.64,1)}@keyframes popupIn{0%{opacity:0;transform:translate(-50%,calc(-100% - 38px)) scale(.92)}to{opacity:1;transform:translate(-50%,calc(-100% - 48px)) scale(1)}}.popup-name{font-weight:700;color:#111827;margin-bottom:4px}.popup-meta{display:flex;gap:9px;color:#6b7280;font-size:11px}.cap-pin{position:relative;width:36px;height:48px;cursor:pointer;transform-origin:bottom center;transition:transform .22s cubic-bezier(.34,1.56,.64,1);animation:capPinDrop .45s cubic-bezier(.34,1.56,.64,1) backwards}@keyframes capPinDrop{0%{transform:translateY(-16px) scale(.4);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.cap-pin:hover{transform:translateY(-4px) scale(1.12);z-index:5}.cap-pin:hover .cap-pin-label{opacity:1;transform:translate(-50%,-2px) scale(1)}.cap-pin-glow{position:absolute;left:50%;top:31px;width:20px;height:7px;transform:translateX(-50%);background:radial-gradient(ellipse at center,rgba(15,23,42,.32),transparent 72%);border-radius:50%;filter:blur(.5px)}.cap-pin-body{position:absolute;left:50%;top:0;width:32px;height:32px;transform:translateX(-50%) rotate(-45deg);border-radius:50% 50% 50% 4px;background:var(--pin-color,#10b981);border:2.5px solid #fff;box-shadow:0 5px 12px rgba(15,23,42,.32),0 0 0 1px rgba(15,23,42,.05);display:flex;align-items:center;justify-content:center;overflow:hidden}.cap-pin-body:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,hsla(0,0%,100%,.5),hsla(0,0%,100%,0) 58%)}.cap-pin-icon{position:relative;transform:rotate(45deg);font-size:16px;line-height:1;filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.35))}.cap-pin-needle{position:absolute;left:50%;top:30px;width:3px;height:8px;transform:translateX(-50%);background:var(--pin-color,#10b981);border-radius:0 0 3px 3px;box-shadow:0 1px 2px rgba(15,23,42,.25)}.cap-pin-label{position:absolute;left:50%;bottom:calc(100% + 4px);transform:translate(-50%,3px) scale(.9);background:rgba(15,23,42,.9);color:#fff;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:8px;padding:4px 10px;font-size:11px;font-weight:600;font-family:Inter,Noto Sans Thai,sans-serif;white-space:nowrap;max-width:170px;overflow:hidden;text-overflow:ellipsis;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s cubic-bezier(.34,1.56,.64,1);box-shadow:0 8px 20px rgba(0,0,0,.22);z-index:10}.cap-pin-label:after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:rgba(15,23,42,.9)}.no-data{font-size:.72rem;color:#9ca3af;text-align:center;padding:12px 0;line-height:1.7}.empty-state{text-align:center;padding:16px 0}.empty-icon{font-size:1.8rem;margin-bottom:8px}.empty-state p{font-size:.72rem;color:#9ca3af;line-height:1.6}.section-label{font-size:.59rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#9ca3af;margin-bottom:6px;margin-top:12px}.poi-card{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:9px;transition:background .15s}.poi-card:hover{background:#f0fdf4}.poi-card .poi-icon{width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}.poi-info{flex:1;min-width:0}.poi-name{font-size:.75rem;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.poi-meta{font-size:.64rem;color:#9ca3af;margin-top:1px}.poi-more{font-size:.67rem;color:#9ca3af;text-align:center;padding:6px 0}.gis-card{border-left:3px solid;background:#f9fafb;border-radius:8px;padding:8px 10px;margin-bottom:4px}.gis-card-header{display:flex;align-items:center;gap:6px;margin-bottom:5px}.gis-card-icon{font-size:1rem}.gis-card-title{font-size:.75rem;font-weight:700}.gis-card-body{display:flex;flex-direction:column;gap:3px}.gis-stat-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.gis-stat-lbl{font-size:.64rem;color:#6b7280}.gis-stat-val{font-size:.69rem;font-weight:700;color:#111827}.summary-panel{position:absolute;bottom:16px;right:16px;width:264px;background:hsla(0,0%,100%,.93);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid hsla(0,0%,100%,.55);border-radius:16px;box-shadow:0 8px 32px rgba(0,0,0,.11),inset 0 0 0 1px hsla(0,0%,100%,.6);z-index:810;overflow:hidden}.summary-header{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid rgba(0,0,0,.05)}.summary-live-dot{width:7px;height:7px;border-radius:50%;background:#10b981;flex-shrink:0;animation:livePulse 2s infinite}.summary-title{flex:1;font-size:.68rem;font-weight:800;color:#374151;text-transform:uppercase;letter-spacing:.08em}.summary-toggle-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:none;border:none;border-radius:6px;cursor:pointer;color:#9ca3af;transition:all .15s;padding:0}.summary-toggle-btn:hover{background:#f3f4f6;color:#374151}.summary-body{max-height:380px;overflow-y:auto;padding:10px 12px}.summary-body::-webkit-scrollbar{width:3px}.summary-body::-webkit-scrollbar-track{background:transparent}.summary-body::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:99px}.sum-count-rows{display:flex;flex-direction:column;gap:4px}.sum-cat-row{display:flex;align-items:center;gap:9px;padding:6px 9px;border-radius:9px;background:#f9fafb;border:1px solid #f1f5f9;transition:all .15s}.sum-cat-row-active{background:#fff;border-color:#e5e7eb;box-shadow:0 1px 4px rgba(0,0,0,.05)}.sum-cat-icon{font-size:1rem;flex-shrink:0;line-height:1}.sum-cat-name{flex:1;font-size:.72rem;font-weight:600;color:#374151}.sum-cat-cnt{font-size:.69rem;font-weight:800;color:#9ca3af;background:#f3f4f6;border-radius:99px;padding:2px 9px;font-variant-numeric:tabular-nums;transition:all .2s}.sum-divider{height:1px;background:#f1f5f9;margin:10px 0 8px}.sum-group-label{display:flex;align-items:center;justify-content:space-between;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;padding:6px 2px 3px}.sum-group-badge{border-radius:99px;padding:2px 8px;font-size:.61rem;font-weight:700}.sum-place-item{display:flex;align-items:center;gap:7px;padding:4px 5px;border-radius:7px;transition:background .12s;cursor:default}.sum-place-item:hover{background:#f8fafc}.sum-place-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.sum-place-nm{flex:1;font-size:.71rem;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sum-place-rt{font-size:.62rem;color:#f59e0b;flex-shrink:0}.sum-more{font-size:.63rem;color:#9ca3af;text-align:center;padding:3px 0 4px}.sum-empty{display:flex;align-items:center;gap:7px;padding:10px 4px 4px;font-size:.71rem;color:#9ca3af}.sum-empty-icon{font-size:1rem;flex-shrink:0}.feature-popup .maplibregl-popup-content{padding:0;border-radius:16px;overflow:hidden;box-shadow:0 16px 44px rgba(15,23,42,.22),inset 0 0 0 1px hsla(0,0%,100%,.5)}.feature-popup .maplibregl-popup-tip{border-top-color:#fff}.feature-popup .maplibregl-popup-close-button{width:22px;height:22px;font-size:15px;line-height:20px;color:#fff;background:rgba(15,23,42,.4);backdrop-filter:blur(4px);border-radius:50%;top:8px;right:8px}.feature-popup .maplibregl-popup-close-button:hover{background:rgba(15,23,42,.6);color:#fff}.fp-card{width:240px;font-family:Inter,Noto Sans Thai,sans-serif}.fp-image{width:100%;height:150px;overflow:hidden;background:#f1f5f9;display:flex;align-items:center;justify-content:center}.fp-image img{width:100%;height:100%;object-fit:contain;display:block}.fp-body{padding:12px 14px 13px}.fp-header{display:flex;align-items:flex-start;gap:9px}.fp-icon{width:30px;height:30px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}.fp-title-wrap{min-width:0}.fp-name{font-weight:800;font-size:13px;color:#1e293b;line-height:1.35}.fp-badge{display:inline-block;margin-top:4px;font-size:10px;font-weight:700;padding:2px 8px;border-radius:99px}.fp-details{font-size:12px;color:#475569;line-height:1.55;margin:8px 0 0}.fp-footer{align-items:center;gap:5px;font-size:10px;color:#94a3b8;margin-top:9px;padding-top:8px}.fp-footer,.fp-meta{display:flex;border-top:1px dashed #e2e8f0}.fp-meta{flex-direction:column;gap:6px;margin-top:10px;padding-top:9px}.fp-meta-row{display:flex;align-items:flex-start;gap:7px;font-size:11px;line-height:1.5}.fp-meta-ico{flex-shrink:0;margin-top:1px;opacity:.75}.fp-meta-lbl{color:#94a3b8;font-weight:700;flex-shrink:0}.fp-meta-val{color:#475569}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-logo{display:none!important}.maplibregl-ctrl-attrib{background:hsla(0,0%,100%,.75)!important;backdrop-filter:blur(8px)!important;color:#9ca3af!important;font-size:10px!important;border-radius:8px!important;border:1px solid hsla(0,0%,100%,.4)!important;padding:2px 8px!important}.maplibregl-ctrl-attrib a{color:#059669!important}@media (max-width:1023px){.sb{height:100vh;max-height:100vh;box-shadow:4px 0 32px rgba(0,0,0,.12)}}