:root{--cta:#fede19;--ink:#fff;--ink-soft:#ccc;--design-w:1920px;--design-h:1080px;--u-vw:calc(var(--design-w) / 100);--u-vh:calc(var(--design-h) / 100);--screen-pad:clamp(1rem, calc(3 * var(--u-vw)), 2.5rem);--ui-font:"Press Start 2P", cursive;--display-font:"Press Start 2P", cursive;--emoji-font:"Segoe UI", "Nunito", "Trebuchet MS", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";--bg-color:#0b0b1a;--neon-pink:#f0f;--neon-cyan:#0ff;--neon-green:#0f0;--neon-yellow:#ff0;--neon-purple:#8a2be2}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden}body{background:var(--bg-color);height:100dvh;color:var(--ink);font-family:var(--ui-font);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;position:relative}button{font:inherit}.app-viewport{background:linear-gradient(#12101000 50%,#00000040 50%) 0 0/100% 4px,radial-gradient(circle,#0000 50%,#0009 100%) 0 0/100% 100%;position:fixed;inset:0;overflow:hidden}.app-shell{width:var(--design-w);height:var(--design-h);transform-origin:50%;transform:translate(-50%, -50%) scale(var(--fit-scale,1));flex-direction:column;display:flex;position:absolute;top:50%;left:50%;overflow:hidden}.screen{isolation:isolate;min-height:0;padding:var(--screen-pad);color:var(--ink);flex:1;animation:.42s ease-out both screen-in;position:relative;overflow:hidden}@keyframes screen-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.title-screen{overflow:visible}.title-layout{z-index:10;align-content:center;justify-items:center;gap:clamp(1.5rem, calc(5 * var(--u-vh)), 3.5rem);text-align:center;grid-template-columns:minmax(0,1fr);min-height:100%;display:grid;position:relative;container-type:inline-size}.title-header{justify-items:center;gap:clamp(.75rem, calc(2.5 * var(--u-vh)), 1.5rem);width:100%;display:grid}.brand-title{white-space:nowrap;font-family:var(--display-font);font-size:min(8rem, 13.5cqi, calc(18 * var(--u-vh)));text-align:center;justify-content:center;gap:0;margin:0;font-weight:400;line-height:1.2;animation:.7s cubic-bezier(.22,1,.36,1) both brand-rise;display:flex}.brand-title span:first-child{color:var(--neon-pink);text-shadow:0 0 10px var(--neon-pink), 0 0 20px var(--neon-pink)}.brand-title span:nth-child(2){color:var(--neon-cyan);text-shadow:0 0 10px var(--neon-cyan), 0 0 20px var(--neon-cyan)}.title-actions{--control-width:min(100%, 50rem);--control-height:min(5.5rem, calc(11 * var(--u-vh)));gap:clamp(1rem, calc(2.5 * var(--u-vh)), 1.75rem);text-align:center;justify-items:center;animation:.7s cubic-bezier(.22,1,.36,1) 80ms both brand-rise;display:grid}.instructions{max-width:100%;font-size:clamp(1.1rem, calc(2.1 * var(--u-vw)), 1.85rem);color:var(--neon-green);text-shadow:0 0 5px var(--neon-green);margin:0;font-weight:400;line-height:1.35}@keyframes brand-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.play-button{border:2px solid var(--cta);min-width:min(100%,24rem);min-height:4.5rem;color:var(--cta);font-family:var(--display-font);font-size:clamp(1rem, calc(2 * var(--u-vw)), 1.5rem);text-align:center;cursor:pointer;text-shadow:0 0 5px var(--cta);box-shadow:0 0 10px var(--cta), inset 0 0 10px var(--cta);text-transform:uppercase;background:0 0;border-radius:15px;justify-content:center;align-items:center;padding:0;font-weight:400;line-height:1;transition:all .16s;display:flex}.play-button:hover:not(:disabled){background:var(--cta);color:var(--bg-color);box-shadow:0 0 20px var(--cta), inset 0 0 20px var(--cta)}.play-button:active:not(:disabled){transform:scale(.95)}.play-button:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.8);box-shadow:none;text-shadow:none}.title-actions .play-button{min-width:var(--control-width);min-height:var(--control-height);font-size:clamp(1.2rem, calc(2.1 * var(--u-vw)), 1.85rem)}.username-input-container{width:var(--control-width)}.username-input{width:100%;height:var(--control-height);font-size:clamp(1rem, calc(1.9 * var(--u-vw)), 1.5rem);font-family:var(--display-font);border:2px solid var(--neon-cyan);color:var(--ink);text-align:center;background:#00000080;border-radius:15px;outline:none;justify-content:center;align-items:center;padding:0 1.2rem;transition:all .2s;display:flex;box-shadow:0 0 10px #0ff3}.username-input:focus{border-color:var(--neon-pink);box-shadow:0 0 15px var(--neon-pink), inset 0 0 10px var(--neon-pink)}.username-input::placeholder{color:#ffffff4d}.language-select{width:var(--control-width);position:relative}.language-select-trigger{width:100%;min-height:var(--control-height);border:2px solid var(--neon-cyan);color:var(--ink);text-align:left;cursor:pointer;background:#00000080;border-radius:15px;outline:none;align-items:center;gap:.7rem;padding:.85rem 2.8rem .85rem 1.2rem;transition:all .2s;display:flex;position:relative;box-shadow:0 0 10px #0ff3}.language-select-trigger:hover:not(:disabled){box-shadow:0 0 15px #00ffff73}.language-select-trigger:focus-visible,.language-select-trigger[aria-expanded=true]{border-color:var(--neon-pink);box-shadow:0 0 15px var(--neon-pink), inset 0 0 10px var(--neon-pink)}.language-select-trigger:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.8);box-shadow:none}.language-select-trigger.is-placeholder .language-select-name{text-align:center;font-size:clamp(.9rem, calc(1.8 * var(--u-vw)), 1.35rem);color:#ffffff8c;margin-right:-1.6rem}.language-select-name{min-width:0;font-family:var(--display-font), "Segoe UI", "Noto Sans", sans-serif;font-size:var(--language-name-size,clamp(.68rem, calc(.95 * var(--u-vw)), .8rem));text-align:left;overflow-wrap:break-word;flex:1;line-height:1.5}.language-select-code{font-family:var(--display-font), "Segoe UI", "Noto Sans", sans-serif;font-size:var(--language-code-size,clamp(.58rem, calc(.82 * var(--u-vw)), .66rem));letter-spacing:.05em;text-align:right;color:#0ff9;white-space:nowrap;flex:none;line-height:1.5}.language-select-caret{color:var(--neon-cyan);text-shadow:0 0 6px var(--neon-cyan);pointer-events:none;font-size:.75rem;transition:transform .16s;position:absolute;top:50%;right:1.2rem;transform:translateY(-50%)}.language-select-trigger[aria-expanded=true] .language-select-caret{transform:translateY(-50%)rotate(180deg)}.language-select-dropdown{z-index:30;border:2px solid var(--neon-cyan);background:var(--bg-color);border-radius:15px;flex-direction:column;display:flex;position:absolute;top:calc(100% + .5rem);left:0;right:0;overflow:hidden;box-shadow:0 0 18px #00ffff59}.language-select-search{background:#0003;border-bottom:2px solid #00ffff4d;padding:.85rem 1.2rem}.language-select-search input{width:100%;color:var(--ink);font-family:var(--ui-font);font-size:clamp(.7rem, calc(1.2 * var(--u-vw)), .9rem);background:0 0;border:none;outline:none}.language-select-search input::placeholder{color:#fff6}.language-select-list{max-height:min(15rem, calc(35 * var(--u-vh)));overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#00ffff80 transparent;margin:0;padding:0;list-style:none;overflow-y:auto}.language-select-list::-webkit-scrollbar{width:10px}.language-select-list::-webkit-scrollbar-track{background:#0006}.language-select-list::-webkit-scrollbar-thumb{background:#00ffff73;border-radius:5px}.language-select-option{cursor:pointer;border-bottom:1px solid #00ffff26;outline:none;align-items:center;gap:.7rem;padding:.85rem 1.2rem;display:flex}.language-select-option:last-child{border-bottom:none}.language-select-option:hover,.language-select-option:focus-visible{background:#00ffff1f}.language-select-option[aria-selected=true]{background:#ff00ff2e}.language-select-option[aria-selected=true] .language-select-code{color:var(--neon-pink)}.language-select-empty{text-align:center;color:#ffffff80;font-size:clamp(.7rem, calc(1 * var(--u-vw)), .9rem);padding:1.5rem 1.2rem}.title-error{max-width:var(--control-width);font-size:clamp(.75rem, calc(1.3 * var(--u-vw)), 1rem);color:var(--neon-pink);text-shadow:0 0 6px var(--neon-pink);margin:0;line-height:1.4}.game-screen{place-items:center;display:grid;overflow:visible}.explanation-overlay{z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000d9;justify-content:center;align-items:stretch;padding:.75rem;display:flex;position:absolute;inset:0;overflow:hidden}.explanation-popup{background:var(--bg-color);border:4px solid var(--neon-cyan);width:min(calc(96 * var(--u-vw)), 58rem);overscroll-behavior:contain;border-radius:15px;flex-direction:column;align-items:center;gap:clamp(.6rem,2.5cqh,1.5rem);height:100%;min-height:0;max-height:100%;padding:clamp(1rem,3cqh,2rem) clamp(1rem,3cqi,2.5rem);animation:.3s cubic-bezier(.22,1,.36,1) both tile-pop;display:flex;overflow:hidden auto;box-shadow:0 0 20px #00ffff4d,inset 0 0 20px #0ff3;container-type:size}.explanation-result{font-size:clamp(2.5rem,10cqh,5rem);line-height:1;font-family:var(--emoji-font);flex-shrink:0;margin:0}.explanation-result.correct{filter:drop-shadow(0 0 8px #0f09)}.explanation-result.incorrect{filter:drop-shadow(0 0 8px #f009)}.explanation-visuals{flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:clamp(.5rem,2cqh,1.25rem);width:100%;min-height:0;display:flex}.explanation-group{background:#ffffff0d;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;width:100%;padding:clamp(.6rem,2cqh,1.25rem) clamp(.6rem,2cqi,1.25rem) clamp(.4rem,1.5cqh,.75rem);display:flex}.venn-grid-container{justify-content:center;width:100%;padding:.5rem;display:flex}.venn-grid{grid-template-rows:auto auto;grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem clamp(.75rem,2.5cqi,2rem);width:100%;display:grid;position:relative}.venn-loop{z-index:1;pointer-events:none;background:0 0;border:3px solid;border-radius:40px;position:relative}.venn-loop-label{font-family:var(--ui-font);font-size:var(--venn-label-size,clamp(.7rem, 2.2cqi, 1.1rem));white-space:nowrap;text-align:center;text-transform:uppercase;z-index:4;box-sizing:border-box;background:#161625;border-radius:6px;justify-content:center;place-self:end center;align-items:center;min-width:0;padding:4px 8px;line-height:1.25;display:flex}.venn-emoji-container{z-index:2;justify-content:center;align-items:center;padding:clamp(.85rem,3cqh,1.75rem) .4rem;display:flex}.explanation-emoji{font-family:var(--emoji-font);font-size:clamp(2.5rem,12cqh,5.5rem);line-height:1}.explanation-divider{font-family:var(--display-font);color:var(--neon-yellow);text-shadow:0 0 15px var(--neon-yellow);flex-shrink:0;justify-content:center;align-items:center;margin:0;font-size:clamp(2rem,6cqh,3.5rem);line-height:1;display:flex}.explanation-button{min-width:8rem;min-height:clamp(3rem,8cqh,4.5rem);font-size:clamp(1.5rem,5cqh,2.25rem);font-family:var(--emoji-font);flex-shrink:0}.hud{align-items:center;column-gap:clamp(1rem, calc(2 * var(--u-vw)), 2.5rem);box-sizing:border-box;z-index:500;flex-shrink:0;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);width:100%;min-height:5rem;padding:.75rem 1.25rem;display:grid}.hud-left{align-items:center;gap:clamp(.75rem, calc(1.5 * var(--u-vw)), 1.75rem);justify-self:start;min-width:0;display:flex}.hud-center{justify-content:center;justify-self:center;align-items:center;min-width:0;display:flex}.hud-right{align-items:center;gap:clamp(1rem, calc(1.75 * var(--u-vw)), 2rem);justify-self:end;min-width:0;display:flex}.hud-stat{font-size:clamp(.7rem, calc(4.2 * var(--u-vw) - 33px), 2.25rem);font-family:var(--display-font), var(--emoji-font);color:var(--neon-yellow);text-shadow:0 0 5px var(--neon-yellow);text-align:center;white-space:nowrap;align-items:center;gap:.45rem;margin:0;line-height:1;display:flex}.hud-stat-emoji{font-family:var(--emoji-font);font-size:1.45em}.hud-lives{font-size:clamp(1.5rem, calc(2.9 * var(--u-vw)), 3rem);font-family:var(--emoji-font);align-items:center;gap:.5rem;line-height:1;display:flex}.heart-icon{transition:transform .2s;display:inline-block}.sound-toggle{--sound-toggle-size:clamp(2.5rem, calc(3.4 * var(--u-vw)), 3.5rem);width:var(--sound-toggle-size);height:var(--sound-toggle-size);border:2px solid var(--neon-cyan);color:var(--ink);font-family:var(--emoji-font);font-size:calc(var(--sound-toggle-size) * .62);cursor:pointer;background:#00000080;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:1;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex;box-shadow:0 0 10px #00ffff4d,inset 0 0 10px #0ff3}.sound-toggle:hover{box-shadow:0 0 20px var(--neon-cyan), inset 0 0 15px var(--neon-cyan);transform:scale(1.08)}.sound-toggle:active{transform:scale(.94)}.sound-toggle:focus-visible{outline:2px solid var(--neon-yellow);outline-offset:3px}.sound-toggle.is-muted{box-shadow:none;opacity:.7;border-color:#ffffff4d}.sound-toggle.is-muted:hover{border-color:var(--neon-pink);opacity:1;box-shadow:0 0 15px #ff00ff80}.emoji-row{justify-content:center;align-items:center;gap:clamp(.75rem, calc(2.5 * var(--u-vw)), 2rem);padding-bottom:calc(8 * var(--u-vh));flex-wrap:wrap;align-self:center;display:flex}.emoji-tile{width:clamp(4.5rem, calc(16 * var(--u-vw)), 20rem);height:clamp(4.5rem, calc(16 * var(--u-vw)), 20rem);border:2px solid var(--neon-cyan);cursor:pointer;font-size:clamp(2.75rem, calc(10 * var(--u-vw)), 13rem);line-height:1;font-family:var(--emoji-font);background:#0009;border-radius:15px;justify-content:center;align-items:center;padding:0;transition:all .15s;animation:.42s cubic-bezier(.22,1,.36,1) both tile-pop;display:flex;box-shadow:0 0 10px #00ffff4d,inset 0 0 10px #0ff3;container-type:inline-size}.emoji-tile>span{font-size:70cqw}.emoji-tile:nth-child(2){border-color:var(--neon-pink);animation-delay:40ms;box-shadow:0 0 10px #ff00ff4d,inset 0 0 10px #f0f3}.emoji-tile:nth-child(3){border-color:var(--neon-yellow);animation-delay:80ms;box-shadow:0 0 10px #ffff004d,inset 0 0 10px #ff03}.emoji-tile:nth-child(4){border-color:var(--neon-green);animation-delay:.12s;box-shadow:0 0 10px #00ff004d,inset 0 0 10px #0f03}.emoji-tile:nth-child(5){border-color:var(--neon-purple);animation-delay:.16s;box-shadow:0 0 10px #8a2be24d,inset 0 0 10px #8a2be233}.emoji-tile:first-child:hover{box-shadow:0 0 20px var(--neon-cyan), inset 0 0 20px var(--neon-cyan)}.emoji-tile:nth-child(2):hover{box-shadow:0 0 20px var(--neon-pink), inset 0 0 20px var(--neon-pink)}.emoji-tile:nth-child(3):hover{box-shadow:0 0 20px var(--neon-yellow), inset 0 0 20px var(--neon-yellow)}.emoji-tile:nth-child(4):hover{box-shadow:0 0 20px var(--neon-green), inset 0 0 20px var(--neon-green)}.emoji-tile:nth-child(5):hover{box-shadow:0 0 20px var(--neon-purple), inset 0 0 20px var(--neon-purple)}.emoji-tile:hover{background:#ffffff1a;transform:scale(1.1)}.emoji-tile:active{transform:scale(.96)}@keyframes tile-pop{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}.score-screen{place-items:center;display:grid}.score-panel{justify-items:center;gap:clamp(1rem, calc(3 * var(--u-vh)), 1.75rem);text-align:center;width:min(100%,40rem);animation:.65s cubic-bezier(.22,1,.36,1) both brand-rise;display:grid}.score-heading{font-family:var(--display-font);font-size:clamp(2rem, calc(5 * var(--u-vw)), 4rem);color:var(--neon-pink);text-shadow:0 0 10px var(--neon-pink);margin:0;line-height:1.2}.score-line{font-size:clamp(1rem, calc(2 * var(--u-vw)), 1.5rem);font-family:var(--ui-font);color:var(--neon-cyan);margin:0}.leaderboard{border:2px solid var(--neon-yellow);background:#0009;width:100%;margin-top:1rem;padding:1rem;box-shadow:0 0 15px #ff03}.leaderboard h2{font-size:1.5rem;font-family:var(--display-font);color:var(--neon-yellow);text-shadow:0 0 5px var(--neon-yellow);margin:0 0 1rem}.leaderboard-list{flex-direction:column;gap:.5rem;display:flex}.leaderboard-item{font-family:var(--ui-font);font-size:clamp(1rem, calc(2 * var(--u-vw)), 1.5rem);color:var(--ink);background:0 0;border-bottom:1px dashed #fff3;justify-content:space-between;align-items:center;padding:.5rem 1rem;display:flex}.leaderboard-item .rank{color:var(--neon-pink);text-align:left;width:2.5rem}.leaderboard-item .username{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;padding:0 1rem;overflow:hidden}.leaderboard-item .score{color:var(--neon-green)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.back-to-launchpad{color:#b6a4d9;letter-spacing:.03em;cursor:pointer;background:#1c0f33;border:2px solid #4a2a7a;border-radius:4px;flex-shrink:0;padding:9px 13px;font-family:"Press Start 2P",Noto Sans,sans-serif;font-size:13px;transition:border-color .15s,color .15s;position:static}.back-to-launchpad:hover{color:#33fff0;border-color:#33fff0}.arcade-loading-screen{z-index:1000;opacity:0;pointer-events:none;background:#0a0014;flex-direction:column;justify-content:center;align-items:center;gap:18px;transition:opacity .2s;display:flex;position:fixed;inset:0}.arcade-loading-screen.is-visible{opacity:1;pointer-events:auto}.arcade-loading-text{color:#33fff0;text-shadow:0 0 10px #33fff099;font-family:"Press Start 2P",Noto Sans,sans-serif;font-size:.9rem}.arcade-loading-dots{animation:.6s step-end infinite arcadeLoadingPulse}@keyframes arcadeLoadingPulse{0%,to{opacity:1}50%{opacity:.55}}.arcade-loading-bar{background:#1c0f33;border:2px solid #4a2a7a;border-radius:3px;width:220px;height:14px;overflow:hidden}.arcade-loading-bar-fill{background:linear-gradient(90deg,#ff8a3f,#ffe93f);height:100%;transition:width .35s}.powered-by{text-align:center;font-family:var(--ui-font);font-size:clamp(.6rem, calc(1.2 * var(--u-vw)), .9rem);color:var(--ink-soft);opacity:.7;position:absolute;bottom:2rem;left:0;right:0}
