:root{--bg:#0b1020;--bg2:#121a30;--bg3:#0a0f1f;--panel:#151f38;--panel-2:#1b2742;--text:#e6ecf5;--muted:#9fb0cc;--border:#ffffff17;--accent:#56b4e9;--accent2:#e69f00;--c-crystal:#56b4e9;--c-reaction:#e69f00;--c-principle:#2eca8b;--sidebar-w:248px}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;overflow:hidden}body{color:var(--text);background:radial-gradient(900px 500px at 8% -8%,#56b4e929,transparent 60%),radial-gradient(900px 500px at 110% 8%,#e69f001f,transparent 60%),linear-gradient(180deg,var(--bg) 0,var(--bg2) 100%);flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;display:flex}#__layout,#__nuxt{display:contents}.site-header{border-bottom:1px solid var(--border);background:linear-gradient(90deg,#56b4e929,#e69f0017 55%,#0000);flex-shrink:0;align-items:center;gap:22px;height:96px;padding:0 28px;display:flex}.site-title{letter-spacing:.04em;white-space:nowrap;background:linear-gradient(90deg,var(--accent),var(--accent2));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:36px;font-weight:800}.site-intro{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:19px;font-weight:400;overflow:hidden}.site-intro b{color:var(--text);font-weight:600}@media (width<=560px){.site-intro{display:none}}#app{flex:1;width:100vw;min-height:0;display:flex}#sidebar{width:var(--sidebar-w);background:var(--bg2);border-right:1px solid var(--border);z-index:30;flex-direction:column;flex-shrink:0;transition:transform .22s;display:flex;overflow-y:auto}.brand{border-bottom:1px solid var(--border);padding:16px 16px 12px}.brand .logo{color:var(--accent);font-size:15px;font-weight:800;line-height:1.3}.brand .logo .grad{background:linear-gradient(90deg,var(--accent),var(--accent2));color:#0000;-webkit-background-clip:text;background-clip:text}.brand small{margin-top:3px;font-weight:400;display:block}.brand small,.group-label{color:var(--muted);font-size:11px}.group-label{letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:8px;padding:14px 16px 6px;display:flex}.group-label .tag{border:1px solid;border-radius:6px;padding:2px 7px;font-size:10px;font-weight:700}.group-label.crystal .tag{color:var(--c-crystal);background:#56b4e91a;border-color:#56b4e94d}.group-label.reaction .tag{color:var(--c-reaction);background:#e69f001a;border-color:#e69f004d}.group-label.principle .tag{color:var(--c-principle);background:#2eca8b1a;border-color:#2eca8b4d}.group-label .cnt{color:var(--muted);margin-left:auto;font-size:11px}.nav-item{cursor:pointer;color:var(--muted);border-left:3px solid #0000;align-items:center;gap:11px;padding:9px 16px;font-size:13px;text-decoration:none;transition:all .15s;display:flex}.nav-item:hover{color:var(--text);background:#ffffff0a}.nav-item.active{color:var(--text);background:#56b4e914}.nav-item.active.crystal{border-left-color:var(--c-crystal)}.nav-item.active.reaction{border-left-color:var(--c-reaction)}.nav-item.active.principle{border-left-color:var(--c-principle)}.nav-item .num{background:#ffffff0f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:600;display:flex}.nav-item.active.crystal .num{background:var(--c-crystal);color:#0b1020}.nav-item.active.reaction .num{background:var(--c-reaction);color:#0b1020}.nav-item.active.principle .num{background:var(--c-principle);color:#0b1020}.nav-item .nm{flex:1;line-height:1.3}.nav-item .fm{color:var(--muted);opacity:.7;font-family:ui-monospace,monospace;font-size:10px}.sidebar-foot{border-top:1px solid var(--border);color:var(--muted);margin-top:auto;padding:12px 16px;font-size:11px;line-height:1.6}.sidebar-foot a{color:var(--accent);text-decoration:none}#main{flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.topbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0f1f99;flex-shrink:0;gap:12px;height:48px;padding:0 16px;display:flex}.menu-btn,.topbar{align-items:center}.menu-btn{border:1px solid var(--border);background:var(--panel);width:34px;height:34px;color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;font-size:16px;display:none}.crumb{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.crumb .sep{opacity:.5}.crumb .cat{border:1px solid;border-radius:6px;padding:2px 8px;font-size:11px}.crumb .cat.crystal{color:var(--c-crystal);background:#56b4e91a;border-color:#56b4e94d}.crumb .cat.reaction{color:var(--c-reaction);background:#e69f001a;border-color:#e69f004d}.crumb .cat.principle{color:var(--c-principle);background:#2eca8b1a;border-color:#2eca8b4d}.crumb .cur{color:var(--text);font-weight:600}.topbar .spacer{flex:1}.topbar .formula{color:var(--muted);background:#ffffff0d;border-radius:6px;padding:4px 9px;font-family:ui-monospace,monospace;font-size:12px}.topbar-brand{border-right:1px solid var(--border);flex-shrink:0;align-items:center;gap:9px;margin-right:4px;padding-right:14px;display:flex}.site-logo{filter:drop-shadow(0 0 6px #56b4e947);flex-shrink:0}.tb-name{letter-spacing:.02em;white-space:nowrap;background:linear-gradient(90deg,var(--accent),var(--accent2));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:14px;font-weight:800}@media (width<=600px){.tb-name{display:none}}.demo-stage-shell{background:var(--bg3);flex:1;min-height:0;position:relative;overflow:hidden}.scrim{opacity:0;pointer-events:none;z-index:20;background:#00000080;transition:opacity .22s;position:fixed;inset:0}.scrim.show{opacity:1;pointer-events:auto}@media (width<=820px){#sidebar{position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:0 0 40px #00000080}#sidebar.open{transform:translate(0)}.menu-btn{display:flex}}.member-area{flex-shrink:0;align-items:center;gap:11px;display:flex}.member-name{color:var(--accent);white-space:nowrap;font-size:15px;font-weight:700}.admin-link{color:var(--text);white-space:nowrap;background:#56b4e924;border:1px solid #56b4e94d;border-radius:7px;padding:5px 11px;font-size:12px;text-decoration:none;transition:all .15s}.admin-link:hover{background:#56b4e938}.logout-link{color:var(--muted);border:1px solid var(--border);white-space:nowrap;cursor:pointer;background:0 0;border-radius:7px;padding:5px 11px;font-family:inherit;font-size:12px;transition:all .15s}.logout-link:hover{color:#ff6b6b;background:#ff6b6b14;border-color:#ff6b6b66}@media (width<=820px){.member-name{display:none}}.demo-stage{--bg:#0b1020;--panel:#141c30c7;--panel-border:#78a0ff2e;--text:#e6ecff;--muted:#9fb0d8;--accent:#56b4e9;--accent2:#ffb86b;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;overflow:hidden}.demo-root,.demo-stage,.demo-stage #scene{position:absolute;inset:0}.demo-stage #scene{display:block}.panel{background:var(--panel);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(10px);border-radius:12px;position:absolute;box-shadow:0 8px 32px #00000059}#title{max-width:320px;padding:12px 16px;top:14px;left:14px}#title h1{margin:0 0 4px;font-size:15px;font-weight:600}#title p{color:var(--muted);margin:0;font-size:11.5px;line-height:1.5}#title .pill{color:var(--accent);background:#56b4e926;border:1px solid #56b4e94d;margin-top:6px}#title .pill,#title .pill2{border-radius:999px;padding:2px 8px;font-size:10.5px;display:inline-block}#title .pill2{color:var(--accent2);background:#ffb86b26;border:1px solid #ffb86b4d;margin-top:4px;margin-left:4px}#step-panel{min-width:580px;max-width:92vw;padding:14px 18px;top:14px;left:50%;transform:translate(-50%)}#step-title{align-items:center;gap:8px;margin-bottom:6px;font-size:13.5px;font-weight:600;display:flex}#step-title .idx{background:var(--accent);color:#0b1020;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:700;display:inline-flex}#step-desc{color:var(--muted);margin-bottom:12px;font-size:11.5px;line-height:1.55}#step-desc b{color:var(--text)}#step-desc .hi{color:#ffb86b;font-weight:600}#step-bar{align-items:center;gap:10px;display:flex}#step-slider{appearance:none;background:#ffffff1f;border-radius:3px;outline:none;flex:1;height:5px}#step-slider::-webkit-slider-thumb{appearance:none;background:var(--accent);cursor:pointer;width:20px;height:20px;box-shadow:0 0 0 1px var(--accent);border:3px solid #0b1020;border-radius:50%}#step-slider::-moz-range-thumb{background:var(--accent);cursor:pointer;border:3px solid #0b1020;border-radius:50%;width:20px;height:20px}.panel .step-btn{width:32px;height:32px;color:var(--text);cursor:pointer;background:#56b4e91f;border:1px solid #56b4e94d;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;transition:all .15s;display:flex}.panel .step-btn:hover{background:#56b4e940}#step-label{color:var(--accent);text-align:center;min-width:70px;font-family:ui-monospace,monospace;font-size:12px}.demo-mech .swatch{border:1px solid #fff3;border-radius:50%}#controls{width:220px;padding:12px 14px;top:14px;right:14px}#controls h2{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 8px;font-size:12px;font-weight:600}.row{justify-content:space-between;padding:5px 0;font-size:12.5px}.row,.row label{align-items:center;display:flex}.row label{cursor:pointer;gap:8px}.swatch{border:1px solid #ffffff26;border-radius:3px;width:12px;height:12px;display:inline-block}.switch{flex:none;width:34px;height:18px;position:relative}.switch input{display:none}.slider{cursor:pointer;background:#ffffff1f;border-radius:999px;inset:0}.slider,.slider:before{transition:all .2s;position:absolute}.slider:before{content:"";background:#fff;border-radius:50%;width:14px;height:14px;top:2px;left:2px}input:checked+.slider{background:var(--accent)}input:checked+.slider:before{transform:translate(16px)}.btnrow{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.panel button{min-width:60px;color:var(--text);cursor:pointer;background:#56b4e91f;border:1px solid #56b4e94d;border-radius:8px;flex:1;padding:6px 8px;font-size:11.5px;transition:all .15s}.panel button:hover{background:#56b4e940}.panel button.primary{background:#ffb86b26;border-color:#ffb86b59}.panel button.primary:hover{background:#ffb86b47}.sep{background:var(--panel-border);height:1px;margin:8px 0}.sc-range{appearance:none;background:#ffffff26;border-radius:2px;outline:none;width:100%;height:4px}.sc-range::-webkit-slider-thumb{appearance:none;background:var(--accent);cursor:pointer;border:2px solid #0b1020;border-radius:50%;width:14px;height:14px}.sc-range::-moz-range-thumb{background:var(--accent);cursor:pointer;border:2px solid #0b1020;border-radius:50%;width:14px;height:14px}#info{width:280px;max-height:46vh;padding:12px 14px;bottom:14px;left:14px;overflow:auto}#info h2{text-transform:uppercase;letter-spacing:.06em;margin:0 0 8px;font-weight:600}#info .empty,#info h2{color:var(--muted);font-size:12px}#info .empty{font-style:italic}#info .kv{justify-content:space-between;gap:10px;padding:3px 0;font-size:12px;display:flex}#info .k{color:var(--muted)}#info .v{color:var(--text);text-align:right;word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}#info .tag{border-radius:999px;margin-right:4px;padding:1px 7px;font-size:10.5px;display:inline-block}.nblist{margin-top:6px;font-size:11.5px}.nblist .nbi{cursor:pointer;background:#ffffff0a;border:1px solid #ffffff0f;border-radius:6px;justify-content:space-between;margin:2px 0;padding:3px 6px;display:flex}.nblist .nbi:hover{background:#56b4e91f}.nblist .nbi .idx{color:var(--muted);font-family:ui-monospace,monospace}#hint{color:var(--muted);max-width:230px;padding:8px 12px;font-size:11px;bottom:14px;right:14px}#hint b{color:var(--text)}#legend{background:var(--panel);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;gap:14px;padding:8px 14px;font-size:11.5px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}#legend .item{align-items:center;gap:6px;display:flex}#legend .dot{border-radius:50%;width:11px;height:11px}#legend .ln{border-radius:2px;width:18px;height:2px}#legend .dash{height:2px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}
