.pf-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9500;display:flex;align-items:center;justify-content:center;padding:20px;background:color-mix(in srgb,var(--color-bg) 86%,transparent);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);animation:pf-backdrop-in .26s ease-out both}@keyframes pf-backdrop-in{0%{opacity:0}to{opacity:1}}.pf-card{position:relative;width:min(420px,100%);border-radius:28px;border:1px solid var(--color-border, color-mix(in srgb, var(--color-text) 14%, transparent));background:radial-gradient(120% 130% at 85% -20%,color-mix(in srgb,var(--color-primary) 26%,transparent),transparent 60%),radial-gradient(110% 120% at 10% 0%,color-mix(in srgb,var(--color-accent) 18%,transparent),transparent 58%),linear-gradient(180deg,color-mix(in srgb,var(--color-surface) 97%,transparent),color-mix(in srgb,var(--color-bg) 99%,transparent));box-shadow:0 24px 60px color-mix(in srgb,var(--color-bg) 60%,transparent),0 2px color-mix(in srgb,var(--color-text) 6%,transparent) inset;padding:32px 24px calc(24px + env(safe-area-inset-bottom,0px));overflow:hidden;animation:pf-card-in .52s cubic-bezier(.16,1,.3,1) both}@keyframes pf-card-in{0%{opacity:0;transform:translateY(18px) scale(.97);filter:blur(6px)}to{opacity:1;transform:none;filter:blur(0)}}.pf-avatar{position:relative;width:112px;height:112px;margin:0 auto 20px;display:grid;place-items:center}.pf-avatar__halo{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--color-primary) 42%,transparent) 0%,transparent 68%);animation:pf-halo .62s cubic-bezier(.16,1,.3,1) .12s both}@keyframes pf-halo{0%{opacity:0;transform:scale(.4)}60%{opacity:1}to{opacity:.85;transform:scale(1)}}.pf-avatar__ring{position:absolute;top:6px;right:6px;bottom:6px;left:6px;border-radius:50%;border:2px solid color-mix(in srgb,var(--color-primary) 55%,transparent);animation:pf-ring .7s cubic-bezier(.16,1,.3,1) 80ms both}@keyframes pf-ring{0%{opacity:0;transform:scale(.7) rotate(-25deg)}to{opacity:1;transform:none}}.pf-avatar__emoji{position:relative;font-size:62px;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Android Emoji",EmojiSymbols,sans-serif;line-height:1;animation:pf-pop .64s cubic-bezier(.16,1,.3,1) .16s both}@keyframes pf-pop{0%{opacity:0;transform:scale(.3) rotate(-14deg)}to{opacity:1;transform:none}}.pf-title{margin:0 0 6px;text-align:center;font-size:24px;font-weight:900;letter-spacing:-.02em;color:var(--color-text);font-family:var(--font-heading, inherit)}.pf-sub{margin:0 0 24px;text-align:center;font-size:14px;line-height:1.5;color:color-mix(in srgb,var(--color-text) 75%,transparent)}.pf-sub__animal{color:var(--color-text);font-weight:700}.pf-field{position:relative;display:flex;align-items:center;gap:8px;border-radius:16px;border:1.5px solid var(--color-border, color-mix(in srgb, var(--color-text) 16%, transparent));background:color-mix(in srgb,var(--color-surface) 72%,transparent);padding:4px 4px 4px 16px;transition:border-color .16s ease,box-shadow .16s ease}.pf-field:focus-within{border-color:color-mix(in srgb,var(--color-primary) 70%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-primary) 18%,transparent)}.pf-field--invalid{border-color:color-mix(in srgb,var(--color-error) 70%,transparent)}.pf-input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--color-text);font-size:17px;font-weight:700;font-family:inherit;padding:12px 0}.pf-input::placeholder{color:color-mix(in srgb,var(--color-text) 75%,transparent);font-weight:500}.pf-count{font-size:12px;font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--color-text) 75%,transparent);padding-right:2px}.pf-count--limit{color:var(--color-warning, var(--color-error))}.pf-dice{flex:none;width:40px;height:40px;border-radius:12px;border:1px solid var(--color-border, color-mix(in srgb, var(--color-text) 14%, transparent));background:color-mix(in srgb,var(--color-surface) 90%,transparent);color:var(--color-text);display:grid;place-items:center;cursor:pointer;transition:transform .16s cubic-bezier(.16,1,.3,1),background-color .16s ease}.pf-dice:hover{background:var(--color-surface-hover, color-mix(in srgb, var(--color-primary) 16%, transparent))}.pf-dice:active{transform:scale(.92) rotate(-18deg)}.pf-dice svg{width:19px;height:19px}.pf-hint{margin:10px 2px 0;min-height:18px;font-size:12.5px;line-height:1.4;color:color-mix(in srgb,var(--color-text) 75%,transparent)}.pf-hint--error{color:var(--color-error);font-weight:600}.pf-actions{margin-top:22px;display:flex;flex-direction:column;gap:10px}.pf-submit{width:100%;border:none;border-radius:16px;padding:16px 20px;font-size:16px;font-weight:900;letter-spacing:.01em;font-family:inherit;cursor:pointer;color:var(--color-text-on-primary, var(--color-btn-text, #fff));background:linear-gradient(135deg,var(--color-primary),color-mix(in srgb,var(--color-primary) 62%,var(--color-accent)));box-shadow:0 8px 22px color-mix(in srgb,var(--color-primary) 34%,transparent);transition:transform .16s cubic-bezier(.16,1,.3,1),box-shadow .16s ease,opacity .16s ease}.pf-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 28px color-mix(in srgb,var(--color-primary) 42%,transparent)}.pf-submit:active:not(:disabled){transform:translateY(0) scale(.985)}.pf-submit:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.pf-ghost{width:100%;border:1px solid var(--color-border, color-mix(in srgb, var(--color-text) 14%, transparent));border-radius:14px;padding:12px 16px;background:transparent;color:color-mix(in srgb,var(--color-text) 80%,transparent);font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:background-color .16s ease,color .16s ease}.pf-ghost:hover{background:var(--color-surface-hover, color-mix(in srgb, var(--color-text) 8%, transparent));color:var(--color-text)}.pf-badge{display:inline-flex;align-items:center;gap:8px;border-radius:999px;border:1px solid var(--color-border, color-mix(in srgb, var(--color-text) 14%, transparent));background:color-mix(in srgb,var(--color-surface) 70%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:6px 14px 6px 8px;color:var(--color-text);font-size:14px;font-weight:700;font-family:inherit;max-width:100%;transition:background-color .16s ease,transform .16s ease}button.pf-badge{cursor:pointer}button.pf-badge:hover{background:var(--color-surface-hover, color-mix(in srgb, var(--color-primary) 14%, transparent))}button.pf-badge:active{transform:scale(.97)}.pf-badge__animal{font-size:19px;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Android Emoji",EmojiSymbols,sans-serif;line-height:1;flex:none}.pf-badge__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pf-badge--sm{font-size:13px;padding:5px 12px 5px 7px}.pf-badge--sm .pf-badge__animal{font-size:16px}.highscore-entry__player{display:inline-flex;align-items:center;gap:6px;margin-left:auto;font-size:13px;font-weight:700;color:color-mix(in srgb,var(--color-text) 78%,transparent);min-width:0}.highscore-entry__player-animal{font-size:15px;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Android Emoji",EmojiSymbols,sans-serif;line-height:1;flex:none}.highscore-entry__player-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:12ch}@media(prefers-reduced-motion:reduce){.pf-backdrop,.pf-card,.pf-avatar__halo,.pf-avatar__ring,.pf-avatar__emoji{animation-duration:1ms;animation-delay:0ms}.pf-submit,.pf-dice,.pf-badge{transition-duration:1ms}}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body{touch-action:pan-x pan-y;overscroll-behavior:none;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom)}*{touch-action:manipulation}:root{--color-primary: #555;--color-secondary: #666;--color-accent: #777;--color-bg: #111;--color-surface: #1a1a1a;--color-surface-hover: #222;--color-text: #ddd;--color-text-muted: #888;--color-text-on-primary: #fff;--color-success: #4caf50;--color-error: #f44336;--color-warning: #ff9800;--color-gradient: linear-gradient(135deg, #555, #777, #999);--color-glow: #555;--color-overlay: rgba(0, 0, 0, .8);--font-heading: system-ui, sans-serif;--font-body: system-ui, sans-serif;--font-display: system-ui, sans-serif;--font-mono: monospace;--radius: 8px;--neon-pink: var(--color-primary);--neon-green: var(--color-secondary);--neon-blue: var(--color-accent);--neon-yellow: var(--color-warning);--neon-orange: var(--color-warning);--bg-dark: var(--color-bg);--bg-card: var(--color-surface);--bg-card-hover: var(--color-surface-hover);--text-main: var(--color-text);--text-muted: var(--color-text-muted)}*{margin:0;padding:0;box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{display:none}html,body{overflow:hidden;height:100%;height:100dvh}body{background:var(--bg-dark);color:var(--text-main);font-family:var(--font-body);user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 20% 50%,color-mix(in srgb,var(--color-primary) 8%,transparent) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,color-mix(in srgb,var(--color-accent) 8%,transparent) 0%,transparent 50%),radial-gradient(ellipse at 50% 80%,color-mix(in srgb,var(--color-secondary) 5%,transparent) 0%,transparent 50%);z-index:-1;animation:bgPulse 8s ease-in-out infinite alternate}@keyframes bgPulse{0%{opacity:.6}to{opacity:1}}.glitch{position:relative;animation:glitch 3s infinite}@keyframes glitch{0%,90%,to{transform:translate(0)}92%{transform:translate(-2px,1px)}94%{transform:translate(2px,-1px)}96%{transform:translate(-1px,-2px)}98%{transform:translate(1px,2px)}}.rotate-warning{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;background:var(--color-bg, #0a0a1a);color:var(--color-text);flex-direction:column;align-items:center;justify-content:center;font-size:20px;gap:16px;font-family:system-ui,sans-serif}@media(orientation:landscape)and (max-height:500px){.rotate-warning{display:flex}}.install-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--bg, #0a0a0f);padding:1rem}.install-card{max-width:480px;width:100%;text-align:center;padding:2rem}.install-hero{font-size:1.5rem;font-weight:700;color:var(--color-primary, #ff00ff);margin:1rem 0 .25rem}.install-sub{color:var(--color-text-muted);margin-bottom:2rem;font-size:.95rem}.install-platform{background:var(--color-surface-alpha);border:1px solid color-mix(in srgb,var(--color-primary) 15%,transparent);border-radius:12px;padding:1.25rem;margin:1rem 0;text-align:left}.install-platform h2{margin:0 0 .25rem;font-size:1.2rem}.install-tagline{color:var(--color-text-muted);font-size:.85rem;margin:0 0 .75rem;font-style:italic}.install-platform ol{padding-left:1.25rem;margin:0;line-height:1.8}.install-icon{display:inline-block;background:color-mix(in srgb,var(--color-primary) 15%,transparent);border-radius:4px;padding:0 4px;font-weight:700}.install-alt{color:var(--color-text-muted);font-size:.85rem;margin-top:.5rem}.install-alt kbd{background:var(--color-surface-alpha);border:1px solid var(--color-border);border-radius:3px;padding:1px 5px;font-family:monospace}.install-arrow-container{display:flex;flex-direction:column;align-items:center;margin-top:1rem;gap:.25rem}.install-bouncing-arrow{font-size:2rem;color:var(--color-primary, #ff00ff);animation:bounceDown 1s ease-in-out infinite;text-shadow:0 0 10px color-mix(in srgb,var(--color-primary) 53%,transparent)}.install-bouncing-arrow.up{animation:bounceUp 1s ease-in-out infinite}.install-arrow-label{font-size:.75rem;color:var(--color-text-muted)}@keyframes bounceDown{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}@keyframes bounceUp{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.install-back-btn{display:inline-block;margin-top:2rem;color:var(--color-primary, #ff00ff);text-decoration:none;font-weight:700;padding:.5rem 1.5rem;border:1px solid color-mix(in srgb,var(--color-primary) 27%,transparent);border-radius:8px;transition:background .2s}.install-back-btn:hover{background:color-mix(in srgb,var(--color-primary) 10%,transparent)}.install-all-platforms{margin-top:1rem}.install-all-platforms summary{cursor:pointer;color:var(--color-text-muted);font-size:.85rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button,input,select,textarea{font-family:inherit}.tap-44{position:relative}.tap-44:after{content:"";position:absolute;top:50%;left:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%);background:transparent;pointer-events:auto}:focus-visible{outline:2px solid var(--color-primary, currentColor);outline-offset:2px;border-radius:4px}[data-motion=reduced] .kk-ambient,[data-motion=none] .kk-ambient,[data-motion=reduced] .kk-title,[data-motion=none] .kk-title,[data-motion=reduced] body:before,[data-motion=none] body:before,[data-motion=reduced] .install-bouncing-arrow,[data-motion=none] .install-bouncing-arrow,[data-motion=reduced] .glitch,[data-motion=none] .glitch,[data-motion=reduced] .game-over-highscore__new,[data-motion=none] .game-over-highscore__new{animation:none!important}[data-motion=reduced] .game-over-confetti,[data-motion=none] .game-over-confetti,[data-motion=reduced] .game-over-confetti-piece,[data-motion=none] .game-over-confetti-piece,[data-motion=reduced] .kk-title__ghost,[data-motion=none] .kk-title__ghost{display:none!important}[data-motion=reduced] .game-over-sheet,[data-motion=reduced] .game-over-backdrop,[data-motion=reduced] .highscore-sheet,[data-motion=reduced] .highscore-backdrop,[data-motion=reduced] .highscore-entry,[data-motion=reduced] .game-over-stat{animation-duration:.16s!important;animation-delay:0ms!important}[data-motion=none] .game-over-sheet,[data-motion=none] .highscore-sheet,[data-motion=none] .highscore-entry,[data-motion=none] .game-over-stat,[data-motion=none] .game-over-confetti{animation:none!important;opacity:1!important;transform:none!important}@media(prefers-reduced-motion:reduce){.kk-ambient,.kk-title,body:before,.install-bouncing-arrow,.glitch,.game-over-highscore__new{animation:none!important}.kk-title__ghost,.game-over-confetti,.game-over-confetti-piece{display:none!important}.game-over-sheet,.game-over-backdrop,.highscore-sheet,.highscore-backdrop,.highscore-entry,.game-over-stat{animation-duration:.16s!important;animation-delay:0ms!important}}.kk-games{--kk-gap: clamp(14px, 4.5vw, 22px);--kk-card-max: 124px;display:flex;flex-wrap:wrap;justify-content:center;align-content:center;gap:var(--kk-gap);width:100%;max-width:calc(3 * var(--kk-card-max) + 2 * 22px);margin-inline:auto}.kk-game-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:0;background:transparent;border:none;cursor:pointer;width:calc((100% - 2 * var(--kk-gap)) / 3);-webkit-tap-highlight-color:transparent;transition:transform .16s cubic-bezier(.2,.8,.3,1)}.kk-game-card__icon{width:clamp(72px,24vw,100px);height:clamp(72px,24vw,100px);border-radius:clamp(16px,5vw,22px);overflow:hidden;background:var(--color-surface-alpha);box-shadow:0 6px 16px #00000057,0 0 22px color-mix(in srgb,var(--color-glow) 16%,transparent);transition:transform .16s cubic-bezier(.2,.8,.3,1),box-shadow .16s ease}.kk-game-card__icon img{width:100%;height:100%;object-fit:cover;pointer-events:none;display:block}.kk-game-card__name{color:var(--color-text);font-size:13px;font-weight:500;line-height:1.25;min-height:2.5em;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}@media(hover:hover){.kk-game-card:hover .kk-game-card__icon{transform:translateY(-3px);box-shadow:0 10px 22px #00000061,0 0 30px color-mix(in srgb,var(--color-glow) 26%,transparent)}}.kk-game-card:active{transform:scale(.96)}@keyframes kk-card-in{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}.kk-game-card{animation:kk-card-in .42s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--kk-i, 0) * 45ms)}[data-motion=reduced] .kk-game-card,[data-motion=none] .kk-game-card{animation:none!important}@media(prefers-reduced-motion:reduce){.kk-game-card{animation:none!important}.kk-game-card,.kk-game-card__icon{transition:none!important}}
