html,body,#app{width:100%;height:100%;overflow:hidden;background:#000;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif}.loading-screen[data-v-2b8c7555]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0a0a0f;display:flex;align-items:center;justify-content:center}.loading-content[data-v-2b8c7555]{display:flex;flex-direction:column;align-items:center;gap:24px}.loading-logo[data-v-2b8c7555]{font-family:Syne,Inter,sans-serif;font-size:3rem;font-weight:800;color:#818cf8;letter-spacing:.15em;animation:load-pulse-2b8c7555 1.5s ease-in-out infinite}@keyframes load-pulse-2b8c7555{0%,to{opacity:1}50%{opacity:.4}}.loading-bar-track[data-v-2b8c7555]{width:260px;height:3px;background:#818cf81f;border-radius:3px;overflow:hidden}.loading-bar-fill[data-v-2b8c7555]{height:100%;width:0%;background:linear-gradient(90deg,#4f46e5,#818cf8);border-radius:3px;transition:width .5s ease}.loading-label[data-v-2b8c7555]{font-size:.85rem;color:#64748b;letter-spacing:.04em}.loading-hint[data-v-2b8c7555]{font-size:.7rem;color:#334155;letter-spacing:.03em}.load-fade-leave-active[data-v-2b8c7555]{transition:opacity .6s ease}.load-fade-leave-to[data-v-2b8c7555]{opacity:0}.exhibition-root[data-v-2b8c7555]{width:100%;height:100vh;position:relative;background:#000;overflow:hidden}.exhibition-canvas[data-v-2b8c7555]{width:100%;height:100%}.exhibition-hint[data-v-2b8c7555]{position:absolute;bottom:120px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;z-index:10}.hint-text[data-v-2b8c7555]{font-size:1rem;color:#94a3b8e6;letter-spacing:.05em;text-align:center;padding:0 20px;line-height:1.6}.hint-keys[data-v-2b8c7555]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}.hint-keys kbd[data-v-2b8c7555]{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 6px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:4px;color:#94a3b8;font-size:.8rem;font-family:JetBrains Mono,monospace}.hint-sep[data-v-2b8c7555]{color:#475569;font-size:.75rem;margin:0 2px}.hint-detail[data-v-2b8c7555]{font-size:.8rem;color:#818cf8b3;letter-spacing:.03em;margin-top:4px;text-align:center;padding:0 20px}.hint-fade-enter-active[data-v-2b8c7555]{transition:opacity .5s ease}.hint-fade-leave-active[data-v-2b8c7555]{transition:opacity .3s ease}.hint-fade-enter-from[data-v-2b8c7555],.hint-fade-leave-to[data-v-2b8c7555]{opacity:0}@media (min-width: 768px){.exhibition-hint[data-v-2b8c7555]{gap:10px}.hint-text[data-v-2b8c7555]{font-size:1.7rem;padding:0;text-align:left}.hint-keys[data-v-2b8c7555]{gap:12px}.hint-keys kbd[data-v-2b8c7555]{min-width:48px;height:48px;padding:0 12px;font-size:1.4rem}.hint-sep[data-v-2b8c7555]{font-size:1.4rem;margin:0 4px}.hint-detail[data-v-2b8c7555]{font-size:1.2rem;padding:0;text-align:left}}.exhibition-overlay[data-v-2b8c7555]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#000000f2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);overflow:hidden;display:flex;flex-direction:column}.overlay-content[data-v-2b8c7555]{width:100%;flex:1;display:flex;flex-direction:column;overflow:hidden}.overlay-content.db-content[data-v-2b8c7555]{padding:60px 12px 40px}.overlay-close[data-v-2b8c7555]{position:fixed;top:20px;right:20px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#64748b;cursor:pointer;transition:all .2s;z-index:101}.overlay-close[data-v-2b8c7555]:hover{background:#ffffff1a;color:#f1f5f9}.fs-overlay-enter-active[data-v-2b8c7555]{transition:opacity .5s ease}.fs-overlay-leave-active[data-v-2b8c7555]{transition:opacity .3s ease}.fs-overlay-enter-from[data-v-2b8c7555],.fs-overlay-leave-to[data-v-2b8c7555]{opacity:0}.joystick-container[data-v-2b8c7555]{position:fixed;bottom:40px;left:40px;width:120px;height:120px;z-index:50;touch-action:none}.joystick-base[data-v-2b8c7555]{width:100%;height:100%;border-radius:50%;background:#0f172a73;border:2px solid rgba(129,140,248,.25);display:flex;align-items:center;justify-content:center;position:relative}.joystick-thumb[data-v-2b8c7555]{width:48px;height:48px;border-radius:50%;background:radial-gradient(circle,#818cf899,#4f46e566);border:2px solid rgba(129,140,248,.5);position:absolute;transition:none}@media (pointer: fine){.joystick-container[data-v-2b8c7555]{display:none}}#subapp-viewport[data-v-2b8c7555]{width:100%;flex:1;overflow-y:auto;overflow-x:hidden}#subapp-viewport.db-viewport[data-v-2b8c7555]{max-width:none}#subapp-viewport[data-v-2b8c7555]>*,#subapp-viewport[data-v-2b8c7555]>*>*,#subapp-viewport[data-v-2b8c7555]>*>*>*{overflow:visible!important}.overlay-status[data-v-2b8c7555]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:60vh;color:#64748b;font-size:.9rem}.overlay-status--error[data-v-2b8c7555]{color:#f87171;text-align:center;max-width:400px;line-height:1.6}.overlay-spinner[data-v-2b8c7555]{width:32px;height:32px;border:3px solid rgba(129,140,248,.15);border-top-color:#818cf8;border-radius:50%;animation:overlay-spin-2b8c7555 .8s linear infinite}@keyframes overlay-spin-2b8c7555{to{transform:rotate(360deg)}}:root{--shared-primary: #4F46E5;--shared-primary-dark: #4338CA;--shared-primary-light: #EEF2FF;--shared-accent: #F59E0B;--shared-accent-hover: #D97706;--shared-bg: #FFFFFF;--shared-bg-alt: #F8FAFC;--shared-surface: #F8FAFC;--shared-border: #E2E8F0;--shared-text: #0F172A;--shared-text-soft: #475569;--shared-text-muted: #94A3B8;--shared-bg-dark: #0B1120;--shared-bg-alt-dark: #111827;--shared-surface-dark: #1F2937;--shared-border-dark: #1F2937;--shared-text-dark: #F1F5F9;--shared-text-soft-dark: #CBD5E1;--shared-text-muted-dark: #64748B;--shared-success: #10B981;--shared-warning: #F59E0B;--shared-error: #EF4444;--shared-info: #3B82F6;--shared-font-sans: "Inter", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", system-ui, -apple-system, sans-serif;--shared-font-display: "Syne", "Inter", system-ui, sans-serif;--shared-font-mono: "JetBrains Mono", "SF Mono", "Consolas", monospace;--shared-fs-xs: .75rem;--shared-fs-sm: .875rem;--shared-fs-base: 1rem;--shared-fs-md: 1.125rem;--shared-fs-lg: 1.25rem;--shared-fs-xl: 1.5rem;--shared-fs-2xl: 2rem;--shared-fs-3xl: clamp(2.5rem, 6vw, 4rem);--shared-space-1: 4px;--shared-space-2: 8px;--shared-space-3: 12px;--shared-space-4: 16px;--shared-space-5: 20px;--shared-space-6: 24px;--shared-space-7: 32px;--shared-space-8: 48px;--shared-space-9: 80px;--shared-radius-sm: 3px;--shared-radius-md: 6px;--shared-radius-lg: 10px;--shared-radius-pill: 9999px;--shared-shadow-sm: 0 1px 3px rgba(31, 35, 40, .08);--shared-shadow-md: 0 4px 16px rgba(31, 35, 40, .1);--shared-shadow-lg: 0 12px 40px rgba(31, 35, 40, .13);--shared-shadow-xl: 0 24px 64px rgba(31, 35, 40, .17);--shared-ease: cubic-bezier(.22, 1, .36, 1);--shared-dur-fast: .15s;--shared-dur-base: .28s;--shared-container-max: 1200px}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{width:100%;height:100%;overflow:hidden;background:#000;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}canvas{display:block}::selection{background:#4f46e54d;color:#e2e8f0}
