/* v31 lounge arcade */
.room3d .arc-blink{animation:arcBlink 1.2s steps(2,end) infinite}
.room3d .arc-spark{animation:arcTwinkle 1.6s ease-in-out infinite}
.room3d .arc-coin{animation:arcCoin 2.4s ease-in-out infinite}
.room3d .arc-glow,.room3d .arc-floorglow{animation:arcGlow 3s ease-in-out infinite}
@keyframes arcBlink{0%{opacity:1}100%{opacity:.15}}
@keyframes arcTwinkle{0%,100%{opacity:.25}50%{opacity:1}}
@keyframes arcCoin{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes arcGlow{0%,100%{opacity:.8}50%{opacity:1}}
.l3d-lite .room3d .arc-blink,.l3d-lite .room3d .arc-spark,.l3d-lite .room3d .arc-coin,.l3d-lite .room3d .arc-glow,.l3d-lite .room3d .arc-floorglow{animation:none}
@media (prefers-reduced-motion:reduce){.room3d .arc-blink,.room3d .arc-spark,.room3d .arc-coin,.room3d .arc-glow,.room3d .arc-floorglow{animation:none}}
.room3d .plaque.arc rect{fill:rgba(26,12,40,.92);stroke:#ff9a3c}

body.arc-lock{overflow:hidden}
.arc-ov{position:fixed;inset:0;z-index:100000;background:rgba(8,6,16,.82);display:flex;align-items:center;justify-content:center;padding:14px;font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
.arc-box{width:min(980px,100%);max-height:calc(100vh - 28px);max-height:calc(100dvh - 28px);overflow:auto;background:linear-gradient(180deg,#1d1631,#120e1f);color:#f4eddd;border-radius:22px;box-shadow:0 0 0 2px #3c2e66,0 30px 80px -20px rgba(0,0,0,.9);padding:20px 22px 22px}
.arc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin:0 0 12px}
.arc-head h2{font:800 30px/1.1 Georgia,serif;margin:4px 0 0;color:#fff6d8}
.arc-kick{font:800 11px/1 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.18em;color:#ffb84a}
.arc-x{background:#2a2142;color:#fff;border:0;border-radius:12px;width:44px;height:44px;font-size:26px;line-height:1;cursor:pointer}
.arc-x:hover{background:#3a2e5c}
.arc-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border-radius:12px;border:0;background:#ff9a3c;color:#24140a;font:800 15px/1 ui-sans-serif,system-ui,sans-serif;cursor:pointer}
.arc-btn:hover:not([disabled]){background:#ffb860}
.arc-btn[disabled]{background:#3a3350;color:#b8b0cc;cursor:not-allowed}
.arc-btn.ghost{background:transparent;color:#f4eddd;box-shadow:0 0 0 1.5px #6a5a9a inset}
.arc-btn.ghost:hover{background:#2a2142}
.arc-btn.sm{min-height:36px;padding:8px 12px;font-size:13px}
.arc-ov :focus-visible{outline:3px solid #7af0ff;outline-offset:2px}
.arc-power{display:flex;align-items:baseline;gap:10px;background:#261d40;border-radius:14px;padding:12px 16px;margin:0 0 10px}
.arc-power b{font:800 34px/1 ui-monospace,Menlo,Consolas,monospace;color:#ffd34a}
.arc-power.empty b{color:#b8b0cc}
.arc-power span{color:#e6dcf5;font-weight:600}
.arc-how{color:#d8cfe8;font-size:15px;line-height:1.5;margin:0 0 14px}
.arc-how b{color:#fff}
.arc-tally{display:block;color:#b8b0cc;font-size:13.5px;margin-top:4px}
.arc-note{background:#4a2030;color:#ffe0e6;border-radius:10px;padding:10px 12px;margin:0 0 10px}
.arc-hint{color:#ffd9a0;margin:12px 0 0}
.arc-games{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.arc-game{background:#1a142c;border-radius:16px;padding:12px;box-shadow:0 0 0 1.5px color-mix(in srgb,var(--gc) 45%,transparent) inset;display:flex;flex-direction:column}
.arc-game h3{font:800 18px/1.2 ui-sans-serif,system-ui,sans-serif;color:var(--gc);margin:10px 0 4px}
.arc-game p{margin:0 0 8px;color:#d8cfe8;font-size:14px;line-height:1.45}
.arc-game .arc-best{color:#b8b0cc;font-size:13px;margin-top:auto}
.arc-game .arc-best b{color:#fff}
.arc-thumb svg{display:block;width:100%;height:96px;border-radius:10px}
.arc-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.arc-hud{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.arc-hud span{font:700 15px/1 ui-monospace,Menlo,Consolas,monospace;color:#d8cfe8;margin-right:6px}
.arc-hud b{color:#ffd34a;font-size:20px}
.arc-stage{background:#000;border-radius:14px;overflow:hidden;box-shadow:0 0 0 2px #3c2e66;width:min(100%,calc((100vh - 190px) * 16 / 9));width:min(100%,calc((100dvh - 190px) * 16 / 9));margin:0 auto}
.arc-stage canvas{display:block;width:100%;height:auto;aspect-ratio:16/9;touch-action:none;cursor:pointer}
.arc-keys{color:#b8b0cc;font-size:13.5px;margin:8px 0 0}
.arc-loading{color:#d8cfe8;padding:30px 0;text-align:center}
.arc-over{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:16px;align-items:start}
.arc-final{background:#261d40;border-radius:16px;padding:18px;text-align:center;display:flex;flex-direction:column;gap:6px}
.arc-final span{color:#d8cfe8;font-weight:600}
.arc-final b{font:800 54px/1 ui-monospace,Menlo,Consolas,monospace;color:#ffd34a}
.arc-final em{font-style:normal;font-weight:800;color:#7af0ff}
.arc-final small{color:#b8b0cc}
.arc-final .arc-err{color:#ffb0b0}
.arc-board{background:#1a142c;border-radius:16px;padding:14px 16px}
.arc-board h3{margin:0 0 8px;font:800 17px/1.2 ui-sans-serif,system-ui,sans-serif;color:#fff6d8}
.arc-board table{width:100%;border-collapse:collapse;font-size:15px}
.arc-board th{text-align:left;color:#b8b0cc;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:4px 6px;border-bottom:1px solid #3a2e5c}
.arc-board td{padding:6px;border-bottom:1px solid #2a2142;color:#efe6ff}
.arc-board td:last-child,.arc-board th:last-child{text-align:right;font-family:ui-monospace,Menlo,Consolas,monospace}
.arc-board tr.me td{background:#3a2a10;color:#ffe9a8;font-weight:700}
.arc-board tr.me small{color:#ffd34a}
.arc-board p{margin:0;color:#d8cfe8}
.arc-mine{margin-top:8px!important;color:#ffd9a0!important}
@media (max-width:760px){.arc-games,.arc-over{grid-template-columns:1fr}.arc-box{padding:14px}.arc-head h2{font-size:24px}}
/* teacher class page */
.arc-setting{margin:0 0 18px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;font-size:14.5px}
.arc-setting label{font-weight:700}
.arc-setting select{padding:6px 8px;border-radius:8px}
.arc-setting small{flex-basis:100%;opacity:.8}
