:root{color:#edf8ff;background:#010713;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button{font:inherit}.app-shell{position:relative;width:100vw;height:100vh;min-width:960px;min-height:540px;overflow:hidden;background:radial-gradient(circle at 50% 47%,rgba(41,105,137,.13),transparent 28%),radial-gradient(circle at 64% 44%,rgba(164,92,110,.08),transparent 30%),linear-gradient(135deg,#010207,#050914 48%,#010207)}.canvas-layer{position:absolute;top:0;right:0;bottom:0;left:0;animation:sceneReveal 1.6s ease-out both}.scanline{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0 23px,rgba(255,255,255,.018) 24px,transparent 25px),linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),radial-gradient(circle at center,transparent 34%,rgba(0,0,0,.48) 100%);background-size:24px 100%,100% 4px,100% 100%;mix-blend-mode:screen;opacity:.34}.topbar{pointer-events:none;position:absolute;top:22px;left:34px;right:34px;display:grid;grid-template-columns:1fr auto 1fr;align-items:start;z-index:5}.title-block{grid-column:2;min-width:330px;padding:13px 34px 15px;border:1px solid rgba(255,255,255,.09);border-radius:18px;text-align:center;background:linear-gradient(180deg,#ffffff09,#ffffff01),#00000094;box-shadow:0 0 36px #ffffff0f,0 12px 45px #0000008c,inset 0 0 28px #ffffff09;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.eyebrow{display:block;margin-top:7px;color:#d0e1e86b;font-size:10px;letter-spacing:2.4px}.title-block h1{margin:0;font-family:STKaiti,KaiTi,Songti SC,SimSun,serif;font-size:clamp(29px,3.2vw,47px);line-height:1;font-weight:800;letter-spacing:0;color:#fffaf0;text-shadow:0 0 4px rgba(255,255,255,.92),0 0 18px rgba(255,232,170,.46),0 0 36px rgba(100,185,255,.24)}.focus-button{pointer-events:auto;grid-column:3;justify-self:end;display:inline-flex;align-items:center;gap:8px;height:39px;padding:0 16px;border:1px solid rgba(116,207,255,.36);border-radius:999px;color:#e7f8ff;background:#00000075;box-shadow:inset 0 0 18px #46b9ff14,0 0 28px #3aafff29;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.focus-button:hover{transform:translateY(-1px);border-color:#79e8ffb8;background:#0a2237b8}.layer-switch{pointer-events:auto;position:absolute;top:116px;left:50%;z-index:5;display:inline-flex;gap:4px;padding:4px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:#0000007a;box-shadow:0 14px 42px #00000061,inset 0 0 18px #ffffff06;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transform:translate(-50%)}.layer-button{height:31px;padding:0 16px;border:0;border-radius:999px;color:#e7f3fa99;background:transparent;cursor:pointer;transition:color .16s ease,background .16s ease,box-shadow .16s ease}.layer-button:hover{color:#ffffffe6}.layer-button-active{color:#fffdf2;background:#ffffff1c;box-shadow:inset 0 0 15px #ffecb314,0 0 18px #6ccdff24}.info-card{pointer-events:auto;position:absolute;top:120px;right:30px;width:min(360px,calc(100vw - 60px));min-height:360px;padding:23px 24px;border:1px solid rgba(255,255,255,.13);border-radius:6px;color:#e9f8ff;background:linear-gradient(180deg,#030509e6,#000000c7),radial-gradient(circle at 100% 0%,rgba(118,180,255,.08),transparent 36%);box-shadow:0 22px 60px #00000094,inset 0 0 1px #ffffff2e,inset 0 -40px 80px #ffffff05;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);opacity:0;transform:translate(24px);transition:opacity .26s ease,transform .26s ease;z-index:6}.info-card-open{opacity:1;transform:translate(0)}.close-button{position:absolute;top:18px;right:18px;display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(255,255,255,.16);border-radius:50%;color:#eaf7ffc7;background:#00000057;cursor:pointer}.close-button:hover{color:#fff;border-color:#ffffff5c}.card-kicker{display:inline-flex;align-items:center;gap:7px;margin-bottom:13px;font-size:12px;font-weight:700}.info-card h2{margin:0 32px 8px 0;font-size:28px;line-height:1.08;font-weight:680;letter-spacing:0}.meta-row{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:18px}.meta-row span{display:inline-flex;align-items:center;height:25px;padding:0 10px;border:1px solid rgba(178,226,255,.18);border-radius:999px;color:#dcefffc7;background:#ffffff06;font-size:12px}.info-card p{margin:0;color:#e7f5ffc7;font-size:13px;line-height:1.78}.related-block{margin-top:24px}.related-block h3{margin:0 0 11px;color:#eaf9ffc2;font-size:13px;font-weight:600}.related-list{display:flex;flex-wrap:wrap;gap:8px}.related-pill{display:inline-flex;align-items:center;gap:7px;max-width:100%;min-height:28px;padding:5px 10px;border:1px solid rgba(195,230,255,.12);border-radius:4px;color:#e5f4ffd1;background:#ffffff07;font-size:12px;font-family:inherit;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}.related-pill:hover{color:#fff;border-color:#ffffff47;background:#ffffff0f;transform:translateY(-1px)}.related-pill i{width:7px;height:7px;flex:0 0 auto;border-radius:50%}.hover-readout{pointer-events:none;position:absolute;left:34px;top:124px;display:inline-flex;align-items:center;gap:9px;height:37px;padding:0 13px;border:1px solid rgba(125,207,255,.2);border-radius:999px;color:#eefaff;background:#040e1a7a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;transform:translateY(-6px);transition:opacity .18s ease,transform .18s ease;z-index:4}.hover-readout-show{opacity:1;transform:translateY(0)}.hover-readout span{width:8px;height:8px;border-radius:50%;box-shadow:0 0 16px currentColor}.hover-readout strong{font-size:13px}.hover-readout em{color:#ddf1ff9e;font-size:12px;font-style:normal}.legend-bar{pointer-events:auto;position:absolute;left:28px;right:28px;bottom:0;display:flex;align-items:center;gap:18px;min-height:86px;padding:14px 22px 15px;border:0;border-top:1px solid rgba(255,255,255,.1);border-radius:0;background:linear-gradient(180deg,#0000002e,#000000d6),#000000ad;box-shadow:0 -18px 50px #0000007a,inset 0 1px #ffffff0a;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:5}.legend-heading{width:62px;flex:0 0 auto;color:#ffffffdb;font-size:17px;font-weight:700;line-height:1.18}.legend-item,.hint{display:inline-flex;align-items:center;gap:8px;color:#e8f6ffc7;font-size:15px;white-space:nowrap}.legend-item span{width:12px;height:12px;border-radius:50%}.legend-spacer{flex:1}.data-state{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border:1px solid rgba(255,209,102,.22);border-radius:4px;color:#ffe2a1d6;background:#ffd1660d;font-size:12px;white-space:nowrap}.data-state-cloud{border-color:#5dff9a40;color:#a6ffc8e0;background:#5dff9a0d}.hint{color:#c9e1f37a;font-size:12px}.size-control{display:inline-grid;grid-template-columns:auto 118px 42px;align-items:center;gap:9px;min-width:270px;color:#e8f6ffb8;font-size:12px;white-space:nowrap}.size-control label{max-width:112px;overflow:hidden;text-overflow:ellipsis}.size-control input{width:118px;accent-color:#ffe28a;cursor:pointer}.size-control input:disabled{cursor:not-allowed;opacity:.35}.size-control span{color:#fffaebd1;font-variant-numeric:tabular-nums}.node-label{pointer-events:none;padding:0;border-radius:0;color:#f2f8ffb8;background:transparent;text-shadow:0 0 3px rgba(255,255,255,.82),0 0 12px rgba(129,207,255,.6);font-size:10px;font-weight:600;line-height:1.15;white-space:nowrap;opacity:.68;-webkit-user-select:none;user-select:none}.node-label-active{color:#fffdf2;text-shadow:0 0 4px rgba(255,255,255,.95),0 0 14px rgba(255,234,181,.56),0 0 25px rgba(119,220,255,.32);opacity:1}.node-label-major{font-size:14px;font-weight:800}@keyframes sceneReveal{0%{opacity:0;filter:brightness(.35) blur(3px)}to{opacity:1;filter:brightness(1) blur(0)}}@media(max-width:980px){.app-shell{min-width:0}.topbar{left:16px;right:16px;grid-template-columns:1fr;gap:12px}.title-block,.focus-button{grid-column:1}.focus-button{justify-self:center}.info-card{top:auto;left:16px;right:16px;bottom:86px;width:auto;min-height:0;max-height:44vh;overflow:auto}.legend-bar{left:12px;right:12px;bottom:12px;overflow-x:auto}.hint{display:none}}
