.pca-mm__controls,.pca-mm__stats{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:16px 0}.pca-mm__controls label{display:flex;align-items:center;gap:8px}.pca-mm__controls select{padding:9px;border-radius:7px;border:1px solid #9ba8ad}.pca-mm__stats{justify-content:space-between;font-weight:700;background:#f3f7f8;padding:12px;border-radius:9px}.pca-mm__instruction{min-height:1.6em}.pca-mm__board{--cols:6;display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:7px;max-width:680px;margin:18px auto;min-height:120px}.pca-mm__tile{aspect-ratio:1;border:2px solid transparent;border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;background:var(--tile-bg);transition:transform .12s,border-color .12s;min-width:0;padding:8px}.pca-mm__tile:focus-visible{outline:3px solid #0759aa;outline-offset:2px}.pca-mm__tile:not(:disabled):hover{transform:scale(1.05);border-color:#345f71}.pca-mm__tile:disabled{cursor:default}.pca-mm__face{display:block;position:relative;width:75%;aspect-ratio:1;border-radius:50%;background:var(--face-bg);box-shadow:inset -3px -4px 0 #00000012}.pca-mm__face:before,.pca-mm__face:after{content:'';position:absolute;top:31%;width:9%;height:12%;border-radius:50%;background:#253443}.pca-mm__face:before{left:29%}.pca-mm__face:after{right:29%}.pca-mm__mouth{position:absolute;left:28%;width:44%;height:22%;border:3px solid #253443;border-left:0;border-right:0;border-top:0;border-radius:0 0 50% 50%;top:46%}.pca-mm__tile[data-mood="gloomy"] .pca-mm__mouth{top:59%;border-top:3px solid #253443;border-bottom:0;border-radius:50% 50% 0 0}.pca-mm__tile[data-mark="correct"]{border-color:#18834a;background:#dcf7e5}.pca-mm__tile[data-mark="wrong"]{border-color:#bd3e4a;background:#ffe4e6}.pca-mm__tile[data-mark="correct"]:after{content:'✓';position:absolute;right:2px;top:0;font-size:20px;font-weight:900;color:#14633b}.pca-mm__tile[data-mark="wrong"]:after{content:'×';position:absolute;right:3px;top:0;font-size:20px;font-weight:900;color:#a72c3b}.pca-mm__finish{padding:18px;background:#f3f7f8;border-radius:10px;margin:15px 0}.pca-mm__board[aria-busy="true"]{opacity:.55}@media(max-width:550px){.pca-mm__board{gap:4px}.pca-mm__tile{border-radius:6px;padding:3px}.pca-mm__mouth{border-width:2px}.pca-mm__tile[data-mood="gloomy"] .pca-mm__mouth{border-width:2px}.pca-mm__stats{font-size:13px}}

/* Faster, wider independent face wobble; clickable tiles remain stationary. */
.pca-mm__tile:not(:disabled) .pca-mm__face{animation:pca-mm-wobble var(--wobble-duration,3.6s) ease-in-out var(--wobble-delay,0s) infinite;transform-origin:50% 55%}
@keyframes pca-mm-wobble{0%,100%{transform:rotate(-35deg) translateY(0)}50%{transform:rotate(35deg) translateY(-2px)}}
.pca-mm__board[aria-busy="true"] .pca-mm__face,.pca-mm__tile:disabled .pca-mm__face{animation-play-state:paused}
.pca-mm__rating{font-weight:800;font-size:1.12em;color:#244f67}
.pca-mm__insight{line-height:1.55}
@media(prefers-reduced-motion:reduce){.pca-mm__face{animation:none!important}}

/* Celebratory, highly visible end-of-game report. */
.pca-mm__finish:not([hidden]){position:relative;overflow:hidden;margin:24px 0;padding:clamp(22px,4vw,38px);background:linear-gradient(135deg,#e7f8ff 0%,#e9f7ed 55%,#fff5d9 100%);border:3px solid #21866b;border-radius:18px;box-shadow:0 12px 30px rgba(19,77,69,.16);color:#173c3a}
.pca-mm__finish:not([hidden])::before{content:'★  ★  ★';position:absolute;right:18px;top:10px;font-size:23px;letter-spacing:7px;color:#a77a13;animation:pca-mm-sparkle 1.5s ease-in-out infinite alternate;pointer-events:none}
.pca-mm__finish h3{font-size:clamp(1.55rem,3.5vw,2.3rem)!important;line-height:1.2;color:#145d4d!important;margin:0 0 14px;padding-right:85px}
.pca-mm__finish .pca-mm__rating{font-size:clamp(1.15rem,2.7vw,1.65rem);line-height:1.35;font-weight:900;color:#104d76;background:#fff;border-left:6px solid #e6a821;padding:14px 16px;border-radius:8px;box-shadow:0 2px 8px #104d761a}
.pca-mm__finish p{font-size:clamp(1rem,1.6vw,1.13rem);line-height:1.65}
.pca-mm__finish .pca-mm__insight{background:#ffffffb8;padding:15px 18px;border-radius:10px;border:1px solid #c5ded1}
.pca-mm__finish [data-mm-again]{font-size:1.05rem;padding:12px 24px}
@keyframes pca-mm-sparkle{from{opacity:.35;transform:scale(.94)}to{opacity:1;transform:scale(1.1)}}
@media(prefers-reduced-motion:reduce){.pca-mm__finish:not([hidden])::before{animation:none}}
@media(max-width:550px){.pca-mm__finish h3{padding-right:0}.pca-mm__finish:not([hidden])::before{position:static;display:block;margin-bottom:8px}}
