/* Memory: a raster stage with accessible, responsive HTML cards. */
.activity-play:has(.play-question[data-type="memory"]:not([hidden])){display:flex;flex-direction:column;width:min(1450px,97vw);height:min(94dvh,940px);max-height:94dvh;padding:14px 24px;border:1px solid #c5e3ff;border-radius:26px;background:#aed6fb url('./games/memory-stage.png') center/cover no-repeat;color:#091e53;overflow:hidden}
.activity-play:has(.play-question[data-type="memory"]:not([hidden]))>.row{flex:none;min-height:32px}
.activity-play:has(.play-question[data-type="memory"]:not([hidden])) #form{display:flex;flex:1;flex-direction:column;min-height:0;gap:0}
.activity-play:has(.play-question[data-type="memory"]:not([hidden])) .play-content{display:flex;flex:1;flex-direction:column;min-height:0;padding:0;overflow:auto}
.activity-play .play-question[data-type="memory"]{display:flex;flex:1;flex-direction:column;min-height:0;margin:0;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;overflow:visible}
.activity-play .play-question[data-type="memory"]::before,.activity-play .play-question[data-type="memory"]::after{display:none}
.activity-play [data-type="memory"] .play-question-top{position:relative;display:flex;justify-content:center;flex:none;min-height:38px;margin:0;padding:0 150px}
.activity-play [data-type="memory"] .play-kind{min-width:190px;justify-content:center;border:1px solid white;border-radius:999px;background:#e8f5ffbf;color:#103875;font-size:17px;font-weight:900}
.activity-play [data-type="memory"] .play-number{position:absolute;left:0;top:0;background:#fff}
.activity-play [data-type="memory"] .game-timer{position:absolute;right:35px;top:0;background:#fffffff0;border-radius:999px}
.activity-play [data-type="memory"] .memory-intro{flex:none;max-width:1050px;margin:8px auto 12px;padding:10px 24px;border-radius:18px;background:#ffffffeb;color:#091e53;font-size:clamp(18px,2vw,29px);font-weight:850;line-height:1.2;text-align:center;overflow-wrap:anywhere}
.activity-play [data-type="memory"] .question-workspace,.activity-play [data-type="memory"] .question-controls{display:flex;flex:1;flex-direction:column;min-height:0}
.memory-stage{display:flex;flex:1;flex-direction:column;gap:10px;width:min(100%,1040px);min-height:0;margin:0 auto;padding:18px 22px;border:1px solid #ffffffec;border-radius:26px;background:#f5fbfff0;box-shadow:0 18px 45px #165e9e30}
.memory-toolbar{display:flex;flex:none;align-items:center;justify-content:space-between;gap:12px;color:#2b5084;font-size:14px;line-height:1.4}
.memory-toolbar p,.memory-toolbar .play-progress{margin:0;color:#124182;font-weight:800;font-size:14px}
.memory-progress{display:block;flex:none;width:100%;height:7px;border:0;border-radius:999px;overflow:hidden;background:#d8eafa;accent-color:#1687e9}
.memory-progress::-webkit-progress-bar{background:#d8eafa;border-radius:999px}
.memory-progress::-webkit-progress-value{background:linear-gradient(90deg,#0c72eb,#38b9f3);border-radius:999px;transition:width .2s}
:is(.activity-play,.live-player) .memory-stage .memory-board{display:grid;flex:1;grid-template-columns:repeat(var(--memory-columns,4),minmax(0,1fr));grid-auto-rows:minmax(76px,1fr);gap:12px;min-height:0;width:100%;max-width:none;margin:0;padding:4px;border:0;background:none;box-shadow:none}
:is(.activity-play,.live-player) .memory-stage .memory-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:0;aspect-ratio:auto;margin:0;padding:12px;border:3px solid #c6e6ff;border-radius:17px;background:linear-gradient(145deg,#44afff,#0b67df 70%,#0953bf);box-shadow:inset 0 2px 0 #ffffff75,inset 0 -6px 0 #074db338,0 4px 0 #a1c8f0,0 7px 12px #225c9a25;color:#fff;font-size:clamp(13px,1.9dvh,21px);font-weight:800;line-height:1.25;text-align:center;cursor:pointer;transition:background .18s,box-shadow .18s,transform .18s;overflow-wrap:anywhere;word-break:normal;touch-action:manipulation}
.memory-stage .memory-card .memory-card-content{font-size:inherit;display:block;max-width:100%;white-space:normal}
:is(.activity-play,.live-player) .memory-stage .memory-card-mark{display:grid;place-items:center;width:clamp(32px,5dvh,58px);height:clamp(32px,5dvh,58px);border:2px solid #ffffff7a;border-radius:16px;color:white;font-size:clamp(25px,4dvh,42px);text-shadow:0 2px 5px #034da966;transform:rotate(-10deg)}
:is(.activity-play,.live-player) .memory-stage .memory-card:not(:disabled):hover{transform:translateY(-2px);border-color:#fff;box-shadow:inset 0 2px #fff9,0 6px 0 #a1c8f0,0 9px 17px #225c9a30}
:is(.activity-play,.live-player) .memory-stage .memory-card.revealed,:is(.activity-play,.live-player) .memory-stage .memory-card.flipped{border-color:#72bafa;background:#fff;color:#0a2358;box-shadow:0 4px 0 #c1dbf7,0 6px 12px #225c9a19}
:is(.activity-play,.live-player) .memory-stage .memory-card.matched{opacity:1;border-color:#9dd8bf;background:#e8f9ef;color:#125d46;box-shadow:0 3px 0 #b6ddca;cursor:default}
:is(.activity-play,.live-player) .memory-stage .memory-card small{display:block;font-size:11px;font-weight:800;color:inherit}
:is(.activity-play,.live-player) .memory-stage .memory-card.answer-wrong{background:#fff3ef;border-color:#efb4a4;color:#83432d}
:is(.activity-play,.live-player) .memory-stage .memory-card:focus-visible{outline:3px solid #051e62;outline-offset:3px;z-index:1}
:is(.activity-play,.live-player) .memory-stage .memory-long-text .memory-card{font-size:clamp(11px,1.6dvh,17px);padding:9px;line-height:1.2}
.activity-play [data-type="memory"]>.play-solution-link{align-self:flex-start;flex:none;margin:9px 0 0;padding:7px 15px;border:1px solid #c3def8;border-radius:11px;background:#fff;color:#075fc7;font-weight:800}
.activity-play [data-type="memory"]>.play-feedback:empty{display:none}
.activity-play:has(.play-question[data-type="memory"]:not([hidden])) .play-footer{flex:none;min-height:45px;margin:6px 0 0;padding:4px 0 0;border:0;background:transparent}
.memory-solutions{display:grid;gap:10px;list-style:none;margin:0;padding:0}
.memory-solutions li{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;padding:16px;border:1px solid #d9e9fa;border-radius:15px;background:#f4f9ff;color:#0b2b61;overflow-wrap:anywhere}
.live-player:has([data-live-type="memory"]){padding:20px;border:1px solid #b3daff;border-radius:25px;background:#aed6fb url('./games/memory-stage.png') center/cover no-repeat}
.live-question[data-live-type="memory"]{padding:0;border:0;background:none;box-shadow:none}
.live-question[data-live-type="memory"]>h3{width:fit-content;max-width:100%;margin:12px auto;padding:12px 20px;border-radius:17px;background:#fffffff0;color:#0b2257;text-align:center;overflow-wrap:anywhere}
.live-question[data-live-type="memory"] .memory-stage{box-sizing:border-box;min-height:400px}
.live-question[data-live-type="memory"] .memory-board{grid-auto-rows:minmax(105px,1fr)}
.live-question[data-live-type="memory"] .memory-card{font-size:clamp(13px,1.7vw,20px)}
.live-question[data-live-type="memory"] .live-observed-answer{padding:10px;border-radius:12px;background:#fff;overflow-wrap:anywhere}
@media(max-width:700px){
 .activity-play:has(.play-question[data-type="memory"]:not([hidden])){padding:10px;width:98vw;height:96dvh;max-height:96dvh}
 .activity-play [data-type="memory"] .play-question-top{padding:0 0 40px;min-height:78px}
 .activity-play [data-type="memory"] .game-timer{right:0;top:41px}
 .activity-play [data-type="memory"] .memory-intro{font-size:18px;padding:9px 12px}
 .memory-stage{padding:12px;gap:8px;border-radius:19px}
 .memory-toolbar{align-items:flex-start;flex-direction:column;gap:3px;font-size:12px}
 .memory-toolbar p,.memory-toolbar .play-progress{font-size:12px}
 :is(.activity-play,.live-player) .memory-stage .memory-board{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(100px,auto);gap:9px;flex:none}
 :is(.activity-play,.live-player) .memory-stage .memory-card{min-height:100px;font-size:15px;border-width:2px;border-radius:13px;padding:9px}
 :is(.activity-play,.live-player) .memory-stage .memory-long-text .memory-card{font-size:13px}
 .live-player:has([data-live-type="memory"]){padding:12px}
}
@media(prefers-reduced-motion:reduce){:is(.activity-play,.live-player) .memory-stage .memory-card,.memory-progress::-webkit-progress-value{transition:none}}

.activity-play [data-type="memory"] .memory-toolbar .play-progress{position:static;flex:none;margin:0;padding:0;background:none;box-shadow:none}

@media(max-width:700px){.activity-play [data-type="memory"] .question-workspace,.activity-play [data-type="memory"] .question-controls,.activity-play [data-type="memory"] .memory-stage{flex:none}}
