.cag-vowel-game{display:flex;flex-direction:column;gap:14px}
.cag-vowel-level-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.cag-vowel-level-btn,.cag-vowel-mode-btn,.cag-vowel-player-btn,.cag-vowel-action-btn{border:2px solid #6f56a8;border-radius:14px;background:#fff;color:#2a2452;padding:10px 12px;font:inherit;font-weight:700;cursor:pointer;box-shadow:0 2px 0 rgba(42,36,82,.12);transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.cag-vowel-level-btn:hover,.cag-vowel-mode-btn:hover,.cag-vowel-player-btn:hover,.cag-vowel-action-btn:hover{transform:translateY(-1px)}
.cag-vowel-level-btn.active,.cag-vowel-mode-btn.active,.cag-vowel-player-btn.active{background:#efe8ff}
.cag-vowel-level-btn.earned{border-color:#18a44d;background:#f0fff3}
.cag-vowel-level-btn.locked{opacity:.55;cursor:not-allowed}
.cag-vowel-level-btn span,.cag-vowel-level-btn em{display:block}
.cag-vowel-level-btn em{font-style:normal;font-size:.9rem;margin-top:4px;min-height:1.2em}
.cag-vowel-summary-row{display:flex;gap:12px;align-items:stretch;flex-wrap:wrap}
.cag-vowel-level-summary,.cag-vowel-jewel-hud{flex:1 1 280px;background:#fff;border:2px solid #d9d2f0;border-radius:18px;padding:12px 16px;display:flex;align-items:center;gap:12px}
.cag-vowel-level-summary{justify-content:space-between;flex-wrap:wrap}
.cag-vowel-level-summary strong{font-size:1.08rem;color:#32285d}
.cag-vowel-level-summary span{color:#5d5689;font-weight:600}
.cag-vowel-jewel-hud img{width:74px;height:74px;object-fit:contain;display:block}
.cag-vowel-jewel-hud small{display:block;color:#5d5689;font-size:.92rem}
.cag-vowel-jewel-hud strong{display:block;color:#32285d}
.cag-vowel-jewel-hud.complete{border-color:#18a44d;background:#f0fff3}
.cag-vowel-jewel-hud.award{animation:cagVowelPulse .55s ease}
@keyframes cagVowelPulse{0%{transform:scale(.98)}45%{transform:scale(1.04)}100%{transform:scale(1)}}
.cag-vowel-toolbar,.cag-vowel-timebar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.cag-vowel-timebar{justify-content:space-between;background:#fff;border:2px solid #d9d2f0;border-radius:18px;padding:12px 14px}
.cag-vowel-timebar strong,.cag-vowel-timebar span{color:#32285d}
.cag-vowel-players{display:flex;gap:8px;flex-wrap:wrap}
.cag-vowel-status{background:#fff;border:2px solid #d9d2f0;border-radius:16px;padding:12px 14px;color:#32285d;font-weight:600;min-height:55px}
.cag-vowel-playwrap{background:#fff;border:2px solid #d9d2f0;border-radius:24px;padding:10px}
.cag-vowel-playarea{position:relative;overflow:hidden;border-radius:18px;background:none;width:100%;height:0;touch-action:none;user-select:none}
.cag-vowel-stage{position:absolute;left:0;top:0;width:1000px;height:707px;overflow:hidden;transform-origin:top left;background:none}
.cag-vowel-stage.scene-playing,.cag-vowel-stage.scene-playing *{cursor:none!important}
.cag-vowel-bg{position:absolute;inset:0;background-size:cover;background-position:center;pointer-events:none;transition:opacity .7s ease}
.cag-vowel-bg-clear{z-index:0;opacity:1}
.cag-vowel-bg-blur{z-index:1;opacity:0}
.cag-vowel-stage.scene-playing .cag-vowel-bg-clear{opacity:0}
.cag-vowel-stage.scene-playing .cag-vowel-bg-blur{opacity:1}
.cag-vowel-stage.scene-intro .cag-vowel-topbar,.cag-vowel-stage.scene-intro .cag-vowel-extra-stack,.cag-vowel-stage.scene-intro .cag-vowel-clueflash{opacity:0;pointer-events:none}
.cag-vowel-stage::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(255,255,255,.24),rgba(255,255,255,.03) 24%,rgba(255,255,255,0) 42%);pointer-events:none;z-index:2}
.cag-vowel-topbar{position:absolute;left:18px;right:18px;top:18px;display:flex;justify-content:space-between;gap:12px;align-items:flex-start;z-index:8;transition:opacity .35s ease}
.cag-vowel-prompt,.cag-vowel-scorechip,.cag-vowel-clueflash{background:rgba(255,255,255,.92);border:2px solid #6f56a8;border-radius:20px;color:#32285d;box-shadow:0 10px 28px rgba(20,15,48,.14)}
.cag-vowel-prompt{padding:12px 18px;min-width:180px;text-align:center}
.cag-vowel-prompt b{display:block;font-size:2rem;line-height:1;color:#e55a52}
.cag-vowel-prompt span{display:block;font-weight:700;font-size:.95rem;margin-top:4px}
.cag-vowel-prompt.hidden-label b,.cag-vowel-prompt.hidden-label span{opacity:0}
.cag-vowel-scorechip{padding:12px 16px;min-width:220px}
.cag-vowel-scorechip strong,.cag-vowel-scorechip span{display:block}
.cag-vowel-scorechip span{color:#5d5689;font-size:.92rem;font-weight:600}
.cag-vowel-clueflash{position:absolute;top:80px;left:50%;transform:translateX(-50%);padding:16px 24px;z-index:9;text-align:center;opacity:0;pointer-events:none;transition:opacity .22s ease}
.cag-vowel-clueflash.show{opacity:1}
.cag-vowel-clueflash b{display:block;font-size:3.2rem;color:#e55a52;line-height:1}
.cag-vowel-clueflash span{display:block;font-weight:800;color:#32285d;margin-top:6px}
.cag-vowel-left-hand{position:absolute;left:85px;bottom:-138px;width:560px;z-index:4;pointer-events:none;filter:drop-shadow(0 18px 24px rgba(0,0,0,.18));opacity:0;transform:translateY(120%);transition:transform .9s cubic-bezier(.2,.75,.15,1),opacity .6s ease;overflow:visible;padding:0;margin:0;box-sizing:border-box}
.cag-vowel-stage.scene-playing .cag-vowel-left-hand{opacity:1;transform:translateY(0)}
.cag-vowel-left-hand img{width:100%;height:auto;display:block}
.cag-vowel-pointer{position:absolute;left:420px;top:57px;width:560px;z-index:6;opacity:0;pointer-events:none;filter:drop-shadow(0 16px 26px rgba(0,0,0,.2));transform-origin:55.2% 1%;transform:translateY(126%);transition:transform .9s cubic-bezier(.2,.75,.15,1),opacity .65s ease,left .08s linear,top .08s linear}
.cag-vowel-stage.scene-playing .cag-vowel-pointer{opacity:.30;transform:translateY(0)}
.cag-vowel-pointer img{width:100%;height:auto;display:block}
.cag-vowel-hotspot{position:absolute;z-index:5;border:none;padding:0;margin:0;background:transparent;pointer-events:none;user-select:none;-webkit-user-select:none;outline:none;box-shadow:none;border-radius:999px}
.cag-vowel-hotspot::before{content:"";position:absolute;inset:0;border-radius:999px;border:3px dashed rgba(111,86,168,.45);background:rgba(255,255,255,.08);opacity:0;transition:opacity .14s ease,transform .14s ease;transform:scale(.94)}
.cag-vowel-hotspot.active::before,.cag-vowel-hotspot.correct::before,.cag-vowel-hotspot.wrong::before{opacity:1;transform:scale(1)}
.cag-vowel-hotspot.correct::before{border-color:#16a34a;background:rgba(22,163,74,.12)}
.cag-vowel-hotspot.wrong::before{border-color:#d83b3b;background:rgba(216,59,59,.12)}
.cag-vowel-extra-stack{position:absolute;right:24px;top:145px;display:flex;flex-direction:column;gap:12px;z-index:5;width:122px;transition:opacity .35s ease}
.cag-vowel-extra-target{position:relative;width:122px;min-width:122px;max-width:122px;background:rgba(255,255,255,.94);border:3px solid #6f56a8;border-radius:16px;padding:10px 8px;box-shadow:0 10px 24px rgba(0,0,0,.12);color:#32285d;font-weight:800;box-sizing:border-box;pointer-events:none;user-select:none;-webkit-user-select:none}
.cag-vowel-extra-target img{width:76%;display:block;margin:0 auto 4px;max-height:82px;object-fit:contain}
.cag-vowel-extra-target.correct{border-color:#16a34a;background:#effff3}
.cag-vowel-extra-target.wrong{border-color:#d83b3b;background:#fff1f1}
.cag-vowel-finish{display:flex;flex-direction:column;gap:12px;align-items:flex-start;background:rgba(255,255,255,.95);border:2px solid #6f56a8;border-radius:20px;padding:16px 18px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:10;max-width:680px}
.cag-vowel-finish .cag-done{background:none;padding:0;margin:0}
.cag-vowel-finish-actions{display:flex;gap:10px;flex-wrap:wrap}
.cag-vowel-rankings{display:flex;gap:10px;flex-wrap:wrap}
.cag-vowel-rankings span{background:#f5f1ff;border-radius:999px;padding:8px 12px;border:2px solid #d9d2f0;color:#32285d;font-weight:700}
@media (max-width:980px){.cag-vowel-level-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
