@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:600;src:url(/3gpp-architecture-explorer/assets/chakra-petch-thai-600-normal-C620THcd.woff2)format("woff2"),url(/3gpp-architecture-explorer/assets/chakra-petch-thai-600-normal-BiM5MXH8.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:600;src:url(data:font/woff2;base64,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)format("woff2"),url(/3gpp-architecture-explorer/assets/chakra-petch-vietnamese-600-normal-Pvj4qcw_.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:600;src:url(/3gpp-architecture-explorer/assets/chakra-petch-latin-ext-600-normal-CdGvbdDU.woff2)format("woff2"),url(/3gpp-architecture-explorer/assets/chakra-petch-latin-ext-600-normal-nL80L4xU.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:600;src:url(/3gpp-architecture-explorer/assets/chakra-petch-latin-600-normal-DVQm9bgb.woff2)format("woff2"),url(/3gpp-architecture-explorer/assets/chakra-petch-latin-600-normal-DQKfcdKo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/3gpp-architecture-explorer/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/3gpp-architecture-explorer/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/3gpp-architecture-explorer/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/3gpp-architecture-explorer/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/3gpp-architecture-explorer/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/3gpp-architecture-explorer/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/3gpp-architecture-explorer/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/3gpp-architecture-explorer/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/3gpp-architecture-explorer/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/3gpp-architecture-explorer/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/3gpp-architecture-explorer/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2)format("woff2"),url(/3gpp-architecture-explorer/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/3gpp-architecture-explorer/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2)format("woff2"),url(/3gpp-architecture-explorer/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/3gpp-architecture-explorer/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2)format("woff2"),url(/3gpp-architecture-explorer/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/3gpp-architecture-explorer/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2)format("woff2"),url(/3gpp-architecture-explorer/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/3gpp-architecture-explorer/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(/3gpp-architecture-explorer/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#12151d;--bg-raised:#171b25;--bg-overlay:#1e2330;--fg:#dcddde;--fg-muted:#9a9aa3;--border:#2c3140;--accent:#7aa2f7;--halo:#ffd166;--dom-ue:#76b7b2;--dom-ran:#4e79a7;--dom-cs:#bab0ac;--dom-ps:#9c755f;--dom-epc:#f28e2b;--dom-5gc:#59a14f;--dom-ims:#b07aa1;--dom-common:#edc948;--dom-non3gpp:#e15759;--dom-external:#ff9da7;--sidebar-w:300px;--panel-w:340px;--font-display:"Chakra Petch", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--bg);color:var(--fg);font:14px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}#app{display:flex}#sidebar{width:var(--sidebar-w);-webkit-backdrop-filter:blur(14px);border-right:1px solid var(--border);scrollbar-width:thin;scrollbar-color:var(--border) transparent;background:#171b25d1;flex:none;padding:12px;overflow-y:auto}#canvas-wrap{flex:1;min-width:0;position:relative}#graph-canvas{touch-action:none;width:100%;height:100%;position:absolute;inset:0}@keyframes panel-open{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:none}}#panel{width:var(--panel-w);-webkit-backdrop-filter:blur(14px);border-left:1px solid var(--border);scrollbar-width:thin;scrollbar-color:var(--border) transparent;background:#1e2330db;padding:16px;transition:transform .22s,opacity .22s;position:absolute;top:0;bottom:0;right:0;overflow-y:auto}#panel.closing{opacity:0;pointer-events:none;transform:translate(12px)}#panel.opening{animation:.22s panel-open}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}#sidebar-toggle{z-index:5;background:var(--bg-raised);color:var(--fg);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:6px 10px;display:none;position:absolute;top:10px;left:10px}#app-title{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;margin:2px 4px 10px;font-size:14px}.sb-section{border-bottom:1px solid var(--border);padding:6px 0}.sb-section summary{cursor:pointer;font-family:var(--font-display);letter-spacing:.03em;padding:6px 4px;font-weight:600;transition:background .15s,border-color .15s,opacity .15s,color .15s}.sb-body{flex-direction:column;gap:6px;padding:6px 4px 10px;display:flex}.gen-filters{flex-wrap:wrap;gap:4px 12px;display:flex}.gen-filters label,.sb-body>label{cursor:pointer;-webkit-user-select:none;user-select:none}.count{color:var(--fg-muted);font-family:var(--font-mono);font-size:12px}.reset-btn{background:var(--bg-overlay);color:var(--fg);border:1px solid var(--border);cursor:pointer;font:inherit;border-radius:6px;align-self:flex-start;padding:4px 10px;font-size:13px;transition:background .15s,border-color .15s,opacity .15s,color .15s}.reset-btn:hover{border-color:var(--accent)}.legend-row{width:100%;color:var(--fg);cursor:pointer;text-align:left;font:inherit;background:0 0;border:none;border-radius:4px;align-items:center;gap:8px;padding:3px 4px;transition:background .15s,border-color .15s,opacity .15s,color .15s;display:flex}.legend-row:hover{background:var(--bg-overlay)}.legend-row.off{opacity:.35}.legend-row .count{margin-left:auto}.legend-dot{border-radius:50%;flex:none;width:10px;height:10px}.search-input{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--fg);font:inherit;border-radius:6px;padding:7px 10px}.search-input:focus{outline:1px solid var(--accent)}@keyframes rise-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.search-results{border:1px solid var(--border);border-radius:6px;margin:4px 0 0;padding:0;list-style:none;animation:.14s rise-in;overflow:hidden}.search-results li{cursor:pointer;align-items:center;gap:8px;padding:6px 8px;transition:background .15s,border-color .15s,opacity .15s,color .15s;display:flex}.search-results li small{color:var(--fg-muted)}.search-results li.active,.search-results li:hover{background:var(--bg-overlay)}#panel h2{margin:4px 0 0}#panel h3{color:var(--fg-muted);text-transform:uppercase;letter-spacing:.04em;margin:14px 0 6px;font-size:12px}#panel .muted{color:var(--fg-muted);margin:2px 0 8px}.chips{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.chip{border:1px solid var(--border);font-family:var(--font-mono);border-radius:999px;padding:1px 8px;font-size:11px;transition:background .15s,border-color .15s,opacity .15s,color .15s}.spec-list{margin:0;padding-left:18px}.spec-list a{color:var(--accent)}.if-table{border-collapse:collapse;width:100%;font-family:var(--font-mono);font-size:13px}.if-table th{text-align:left;color:var(--fg-muted);padding:2px 4px;font-weight:500}.if-table td{border-top:1px solid var(--border);padding:3px 4px}.linkish{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;transition:background .15s,border-color .15s,opacity .15s,color .15s}.linkish:hover{text-decoration:underline}.panel-close{color:var(--fg-muted);cursor:pointer;background:0 0;border:none;font-size:20px;position:absolute;top:8px;right:10px}.slider-row{align-items:center;gap:8px;display:flex}.slider-row span{flex:none;width:110px;font-size:13px}.slider-row input{flex:1}input[type=range]{appearance:none;background:var(--border);border-radius:2px;height:4px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent);border:2px solid var(--bg-raised);cursor:pointer;border-radius:50%;width:12px;height:12px;margin-top:-4px;transition:box-shadow .15s}input[type=range]::-webkit-slider-thumb:hover{box-shadow:0 0 0 4px #7aa2f733}input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px #7aa2f733}input[type=range]::-moz-range-thumb{appearance:none;background:var(--accent);border:2px solid var(--bg-raised);cursor:pointer;border-radius:50%;width:12px;height:12px;transition:box-shadow .15s}input[type=range]::-moz-range-thumb:hover{box-shadow:0 0 0 4px #7aa2f733}input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px #7aa2f733}input[type=checkbox]{appearance:none;border:1px solid var(--border);background:var(--bg);vertical-align:-2px;cursor:pointer;border-radius:4px;width:14px;height:14px;transition:background .15s,border-color .15s;display:inline-block;position:relative}input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}input[type=checkbox]:checked:after{content:"";border:2px solid #0e1118;border-top:none;border-left:none;width:5px;height:8px;position:absolute;top:1px;left:3px;transform:rotate(45deg)}#sidebar::-webkit-scrollbar{width:8px}#panel::-webkit-scrollbar{width:8px}#sidebar::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}#panel::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}#sidebar::-webkit-scrollbar-thumb:hover{background:#3a4154}#panel::-webkit-scrollbar-thumb:hover{background:#3a4154}#hud{font-family:var(--font-mono);letter-spacing:.08em;color:var(--fg-muted);pointer-events:none;z-index:4;font-size:11px;position:absolute;bottom:12px;left:14px}#minimap{border:1px solid var(--border);cursor:pointer;z-index:4;background:#0e1118d9;border-radius:8px;width:168px;height:112px;position:absolute;bottom:12px;right:14px}button:focus-visible,input:focus-visible,summary:focus-visible,a:focus-visible{outline:1px solid var(--accent);outline-offset:2px}@media (width<=1024px){:root{--sidebar-w:260px;--panel-w:300px}}@media (width<=768px){#sidebar{z-index:6;width:min(340px,85vw);padding-top:calc(12px + env(safe-area-inset-top));padding-bottom:calc(12px + env(safe-area-inset-bottom));transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}#sidebar.open{transform:none;box-shadow:4px 0 24px #00000080}#sidebar-toggle{top:calc(10px + env(safe-area-inset-top));display:block}#panel{border-left:none;border-top:1px solid var(--border);width:auto;max-height:55vh;padding-bottom:calc(16px + env(safe-area-inset-bottom));border-radius:12px 12px 0 0;inset:auto 0 0}#panel:before{content:"";background:var(--border);border-radius:2px;width:36px;height:4px;margin:0 auto 10px;display:block}#sb-forces{display:none}#panel.closing{transform:translateY(16px)}@keyframes panel-open-mobile{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}#panel.opening{animation:.22s panel-open-mobile}#hud,#minimap{display:none}.search-input{font-size:16px}.panel-close{padding:6px 10px;font-size:26px}.if-table td,.legend-row{padding:8px 4px}.gen-filters{gap:8px 16px}input[type=checkbox]{width:18px;height:18px}}@media (prefers-reduced-motion:reduce){#sidebar,#panel,.legend-row,.reset-btn,.search-results li,.linkish,.chip,.sb-section summary{transition:none}.search-results,#panel.opening{animation:none}}.overlay{z-index:10;background:#00000080;place-items:center;display:grid;position:fixed;inset:0}.overlay-box{background:var(--bg-raised);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:12px;max-width:640px;max-height:80vh;padding:20px;display:flex;overflow-y:auto}.overlay-box h2{margin:0;font-size:16px}.plane-swatch{vertical-align:middle;width:18px;display:inline-block}.plane-swatch.cp{border-top:1.5px solid #8a8a99}.plane-swatch.up{border-top:3px solid #7fb3e8}#canvas-wrap:has(#panel:not([hidden])) #minimap{right:calc(var(--panel-w) + 14px)}.node-details{border:1px solid var(--border);background:#0e111866;border-radius:8px;margin:6px 0 2px;padding:6px 12px}.node-details summary{cursor:pointer;color:var(--accent);font-size:13px;font-family:var(--font-display);letter-spacing:.03em;padding:2px 0}.node-details p,.node-details ul{margin:8px 0;font-size:13px}.node-details ul{padding-left:18px}.node-details li{margin:3px 0}
