:root{--bg: #0b0e1a;--bg-2: #10152a;--panel: rgba(20, 26, 48, .72);--panel-solid: #141a30;--stroke: rgba(255, 255, 255, .08);--stroke-strong: rgba(255, 255, 255, .16);--text: #eef1fb;--muted: #9aa3c4;--faint: #6b7399;--accent: #7c8cff;--accent-2: #38e2c8;--warn: #ffb454;--danger: #ff6b8a;--rel-well: #38e2c8;--rel-context: #ffb454;--rel-myth: #ff6b8a;--r-lg: 18px;--r-md: 12px;--r-sm: 8px;--shadow: 0 18px 50px rgba(0, 0, 0, .45);font-synthesis:none;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--text);background:radial-gradient(1200px 700px at 78% -10%,rgba(124,140,255,.16),transparent 60%),radial-gradient(900px 600px at 12% 110%,rgba(56,226,200,.1),transparent 55%),var(--bg);overflow:hidden}h1,h2,.brand-text p{font-family:Space Grotesk,Inter,sans-serif}#app{display:grid;grid-template-columns:320px 1fr;height:100vh;width:100vw}#sidebar{background:linear-gradient(180deg,rgba(18,24,46,.9),rgba(11,14,26,.9));border-right:1px solid var(--stroke);display:flex;flex-direction:column;min-height:0;backdrop-filter:blur(8px)}.brand{display:flex;align-items:center;gap:12px;padding:20px 20px 16px;border-bottom:1px solid var(--stroke)}.brand-mark{width:38px;height:38px;border-radius:11px;flex:none;background:conic-gradient(from 140deg,var(--accent),var(--accent-2),var(--accent));box-shadow:0 6px 18px #7c8cff66;position:relative}.brand-mark:after{content:"";position:absolute;inset:9px;border-radius:6px;background:var(--bg);opacity:.55}.brand-text h1{margin:0;font-size:19px;letter-spacing:-.02em}.brand-text p{margin:2px 0 0;font-size:11.5px;color:var(--muted);letter-spacing:.02em}#topic-nav{overflow-y:auto;padding:10px 12px 18px;flex:1;min-height:0;scrollbar-width:thin;scrollbar-color:var(--stroke-strong) transparent}#topic-nav::-webkit-scrollbar{width:8px}#topic-nav::-webkit-scrollbar-thumb{background:var(--stroke-strong);border-radius:8px}.topic-group{margin-top:14px}.topic-group:first-child{margin-top:6px}.topic-title{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--faint);padding:4px 10px;margin-bottom:6px;display:flex;align-items:center;gap:8px}.topic-title .dot{width:7px;height:7px;border-radius:50%;flex:none}.demo-btn{width:100%;text-align:left;cursor:pointer;background:transparent;color:var(--text);border:1px solid transparent;border-radius:var(--r-md);padding:9px 11px;margin:3px 0;display:flex;align-items:center;gap:10px;transition:background .16s ease,border-color .16s ease,transform .1s ease;font-size:13.5px;font-weight:500}.demo-btn:hover{background:rgba(255,255,255,.04);border-color:var(--stroke)}.demo-btn.active{background:linear-gradient(90deg,rgba(124,140,255,.22),rgba(124,140,255,.05));border-color:#7c8cff73}.demo-btn .idx{font-size:11px;color:var(--faint);font-variant-numeric:tabular-nums;width:18px;flex:none}.demo-btn.active .idx{color:var(--accent)}.side-foot{padding:14px 18px;border-top:1px solid var(--stroke);font-size:11.5px;color:var(--muted);line-height:1.5}.side-foot strong{color:var(--text);font-weight:600}#stage{position:relative;min-width:0;min-height:0;display:grid;grid-template-rows:1fr auto}#canvas-wrap{position:relative;overflow:hidden}#scene{display:block;width:100%;height:100%}#arrow-layer,#label-layer{position:absolute;inset:0;pointer-events:none}#label-layer{z-index:3}#arrow-layer{z-index:2}.annot{position:absolute;max-width:208px;background:var(--panel);border:1px solid var(--stroke-strong);border-radius:var(--r-md);padding:8px 11px;box-shadow:var(--shadow);backdrop-filter:blur(10px);opacity:0;will-change:transform,opacity;pointer-events:auto}.annot .a-title{font-size:12.5px;font-weight:600;letter-spacing:-.01em;display:flex;align-items:center;gap:7px}.annot .a-num{width:17px;height:17px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:10.5px;font-weight:700;background:var(--accent);color:#0b0e1a}.annot .a-detail{margin:5px 0 0;font-size:11.5px;color:var(--muted);line-height:1.45}#stage-topbar{position:absolute;top:16px;left:16px;right:16px;z-index:4;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;pointer-events:none}#stage-topbar>*{pointer-events:auto}.pill{font-size:11.5px;font-weight:600;letter-spacing:.02em;padding:6px 12px;border-radius:999px;border:1px solid var(--stroke-strong);background:var(--panel);backdrop-filter:blur(10px);display:inline-flex;align-items:center;gap:8px}.pill .dot{width:8px;height:8px;border-radius:50%}.view-controls{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.skin-switch{display:inline-flex}#skin{font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;color:var(--text);background:var(--panel);backdrop-filter:blur(10px);border:1px solid var(--stroke);border-radius:var(--r-sm);padding:7px 10px;outline:none;transition:border-color .14s ease,opacity .14s ease}#skin:hover{border-color:var(--stroke-strong)}#skin:focus{border-color:#7c8cff80}#skin.loading{opacity:.5}#skin option{background:var(--panel-solid);color:var(--text)}.ctrl{font-family:inherit;font-size:12px;font-weight:500;cursor:pointer;color:var(--muted);background:var(--panel);backdrop-filter:blur(10px);border:1px solid var(--stroke);border-radius:var(--r-sm);padding:7px 11px;transition:all .14s ease}.ctrl:hover{color:var(--text);border-color:var(--stroke-strong)}.ctrl.toggle[aria-pressed=true]{color:#0b0e1a;background:var(--accent);border-color:var(--accent)}#readout{border-top:1px solid var(--stroke);background:linear-gradient(180deg,rgba(16,21,42,.6),rgba(11,14,26,.85));padding:16px 22px 18px;display:flex;flex-direction:column;gap:12px}.readout-head h2{margin:0;font-size:20px;letter-spacing:-.02em}.readout-head p{margin:3px 0 0;font-size:13px;color:var(--muted)}.readout-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rcard{background:rgba(255,255,255,.03);border:1px solid var(--stroke);border-left:3px solid var(--accent);border-radius:var(--r-md);padding:10px 13px}.rcard.caveat{border-left-color:var(--warn)}.rcard-label{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);font-weight:600}.rcard p{margin:5px 0 0;font-size:13px;line-height:1.5;color:var(--text)}.transport{display:flex;align-items:center;gap:14px}.primary{font-family:inherit;font-weight:600;font-size:13px;cursor:pointer;color:#0b0e1a;background:var(--accent);border:none;border-radius:var(--r-sm);padding:9px 15px;transition:transform .1s ease,box-shadow .16s ease,filter .16s;box-shadow:0 8px 20px #7c8cff4d}.primary:hover{filter:brightness(1.06)}.primary:active{transform:translateY(1px)}.transport .hint{font-size:12px;color:var(--faint)}#loading{position:absolute;inset:0;z-index:6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--muted);font-size:13px;background:var(--bg);transition:opacity .5s ease}#loading.hidden{opacity:0;pointer-events:none}.spinner{width:34px;height:34px;border-radius:50%;border:3px solid var(--stroke-strong);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.mode-switch{display:flex;gap:4px;margin:12px 14px 4px;background:rgba(255,255,255,.04);border:1px solid var(--stroke);border-radius:10px;padding:4px}.mode-btn{flex:1;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;color:var(--muted);background:transparent;border:none;border-radius:7px;padding:7px 0;transition:all .15s ease}.mode-btn:hover{color:var(--text)}.mode-btn.active{color:#0b0e1a;background:linear-gradient(135deg,var(--accent),#9aa6ff);box-shadow:0 4px 12px #7c8cff59}.sidebar-tools{padding:8px 14px 4px}.search-wrap{position:relative;display:flex;align-items:center}.search-ico{position:absolute;left:10px;color:var(--faint);pointer-events:none}#search{width:100%;font-family:inherit;font-size:13px;color:var(--text);background:rgba(255,255,255,.04);border:1px solid var(--stroke);border-radius:9px;padding:8px 10px 8px 32px;outline:none;transition:border-color .15s ease,background .15s ease}#search::placeholder{color:var(--faint)}#search:focus{border-color:#7c8cff80;background:rgba(124,140,255,.06)}.filter-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.chip{font-family:inherit;font-size:11px;font-weight:600;cursor:pointer;color:var(--muted);background:rgba(255,255,255,.04);border:1px solid var(--stroke);border-radius:999px;padding:4px 10px;transition:all .14s ease}.chip:hover{color:var(--text);border-color:var(--stroke-strong)}.chip.active{color:#0b0e1a;background:var(--accent);border-color:var(--accent)}.chip[data-rel=well-supported].active{background:var(--rel-well);border-color:var(--rel-well)}.chip[data-rel=context-dependent].active{background:var(--rel-context);border-color:var(--rel-context)}.chip[data-rel=myth-adjacent].active{background:var(--rel-myth);border-color:var(--rel-myth)}.demo-btn .rel-tick{width:6px;height:6px;border-radius:50%;margin-left:auto;flex:none;opacity:.85}.demo-btn.hide,.topic-group.empty{display:none}.nav-empty{padding:20px 14px;color:var(--faint);font-size:12.5px;text-align:center}.quiz-aside{padding:14px;flex:1}.quiz-aside-inner{background:rgba(124,140,255,.06);border:1px solid rgba(124,140,255,.22);border-radius:var(--r-md);padding:14px}.qa-badge{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);background:rgba(124,140,255,.14);padding:3px 8px;border-radius:6px}.quiz-aside-inner p{font-size:12.5px;color:var(--muted);line-height:1.55;margin:10px 0 12px}.qa-stat{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--faint);border-top:1px solid var(--stroke);padding-top:10px}.qa-stat b{font-size:18px;color:var(--accent-2);font-family:Space Grotesk,sans-serif}#app.quiz-mode .sidebar-tools,#app.quiz-mode #topic-nav,#app.quiz-mode .learn-view{display:none}#app.quiz-mode .quiz-aside{display:block}#app.quiz-mode .quiz-view{display:flex;flex-direction:column;gap:12px}#app:not(.quiz-mode) .quiz-view{display:none}.quiz-head{display:flex;justify-content:space-between;align-items:center}.quiz-kicker{font-size:11px;letter-spacing:.09em;text-transform:uppercase;font-weight:700;color:var(--accent)}.quiz-score{font-size:13px;color:var(--muted)}.quiz-score b{color:var(--text);font-family:Space Grotesk,sans-serif;font-size:15px}.quiz-view h2{margin:0;font-size:19px;letter-spacing:-.02em}.quiz-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quiz-opt{display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer;font-family:inherit;font-size:13.5px;font-weight:500;color:var(--text);background:rgba(255,255,255,.03);border:1px solid var(--stroke);border-radius:var(--r-md);padding:11px 13px;transition:background .14s ease,border-color .14s ease,transform .08s ease}.quiz-opt:hover:not(:disabled){background:rgba(255,255,255,.06);border-color:var(--stroke-strong)}.quiz-opt:active:not(:disabled){transform:translateY(1px)}.quiz-opt .opt-key{width:20px;height:20px;border-radius:6px;flex:none;display:grid;place-items:center;font-size:11px;font-weight:700;color:var(--muted);background:rgba(255,255,255,.06);border:1px solid var(--stroke)}.quiz-opt.correct{background:rgba(56,226,200,.14);border-color:var(--rel-well)}.quiz-opt.correct .opt-key{background:var(--rel-well);color:#0b0e1a;border-color:var(--rel-well)}.quiz-opt.wrong{background:rgba(255,107,138,.13);border-color:var(--rel-myth)}.quiz-opt.wrong .opt-key{background:var(--rel-myth);color:#0b0e1a;border-color:var(--rel-myth)}.quiz-opt:disabled{cursor:default}.quiz-feedback{font-size:13px;line-height:1.5;color:var(--muted);background:rgba(255,255,255,.03);border:1px solid var(--stroke);border-left:3px solid var(--accent);border-radius:var(--r-md);padding:10px 13px}.quiz-feedback strong{color:var(--text)}.quiz-feedback .qf-rel{font-weight:700}@media (max-width: 860px){#app{grid-template-columns:1fr;grid-template-rows:auto 1fr}#sidebar{flex-direction:column;max-height:38vh}#topic-nav{display:flex;overflow-x:auto}.readout-grid{grid-template-columns:1fr}}
