.spellcat-game{color:#203249;background:#fff8e9;border:3px solid #203249;font-family:ArcadePixel,system-ui,sans-serif}.spellcat-hud{border-bottom:2px solid #203249;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px 16px;font-size:12px;display:grid}.spellcat-hud strong{margin-top:4px;font-size:20px;display:block}.spellcat-stage-wrap{touch-action:none;position:relative}.spellcat-stage{aspect-ratio:4/5;background:#0f1824;border:2px solid #203249;width:calc(100% - 32px);margin:16px;position:relative;overflow:hidden}.spellcat-stage svg.scene{width:100%;height:100%;display:block}.spellcat-draw{cursor:crosshair;width:100%;height:100%;position:absolute;inset:0}.spellcat-legend{flex-wrap:wrap;gap:10px;padding:0 16px 12px;font-size:11px;display:flex}.spellcat-legend span{background:#fffdf3;border:2px solid #c5bda9;align-items:center;gap:6px;min-height:32px;padding:4px 8px;display:inline-flex}.spellcat-actions{grid-template-columns:1fr 1fr;gap:8px;padding:0 16px 16px;display:grid}.spellcat-actions button{min-height:44px;font:inherit;cursor:pointer;background:#fff8e9;border:2px solid #203249;font-size:14px}.spellcat-actions .spellcat-primary{background:#f6cb61;grid-column:1/-1;font-size:16px}.spellcat-actions button:disabled{opacity:.55;cursor:default}.spellcat-overlay{text-align:center;background:#0f1824d1;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px;display:flex;position:absolute;inset:0}.spellcat-overlay:not(.arcade-overlay-ink){color:#fff8e9}.spellcat-overlay.arcade-overlay-ink,.spellcat-overlay.arcade-overlay-ink h2,.spellcat-overlay.arcade-overlay-ink p{color:var(--pixel-ink,#263b36)!important}.spellcat-overlay h2{margin:0;font-size:22px}.spellcat-overlay p{max-width:28rem;margin:0;font-size:13px;line-height:1.6}.spellcat-stars{letter-spacing:.2em;color:#f6cb61;font-size:22px}.spellcat-game button:focus-visible{outline-offset:3px;outline:3px solid #b14d27}.spellcat-status{min-height:1.5em;padding:0 16px 8px;font-size:12px}.spellcat-status-feedback{color:#b14d27;font-size:14px;font-weight:700}.spellcat-combo{color:#965029;font-weight:700}.spellcat-hit-flash{pointer-events:none;background:#f6cb6147;animation:.42s ease-out spellcat-flash;position:absolute;inset:0}.spellcat-ghost-hit{animation:.42s ease-out spellcat-pop}@keyframes spellcat-flash{0%{opacity:1}to{opacity:0}}@keyframes spellcat-pop{0%{filter:brightness(1.35)}45%{filter:brightness(1.85)}to{filter:brightness()}}@media (prefers-reduced-motion:reduce){.spellcat-hit-flash,.spellcat-ghost-hit{animation:none}}@media (max-width:520px){.spellcat-hud{grid-template-columns:repeat(2,minmax(0,1fr))}.spellcat-stage{width:calc(100% - 24px);margin:12px}}.spellcat-game{border-color:#51445d;box-shadow:4px 4px #17243a33}.spellcat-hud{background:#e9dcc3;border-bottom:3px solid #b69c73}.spellcat-stage{image-rendering:pixelated}.spellcat-legend span{color:#fff2d0;background:#182943;border-color:#8796a4;min-height:36px}.spellcat-legend svg{width:24px;height:24px}.spellcat-overlay.arcade-overlay-ink{background:0 0}.spellcat-overlay.arcade-overlay-ink button{border:2px solid var(--pixel-ink,#263b36);background:var(--pixel-gold,#e7b85a);min-height:44px;color:var(--pixel-ink,#263b36);font:inherit;padding:10px 18px}.spellcat-poof{pointer-events:none;image-rendering:pixelated;position:absolute;transform:translate(-50%,-50%)}.spellcat-keyboard-help{padding:0 16px;font-size:12px;line-height:1.6}.spellcat-draw:focus-visible{outline-offset:-4px;outline:3px solid #ffe2a1}.spellcat-frame-a{animation:1.2s step-end infinite spellcat-frame}.spellcat-frame-b{animation:1.2s step-end infinite reverse spellcat-frame}@keyframes spellcat-frame{0%,49%{opacity:1}50%,to{opacity:0}}.spellcat-cat--idle{transform-origin:bottom;transform-box:fill-box;animation:2.4s steps(2,end) infinite spellcat-breathe}@keyframes spellcat-breathe{0%,to{transform:scaleY(1)}50%{transform:scaleY(.97)}}@media (prefers-reduced-motion:reduce){.spellcat-frame-a,.spellcat-frame-b,.spellcat-cat--idle{animation:none}.spellcat-frame-b{display:none}.spellcat-frame-a{opacity:1}.spellcat-hit-flash{display:none}}
