.memory-prototype-choice{box-sizing:border-box;background:#fff;border:2px solid #39756b;border-radius:22px;width:min(540px,100vw - 40px);max-height:calc(100dvh - 40px);margin:auto;padding:24px;position:fixed;inset:0;box-shadow:0 18px 60px #172b3540}.memory-prototype-choice::backdrop{background:#172b3566}.memory-prototype-stages{box-sizing:border-box;background:#f5f8ff;border:2px solid #7e91b5;border-radius:20px;width:min(820px,100vw - 32px);max-height:calc(100dvh - 40px);margin:auto;padding:0 20px 20px;position:fixed;inset:0;overflow-y:auto;box-shadow:0 18px 60px #172b3540}.memory-prototype-stages::backdrop{background:#172b3566}.memory-prototype-stage-close-row{z-index:1;background:#f5f8ff;justify-content:flex-end;padding:12px 0;display:flex;position:sticky;top:0}.memory-prototype-stage-close{color:#193c43;cursor:pointer;background:#fff;border:2px solid #193c43;border-radius:12px;width:48px;height:48px;font-size:36px;line-height:1}.memory-prototype-stage-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;display:grid}.memory-prototype-stage-grid button{color:#193c43;cursor:pointer;background:#fff;border:2px solid #39756b;border-radius:12px;gap:6px;padding:16px 10px;display:grid}.memory-prototype-stage-grid strong{font-size:23px}.memory-prototype-stage-grid small{font-size:15px}.memory-prototype-stage-grid button:disabled{color:#67727f;cursor:not-allowed;background:#e9edf2;border-color:#c7cdd6}.memory-prototype-stage-grid button:focus-visible{outline-offset:3px;outline:3px solid #e2ab21}.memory-prototype-choice>div,.memory-prototype-guide>div{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.memory-game-enhanced button{min-height:44px}.memory-prototype-choice button,.memory-prototype-guide button{color:#173f46;font:inherit;cursor:pointer;background:#f3faf8;border:1px solid #39756b;border-radius:12px;padding:10px 18px;font-weight:750}.memory-prototype-choice button:hover,.memory-prototype-guide button:hover{background:#dcefe8}.memory-prototype-choice>div{grid-template-columns:1fr 1fr;gap:16px;display:grid}.memory-prototype-choice button{word-break:keep-all;min-height:96px;padding:16px 10px;font-size:clamp(20px,2.4vw,25px)}.memory-prototype-choice button:last-child{color:#fff;background:#236858}.memory-prototype-choice button:focus-visible{outline-offset:4px;outline:3px solid #e2ab21}.memory-prototype-guide{flex:none;gap:8px;width:min(880px,100%);margin:0 auto;display:grid}.memory-prototype-guide p{color:#173f46;background:#fff;border:2px solid #39756b;border-left-width:5px;border-radius:12px;margin:0;padding:10px 16px;font-size:clamp(17px,2.2vw,21px);font-weight:700;line-height:1.45}.memory-prototype-guide .previous{opacity:.5}.memory-prototype-guide>button{justify-self:end}.memory-prototype-streak{text-align:center;color:#72500b;flex-shrink:0;min-height:30px;font-size:20px;font-weight:800}.memory-prototype-streak strong{background:#fff1b9;border-radius:30px;padding:1px 18px;animation:.35s ease-out memoryStreakPop;display:inline-block}.memory-game-enhanced .memory-card{position:relative}.memory-game-enhanced .memory-prototype-board-start{z-index:5;cursor:pointer;background:0 0;border:0;border-radius:12px;justify-content:center;align-items:flex-start;width:100%;height:100%;margin:0;padding:0;display:flex;position:absolute;inset:0}.memory-prototype-board-start>span{color:#173f46;background:#fff;border:3px solid #236858;border-radius:16px;margin-top:20px;padding:16px 30px;font-size:clamp(22px,3vw,28px);font-weight:900;line-height:1.3;box-shadow:0 6px 22px #172b3540}.memory-prototype-board-start:hover>span{background:#edf8f3}.memory-prototype-board-start:focus-visible{outline-offset:2px;outline:4px solid #e2ab21}.memory-game-enhanced .memory-card.guide-recommended{outline-offset:-5px;border-radius:12px;outline:5px solid #bd2727}.memory-prototype-card-tag{z-index:2;color:#fff;pointer-events:none;background:#ab2424;border:2px solid #fff;border-radius:10px;padding:7px 14px;font-size:clamp(20px,2.5vw,26px);font-weight:900;line-height:1.2;position:absolute;top:6px;right:6px;box-shadow:0 2px 5px #0003}.memory-game-enhanced .memory-card.streak-match{animation:.5s ease-out memoryStreakGlow}@keyframes memoryStreakPop{0%{transform:scale(.92)}to{transform:scale(1)}}@keyframes memoryStreakGlow{50%{box-shadow:0 0 0 4px #eabd42,0 0 18px #eabd42}}@media (prefers-reduced-motion:reduce){.memory-prototype-streak strong,.memory-game-enhanced .memory-card.streak-match{animation:none}}
