:root{color-scheme:dark;--text: #e8f0ff;--muted: #9ab0c8;--accent: #6eb8e8;--accent-soft: rgba(110, 184, 232, .2);--glass-bg: rgba(6, 16, 32, .55);--glass-border: rgba(110, 184, 232, .22);font-family:Segoe UI,PingFang SC,system-ui,sans-serif;line-height:1.6;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow-x:hidden;background:#030810;color:var(--text)}#scene-canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;z-index:0}#scene-canvas[hidden]{display:none}.scene-vignette{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 85% 70% at 50% 45%,transparent 35%,rgba(3,8,16,.55) 100%)}.static-fallback{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;background:#030810}.static-fallback--css{background:radial-gradient(1px 1px at 12% 18%,rgba(220,235,255,.55),transparent),radial-gradient(1px 1px at 72% 12%,rgba(200,220,255,.45),transparent),radial-gradient(1px 1px at 44% 28%,rgba(255,255,255,.35),transparent),radial-gradient(ellipse 90% 55% at 50% 0%,rgba(110,184,232,.14),transparent),linear-gradient(180deg,#030810,#061428 42%,#0a1e38 68%,#020810)}.static-fallback__img{width:100%;height:100%;object-fit:cover;object-position:center 40%}.static-fallback__badge{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);margin:0;padding:.35rem .75rem;font-size:.75rem;color:var(--muted);background:#061020bf;border:1px solid var(--glass-border);border-radius:999px;pointer-events:none}.simple-mode-toggle{display:flex;align-items:flex-start;gap:.5rem;margin:.75rem 0;font-size:.88rem;color:var(--text);cursor:pointer}.mode-hint{display:block;font-size:.75rem;color:var(--muted);font-weight:400}.mode-note,.mode-status{margin:.35rem 0;font-size:.82rem;color:var(--muted)}.ui-root{position:relative;z-index:1;min-height:100vh;pointer-events:none}.ui-inner{max-width:40rem;margin:0 auto;padding:1.75rem 1.25rem 3rem;pointer-events:none;transition:opacity .8s ease}.ui-inner--idle .glass{opacity:.72}.glass{pointer-events:auto;background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:14px;box-shadow:0 8px 32px #00000059;transition:opacity .8s ease,border-color .15s,background .15s}.hero{margin-bottom:1.25rem;padding:1.5rem 1.5rem 1.25rem}.eyebrow{margin:0 0 .5rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}h1{margin:0 0 .65rem;font-size:clamp(1.85rem,5vw,2.6rem);line-height:1.15;font-weight:650}.handle{display:block;font-size:.5em;font-weight:500;color:var(--accent)}.lead{margin:0 0 1.25rem;font-size:1rem;color:var(--muted);max-width:38ch}.links{display:flex;flex-wrap:wrap;gap:.65rem}.links a{padding:.45rem .95rem;border-radius:999px;border:1px solid var(--glass-border);background:#08183099;color:var(--text);text-decoration:none;font-size:.88rem;transition:border-color .15s,background .15s}.links a:hover{border-color:var(--accent);background:var(--accent-soft)}.panel{margin-bottom:1.25rem;padding:1.1rem 1.35rem}.panel h2{margin:0 0 .5rem;font-size:.95rem;font-weight:600}.hint{margin:0 0 .75rem;font-size:.88rem;color:var(--muted)}.hint code{font-size:.85em;padding:.1em .35em;border-radius:4px;background:var(--accent-soft)}.figures-hint{margin-top:-.35rem;font-size:.82rem}.lore-text{margin:0;font-size:.88rem;line-height:1.65;color:var(--muted)}.lore-text strong{color:var(--text);font-weight:600}.scene-load-status{margin:.5rem 0 0;font-size:.8rem;color:var(--accent)}.sound-toggle{display:flex;align-items:flex-start;gap:.5rem;margin-top:.35rem;font-size:.82rem;color:var(--text);cursor:pointer}.sound-toggle--disabled{cursor:not-allowed;opacity:.65;color:var(--muted)}.footer{padding:1rem 1.35rem;font-size:.82rem;color:var(--muted)}.footer p{margin:.3rem 0}.footer a{color:var(--accent)}.footer code{font-size:.9em;padding:.12em .35em;border-radius:4px;background:var(--accent-soft)}@media(prefers-reduced-motion:reduce){.hint:after{content:" （已检测到减少动效偏好，场景动画已降低）"}}@media(max-width:768px){.ui-inner{padding:1rem .75rem 2rem}.hero,.panel,.footer{padding-left:1rem;padding-right:1rem}}
