html:has(.ek){overscroll-behavior:none;height:100%;overflow:hidden}html:has(.ek) body{overscroll-behavior:none;height:100%;overflow:hidden}.ek{color:#383838;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;background:radial-gradient(120% 80% at 30% 0,#fde9d2,#0000 70%),linear-gradient(#f3dcc8,#f8efe6);position:fixed;inset:0;overflow:hidden}.ek-stage{touch-action:none;position:absolute;inset:0}.ek-stage canvas{touch-action:none;width:100%;height:100%;display:block}.ek-hud{left:max(24px, env(safe-area-inset-left));top:max(20px, env(safe-area-inset-top));pointer-events:none;gap:8px;display:grid;position:absolute}.ek-hud span{letter-spacing:.2em;color:#6d6878;font-size:.75rem;font-weight:600}.ek-pop{text-align:center;pointer-events:none;letter-spacing:.12em;color:#2f2a40;width:min(100% - 32px,480px);font-size:clamp(1.6rem,7vw,2.4rem);font-weight:700;animation:1s ease-out forwards ek-pop;position:absolute;top:20%;left:50%;translate:-50%}.ek-pop-long{animation-duration:2.4s}.ek-pop-line{letter-spacing:0;color:#5d5468;text-wrap:balance;margin-top:.4rem;font-size:1rem;font-weight:600}@keyframes ek-pop{0%{opacity:0;scale:.6}20%{opacity:1;scale:1.08}35%{scale:1}70%{opacity:1}to{opacity:0}}.ek-float{pointer-events:none;color:#4a4a4a;animation:.9s ease-out forwards ek-float;position:absolute;transform:translate(-50%,-100%)}.ek-close{color:#2f2a40;white-space:nowrap;font-weight:700}@keyframes ek-float{0%{opacity:0;translate:0 8px}15%{opacity:1}to{opacity:0;translate:0 -40px}}.ek-sound{right:max(16px, env(safe-area-inset-right));top:max(16px, env(safe-area-inset-top));color:#383838;cursor:pointer;background:#ffffff73;border:1px solid #38383824;border-radius:999px;place-items:center;width:40px;height:40px;display:grid;position:absolute}.ek-sound:focus-visible,.ek-btn:focus-visible{outline-offset:3px;outline:2px solid #383838}.ek-panel{text-align:center;justify-items:center;gap:.9rem;width:min(100% - 32px,360px);display:grid;position:absolute;left:50%;transform:translate(-50%)}.ek-start{bottom:calc(max(24px, env(safe-area-inset-bottom)) + 6vh)}.ek-start h1{letter-spacing:-.04em;color:#2f2a40;font-size:clamp(2.6rem,11vw,3.6rem)}.ek-start p{color:#6d6878;font-size:.95rem}.ek-btn{font:inherit;color:#fff;cursor:pointer;background:#2f2a40;border:0;border-radius:999px;padding:.95rem 2.4rem;font-size:1.05rem;font-weight:500;transition:transform .2s}.ek-btn:hover{transform:translateY(-2px)}.ek-best{color:#6d6878;font-variant-numeric:tabular-nums;font-size:.85rem}.ek-over{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:#14121c99;place-items:center;animation:.3s ease-out ek-fade;display:grid;position:absolute;inset:0}.ek-over .ek-panel{color:#fff;position:static;transform:none}.ek-over .ek-label{text-transform:uppercase;letter-spacing:.3em;opacity:.7;font-size:.75rem}.ek-over .ek-best{color:#fffc;font-size:.95rem}.ek-why{text-wrap:balance;margin-bottom:1.5rem;font-size:1.15rem;font-weight:600;line-height:1.35}.ek-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.ek-over .ek-btn{color:#2f2a40;background:#fff}.ek-over .ek-ghost{color:#fff;background:0 0;box-shadow:inset 0 0 0 1.5px #fff9}.ek-over .wait,.ek-over .wait-note{text-align:left;margin-top:1.5rem}@keyframes ek-fade{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.ek-btn{transition:none}}
