:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}html,body,#root{height:100%}html.gejia-wx-embed,html.gejia-wx-embed body,html.gejia-wx-embed #root{height:100%;min-height:0;overflow:hidden}body{margin:0}#root{box-sizing:border-box;flex-direction:column;height:100%;min-height:100%;display:flex}code{font-family:var(--mono);color:var(--text-h);background:var(--code-bg);border-radius:4px;padding:2px 6px;font-size:.9em}.map-view{z-index:0;width:100%;height:100%;min-height:0}.map-view .leaflet-container{width:100%;height:100%;font-family:inherit}.map-view .leaflet-overlay-pane svg path.patent-grid-coarse-cell{cursor:pointer;vector-effect:non-scaling-stroke;paint-order:fill stroke;clip-path:inset(0 round min(28%,11px));filter:drop-shadow(0 4px 14px #0f172a1a)drop-shadow(0 1px 4px #0f172a0f);transition:filter .22s,fill-opacity .2s,fill .2s;stroke:#0000!important;stroke-width:0!important}.map-view .leaflet-overlay-pane svg path.patent-grid-coarse-cell--macro{clip-path:inset(0 round min(24%,14px));filter:drop-shadow(0 6px 18px #0f172a1a)drop-shadow(0 2px 6px #0f172a0f)}.map-view .leaflet-overlay-pane svg path.patent-grid-coarse-cell--large{clip-path:inset(0 round min(26%,12px));filter:drop-shadow(0 5px 16px #0f172a1c)drop-shadow(0 2px 5px #0f172a12)}@media (hover:hover) and (pointer:fine){.map-view .leaflet-overlay-pane svg path.patent-grid-coarse-cell:hover{filter:drop-shadow(0 14px 32px #22c55e24)drop-shadow(0 5px 16px #0f172a1f);fill-opacity:1;fill:#ffffff75!important}.map-view .leaflet-overlay-pane svg path.patent-grid-coarse-cell--macro:hover{filter:drop-shadow(0 17px 36px #0ea5e91f)drop-shadow(0 6px 18px #0f172a1f);fill-opacity:1;fill:#ffffff80!important}.map-view .leaflet-overlay-pane svg path.patent-grid-coarse-cell--large:hover{filter:drop-shadow(0 16px 34px #3b82f61f)drop-shadow(0 6px 18px #0f172a1f);fill-opacity:1;fill:#ffffff7a!important}}.map-view .leaflet-overlay-pane svg path.patent-grid-coarse-cell:active{filter:drop-shadow(0 10px 24px #0f172a1f)drop-shadow(0 3px 10px #0f172a14);fill-opacity:1;transition-duration:80ms;fill:#ffffff61!important}.map-view .leaflet-overlay-pane svg path.patent-grid-coarse-cell--macro:active{filter:drop-shadow(0 12px 28px #0f172a1f)drop-shadow(0 4px 12px #0f172a14);fill-opacity:1;fill:#ffffff6b!important}.map-view .leaflet-overlay-pane svg path.patent-grid-coarse-cell--large:active{filter:drop-shadow(0 11px 26px #0f172a1f)drop-shadow(0 4px 12px #0f172a17);fill-opacity:1;fill:#fff6!important}@media (prefers-reduced-motion:reduce){.map-view .leaflet-overlay-pane svg path.patent-grid-coarse-cell{transition:none}}.map-view .leaflet-overlay-pane svg path.patent-grid-fine-cell{cursor:default;vector-effect:non-scaling-stroke;paint-order:fill stroke;clip-path:inset(0 round min(30%,10px));transition:filter .22s,fill-opacity .2s;stroke:#0000!important;stroke-width:0!important}.map-view .leaflet-overlay-pane svg path.patent-grid-fine-cell--bindable{filter:drop-shadow(0 5px 16px #22c55e1f)drop-shadow(0 2px 8px #15803d14)drop-shadow(0 1px 3px #0f172a0d)}.map-view .leaflet-overlay-pane svg path.patent-grid-fine-cell--bound{filter:drop-shadow(0 4px 14px #64748b1a)drop-shadow(0 1px 5px #0f172a0f)}@media (hover:hover) and (pointer:fine){.map-view .leaflet-overlay-pane svg path.patent-grid-fine-cell--bindable:hover{filter:drop-shadow(0 14px 32px #22c55e2e)drop-shadow(0 6px 16px #15803d1f)drop-shadow(0 2px 5px #0f172a0f);fill-opacity:.72!important}.map-view .leaflet-overlay-pane svg path.patent-grid-fine-cell--bound:hover{filter:drop-shadow(0 12px 28px #94a3b824)drop-shadow(0 4px 12px #47556917);fill-opacity:.52!important}}@media (prefers-reduced-motion:reduce){.map-view .leaflet-overlay-pane svg path.patent-grid-fine-cell{transition:none}}.map-view .patent-fine-binding-legend{max-width:11.5rem;color:var(--text-h,#1e293b);background:linear-gradient(145deg, #eefdf6 0%, color-mix(in srgb, var(--bg,#fff) 94%, transparent) 100%);border:1px solid #cdf0de;border-radius:10px;margin:0 10px 24px 0;padding:10px 12px;font-size:12px;line-height:1.4;box-shadow:0 1px 2px #15803d0f,0 8px 24px #0f172a0f}.map-view .patent-fine-binding-legend__title{color:#15803d;letter-spacing:.02em;margin-bottom:6px;font-size:13px;font-weight:600}.map-view .patent-fine-binding-legend__row{align-items:center;gap:8px;margin-bottom:4px;display:flex}.map-view .patent-fine-binding-legend__swatch{border-style:solid;border-width:1.5px;border-radius:2px;flex-shrink:0;width:18px;height:12px}.map-view .patent-fine-binding-legend__swatch--bindable{opacity:1;background:linear-gradient(160deg,#ecfdf5 0%,#d1fae5 100%);border-style:solid;border-color:#22c55e59;box-shadow:0 2px 8px #22c55e1f}.map-view .patent-fine-binding-legend__swatch--bound{opacity:1;background:linear-gradient(160deg,#f8fafc 0%,#e2e8f0 100%);border-color:#94a3b88c;box-shadow:0 2px 6px #64748b1a}.map-view .patent-fine-binding-legend__hint{color:var(--text-m,#64748b);border-top:1px solid #d4ede5;margin-top:6px;padding-top:6px;font-size:11px}.leaflet-tooltip.patent-fine-binding-tooltip{color:#1e293b;background:#f1fef8;border:1px solid #cff0e0;border-radius:8px;padding:8px 10px;font-size:12px;line-height:1.35;box-shadow:0 6px 20px #0f172a14}.leaflet-tooltip.patent-fine-binding-tooltip .patent-fine-tip-id{opacity:.72;color:#64748b;word-break:break-all;font-family:ui-monospace,monospace;font-size:10px}.map-view-token-hint{z-index:1000;text-align:left;max-width:min(92vw,28rem);color:var(--text-h);background:color-mix(in srgb, var(--bg) 92%, transparent);border:1px solid var(--border);box-shadow:var(--shadow);pointer-events:auto;border-radius:8px;padding:10px 14px;font-size:14px;line-height:1.45;position:absolute;top:12px;left:50%;transform:translate(-50%)}.map-view-token-hint__link{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.map-view-token-hint__link:hover{text-decoration-thickness:2px}.map-shell{width:100%;height:100%;min-height:0;position:relative}.gtm-sheet-backdrop{z-index:1200;cursor:default;background:#0f172a47;border:none;margin:0;padding:0;position:fixed;inset:0}.gtm-sheet{z-index:1201;background:#fff;border-radius:16px 16px 0 0;flex-direction:column;max-height:min(72vh,560px);animation:.22s ease-out gtm-sheet-up;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 32px #0f172a29}@keyframes gtm-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.gtm-sheet-handle{background:#cbd5e1;border-radius:999px;flex-shrink:0;width:36px;height:4px;margin:8px auto 4px}.gtm-sheet-head{border-bottom:1px solid #f1f5f9;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:4px 16px 12px;display:flex}.gtm-sheet-title{color:#0f172a;font-size:16px;font-weight:700}.gtm-sheet-grid-id{letter-spacing:.02em;word-break:break-all;padding-top:2px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px}.gtm-sheet-sub{color:#64748b;word-break:break-all;margin-top:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.gtm-sheet-close,.gtm-sheet-back{color:#334155;cursor:pointer;background:#f8fafc;border:none;border-radius:8px;flex-shrink:0;width:36px;height:36px;font-size:20px;line-height:1}.gtm-sheet-back{width:auto;padding:0 12px;font-size:15px}.gtm-sheet-body{padding:8px 0 calc(12px + env(safe-area-inset-bottom,0px));flex:1;min-height:0;overflow:auto}.gtm-sheet-hint{text-align:center;color:#64748b;padding:24px 16px;font-size:14px}.gtm-sheet-err{color:#dc2626}.gtm-tag-list{margin:0;padding:0;list-style:none}.gtm-tag-row{text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #f8fafc;align-items:center;gap:10px;width:100%;padding:12px 16px;display:flex}.gtm-tag-row:active{background:#f8fafc}.gtm-tag-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.gtm-tag-main{flex:1;min-width:0}.gtm-tag-name{color:#0f172a;font-size:15px;font-weight:600;display:block}.gtm-tag-meta{color:#64748b;margin-top:2px;font-size:12px;display:block}.gtm-tag-chevron{color:#94a3b8;font-size:20px}.gtm-detail-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin:0 16px 12px;padding:14px}.gtm-detail-name{color:#0f172a;font-size:18px;font-weight:700}.gtm-detail-meta{color:#64748b;margin-top:6px;font-size:13px}.gtm-detail-desc{color:#334155;margin-top:10px;font-size:14px;line-height:1.5}.gtm-detail-stats{color:#334155;gap:16px;margin-top:12px;font-size:14px;display:flex}.gtm-detail-section{color:#0f172a;margin-bottom:8px;font-size:15px;font-weight:700}.gtm-comment-list{margin:0;padding:0;list-style:none}.gtm-comment-nick{color:#475569;font-size:12px;font-weight:600}.gtm-comment-text{color:#0f172a;margin-top:4px;font-size:14px;line-height:1.45}.gtm-comment-time{color:#94a3b8;margin-top:4px;font-size:11px}.gtm-full-detail-btn{color:#fff;cursor:pointer;background:#16a34a;border:none;border-radius:10px;width:calc(100% - 32px);margin:4px 16px 12px;padding:12px;font-size:15px;font-weight:600;display:block}html.gejia-wx-embed .gtm-sheet{max-height:min(68vh,520px)}.gtm-sheet-notice{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;margin:0 16px 8px;padding:8px 10px;font-size:12px;line-height:1.4}.gtm-sheet-has-composer{padding-bottom:0}.gtm-comment-item{text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #e2e8f0;width:100%;padding:8px 0}.gtm-comment-item:last-child{border-bottom:none}.gtm-composer{padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid #e2e8f0;flex-shrink:0}.gtm-reply-hint{color:#64748b;margin-bottom:6px;font-size:12px}.gtm-cancel-reply{color:#16a34a;cursor:pointer;background:0 0;border:none;margin-left:8px;font-size:12px}.gtm-composer-login{color:#64748b;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:12px;display:flex}.gtm-login-btn{color:#15803d;cursor:pointer;background:#f0fdf4;border:none;border-radius:6px;padding:4px 10px;font-size:12px}.gtm-composer-hint{color:#9a3412;margin-bottom:6px;font-size:12px}.gtm-composer-row{align-items:center;gap:8px;display:flex}.gtm-composer-input{border:1px solid #e2e8f0;border-radius:10px;outline:none;flex:1;min-width:0;height:38px;padding:0 12px;font-size:14px}.gtm-composer-input:focus{border-color:#86efac}.gtm-send-btn{color:#fff;cursor:pointer;background:#16a34a;border:none;border-radius:10px;flex-shrink:0;height:38px;padding:0 14px;font-size:14px;font-weight:600}.gtm-send-btn:disabled{opacity:.6;cursor:default}.gtm-sheet-has-footer{padding-bottom:0}.gtm-sheet-footer{padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid #e2e8f0;flex-shrink:0}.gtm-add-tag-btn{color:#fff;cursor:pointer;background:#16a34a;border:none;border-radius:10px;width:100%;padding:12px;font-size:15px;font-weight:600;display:block}.gtm-add-tag-btn:disabled{opacity:.65;cursor:default}.gtm-sheet-notice-ok{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.gtm-submit-body{padding:8px 16px 12px}.gtm-submit-grid{color:#64748b;word-break:break-all;margin-bottom:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.gtm-field{margin-bottom:12px;display:block}.gtm-field-label{color:#334155;margin-bottom:6px;font-size:13px;font-weight:600;display:block}.gtm-field-input,.gtm-field-textarea{box-sizing:border-box;color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:10px;width:100%;font-size:14px}.gtm-field-input{height:40px;padding:0 12px}.gtm-field-textarea{resize:vertical;min-height:88px;padding:10px 12px}.gtm-field-input:focus,.gtm-field-textarea:focus{border-color:#86efac;outline:none}.gtm-action-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.gtm-act-btn{color:#475569;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:8px 14px;font-size:14px}.gtm-act-btn.gtm-act-on{color:#15803d;background:#ecfdf5;border-color:#86efac}.gtm-act-btn:disabled{opacity:.65;cursor:default}.gtm-act-stat{color:#64748b;font-size:14px}.gtm-action-hint{color:#9a3412;margin-top:8px;font-size:12px}.gtm-action-hint.gtm-action-hint-ok{color:#166534}.gtm-search-float{top:calc(12px + env(safe-area-inset-top,0px));z-index:1100;pointer-events:none;position:absolute;left:16px;right:16px}.gtm-search-card{pointer-events:auto;background:#fffffffa;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;box-shadow:0 8px 28px #0f172a1f}.gtm-search-row{align-items:center;gap:8px;padding:8px 10px 8px 14px;display:flex}.gtm-search-icon{opacity:.7;flex-shrink:0;font-size:16px}.gtm-search-input{color:#0f172a;background:0 0;border:none;outline:none;flex:1;min-width:0;height:36px;font-size:15px}.gtm-search-input::placeholder{color:#94a3b8}.gtm-search-btn{color:#fff;cursor:pointer;background:#16a34a;border:none;border-radius:10px;flex-shrink:0;height:36px;padding:0 14px;font-size:14px;font-weight:600}.gtm-search-btn:disabled{opacity:.65;cursor:default}.gtm-search-panel{-webkit-overflow-scrolling:touch;border-top:1px solid #f1f5f9;max-height:min(42vh,320px);overflow:auto}.gtm-search-hint,.gtm-search-empty{text-align:center;color:#64748b;padding:14px 16px;font-size:13px}.gtm-search-empty .gtm-search-sub{color:#94a3b8;margin-top:4px;font-size:12px;display:block}.gtm-search-list{margin:0;padding:0;list-style:none}.gtm-search-item{text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #f8fafc;width:100%;padding:12px 16px}.gtm-search-item:last-child{border-bottom:none}.gtm-search-item:active{background:#f8fafc}.gtm-search-item-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.gtm-search-item-name{color:#0f172a;font-size:15px;font-weight:600}.gtm-search-item-cat{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:11px}.gtm-search-item-meta{color:#64748b;margin-top:4px;font-size:12px;line-height:1.4}html.gejia-wx-embed .gtm-search-float{top:calc(10px + env(safe-area-inset-top,0px));left:12px;right:12px}.grid-tag-map-view{z-index:0;flex:1;width:100%;height:100%;min-height:0}.grid-tag-map-view.leaflet-container{width:100%;height:100%;font-family:inherit}.grid-tag-map-view .leaflet-tile-pane img{max-width:none!important;max-height:none!important}html.gejia-wx-embed .grid-tag-map-view{height:100%;min-height:0}.grid-tag-map-shell{flex-direction:column;flex:1;width:100%;height:100%;min-height:0;display:flex;position:relative}.grid-tag-map-token-hint{z-index:1000;background:#fffffff0;border:1px solid #e2e8f0;border-radius:8px;padding:10px 14px;font-size:14px;position:absolute;top:12px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0f172a14}.leaflet-tooltip.grid-tag-map-marker-tip{color:#166534;background:#fffffff2;border:1px solid #bbf7d0;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:600;box-shadow:0 2px 8px #0f172a1f}.gtm-poi-icon{background:0 0!important;border:none!important}.gtm-poi{filter:drop-shadow(0 8px 16px #0f172a38);transform-origin:50% 100%;pointer-events:auto;flex-direction:column;align-items:center;width:118px;transition:transform .18s;display:flex;position:relative}.gtm-poi:hover,.gtm-poi--focus{z-index:2;transform:translateY(-2px)scale(1.04)}.gtm-poi__card{border:1.5px solid var(--poi-accent,#0d9488);background:#fff;border-radius:14px;width:100%;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffffa6,0 10px 22px #0f172a24}.gtm-poi__media{background:#e2e8f0;height:58px;position:relative;overflow:hidden}.gtm-poi__img{object-fit:fill;object-position:center;display:block;position:absolute;inset:0;width:100%!important;max-width:none!important;height:100%!important;max-height:none!important}.gtm-poi__fallback{color:#fff;letter-spacing:.02em;justify-content:center;align-items:center;width:100%;height:100%;font-size:22px;font-weight:800;display:flex}.gtm-poi__badge{z-index:1;letter-spacing:.02em;color:#fff;background:linear-gradient(135deg,#f59e0b,#ea580c);border-radius:999px;padding:2px 7px;font-size:10px;font-weight:800;position:absolute;top:6px;left:6px;box-shadow:0 2px 6px #ea580c59}.gtm-poi__badge--free{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 2px 6px #0596694d}.gtm-poi__meta{background:linear-gradient(#fff 0%,#f8fafc 100%);flex-direction:column;gap:1px;padding:6px 8px 7px;display:flex}.gtm-poi__name{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:800;line-height:1.2;overflow:hidden}.gtm-poi__sub{color:#64748b;letter-spacing:.01em;font-size:9px;font-weight:600}.gtm-poi__pin{background:var(--poi-accent,#0d9488);border:2px solid #fff;border-radius:50% 50% 50% 0;width:12px;height:12px;margin-top:-1px;transform:rotate(-45deg);box-shadow:0 2px 6px #0f172a40}.gtm-poi--focus .gtm-poi__card{border-color:#f59e0b;box-shadow:0 0 0 2px #f59e0b59,0 12px 26px #0f172a33}.gtm-poi--paid .gtm-poi__card{border-color:#ea580c}.gtm-poi--compact{width:56px}.gtm-poi--compact .gtm-poi__card{border-width:2px;border-radius:999px;width:48px;margin:0 auto}.gtm-poi--compact .gtm-poi__media{border-radius:999px;height:48px}.gtm-poi--compact .gtm-poi__meta{display:none}.gtm-poi--compact .gtm-poi__badge{white-space:nowrap;padding:1px 5px;font-size:9px;top:-2px;left:50%;transform:translate(-50%)}.gtm-poi--compact .gtm-poi__pin{width:10px;height:10px}.app{flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.app__map-wrap{flex:auto;min-height:0;position:relative}.app__map-wrap .map-shell{height:100%}
