@font-face{font-family:Google Sans;src:url(/assets/fonts/GoogleSans.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:Google Sans Text;src:url(/assets/fonts/GoogleSansText-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Google Sans Text;src:url(/assets/fonts/GoogleSansText-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Google Sans Text;src:url(/assets/fonts/GoogleSansText-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--g-blue: #4285f4;--g-red: #ea4335;--g-yellow: #fbbc04;--g-green: #34a853;--font-display: "Google Sans", system-ui, -apple-system, sans-serif;--font-ui: "Google Sans Text", system-ui, -apple-system, sans-serif;--font-body: "Google Sans Text", system-ui, -apple-system, sans-serif;--font-mono: "Google Sans Text", system-ui, -apple-system, sans-serif;--pill: 999px;--r-xl: 28px;--r-lg: 20px;--r-md: 12px;--r-sm: 8px;--ease: cubic-bezier(.2, 0, 0, 1);--ease-out: cubic-bezier(.05, .7, .1, 1);--dur-sm: .15s;--dur-md: .25s;--dur-lg: .4s}:root,:root[data-theme=light]{color-scheme:light;--bg: #ffffff;--surface: #ffffff;--surface-2: #f8f9fa;--surface-3: #f1f3f4;--border-subtle: #e8eaed;--border: #dadce0;--border-strong: #bdc1c6;--text: #202124;--text-2: #5f6368;--text-3: #70757a;--accent: #1a73e8;--accent-hover: #185abc;--accent-soft: #e8f0fe;--on-accent: #ffffff;--success: #188038;--success-soft: #e6f4ea;--danger: #c5221f;--danger-soft: #fce8e6;--state-hover: rgba(32, 33, 36, .08);--state-press: rgba(32, 33, 36, .12);--state-on-accent-hover: rgba(255, 255, 255, .12);--state-on-accent-press: rgba(255, 255, 255, .18);--state-accent-hover: rgba(26, 115, 232, .08);--state-accent-press: rgba(26, 115, 232, .12);--scrim: rgba(32, 33, 36, .6);--shadow-1: 0 1px 2px 0 rgba(60, 64, 67, .3), 0 1px 3px 1px rgba(60, 64, 67, .15);--shadow-2: 0 1px 2px 0 rgba(60, 64, 67, .3), 0 2px 6px 2px rgba(60, 64, 67, .15);--shadow-3: 0 1px 3px 0 rgba(60, 64, 67, .3), 0 4px 8px 3px rgba(60, 64, 67, .15);--shadow-4: 0 2px 3px 0 rgba(60, 64, 67, .3), 0 6px 10px 4px rgba(60, 64, 67, .15)}:root[data-theme=dark]{color-scheme:dark;--bg: #202124;--surface: #292a2d;--surface-2: #303134;--surface-3: #3c4043;--border-subtle: #3c4043;--border: #5f6368;--border-strong: #80868b;--text: #e8eaed;--text-2: #bdc1c6;--text-3: #9aa0a6;--accent: #8ab4f8;--accent-hover: #aecbfa;--accent-soft: #1f3047;--on-accent: #202124;--success: #81c995;--success-soft: #1e3325;--danger: #f28b82;--danger-soft: #3b2220;--state-hover: rgba(232, 234, 237, .08);--state-press: rgba(232, 234, 237, .12);--state-on-accent-hover: rgba(32, 33, 36, .12);--state-on-accent-press: rgba(32, 33, 36, .18);--state-accent-hover: rgba(138, 180, 248, .12);--state-accent-press: rgba(138, 180, 248, .18);--scrim: rgba(0, 0, 0, .7);--shadow-1: 0 1px 2px 0 rgba(0, 0, 0, .6), 0 1px 3px 1px rgba(0, 0, 0, .3);--shadow-2: 0 1px 2px 0 rgba(0, 0, 0, .6), 0 2px 6px 2px rgba(0, 0, 0, .3);--shadow-3: 0 1px 3px 0 rgba(0, 0, 0, .6), 0 4px 8px 3px rgba(0, 0, 0, .3);--shadow-4: 0 2px 3px 0 rgba(0, 0, 0, .6), 0 6px 10px 4px rgba(0, 0, 0, .3)}*{box-sizing:border-box;margin:0;padding:0}html{height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;overflow:hidden;overscroll-behavior:none;-webkit-text-size-adjust:100%}body{height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;width:100vw;overflow:hidden;display:flex;flex-direction:column;background-color:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--dur-md) var(--ease),color var(--dur-md) var(--ease);overscroll-behavior:none;-webkit-tap-highlight-color:transparent}body.game-active{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:var(--app-height, 100dvh);overflow:hidden;touch-action:none}body.game-active #root{height:var(--app-height, 100dvh);max-height:none;overflow:hidden}#root{height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;width:100vw;overflow:hidden;display:flex;flex-direction:column;background-color:var(--bg)}body.install-prompt-visible .leaderboard-container,body.install-prompt-visible .controls-page,body.install-prompt-visible .app-main-view{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))}h1,h2,h3,h4,.font-display{font-family:var(--font-display);color:var(--text);margin:0;text-wrap:balance}h1{font-size:clamp(2.25rem,5.5vw,3.75rem);font-weight:700;line-height:1.08;letter-spacing:-.03em}h2{font-size:clamp(1.375rem,2.8vw,2rem);font-weight:500;line-height:1.2;letter-spacing:-.018em}h3{font-size:1.1875rem;font-weight:500;line-height:1.3;letter-spacing:-.01em}h4{font-size:1rem;font-weight:500;line-height:1.4;letter-spacing:0}p{margin:0}.lede{font-size:clamp(1rem,1.5vw,1.1875rem);color:var(--text-2);line-height:1.6;max-width:62ch}.label-sm{font-family:var(--font-display);font-size:.75rem;font-weight:500;letter-spacing:.04em;color:var(--text-3)}.font-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.font-ui{font-family:var(--font-ui)}.hidden{display:none!important}.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}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--pill)}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}button{font-family:var(--font-ui);cursor:pointer;border:none;background:none;color:inherit}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 24px;border-radius:var(--pill);font-family:var(--font-display);font-size:.875rem;font-weight:500;letter-spacing:.007em;white-space:nowrap;text-decoration:none;-webkit-user-select:none;user-select:none;border:none;background-color:transparent;background-image:none;transition:background-color var(--dur-md) var(--ease),background-image var(--dur-sm) var(--ease),box-shadow var(--dur-md) var(--ease),color var(--dur-md) var(--ease),border-color var(--dur-md) var(--ease)}.btn-lg{height:48px;padding:0 30px;font-size:.9375rem}.btn-sm{height:32px;padding:0 16px;font-size:.8125rem}.btn-block{width:100%}@media(pointer:coarse){.btn{height:44px}.btn-sm{height:40px}}.btn-filled,.btn-primary{background-color:var(--accent);color:var(--on-accent)}.btn-filled:hover:not(:disabled),.btn-primary:hover:not(:disabled){background-image:linear-gradient(var(--state-on-accent-hover),var(--state-on-accent-hover));box-shadow:var(--shadow-1)}.btn-filled:active:not(:disabled),.btn-primary:active:not(:disabled){background-image:linear-gradient(var(--state-on-accent-press),var(--state-on-accent-press));box-shadow:none}.btn-tonal{background-color:var(--accent-soft);color:var(--accent)}.btn-tonal:hover:not(:disabled){background-image:linear-gradient(var(--state-accent-hover),var(--state-accent-hover));box-shadow:var(--shadow-1)}.btn-tonal:active:not(:disabled){background-image:linear-gradient(var(--state-accent-press),var(--state-accent-press));box-shadow:none}.btn-outlined{background-color:transparent;color:var(--accent);border:1px solid var(--border)}.btn-outlined:hover:not(:disabled){background-image:linear-gradient(var(--state-accent-hover),var(--state-accent-hover));border-color:var(--accent)}.btn-outlined:active:not(:disabled){background-image:linear-gradient(var(--state-accent-press),var(--state-accent-press))}.btn-secondary{background-color:transparent;color:var(--text);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background-image:linear-gradient(var(--state-hover),var(--state-hover));border-color:var(--border-strong)}.btn-secondary:active:not(:disabled){background-image:linear-gradient(var(--state-press),var(--state-press))}.btn-accent{background-color:var(--g-green);color:#fff}.btn-accent:hover:not(:disabled){background-image:linear-gradient(#ffffff1f,#ffffff1f);box-shadow:var(--shadow-1)}.btn-accent:active:not(:disabled){background-image:linear-gradient(#0000001f,#0000001f);box-shadow:none}.btn-danger{background-color:transparent;color:var(--danger);border:1px solid var(--border)}.btn-danger:hover:not(:disabled){background-color:var(--danger-soft);border-color:var(--danger)}.btn-text{background-color:transparent;color:var(--accent);padding:0 12px}.btn-text:hover:not(:disabled){background-image:linear-gradient(var(--state-accent-hover),var(--state-accent-hover))}.btn-text:active:not(:disabled){background-image:linear-gradient(var(--state-accent-press),var(--state-accent-press))}.btn:disabled{background-color:var(--surface-3);background-image:none;color:var(--text-3);border-color:transparent;box-shadow:none;cursor:not-allowed}.icon-btn{position:relative;width:40px;height:40px;border-radius:var(--pill);display:grid;place-items:center;color:var(--text-2);border:none;background-color:transparent;background-image:none;cursor:pointer;flex:none;transition:background-color var(--dur-md) var(--ease),color var(--dur-md) var(--ease)}.icon-btn:hover{background-image:linear-gradient(var(--state-hover),var(--state-hover));color:var(--text)}.icon-btn:active{background-image:linear-gradient(var(--state-press),var(--state-press))}@media(pointer:coarse){.icon-btn{width:48px;height:48px}}.card,.glass-panel{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--r-xl);padding:24px;transition:background-color var(--dur-md) var(--ease),border-color var(--dur-md) var(--ease),box-shadow var(--dur-md) var(--ease)}.card-elevated{border-color:transparent;box-shadow:var(--shadow-2)}.divider{height:1px;background:var(--border-subtle);border:0}.field{position:relative;display:flex;flex-direction:column}.field input,.field textarea,.input-field{width:100%;font-family:var(--font-ui);font-size:1rem;line-height:1.5;color:var(--text);background:transparent;border:1px solid var(--border-strong);border-radius:var(--r-sm);padding:14px 16px;outline:none;transition:border-color var(--dur-sm) var(--ease),box-shadow var(--dur-sm) var(--ease)}.field input::placeholder,.field textarea::placeholder,.input-field::placeholder{color:var(--text-3)}.field input:focus,.field textarea:focus,.input-field:focus{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.field input[aria-invalid=true],.input-field[aria-invalid=true],.field.has-error input,.field.has-error .input-field{border-color:var(--danger)}.field input[aria-invalid=true]:focus,.input-field[aria-invalid=true]:focus,.field.has-error input:focus{box-shadow:inset 0 0 0 1px var(--danger)}.field-label,.input-label{font-family:var(--font-ui);font-size:.875rem;font-weight:500;color:var(--text-2);margin-bottom:6px}.input-hint{font-size:.75rem;color:var(--text-3);margin-top:6px}.input-error{font-size:.75rem;color:var(--danger);margin-top:6px}.chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 14px;border-radius:var(--r-sm);background:var(--surface-3);color:var(--text-2);font-family:var(--font-display);font-size:.8125rem;font-weight:500;white-space:nowrap}.chip-ready{background:var(--success-soft);color:var(--success)}.chip-accent{background:var(--accent-soft);color:var(--accent)}.footer-dots{display:flex;align-items:center;gap:6px}.footer-dots i{width:8px;height:8px;border-radius:50%;display:inline-block}.footer-dots i:nth-child(1){background:var(--g-blue)}.footer-dots i:nth-child(2){background:var(--g-red)}.footer-dots i:nth-child(3){background:var(--g-yellow)}.footer-dots i:nth-child(4){background:var(--g-green)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fade-in{animation:fadeIn var(--dur-md) var(--ease-out) forwards}.animate-spin{animation:spin 1s linear infinite}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
