@import"https://fonts.googleapis.com/css2?family=Press+Start+2P&family=VT323&display=swap";:root{--color-bg-black: #000000;--color-bg-dark: #0a0a14;--color-bg-panel: #0d0d1a;--color-maze-blue: #2121DE;--color-maze-blue-light: #3333FF;--color-maze-blue-dim: #1a1a8e;--color-maze-blue-glow: rgba(33, 33, 222, .4);--color-pacman-yellow: #FFFF00;--color-ghost-red: #FF0000;--color-ghost-pink: #FFB8FF;--color-ghost-cyan: #00FFDE;--color-ghost-orange: #FFB852;--color-dot-peach: #FFB897;--color-dot-dim: #FFB89740;--color-text-primary: #ffffff;--color-text-secondary: #c8c8e0;--color-text-muted: #5858a0;--color-border: var(--color-maze-blue);--color-border-dim: #1a1a6e;--color-border-glow: var(--color-maze-blue-glow);--color-success: #39ff14;--color-warning: var(--color-pacman-yellow);--color-error: var(--color-ghost-red);--color-info: var(--color-ghost-cyan);--font-display: "Press Start 2P", monospace;--font-body: "VT323", "Courier New", monospace;--font-mono: "IBM Plex Mono", "Courier New", monospace;--text-xs: .625rem;--text-sm: .75rem;--text-base: 1rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: 2rem;--text-3xl: 2.5rem;--text-4xl: 3rem;--text-5xl: 4rem;--leading-tight: 1.1;--leading-normal: 1.5;--leading-relaxed: 1.75;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .05em;--tracking-wider: .1em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-8: 3rem;--space-10: 4rem;--space-12: 6rem;--space-16: 8rem;--border-width-thin: 2px;--border-width-medium: 4px;--border-width-thick: 6px;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 28px;--radius-pill: 100px;--radius-round: 50%;--glow-blue: 0 0 8px var(--color-maze-blue), 0 0 20px var(--color-maze-blue-glow);--glow-yellow: 0 0 10px var(--color-pacman-yellow), 0 0 25px rgba(255, 255, 0, .4);--glow-red: 0 0 10px var(--color-ghost-red), 0 0 25px rgba(255, 0, 0, .3);--glow-cyan: 0 0 10px var(--color-ghost-cyan), 0 0 25px rgba(0, 255, 222, .3);--glow-pink: 0 0 10px var(--color-ghost-pink), 0 0 25px rgba(255, 184, 255, .3);--glow-green: 0 0 10px var(--color-success), 0 0 25px rgba(57, 255, 20, .3);--text-glow-blue: 0 0 4px var(--color-maze-blue-glow);--text-glow-yellow: 0 0 4px rgba(255, 255, 0, .3);--text-glow-cyan: 0 0 4px rgba(0, 255, 222, .3);--text-glow-pink: 0 0 4px rgba(255, 184, 255, .3);--text-glow-green: 0 0 4px rgba(57, 255, 20, .3);--shadow-maze: 0 4px 20px rgba(33, 33, 222, .15);--shadow-inset: inset 0 2px 4px rgba(0, 0, 0, .5);--transition-fast: .1s ease-out;--transition-normal: .2s ease-out;--transition-slow: .4s ease-out;--transition-bounce: .3s cubic-bezier(.68, -.55, .265, 1.55);--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-modal: 300;--z-overlay: 400;--z-toast: 500}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:var(--text-lg);line-height:var(--leading-normal);color:var(--color-text-primary);background:var(--color-bg-black);min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:400;line-height:var(--leading-tight);letter-spacing:var(--tracking-wide);text-transform:uppercase}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}p{font-family:var(--font-body);font-size:var(--text-lg);line-height:var(--leading-relaxed)}a{color:var(--color-ghost-cyan);text-decoration:none;transition:all var(--transition-fast)}a:hover{color:var(--color-ghost-pink);text-shadow:var(--text-glow-pink)}::selection{background:var(--color-maze-blue);color:var(--color-pacman-yellow)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-bg-dark);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb{background:var(--color-maze-blue);border-radius:var(--radius-pill);border:2px solid var(--color-bg-dark)}::-webkit-scrollbar-thumb:hover{background:var(--color-maze-blue-light)}:focus-visible{outline:3px solid var(--color-pacman-yellow);outline-offset:2px;border-radius:var(--radius-sm)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes dotMunch{0%{clip-path:circle(50% at 50% 50%)}50%{clip-path:polygon(50% 50%,100% 0%,100% 100%,50% 50%,0% 100%,0% 0%)}to{clip-path:circle(50% at 50% 50%)}}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-blink{animation:blink 1s step-end infinite}.animate-float{animation:float 3s ease-in-out infinite}.arcade-button{position:relative;display:inline-flex;font-family:var(--font-display);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-wide);background:transparent;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;padding:0}.arcade-button__face{position:relative;display:flex;align-items:center;justify-content:center;border:3px solid transparent;border-radius:var(--radius-pill);transition:transform var(--transition-fast),box-shadow var(--transition-fast),filter var(--transition-fast);box-shadow:0 4px #0006}.arcade-button__content{display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.arcade-button--primary .arcade-button__face{background:var(--color-pacman-yellow);border-color:#ffffff1a;color:var(--color-bg-black)}.arcade-button--primary:hover:not(:disabled) .arcade-button__face{filter:brightness(1.1);box-shadow:0 4px #0006,var(--glow-yellow)}.arcade-button--secondary .arcade-button__face{background:var(--color-maze-blue);border-color:#ffffff1a;color:var(--color-text-primary)}.arcade-button--secondary:hover:not(:disabled) .arcade-button__face{filter:brightness(1.15);box-shadow:0 4px #0006,var(--glow-blue)}.arcade-button--danger .arcade-button__face{background:var(--color-ghost-orange);border-color:#ffffff1a;color:var(--color-bg-black)}.arcade-button--danger:hover:not(:disabled) .arcade-button__face{filter:brightness(1.15);box-shadow:0 4px #0006,0 0 15px #ffb85266}.arcade-button--success .arcade-button__face{background:var(--color-pacman-yellow);border-color:#ffffff1a;color:var(--color-bg-black)}.arcade-button--success:hover:not(:disabled) .arcade-button__face{filter:brightness(1.1);box-shadow:0 4px #0006,var(--glow-yellow)}.arcade-button--sm .arcade-button__face{padding:var(--space-2) var(--space-4);font-size:var(--text-xs);box-shadow:0 3px #0006}.arcade-button--md .arcade-button__face{padding:var(--space-3) var(--space-5);font-size:var(--text-sm)}.arcade-button--lg .arcade-button__face{padding:var(--space-4) var(--space-8);font-size:var(--text-base);box-shadow:0 5px #0006}.arcade-button--pressed .arcade-button__face,.arcade-button:active:not(:disabled) .arcade-button__face{transform:translateY(3px);box-shadow:0 1px #0006}.arcade-button--sm.arcade-button--pressed .arcade-button__face,.arcade-button--sm:active:not(:disabled) .arcade-button__face{transform:translateY(2px);box-shadow:0 1px #0006}.arcade-button--lg.arcade-button--pressed .arcade-button__face,.arcade-button--lg:active:not(:disabled) .arcade-button__face{transform:translateY(4px);box-shadow:0 1px #0006}.arcade-button--disabled{opacity:.4;cursor:not-allowed;filter:grayscale(50%)}.arcade-button--full-width,.arcade-button--full-width .arcade-button__face{width:100%}.arcade-button:focus-visible .arcade-button__face{outline:3px solid var(--color-pacman-yellow);outline-offset:4px}.option-input{width:100%}.option-input__wrapper{display:flex;align-items:center;background:var(--color-bg-dark);border:3px solid var(--color-border-dim);border-radius:var(--radius-xl);padding:var(--space-2) var(--space-3);gap:var(--space-2);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.option-input__wrapper:focus-within{border-color:var(--color-maze-blue);box-shadow:var(--glow-blue)}.option-input__prompt{font-family:var(--font-display);font-size:var(--text-base);color:var(--color-pacman-yellow);text-shadow:var(--text-glow-yellow);animation:blink 1s step-end infinite}.option-input__field{flex:1;background:transparent;border:none;font-family:var(--font-body);font-size:var(--text-xl);color:var(--color-text-primary);outline:none;padding:var(--space-2);letter-spacing:var(--tracking-wide)}.option-input__field::placeholder{color:var(--color-text-muted)}.option-input__field:disabled{opacity:.5}.option-input__add{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--color-maze-blue);border:none;border-radius:var(--radius-round);font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast)}.option-input__add:hover:not(:disabled){background:var(--color-ghost-pink);transform:scale(1.1);box-shadow:var(--glow-pink)}.option-input__add:active:not(:disabled){transform:scale(.95)}.option-input__add:disabled{opacity:.3;cursor:not-allowed}.option-input__hint{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text-muted);margin-top:var(--space-2);text-align:center}.option-chip{display:inline-flex;align-items:center;gap:var(--space-2);background:var(--color-bg-panel);border:2px solid var(--color-border-dim);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-3);font-family:var(--font-body);font-size:var(--text-lg);color:var(--color-text-primary);animation:chipEnter .3s ease-out backwards;transition:all var(--transition-fast)}@keyframes chipEnter{0%{opacity:0;transform:scale(.8) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.option-chip:hover{border-color:var(--color-maze-blue);box-shadow:var(--glow-blue);background:var(--color-bg-dark)}.option-chip__label{text-transform:uppercase;letter-spacing:var(--tracking-wide)}.option-chip__remove{display:flex;align-items:center;justify-content:center;width:22px;height:22px;background:transparent;border:2px solid var(--color-text-muted);border-radius:var(--radius-round);color:var(--color-text-muted);font-size:var(--text-lg);font-family:var(--font-body);cursor:pointer;transition:all var(--transition-fast);line-height:1;padding:0}.option-chip__remove:hover{background:var(--color-ghost-red);border-color:var(--color-ghost-red);color:var(--color-text-primary)}.option-chip--highlighted{border-color:var(--color-pacman-yellow);background:var(--color-pacman-yellow);color:var(--color-bg-black);transform:scale(1.05);box-shadow:var(--glow-yellow)}.option-chip--highlighted .option-chip__remove{display:none}.option-chip--selected{border-color:var(--color-success);background:var(--color-success);color:var(--color-bg-black);transform:scale(1.1);box-shadow:var(--glow-green);animation:selectedPulse .5s ease-out}@keyframes selectedPulse{0%{transform:scale(1.1)}50%{transform:scale(1.2)}to{transform:scale(1.1)}}.option-chip--selected .option-chip__remove{display:none}.spinner{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-4);width:100%}.spinner__frame{position:relative;width:100%;padding:var(--space-6);background:var(--color-bg-dark);border:5px solid var(--color-maze-blue);border-radius:var(--radius-xl);box-shadow:var(--glow-blue);transition:border-color var(--transition-normal),box-shadow var(--transition-normal)}.spinner__screen{position:relative;min-width:280px;min-height:80px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-black);border-radius:var(--radius-md);overflow:hidden}.spinner__text{position:relative;font-family:var(--font-display);font-size:var(--text-2xl);color:var(--color-pacman-yellow);text-transform:uppercase;letter-spacing:var(--tracking-wider);text-shadow:var(--text-glow-yellow);padding:var(--space-4) var(--space-6);text-align:center;word-break:break-word;max-width:100%}.spinner__label{font-family:var(--font-display);font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:var(--tracking-wider);text-transform:uppercase;text-align:center}.spinner--spinning .spinner__text{animation:textCycle .1s ease-in-out infinite}.spinner--spinning .spinner__label{color:var(--color-pacman-yellow);animation:blink .5s step-end infinite}@keyframes textCycle{0%{transform:translateY(0)}25%{transform:translateY(-1px)}75%{transform:translateY(1px)}to{transform:translateY(0)}}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.spinner--result .spinner__text{color:var(--color-success);text-shadow:var(--text-glow-green);animation:resultReveal .5s ease-out}.spinner--result .spinner__frame{border-color:var(--color-success);box-shadow:0 0 10px #39ff1426}.spinner--result .spinner__label{color:var(--color-success);text-shadow:var(--text-glow-green);animation:labelBounce .5s ease-out}@keyframes resultReveal{0%{opacity:0;transform:scale(.5)}50%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@keyframes labelBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@media(max-width:480px){.spinner__screen{min-width:200px}.spinner__text{font-size:var(--text-base);padding:var(--space-3) var(--space-4)}.spinner__frame{padding:var(--space-4)}}.game-menu__overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-4);animation:overlayFadeIn .2s ease-out}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.game-menu{position:relative;width:100%;max-width:500px;max-height:85vh;background:var(--color-bg-black);border:5px solid var(--color-maze-blue);border-radius:var(--radius-xl);box-shadow:var(--glow-blue),inset 0 0 40px #2121de0d;animation:menuSlideIn .3s cubic-bezier(.34,1.56,.64,1);display:flex;flex-direction:column;overflow:hidden}@keyframes menuSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.game-menu__corner{position:absolute;width:16px;height:16px;z-index:10;background:var(--color-dot-peach);border-radius:var(--radius-round);box-shadow:0 0 8px var(--color-dot-peach)}.game-menu__corner--tl{top:-8px;left:-8px}.game-menu__corner--tr{top:-8px;right:-8px}.game-menu__corner--bl{bottom:-8px;left:-8px}.game-menu__corner--br{bottom:-8px;right:-8px}.game-menu__header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5);background:linear-gradient(180deg,rgba(33,33,222,.1) 0%,transparent 100%);border-bottom:3px solid var(--color-border-dim)}.game-menu__title{font-family:var(--font-display);font-size:var(--text-base);color:var(--color-pacman-yellow);text-shadow:var(--text-glow-yellow);text-transform:uppercase;letter-spacing:var(--tracking-wider);margin:0}.game-menu__close{font-family:var(--font-display);font-size:var(--text-xs);color:var(--color-text-muted);background:transparent;border:2px solid var(--color-border-dim);border-radius:var(--radius-md);padding:var(--space-1) var(--space-2);cursor:pointer;transition:all var(--transition-fast)}.game-menu__close:hover{color:var(--color-ghost-red);border-color:var(--color-ghost-red);text-shadow:0 0 8px rgba(255,0,0,.4)}.game-menu__content{flex:1;overflow-y:auto;padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.game-menu__content::-webkit-scrollbar{width:8px}.game-menu__content::-webkit-scrollbar-track{background:var(--color-bg-dark);border-radius:var(--radius-pill)}.game-menu__content::-webkit-scrollbar-thumb{background:var(--color-maze-blue);border-radius:var(--radius-pill)}@media(max-width:480px){.game-menu{max-height:90vh;border-width:4px;border-radius:var(--radius-lg)}.game-menu__header{padding:var(--space-3) var(--space-4)}.game-menu__title{font-size:var(--text-sm)}.game-menu__content{padding:var(--space-4)}.game-menu__corner{width:12px;height:12px}}.app{position:relative;min-height:100vh;display:flex;flex-direction:column;overflow:hidden}.app__bg-grid{position:fixed;inset:0;background-image:radial-gradient(circle,var(--color-dot-dim) 1.5px,transparent 1.5px);background-size:36px 36px;background-position:18px 18px;pointer-events:none;z-index:-2}.app__bg-glow{position:fixed;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(ellipse at 30% 20%,rgba(33,33,222,.08) 0%,transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(0,255,222,.05) 0%,transparent 50%);pointer-events:none;z-index:-1;animation:glowDrift 12s ease-in-out infinite}@keyframes glowDrift{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.03)}}.app__main{flex:1;display:flex;flex-direction:column;max-width:800px;width:100%;margin:0 auto;padding:var(--space-6) var(--space-4) var(--space-6)}.app__header{text-align:center;margin-bottom:var(--space-6)}.app__logo{max-width:280px;width:100%;height:auto}.app__subtitle{font-family:var(--font-body);font-size:var(--text-lg);color:var(--color-dot-peach);letter-spacing:var(--tracking-wide);margin-top:-.5rem}.app__content{display:flex;flex-direction:column;gap:var(--space-8);flex:1}.app__spinner-section{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-4);scroll-margin-top:var(--space-4)}.app__sorting-label{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-2);text-align:center;padding:var(--space-3) var(--space-5);background:var(--color-bg-panel);border:3px solid var(--color-maze-blue);border-radius:var(--radius-xl);max-width:100%}.app__sorting-prefix{font-family:var(--font-body);font-size:var(--text-lg);color:var(--color-text-muted);text-transform:uppercase}.app__sorting-options{font-family:var(--font-display);font-size:var(--text-sm);color:var(--color-pacman-yellow);text-shadow:var(--text-glow-yellow);text-transform:uppercase;word-break:break-word}.app__sorting-options .app__vs{color:var(--color-ghost-pink);text-shadow:none;font-size:var(--text-xs)}.app__change-btn{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-ghost-cyan);background:transparent;border:none;cursor:pointer;padding:var(--space-1) var(--space-2);transition:all var(--transition-fast);text-transform:lowercase;border-radius:var(--radius-sm)}.app__change-btn:hover{color:var(--color-ghost-pink);text-shadow:var(--text-glow-pink)}.app__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-4)}.menu-chips{display:flex;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-4);background:var(--color-bg-dark);border:2px dashed var(--color-border-dim);border-radius:var(--radius-lg);min-height:60px}.menu-empty{display:flex;align-items:center;justify-content:center;padding:var(--space-5);background:var(--color-bg-dark);border:2px dashed var(--color-border-dim);border-radius:var(--radius-lg)}.menu-empty p{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text-muted);text-align:center}.menu-quick-picks{border-top:2px solid var(--color-border-dim);padding-top:var(--space-4)}.menu-quick-picks__title{font-family:var(--font-display);font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wider);margin-bottom:var(--space-3)}.menu-quick-picks__buttons{display:flex;flex-wrap:wrap;gap:var(--space-2)}.menu-actions{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-3);border-top:2px solid var(--color-border-dim);padding-top:var(--space-4);margin-top:auto}.app__footer{text-align:center;padding:var(--space-6) var(--space-4);margin-top:auto;border-top:2px solid var(--color-border-dim)}.app__footer p{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text-muted)}.app__footer-heart{color:var(--color-ghost-red);animation:heartbeat 1s ease-in-out infinite}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.coffee-link{position:fixed;bottom:1.25rem;right:1.25rem;z-index:100;display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;border:2px solid var(--color-border-dim);border-radius:var(--radius-pill);background:var(--color-bg-panel);color:var(--color-ghost-cyan);text-decoration:none;font-family:var(--font-body);font-size:var(--text-base);text-transform:uppercase;letter-spacing:var(--tracking-wide);transition:border-color .2s,color .2s,box-shadow .2s}.coffee-link:hover{border-color:var(--color-ghost-pink);color:var(--color-ghost-pink);box-shadow:var(--glow-pink);text-decoration:none}@media(max-width:600px){.coffee-link{position:static;display:block;text-align:center;margin:var(--space-4) auto 0;width:fit-content}.app__main{padding:var(--space-4) var(--space-3)}.app__subtitle{font-size:var(--text-base)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
