:root{color:#eff8fb;background:#071014;font-family:Inter,Microsoft YaHei,PingFang SC,Noto Sans CJK SC,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--gold: #e7ba37;--gold-soft: rgba(231, 186, 55, .22);--panel: rgba(12, 26, 31, .86);--line: rgba(224, 245, 255, .16)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow:hidden}button{font:inherit}.app-shell{width:100vw;height:100vh;background:radial-gradient(circle at 72% 36%,rgba(36,93,105,.36),transparent 28%),linear-gradient(135deg,#061013,#0c1d22 55%,#090e11)}.viewport{position:relative;width:100%;height:100%}.viewport canvas{display:block;cursor:grab}.viewport canvas:active{cursor:grabbing}.topbar{position:absolute;top:22px;left:24px;right:24px;z-index:10;display:flex;align-items:flex-start;justify-content:space-between;pointer-events:auto}.topbar h1,.topbar p{margin:0}.topbar h1{margin-top:4px;color:#f5fbff;font-size:24px;font-weight:760;letter-spacing:0;line-height:1.16}.eyebrow{color:#89cddd;font-size:12px;font-weight:720;letter-spacing:.08em;text-transform:uppercase}.search-wrap{position:relative;pointer-events:auto;margin-top:10px;display:flex;align-items:center;gap:8px;width:min(460px,62vw);min-height:38px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#091419d1}.search-wrap svg{color:#8edcff;flex:0 0 auto}.point-search{flex:1;min-width:0;border:0;outline:0;color:#def4ff;background:transparent;font-size:14px}.point-search::placeholder{color:#8bb7c8}.search-results{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:40;padding:8px;border:1px solid var(--line);border-radius:8px;background:#081216f2;box-shadow:0 18px 40px #0000005c}.search-item{width:100%;display:flex;align-items:center;justify-content:space-between;min-height:34px;padding:7px 10px;border:1px solid transparent;border-radius:6px;color:#d7edf5;background:transparent;cursor:pointer}.search-item:hover{border-color:#7fd8ff6b;background:#28617738}.search-empty{min-height:32px;display:flex;align-items:center;padding:6px 8px;color:#a5c9d6;font-size:13px}.icon-button,.back-button,.meridian-chip,.point-label{border:1px solid var(--line);outline:0;color:#eef8fb;background:#0a171cc7;box-shadow:0 12px 36px #0000003d;transition:border-color .16s ease,background .16s ease,transform .16s ease,color .16s ease}.icon-button{pointer-events:auto;display:grid;width:42px;height:42px;place-items:center;border-radius:8px;cursor:pointer}.icon-button:hover,.back-button:hover,.meridian-chip:hover{border-color:#e7ba37c7;background:#17262ae6}.meridian-panel{position:absolute;left:24px;bottom:24px;z-index:11;width:min(315px,calc(100vw - 48px));padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:0 22px 60px #00000059;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.panel-title{display:flex;align-items:center;gap:8px;color:#d9eef4;font-size:14px;font-weight:760}.reset-channel-button{min-height:30px;padding:0 10px;border:1px solid rgba(231,186,55,.36);border-radius:8px;color:#fff4ba;background:#e7ba371f;cursor:pointer}.reset-channel-button:disabled{cursor:default;opacity:.34}.meridian-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.meridian-chip{display:flex;align-items:center;min-height:36px;gap:8px;padding:8px 10px;border-radius:8px;color:#e9f7fb;cursor:pointer;font-size:13px;text-align:left}.meridian-chip.active{border-color:#f25f35;color:#ffd9cf;background:#f25f3529}.meridian-chip:disabled{cursor:default;opacity:.36}.swatch{flex:0 0 auto;width:11px;height:11px;border-radius:999px;box-shadow:0 0 14px currentColor}.meridian-note{margin:11px 0 0;color:#b9d2d8;font-size:12px;line-height:1.55}.detail-panel{position:absolute;top:88px;right:24px;z-index:12;width:min(370px,calc(100vw - 48px));padding:18px;border:1px solid rgba(231,186,55,.32);border-radius:8px;background:#0a161be6;box-shadow:0 28px 80px #0000006b;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.back-button{position:absolute;top:14px;right:14px;display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:7px 10px;border-radius:8px;cursor:pointer}.detail-heading{display:flex;align-items:center;gap:12px;padding-right:92px}.detail-heading svg{color:var(--gold)}.detail-heading p,.detail-heading h2{margin:0}.detail-heading p{color:#8fd2e4;font-size:12px;line-height:1.35}.detail-heading h2{margin-top:2px;color:#f25f35;font-size:28px;line-height:1.08;letter-spacing:0;text-shadow:none}.detail-panel section{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.detail-panel h3{margin:0 0 8px;color:#f3fbff;font-size:15px;line-height:1.35}.detail-panel p{margin:0;color:#c7dde3;font-size:14px;line-height:1.72}.point-label{pointer-events:none}.point-label.selected{color:#f25f35}.loading-hint{padding:10px 14px;border:1px solid rgba(127,216,255,.4);border-radius:8px;background:#081216db;color:#d7edf5;font-size:14px;line-height:1.4;box-shadow:0 12px 36px #0000003d}@media(max-width:760px){.topbar{top:14px;left:14px;right:14px}.topbar h1{font-size:20px}.search-wrap{width:min(420px,calc(100vw - 112px))}.detail-panel{inset:auto 12px 150px;width:auto;max-height:42vh;overflow:auto}.meridian-panel{left:12px;bottom:12px;width:calc(100vw - 24px);padding:12px}.meridian-list{grid-template-columns:1fr 1fr 1fr;gap:7px}.meridian-chip{min-height:34px;padding:7px;font-size:12px}.detail-heading h2{font-size:24px}}@media(max-width:480px){.meridian-list{grid-template-columns:1fr 1fr}.detail-panel{bottom:210px}.detail-heading{padding-right:86px}}.topbar{top:20px;left:24px;right:24px;display:grid;grid-template-columns:minmax(210px,1fr) minmax(280px,460px) minmax(128px,1fr);align-items:center;gap:22px}.brand-block h1{margin-top:4px;color:#f5fbff;font-size:22px;font-weight:760;line-height:1.2}.search-wrap{width:100%;min-height:44px;margin:0;padding:0 12px;border-radius:10px;background:#081116e6;box-shadow:0 10px 34px #00000038}.point-search{min-height:42px;font-size:14px}.search-clear{display:grid;width:28px;height:28px;place-items:center;border:0;border-radius:7px;color:#a9c2cb;background:transparent;cursor:pointer}.search-clear:hover{color:#fff;background:#ffffff14}.search-results{max-height:min(440px,65vh);overflow:auto;border-radius:10px;padding:6px;background:#081116fa}.search-item{display:grid;grid-template-columns:70px minmax(72px,1fr) auto;gap:8px;min-height:42px;text-align:left}.search-result-code{color:#8edcff;font-variant-numeric:tabular-nums}.search-result-name{color:#f0f7f9;font-weight:700}.search-result-channel{color:#91abb4;font-size:11px}.reset-view-button{justify-self:end;display:inline-flex;width:auto;min-width:126px;height:42px;align-items:center;justify-content:center;gap:8px;padding:0 12px;color:#e4f1f4;font-size:13px}.control-panel{position:absolute;left:24px;bottom:22px;z-index:11;width:min(360px,calc(100vw - 48px));max-height:calc(100vh - 116px);padding:14px;overflow:hidden;border:1px solid rgba(203,229,238,.19);border-radius:12px;color:#eff8fb;background:#081217eb;box-shadow:0 22px 64px #0006;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.control-panel.collapsed{width:min(360px,calc(100vw - 48px))}.panel-title-row{min-height:30px}.panel-title{gap:9px;font-size:14px}.panel-title svg{color:#9ed9e7}.panel-count{margin-left:2px;color:#91abb4;font-size:11px;font-weight:500}.panel-collapse-button{display:grid;width:30px;height:30px;place-items:center;border:1px solid rgba(224,245,255,.15);border-radius:8px;color:#c2d5da;background:#ffffff08;cursor:pointer}.control-panel.collapsed .panel-collapse-button svg{transform:rotate(180deg)}.control-panel-body{max-height:calc(100vh - 178px);overflow:auto;scrollbar-color:rgba(158,217,231,.25) transparent;scrollbar-width:thin}.display-layer-list{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.layer-toggle{display:flex;min-width:0;min-height:48px;align-items:center;gap:8px;padding:7px 8px;border:1px solid rgba(224,245,255,.12);border-radius:9px;color:#b7c8cd;background:#ffffff06;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.layer-toggle:hover{border-color:#7ecde173;background:#468ba01a}.layer-toggle.enabled{border-color:#64c1d559;color:#edf8fa;background:#3e8fa21f}.layer-toggle-icon{display:grid;flex:0 0 24px;height:24px;place-items:center;color:#7d98a0}.layer-toggle.enabled .layer-toggle-icon{color:#8ed9e9}.layer-toggle-copy{display:grid;min-width:0;gap:2px;flex:1}.layer-toggle-copy strong{overflow:hidden;color:inherit;font-size:12px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.layer-toggle-copy small{overflow:hidden;color:#91aab1;font-size:10px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.layer-switch{position:relative;flex:0 0 27px;width:27px;height:16px;border:1px solid rgba(213,235,241,.18);border-radius:999px;background:#02080a8f;transition:background .15s ease,border-color .15s ease}.layer-switch i{position:absolute;top:2px;left:2px;width:10px;height:10px;border-radius:50%;background:#70858c;transition:transform .15s ease,background .15s ease}.layer-switch.on{border-color:#6fd2e58c;background:#2ea3b85c}.layer-switch.on i{transform:translate(11px);background:#a3edf5}.layer-helper{margin:8px 1px 0;color:#91abb4;font-size:11px;line-height:1.45}.meridian-section{margin-top:14px;padding-top:13px;border-top:1px solid rgba(224,245,255,.12)}.meridian-section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.meridian-section-heading h2,.meridian-section-heading p{margin:0}.meridian-section-heading h2{color:#e8f3f6;font-size:13px;line-height:1.3}.meridian-section-heading p{margin-top:3px;color:#8fa8b0;font-size:10px;line-height:1.3}.clear-highlight-button{flex:0 0 auto;min-height:28px;padding:0 9px;border:1px solid rgba(231,186,55,.3);border-radius:7px;color:#f3d977;background:#e7ba3714;font-size:11px;cursor:pointer}.meridian-list{grid-template-columns:1fr 1fr;gap:6px;margin-top:9px}.meridian-chip{min-height:31px;gap:7px;padding:5px 7px;border-radius:7px;font-size:11px}.meridian-chip .swatch{width:9px;height:9px;box-shadow:none}.meridian-chip.active{border-color:#ff7049a6;color:#ffe3dc;background:#f25f3533}.meridian-note{margin:9px 0 0;color:#90a9b1;font-size:10px;line-height:1.45}.close-detail-button{position:absolute;top:12px;right:12px;display:inline-flex;min-height:30px;align-items:center;gap:5px;padding:0 8px;border:1px solid rgba(224,245,255,.13);border-radius:7px;color:#afc3ca;background:#ffffff09;font-size:11px;cursor:pointer}.close-detail-button:hover{color:#fff;border-color:#e7ba3773}.view-hint{position:absolute;right:24px;bottom:24px;z-index:8;max-width:300px;padding:8px 11px;border:1px solid rgba(224,245,255,.1);border-radius:8px;color:#acc2c8;background:#08121794;font-size:11px;pointer-events:none}@media(max-width:760px){.topbar{top:12px;left:12px;right:12px;grid-template-columns:minmax(0,1fr) auto;gap:10px}.brand-block h1{font-size:18px}.brand-block .eyebrow{font-size:10px}.search-wrap{grid-column:1 / -1;grid-row:2;width:100%;min-height:40px}.point-search{min-height:38px;font-size:13px}.reset-view-button{min-width:40px;width:40px;height:38px;padding:0}.reset-view-button span{display:none}.control-panel,.control-panel.collapsed{left:10px;right:10px;bottom:10px;width:auto;max-height:39vh;padding:11px}.control-panel-body{max-height:calc(39vh - 50px)}.display-layer-list{gap:6px}.layer-toggle{min-height:44px;padding:6px}.detail-panel{inset:108px 10px auto;width:auto;max-height:28vh;padding:14px;overflow:auto}.detail-panel section{margin-top:12px;padding-top:10px}.detail-panel p{font-size:12px;line-height:1.55}.detail-heading h2{font-size:22px}.view-hint{display:none}}@media(max-width:420px){.topbar h1{font-size:16px}.eyebrow{letter-spacing:.04em}.display-layer-list{grid-template-columns:1fr 1fr}.layer-toggle-copy small{font-size:9px}.meridian-list{grid-template-columns:1fr 1fr}}
