.cm-stage{position:relative;min-height:80vh;border-radius:var(--radius);overflow:hidden;border:1px solid var(--hairline);background:var(--ink-0);isolation:isolate}.cm-aurora{position:absolute;top:-25%;right:-25%;bottom:-25%;left:-25%;pointer-events:none;filter:blur(64px) saturate(1.25);opacity:.5;background:radial-gradient(38% 48% at 28% 22%,var(--aurora-teal),transparent 70%),radial-gradient(44% 52% at 62% 16%,var(--aurora-violet),transparent 70%),radial-gradient(34% 44% at 82% 38%,var(--aurora-magenta),transparent 72%);animation:aurora-drift 24s ease-in-out infinite;will-change:transform,opacity}.cm-scene{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.92}.cm-vignette{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(125% 95% at 50% 42%,transparent 46%,oklch(.12 .03 275 / .72))}.cm-hotspot{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:8px;background:transparent;border:none;cursor:pointer;padding:8px;border-radius:var(--radius-sm)}.cm-dot{width:13px;height:13px;border-radius:50%;background:var(--pc);box-shadow:0 0 0 4px #ffffff0f,0 0 16px 1px var(--pc);transition:transform .18s cubic-bezier(.22,1,.36,1),box-shadow .18s ease}.cm-name{font-size:12px;font-weight:600;color:var(--text-0);text-shadow:0 1px 8px oklch(0 0 0 / .85);white-space:nowrap}.cm-chip{display:inline-flex;align-items:center;gap:7px;font-size:11px;padding:4px 10px;border-radius:999px;background:var(--panel-solid);border:1px solid var(--hairline);color:var(--text-1);white-space:nowrap;opacity:0;transform:translateY(-5px);transition:opacity .18s ease,transform .18s cubic-bezier(.22,1,.36,1)}.cm-chip .num{color:var(--aurora-teal)}.cm-hotspot:hover .cm-dot,.cm-hotspot:focus-visible .cm-dot{transform:scale(1.28);box-shadow:0 0 0 5px #ffffff17,0 0 28px 2px var(--pc)}.cm-hotspot:hover .cm-chip,.cm-hotspot:focus-visible .cm-chip{opacity:1;transform:translateY(0)}.cm-feedrow{display:flex;align-items:center;gap:9px;padding:6px 0;font-size:12px}.cm-feedrow+.cm-feedrow{border-top:1px solid var(--hairline)}@media(prefers-reduced-motion:reduce){.cm-aurora{animation:none}.cm-dot,.cm-chip{transition:none}}:root{color-scheme:dark;--ink-0: oklch(.15 .03 275);--ink-1: oklch(.19 .032 272);--ink-2: oklch(.23 .034 270);--aurora-teal: oklch(.82 .12 195);--aurora-violet: oklch(.66 .16 290);--aurora-magenta: oklch(.72 .15 350);--success: oklch(.8 .14 165);--danger: oklch(.7 .18 25);--bg-0: var(--ink-0);--bg-1: oklch(.24 .06 288);--neon-cyan: var(--aurora-teal);--neon-pink: var(--aurora-magenta);--text-0: oklch(.97 .01 270);--text-1: oklch(.83 .04 250);--text-2: oklch(.74 .025 270);--panel: oklch(.22 .03 270 / .58);--panel-solid: oklch(.205 .03 270);--panel-bg: var(--panel);--hairline: oklch(.66 .03 270 / .2);--hairline-strong: oklch(.72 .04 250 / .4);--panel-border: var(--hairline);--radius: 14px;--radius-sm: 10px;--glow-cyan: 0 0 22px oklch(.82 .12 195 / .45);--glow-pink: 0 0 22px oklch(.72 .15 350 / .45);--focus-ring: 0 0 0 2px var(--ink-0), 0 0 0 4px var(--aurora-teal);--font-ui: "Inter", "IBM Plex Sans Thai", system-ui, -apple-system, "Segoe UI", sans-serif;--font-num: "IBM Plex Mono", ui-monospace, "SF Mono", monospace;--z-sticky: 100;--z-overlay: 200;--z-modal: 300;--z-toast: 400}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-ui);color:var(--text-0);background:radial-gradient(125% 80% at 50% -25%,oklch(.22 .05 288),transparent 55%),var(--ink-0);background-attachment:fixed}.scanlines:after{content:none}.neon-text{text-shadow:0 0 20px oklch(.82 .12 195 / .28)}.num{font-family:var(--font-num);font-weight:700;font-feature-settings:"tnum" 1}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes aurora-drift{0%{transform:translate3d(-4%,-2%,0) scale(1.05);opacity:.85}50%{transform:translate3d(4%,2%,0) scale(1.12);opacity:1}to{transform:translate3d(-4%,-2%,0) scale(1.05);opacity:.85}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
