.ef-overlay{z-index:1100;overscroll-behavior:contain;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);color:#23324a;background:#8fd3f4;place-items:center;display:grid;position:fixed;inset:0}.ef-overlay,.ef-overlay *{box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.ef-stage{aspect-ratio:16/9;background-position:50%;background-size:cover;border-radius:clamp(0px,2vw,22px);width:min(100vw,177.778dvh);position:relative;overflow:hidden;box-shadow:0 18px 48px #1d3b5a33;container-type:inline-size}.ef-top{z-index:3;justify-content:space-between;align-items:center;display:flex;position:absolute;inset:2.2cqw 2.2cqw auto}.ef-stars{background:#ffffffd9;border-radius:99px;align-items:center;gap:.6cqw;padding:.7cqw 1.4cqw;display:flex;box-shadow:0 4px 14px #1d3b5a26}.ef-level{color:#3d5b7a;margin-right:.6cqw;font-size:max(13px,1.7cqw);font-weight:900}.ef-stars svg{color:#c9d3de;fill:#e9eef3;width:max(22px,3.1cqw);height:max(22px,3.1cqw);transition:transform .3s,color .3s,fill .3s}.ef-stars svg[data-on=true]{color:#f0a400;fill:#ffd23f;animation:.45s ease-out ef-pop}.ef-close,.ef-repeat{color:#23324a;cursor:pointer;background:#ffffffd9;border:0;border-radius:50%;place-items:center;width:max(44px,5cqw);height:max(44px,5cqw);display:grid;box-shadow:0 4px 14px #1d3b5a26}.ef-close svg,.ef-repeat svg{width:55%;height:55%}.ef-repeat:disabled{opacity:.55;cursor:default}.ef-prompt{z-index:3;white-space:nowrap;background:#fffffff0;border-radius:99px;align-items:center;gap:1.4cqw;padding:.8cqw .9cqw .8cqw 2.6cqw;display:flex;position:absolute;top:8.5cqw;left:50%;transform:translate(-50%);box-shadow:0 6px 22px #1d3b5a33}.ef-prompt h2{letter-spacing:.01em;color:#2b2f7a;margin:0;font-size:max(24px,4.4cqw);font-weight:900;line-height:1.1}.ef-prompt h2:focus{outline:none}.ef-overlay[data-phase=found] .ef-prompt h2{color:#1f8a4c}.ef-sticker{cursor:pointer;touch-action:manipulation;z-index:2;filter:drop-shadow(0 1.2cqw .8cqw #2a4a1f40);background:0 0;border:0;padding:0;transition:transform .2s;position:absolute;transform:translate(-50%,-88%)}.ef-sticker>img{pointer-events:none;width:auto;height:100%;display:block}.ef-sticker:active{transform:translate(-50%,-88%)scale(.95)}.ef-group{flex-direction:column;justify-content:flex-end;align-items:center;height:100%;display:flex}.ef-group-row{justify-content:center;align-items:flex-end;height:82%;display:flex}.ef-group[data-count="1"] .ef-group-row{height:88%}.ef-group[data-count="3"] .ef-group-row{height:56%}.ef-group[data-count="3"] .ef-group-row+.ef-group-row{margin-top:-9%}.ef-group-row img{pointer-events:none;width:auto;height:100%;margin:0 -3%;display:block}.ef-sticker[data-wrong=true]{animation:.5s ef-shake}.ef-sticker[data-hint=true]{animation:1.1s ease-in-out infinite alternate ef-hint}.ef-sticker[data-found=true]{z-index:4;animation:.8s ease-out both ef-found}.ef-bubble{color:#7a3b2b;white-space:nowrap;background:#fff;border-radius:99px;padding:.5cqw 1.4cqw;font-size:max(16px,2.4cqw);font-weight:900;position:absolute;bottom:100%;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0003}.ef-celebrate{z-index:5;background:radial-gradient(circle,#fff6c9fa 0,#ffe58ff0 45%,#ffd23fd9 100%);align-content:center;place-items:center;gap:1cqw;animation:.4s ease-out ef-fade;display:grid;position:absolute;inset:0}.ef-celebrate p{text-align:center;margin:0;padding:0 4cqw}.ef-summary-title{color:#c2410c;text-shadow:0 .5cqw #fff;font-size:max(34px,7cqw);font-weight:900}.ef-summary-text{color:#6b3a10;max-width:70cqw;font-size:max(17px,2.8cqw);font-weight:800}.ef-burst{gap:1.5cqw;display:flex}.ef-burst svg{color:#c9b98a;fill:#fff8de;width:max(44px,8cqw);height:max(44px,8cqw)}.ef-burst svg[data-on=true]{color:#f0a400;fill:#ffd23f}.ef-burst svg[data-new=true]{filter:drop-shadow(0 0 1.6cqw #fff3a6);animation:.8s ease-out .35s both ef-pop}.ef-celebrate[data-level-up=true] .ef-burst svg{animation:.6s ease-out both ef-pop;animation-delay:calc(var(--i) * .12s)}.ef-celebrate[data-clean=false]{background:radial-gradient(circle,#f4fbfffa 0,#dff1fbf0 45%,#bfe3f5d9 100%)}.ef-round{background:#ffffffd9;border-radius:99px;gap:.9cqw;margin-left:auto;margin-right:1.4cqw;padding:1cqw 1.4cqw;display:flex;box-shadow:0 4px 14px #1d3b5a26}.ef-round span{background:#dfe7ee;border:2px solid #b9c7d4;border-radius:50%;width:max(14px,1.7cqw);height:max(14px,1.7cqw)}.ef-round span[data-current=true]{border-color:#2b2f7a;box-shadow:0 0 0 3px #c9d4ff}.ef-round span[data-done=true]{background:#4cc27a;border-color:#2f9a58}.ef-round span[data-done=true][data-miss=true]{background:#ffb15c;border-color:#e08a2c}@keyframes ef-pop{0%{transform:scale(.2)rotate(-30deg)}70%{transform:scale(1.3)rotate(8deg)}to{transform:scale(1)}}@keyframes ef-shake{0%,to{transform:translate(-50%,-88%)}20%,60%{transform:translate(-56%,-88%)}40%,80%{transform:translate(-44%,-88%)}}@keyframes ef-hint{0%{filter:drop-shadow(0 0 #ffd23f)}to{filter:drop-shadow(0 0 2.2cqw #ffd23f)drop-shadow(0 0 1cqw #fff)}}@keyframes ef-found{0%{transform:translate(-50%,-88%)scale(1)}40%{transform:translate(-50%,-100%)scale(1.25)}to{filter:drop-shadow(0 0 2cqw #fff7b0);transform:translate(-50%,-92%)scale(1.15)}}@keyframes ef-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.ef-overlay *{transition:none!important;animation:none!important}}.ef-test{color:#fff;background:#e0523d;border-radius:99px;margin-right:.4cqw;padding:.2cqw 1cqw;font-size:max(12px,1.4cqw);font-weight:900}.ef-practice{background:#ffffffd9;border-radius:99px;gap:.7cqw;margin-left:auto;padding:.6cqw;display:flex;box-shadow:0 4px 14px #1d3b5a26}.ef-practice button{color:#2b2f7a;cursor:pointer;background:#e8eef5;border:0;border-radius:99px;min-width:max(36px,4.4cqw);height:max(36px,4.4cqw);padding:0 1cqw;font-size:max(14px,1.7cqw);font-weight:900}.ef-practice button[data-active=true]{color:#fff;background:#2b2f7a}.ef-summary-streak{color:#6b3a10;align-items:center;gap:.8cqw;font-size:max(14px,1.9cqw);font-weight:800;display:flex}.ef-summary-streak i{background:#fff8de;border:3px solid #c9b98a;border-radius:50%;width:max(18px,2.4cqw);height:max(18px,2.4cqw)}.ef-summary-streak i[data-on=true]{background:#4cc27a;border-color:#2f9a58}.ef-summary-stats{color:#7a5a35;font-size:max(13px,1.6cqw);font-weight:700}
