@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&display=swap");:root{font-family:Nunito,Inter,system-ui,sans-serif;line-height:1.5;font-weight:400;color:#1e1b4b;background-color:#0f0a1e;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--fs-xs:0.75rem;--fs-sm:0.875rem;--fs-md:1rem;--fs-lg:1.125rem;--fs-xl:1.5rem;--fs-2xl:2rem;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--tap-min:44px;--container-max:640px}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(135deg,#0f0a1e,#1a0a3e 30%,#0d2b6b 65%,#0a3d5c);background-attachment:fixed}*{box-sizing:border-box}h1{font-size:2.4em;line-height:1.1}button{border-radius:50px;border:none;padding:.7em 1.6em;font-size:1em;font-weight:700;font-family:inherit;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}button:hover{transform:translateY(-2px)}button:active{transform:translateY(0)}button:focus-visible{outline:3px solid #a78bfa;outline-offset:2px}:where(button,input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,a[role=button]){min-height:var(--tap-min);min-width:var(--tap-min)}#root{max-width:1280px;padding:max(var(--space-6),var(--safe-top)) max(var(--space-4),var(--safe-right)) max(var(--space-6),var(--safe-bottom)) max(var(--space-4),var(--safe-left))}#root,.app-container{margin:0 auto;text-align:center}.app-container{max-width:var(--container-max);padding:1.75rem 1.25rem;background:rgba(255,255,255,.97);border-radius:16px;box-shadow:0 0 0 1px rgba(255,255,255,.15),0 24px 64px rgba(0,0,0,.45),0 4px 16px rgba(109,40,217,.25)}.app-header{position:relative;display:flex;align-items:center;justify-content:center;margin-bottom:.25rem;min-height:2.4rem}.app-header-actions{position:absolute;right:0;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:.5rem}h1{font-size:1.6rem;font-weight:900;color:transparent;background:linear-gradient(135deg,#7c3aed,#db2777);-webkit-background-clip:text;background-clip:text;margin:0;letter-spacing:-.5px}.app-title-link{cursor:pointer;transition:opacity .15s}.app-title-link:hover{opacity:.75}.theme-park-selector{margin:1.5rem 0 0;padding:1.5rem;background:linear-gradient(145deg,#f5f3ff,#fdf2f8);border:1px solid #e9d5ff;border-radius:16px;display:flex;flex-direction:column;align-items:center;gap:1rem}.theme-park-selector>label{font-size:1.05rem;font-weight:700;color:#6d28d9;text-transform:uppercase;letter-spacing:.5px}.park-dropdown{padding:.6rem 2.5rem .6rem 1rem;font-size:1rem;font-family:inherit;font-weight:600;border-radius:12px;border:2px solid #ddd6fe;width:100%;max-width:var(--container-max);background-color:white;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c3aed' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:1.1em;color:#1e1b4b;cursor:pointer;transition:border-color .2s,box-shadow .2s}.park-dropdown:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px rgba(124,58,237,.2)}.park-dropdown optgroup{font-weight:700;color:#6d28d9}.park-dropdown option{color:#1e1b4b;font-weight:600}.park-destination-hint{font-size:.82rem;font-weight:600;color:#7c3aed;margin:-.25rem 0 .25rem;text-align:center}.play-button{width:100%;max-width:var(--container-max);padding:.8rem 2.5rem;font-size:1.1rem;font-weight:800;color:white;background:linear-gradient(135deg,#7c3aed,#db2777);border:none;border-radius:50px;cursor:pointer;box-shadow:0 4px 20px rgba(124,58,237,.4);transition:transform .15s ease,box-shadow .15s ease;letter-spacing:.3px}.play-button:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(124,58,237,.5)}.play-button:active{transform:translateY(0)}.play-button:disabled{background:linear-gradient(135deg,#c4b5fd,#f9a8d4);box-shadow:none;cursor:not-allowed;transform:none}.validation-error{color:#be123c;font-size:.9rem;font-weight:600}.loading-state{padding:2rem;color:#6d28d9;font-weight:700;font-size:1.1rem}.error-state{padding:1.5rem;background:#fff1f2;border:2px solid #fecdd3;border-radius:12px;color:#be123c;font-weight:600}.error-state button{margin-top:.75rem;padding:.5rem 1.5rem;background:#be123c;color:white;font-weight:700;box-shadow:0 4px 12px rgba(190,18,60,.35)}.error-state button:hover{filter:brightness(1.1)}.game-container{margin-top:1.5rem;width:100%;background:white;border-radius:16px;padding:1.75rem;border:2px solid #e9d5ff;box-shadow:0 4px 20px rgba(109,40,217,.1)}.score{display:inline-block;font-size:1rem;font-weight:800;color:white;background:linear-gradient(135deg,#059669,#10b981);padding:.4rem 1.2rem;border-radius:50px;margin-bottom:1.25rem;box-shadow:0 4px 12px rgba(5,150,105,.35);letter-spacing:.3px}.current-attraction h3{color:#1e1b4b;font-size:1.3rem;font-weight:800;margin-bottom:1.5rem;line-height:1.3;overflow-wrap:anywhere}.guess-input{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.guess-input label{font-size:1rem;font-weight:700;color:#4c1d95;white-space:nowrap}.guess-input input[type=number]{width:100%;max-width:var(--container-max);padding:.55rem .75rem;border:2px solid #ddd6fe;border-radius:10px;font-size:1.1rem;font-weight:700;font-family:inherit;background-color:white;color:#1e1b4b;text-align:center;transition:border-color .2s,box-shadow .2s}.guess-input input[type=number]:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px rgba(124,58,237,.2)}.guess-input input[type=number]:disabled{background:#f3f4f6;color:#9ca3af;border-color:#e5e7eb}.status-checkbox{display:flex;align-items:center;gap:.5rem;min-height:var(--tap-min);padding:.6rem 1rem;background:#fff7ed;border:2px solid #fed7aa;border-radius:10px;cursor:pointer}.status-checkbox label{font-size:.95rem;font-weight:700;color:#c2410c;cursor:pointer}.status-checkbox input[type=checkbox]{width:1.15rem;height:1.15rem;accent-color:#c2410c;cursor:pointer}form button[type=submit]{margin-top:.5rem;padding:.75rem 2.5rem;font-size:1.05rem;font-weight:800;color:white;background:linear-gradient(135deg,#7c3aed,#db2777);border:none;border-radius:50px;cursor:pointer;box-shadow:0 4px 16px rgba(124,58,237,.35);letter-spacing:.3px}form button[type=submit]:hover{box-shadow:0 6px 22px rgba(124,58,237,.5)}.submit-guess{width:100%;max-width:var(--container-max);min-height:48px}.option-grid{display:grid;grid-template-columns:1fr;grid-gap:.5rem;gap:.5rem;margin-bottom:1rem}.option-button{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:.6rem;min-height:56px;padding:.7rem .9rem;border:3px solid transparent;border-radius:14px;font-family:inherit;font-size:.95rem;font-weight:800;color:white;cursor:pointer;text-align:left;letter-spacing:.3px;box-shadow:0 4px 14px rgba(0,0,0,.15);transition:transform .08s ease,box-shadow .15s ease,filter .2s ease}.option-button:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 6px 20px rgba(0,0,0,.22)}.option-button:active:not(:disabled){transform:translateY(1px)}.option-button:disabled{cursor:default}.option-letter{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:1.6rem;height:1.6rem;border-radius:50%;background:rgba(255,255,255,.25);font-weight:900;font-size:.85rem}.option-label{flex:1 1 auto;line-height:1.2;overflow-wrap:break-word}.option-a{background:linear-gradient(135deg,#ef4444,#dc2626)}.option-b{background:linear-gradient(135deg,#3b82f6,#2563eb)}.option-c{background:linear-gradient(135deg,#f59e0b,#d97706)}.option-d{background:linear-gradient(135deg,#10b981,#059669)}.option-revealed-correct{background:linear-gradient(135deg,#16a34a,#15803d)!important;border-color:#14532d!important;box-shadow:0 0 0 3px rgba(34,197,94,.35),0 4px 16px rgba(0,0,0,.2)!important}.option-revealed-wrong{background:linear-gradient(135deg,#b91c1c,#991b1b)!important;border-color:#7f1d1d!important;box-shadow:0 0 0 3px rgba(239,68,68,.35),0 4px 16px rgba(0,0,0,.2)!important}.option-revealed-dim{filter:grayscale(.7) brightness(.85);opacity:.6}.result{text-align:center;padding:.5rem 0}.result p{margin-bottom:.75rem;font-size:1rem;font-weight:600;color:#374151}.result .correct{background:#dcfce7;border:2px solid #86efac;border-radius:10px;color:#15803d}.result .correct,.result .incorrect{display:inline-block;padding:.5rem 1.2rem;font-weight:800;font-size:1.05rem}.result .incorrect{background:#fee2e2;border:2px solid #fca5a5;border-radius:10px;color:#b91c1c}.result button{margin-top:1rem;padding:.75rem 2.5rem;font-size:1.05rem;font-weight:800;color:white;background:linear-gradient(135deg,#2563eb,#7c3aed);border:none;border-radius:50px;box-shadow:0 4px 16px rgba(37,99,235,.35)}.result button:hover{box-shadow:0 6px 22px rgba(37,99,235,.5)}.final-score{text-align:center;padding:1.5rem 1rem}.final-score h2{font-size:2.2rem;font-weight:900;color:transparent;background:linear-gradient(135deg,#f59e0b,#ef4444);-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem}.final-score p{font-size:1.4rem;font-weight:800;color:#1e1b4b;margin-bottom:2rem}.final-score button{font-size:1.1rem;padding:.85rem 2.5rem;font-weight:800;color:white;background:linear-gradient(135deg,#7c3aed,#db2777);border:none;border-radius:50px;box-shadow:0 4px 20px rgba(124,58,237,.4)}.final-score button:hover{box-shadow:0 8px 28px rgba(124,58,237,.55)}.final-perfects{font-size:1.1rem;font-weight:700;color:#6b7280;margin:-.75rem 0 1.5rem}.progress-label{font-size:.85rem;font-weight:700;color:#7c3aed;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.ride-count-selector{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%;margin-bottom:.5rem}.ride-count-selector>label{font-size:.9rem;font-weight:700;color:#4c1d95;text-transform:uppercase;letter-spacing:.5px}.ride-count-pills{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}.game-mode-selector{display:flex;flex-direction:column;gap:.5rem;align-items:center;width:100%;margin-bottom:1rem}.game-mode-selector>label{font-size:.9rem;font-weight:700;color:#4c1d95;text-transform:uppercase;letter-spacing:.5px}.game-mode-toggle{display:flex;align-items:center;width:100%;max-width:var(--container-max);margin:0 auto;justify-content:space-between;gap:.75rem}.game-mode-toggle-label{padding:.2rem .4rem;font-size:.88rem;font-weight:700;background:transparent;border:none;color:#c4b5fd;cursor:pointer}.game-mode-toggle-label.active{color:#4c1d95}.game-mode-switch:active,.game-mode-switch:hover,.game-mode-toggle-label:active,.game-mode-toggle-label:hover{transform:none}.game-mode-switch{min-height:24px;min-width:44px;flex:0 0 auto;position:relative;width:44px;height:24px;border-radius:999px;border:none;padding:0;background:#c4b5fd;cursor:pointer;transition:background .2s}.game-mode-switch.on{background:linear-gradient(135deg,#7c3aed,#db2777)}.game-mode-switch-thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#ffffff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .2s}.game-mode-switch.on .game-mode-switch-thumb{transform:translateX(20px)}.ride-count-pill{padding:.4rem 1rem;font-size:.88rem;font-weight:700;border-radius:999px;border:2px solid #c4b5fd;background:transparent;color:#7c3aed;cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .15s}.ride-count-pill:hover{background:#f5f3ff;border-color:#7c3aed}.ride-count-pill.active{background:linear-gradient(135deg,#7c3aed,#db2777);border-color:transparent;color:white;box-shadow:0 2px 8px rgba(124,58,237,.35)}.ride-count-pill.active:hover{background:linear-gradient(135deg,#7c3aed,#db2777);transform:translateY(-1px)}.auth-sign-in{padding:.3rem .85rem;font-size:.8rem;font-weight:700;font-family:inherit;color:#7c3aed;background:transparent;border:1.5px solid #c4b5fd;border-radius:50px;cursor:pointer;transition:background .15s,border-color .15s}.auth-sign-in:hover{background:#f5f3ff;border-color:#7c3aed}.auth-sign-up{padding:.3rem .85rem;font-size:.8rem;font-weight:700;font-family:inherit;color:#ffffff;background:linear-gradient(135deg,#7c3aed,#db2777);border:1.5px solid transparent;border-radius:50px;cursor:pointer;transition:filter .15s,transform .15s}.auth-sign-up:hover{filter:brightness(1.08)}.auth-buttons-desktop{display:none;align-items:center;gap:.5rem}.auth-menu-mobile{display:block;position:relative}.auth-hamburger{width:2.2rem;height:2.2rem;border-radius:8px;background:transparent;border:1.5px solid #c4b5fd;cursor:pointer;padding:0;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;transition:background .15s,border-color .15s}.auth-hamburger:hover{background:#f5f3ff;border-color:#7c3aed}.auth-hamburger span{display:block;width:1.1rem;height:2px;background:#7c3aed;border-radius:2px}.auth-menu-dropdown{position:absolute;right:0;top:calc(100% + .4rem);background:#ffffff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 10px 25px rgba(0,0,0,.12);display:flex;flex-direction:column;min-width:9rem;overflow:hidden;z-index:50}.auth-menu-item{background:transparent;border:none;padding:.65rem .9rem;text-align:left;font-family:inherit;font-size:.9rem;font-weight:600;color:#374151;cursor:pointer;transition:background .15s,color .15s}.auth-menu-item:hover{background:#f5f3ff;color:#7c3aed}.profile-avatar-btn{width:2.2rem;height:2.2rem;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#db2777);color:white;font-size:.72rem;font-weight:800;font-family:inherit;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(124,58,237,.4);transition:transform .15s,box-shadow .15s;letter-spacing:.5px}.profile-avatar-btn:hover{transform:scale(1.08);box-shadow:0 4px 14px rgba(124,58,237,.55)}.auth-modal{padding:2rem 2rem 1.75rem}.auth-modal-tabs{display:flex;gap:0;margin-bottom:1.5rem;border-bottom:2px solid #e5e7eb}.auth-modal-tab{flex:1 1;background:none;border-radius:0;padding:.6rem 0;font-size:.95rem;font-weight:700;color:#9ca3af;cursor:pointer;transition:color .15s;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;transform:none;box-shadow:none}.auth-modal-tab:hover{color:#7c3aed;transform:none}.auth-modal-tab.active{color:#7c3aed;border-bottom-color:#7c3aed}.auth-google-btn{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;padding:.65rem 1rem;background:white;color:#374151;border:1.5px solid #d1d5db;border-radius:50px;font-size:.95rem;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}.auth-google-btn:hover{background:#f9fafb;border-color:#9ca3af;box-shadow:0 2px 8px rgba(0,0,0,.08);transform:translateY(-1px)}.auth-google-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-divider{display:flex;align-items:center;gap:.75rem;margin:1.1rem 0;color:#9ca3af;font-size:.85rem;font-weight:600}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:#e5e7eb}.auth-form{display:flex;flex-direction:column;gap:.75rem}.auth-input{width:100%;padding:.65rem .9rem;font-size:.95rem;font-family:inherit;font-weight:600;color:#1f2937;background:#f9fafb;border:1.5px solid #e5e7eb;border-radius:12px;outline:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.auth-input:focus{border-color:#7c3aed;box-shadow:0 0 0 3px rgba(124,58,237,.12);background:white}.auth-username-field{display:flex;flex-direction:column;gap:.35rem}.auth-username-status{margin:0;font-size:.8rem;font-weight:600;padding-left:.25rem}.auth-username-status-checking{color:#6b7280}.auth-username-status-available{color:#15803d}.auth-username-status-invalid,.auth-username-status-taken{color:#dc2626}.auth-country-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;padding-right:2.5rem;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c3aed' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:1.1em}.auth-password-wrapper{position:relative;display:flex;align-items:center}.auth-input-password{padding-right:2.75rem}.auth-password-toggle{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;background:transparent;border:none;border-radius:8px;color:#6b7280;cursor:pointer;transition:color .15s,background-color .15s}.auth-password-toggle:active,.auth-password-toggle:hover{color:#1f2937;background:rgba(0,0,0,.04);transform:translateY(-50%)}.auth-error{font-size:.85rem;font-weight:600;color:#dc2626;margin:0;text-align:center}.auth-confirmation{text-align:center;padding:.5rem 0}.auth-confirmation-icon{font-size:2.5rem;margin-bottom:.75rem}.auth-confirmation-text{font-size:.95rem;color:#4b5563;font-weight:600;line-height:1.5;margin:0}.profile-page{display:flex;flex-direction:column;align-items:center;padding:1rem 0 .5rem;gap:.5rem}.profile-back{align-self:flex-start;padding:.3rem .75rem;font-size:.85rem;font-weight:700;font-family:inherit;color:#6b7280;background:transparent;border:1.5px solid #e5e7eb;border-radius:50px;cursor:pointer;transition:color .15s,border-color .15s;margin-bottom:.75rem}.profile-back:hover{color:#7c3aed;border-color:#c4b5fd}.profile-avatar-large{width:4.5rem;height:4.5rem;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#db2777);color:white;font-size:1.5rem;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(124,58,237,.4);letter-spacing:1px;margin-bottom:.5rem}.profile-google-name{font-size:.92rem;font-weight:700;color:#1e1b4b;margin:0}.profile-email{font-size:.82rem;color:#9ca3af;font-weight:500;margin:0}.profile-tabs{display:flex;width:100%;max-width:320px;margin-top:1.25rem;border-bottom:2px solid #e9d5ff}.profile-tab{flex:1 1;padding:.5rem 0;font-size:.85rem;font-weight:800;font-family:inherit;color:#9ca3af;background:transparent;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;transition:color .15s,border-color .15s}.profile-tab.active{color:#7c3aed;border-bottom-color:#7c3aed}.profile-tab:hover:not(.active){color:#6d28d9}.profile-stats{width:100%;max-width:320px;margin-top:1rem}.profile-stats-loading{text-align:center;color:#9ca3af;font-weight:600;padding:1.5rem 0}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.65rem;gap:.65rem}.stat-card{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:1rem .5rem;background:linear-gradient(145deg,#f5f3ff,#fdf2f8);border:1px solid #e9d5ff;border-radius:14px}.stat-value{font-size:1.8rem;font-weight:900;color:transparent;background:linear-gradient(135deg,#7c3aed,#db2777);-webkit-background-clip:text;background-clip:text;line-height:1}.stat-label{font-size:.67rem;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.3px}.stat-context,.stat-label{text-align:center;line-height:1.3}.stat-context{font-size:.65rem;font-weight:600;color:#a78bfa;margin-top:.1rem}.profile-fields{width:100%;max-width:320px;margin-top:1rem;gap:1rem}.profile-field,.profile-fields{display:flex;flex-direction:column}.profile-field{gap:.4rem;text-align:left}.profile-field-label{font-size:.78rem;font-weight:800;color:#7c3aed;text-transform:uppercase;letter-spacing:.5px}.profile-field-hint{font-size:.78rem;color:#9ca3af;font-weight:500;margin:0}.profile-field-error{font-size:.78rem;color:#be123c;font-weight:700;margin:0}.profile-username-row{display:flex;gap:.5rem}.profile-username-input{flex:1 1;padding:.6rem .85rem;font-size:.95rem;font-family:inherit;font-weight:600;border:2px solid #ddd6fe;border-radius:12px;color:#1e1b4b;background:white;transition:border-color .2s,box-shadow .2s}.profile-username-input:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px rgba(124,58,237,.2)}.profile-save-btn{padding:.6rem 1rem;font-size:.85rem;font-weight:800;font-family:inherit;color:white;background:linear-gradient(135deg,#7c3aed,#db2777);border:none;border-radius:12px;cursor:pointer;transition:opacity .15s,box-shadow .15s;box-shadow:0 2px 8px rgba(124,58,237,.3);white-space:nowrap}.profile-save-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.profile-save-btn:not(:disabled):hover{box-shadow:0 4px 14px rgba(124,58,237,.5)}.profile-country-select{padding:.6rem 2.5rem .6rem 1rem;font-size:.95rem;font-family:inherit;font-weight:600;border-radius:12px;border:2px solid #ddd6fe;width:100%;background-color:white;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c3aed' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:1.1em;color:#1e1b4b;cursor:pointer;transition:border-color .2s,box-shadow .2s}.profile-country-select:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px rgba(124,58,237,.2)}.profile-sign-out-btn{margin-top:1.5rem;padding:.55rem 1.75rem;font-size:.9rem;font-weight:700;font-family:inherit;color:#be123c;background:transparent;border:1.5px solid #fca5a5;border-radius:50px;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.profile-sign-out-btn:hover{background:#fff1f2;border-color:#be123c}.leaderboard-flag{margin-right:0;flex-shrink:0;vertical-align:middle;font-size:.95em;border-radius:2px}.announcement-list{display:flex;flex-direction:column;gap:.4rem;width:100%;margin-bottom:.75rem}.announcement-banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem .9rem;background:#fefce8;border:1px solid #fde047;border-radius:10px;font-size:.85rem;font-weight:600;color:#713f12}.announcement-message{flex:1 1;line-height:1.4}.announcement-dismiss{background:none;border:none;color:#713f12;font-size:.8rem;cursor:pointer;padding:.1rem .25rem;border-radius:4px;flex-shrink:0;opacity:.7;transition:opacity .15s}.announcement-dismiss:hover{opacity:1}.park-closed-notice{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 1rem;text-align:center}.park-closed-emoji{font-size:3rem;line-height:1}.park-closed-notice h3{font-size:1.3rem;font-weight:800;color:#4c1d95;margin:0}.park-closed-notice p{font-size:.95rem;color:#6b7280;max-width:320px;margin:0}.exclude-closed-toggle{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.exclude-closed-toggle input[type=checkbox]{width:1rem;height:1rem;accent-color:#7c3aed;cursor:pointer;flex-shrink:0}.exclude-closed-toggle label{font-size:.88rem;font-weight:600;color:#4c1d95;cursor:pointer}.setup-actions{display:flex;flex-direction:column;align-items:center;gap:.65rem;width:100%}.setup-secondary-actions{display:flex;width:100%;max-width:var(--container-max);gap:.6rem;flex-wrap:wrap;justify-content:center}.setup-secondary-actions>.how-to-play-button{flex:1 1;min-width:0;padding:.55rem .5rem}.how-to-play-button{padding:.55rem 1.4rem;font-size:.9rem;font-weight:700;color:#7c3aed;background:transparent;border:2px solid #c4b5fd;border-radius:50px;cursor:pointer;transition:background .15s,border-color .15s,transform .15s}.how-to-play-button:hover{background:#f5f3ff;border-color:#7c3aed;transform:translateY(-2px)}.how-to-play-button:disabled{color:#c4b5fd;border-color:#ede9fe;cursor:not-allowed;transform:none}.final-score-actions{display:flex;flex-direction:column;align-items:center;gap:.65rem}.leaderboard-btn{padding:.6rem 2rem;font-size:1rem;font-weight:700;color:#7c3aed;background:transparent;border:2px solid #c4b5fd;border-radius:50px;cursor:pointer;transition:background .15s,border-color .15s,transform .15s}.leaderboard-btn:hover{background:#f5f3ff;border-color:#7c3aed;transform:translateY(-2px)}.modal-overlay{position:fixed;inset:0;background:rgba(10,5,30,.7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;z-index:100;padding:max(.75rem,var(--safe-top)) max(.75rem,var(--safe-right)) max(.75rem,var(--safe-bottom)) max(.75rem,var(--safe-left));animation:fadeIn .18s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{position:relative;background:white;border-radius:20px;padding:1rem;width:min(480px,100vw - 1rem);max-height:calc(100dvh - 2rem);overflow-y:auto;box-shadow:0 24px 64px rgba(0,0,0,.45),0 4px 16px rgba(109,40,217,.3);animation:slideUp .2s ease;text-align:left}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close{position:absolute;top:max(1rem,var(--safe-top));right:1rem;width:2rem;height:2rem;padding:0;border-radius:50%;background:#f3f4f6;color:#6b7280;font-size:.85rem;font-weight:700;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;line-height:1}.modal-close:hover{background:#e5e7eb;color:#111827;transform:none}.modal-emoji{display:none;font-size:2.5rem;text-align:center;margin-bottom:.25rem}.modal-title{font-size:1.15rem;font-weight:900;color:transparent;background:linear-gradient(135deg,#7c3aed,#db2777);-webkit-background-clip:text;background-clip:text;margin:0 0 .6rem;text-align:center}.modal-steps{padding-left:1rem;margin:0 0 .75rem;display:flex;flex-direction:column;gap:.25rem}.modal-steps li{font-size:.82rem;font-weight:600;color:#374151;line-height:1.5}.modal-subtitle{font-size:.8rem;font-weight:800;color:#4c1d95;margin:0 0 .3rem;text-transform:uppercase;letter-spacing:.4px}.modal-scoring-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:.9rem}.modal-scoring{width:100%;border-collapse:collapse;font-size:.93rem}.modal-scoring tr{border-bottom:1px solid #f3f4f6}.modal-scoring tr:last-child{border-bottom:none}.modal-scoring td{padding:.2rem .4rem;font-size:.82rem;color:#374151;font-weight:600}.points-cell{text-align:right;font-weight:800;color:#059669;white-space:nowrap}.modal-got-it{display:block;width:100%;padding:.55rem;font-size:.95rem;font-weight:800;color:white;background:linear-gradient(135deg,#7c3aed,#db2777);border:none;border-radius:50px;cursor:pointer;box-shadow:0 4px 16px rgba(124,58,237,.35);text-align:center}.modal-got-it:hover{box-shadow:0 6px 22px rgba(124,58,237,.5)}.modal-got-it:disabled{background:linear-gradient(135deg,#c4b5fd,#f9a8d4);box-shadow:none;cursor:not-allowed;transform:none}.name-entry-modal{text-align:center}.name-entry-score{font-size:1.05rem;color:#374151;margin:0 0 .25rem}.name-entry-perfects{font-size:.95rem;font-weight:700;color:#6b7280;margin:-.5rem 0 .25rem}.name-entry-error{font-size:.82rem;font-weight:700;color:#dc2626;margin:.25rem 0 0}.name-entry-prompt{font-size:.9rem;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.6px;margin:0 0 1.25rem}.name-entry-chars{display:flex;gap:clamp(.4rem,2vw,.75rem);justify-content:center;margin-bottom:1.5rem}.name-char-input{width:clamp(48px,18vw,64px);height:clamp(56px,22vw,72px);font-size:clamp(1.5rem,8vw,2rem);font-weight:900;font-family:Courier New,monospace;text-align:center;text-transform:uppercase;border:3px solid #ddd6fe;border-radius:12px;background:#faf5ff;color:#4c1d95;caret-color:transparent;transition:border-color .15s,box-shadow .15s;outline:none}.name-char-input:focus{border-color:#7c3aed;box-shadow:0 0 0 3px rgba(124,58,237,.2);background:white}.leaderboard-tabs{display:flex;margin:-.25rem 0 .75rem;border-bottom:2px solid #e9d5ff}.leaderboard-tab{flex:1 1;padding:.55rem 0;font-size:.88rem;font-weight:800;color:#9ca3af;background:transparent;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;border-radius:0;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;transition:color .15s,border-color .15s}.leaderboard-tab:hover{transform:none}.leaderboard-tab.active{color:#7c3aed;border-bottom-color:#7c3aed}.leaderboard-tab:hover:not(.active){color:#6d28d9}.leaderboard-mode-tabs{display:flex;gap:.4rem;margin:0 0 .85rem;padding:.25rem;background:#f5f3ff;border-radius:999px}.leaderboard-mode-tab{flex:1 1;padding:.4rem 0;font-size:.8rem;font-weight:700;color:#6b7280;background:transparent;border:none;border-radius:999px;cursor:pointer;text-transform:uppercase;letter-spacing:.4px;transition:background .15s,color .15s}.leaderboard-mode-tab.active{background:#ffffff;color:#7c3aed;box-shadow:0 1px 3px rgba(124,58,237,.18)}.leaderboard-mode-tab:hover:not(.active){color:#6d28d9}.leaderboard-global-loading{text-align:center;color:#9ca3af;font-weight:600;font-size:.97rem;padding:1.5rem 0}.leaderboard-global-error{text-align:center;padding:1rem 0}.leaderboard-global-error p{color:#be123c;font-weight:600;font-size:.95rem;margin-bottom:.75rem}.leaderboard-park-name{text-align:center;font-size:.85rem;font-weight:700;color:#6b7280;margin:-.5rem 0 .6rem;text-transform:uppercase;letter-spacing:.5px}.leaderboard-modal{padding:1.25rem 1.5rem;display:flex;flex-direction:column}.leaderboard-modal .modal-title{font-size:1.25rem;margin:0 0 .4rem}.leaderboard-modal .leaderboard-list{flex:1 1;min-height:0;overflow-y:auto;margin-bottom:.75rem}.leaderboard-modal .leaderboard-row{padding:.3rem .4rem}.leaderboard-modal .lb-name{font-size:.98rem}.leaderboard-modal .lb-name--full{font-size:.82rem}.leaderboard-modal .lb-score{font-size:.95rem}.leaderboard-empty{text-align:center;color:#9ca3af;font-weight:600;font-size:.97rem;margin:1rem 0 1.5rem}.leaderboard-list{display:flex;flex-direction:column;margin-bottom:1rem}.leaderboard-row{display:flex;align-items:center;gap:.5rem;padding:.45rem .5rem;border-bottom:1px solid #f3f4f6;border-radius:8px;transition:background .12s}.leaderboard-row:last-child{border-bottom:none}.leaderboard-row:hover{background:#faf5ff}.lb-rank{width:2rem;font-size:1.1rem;text-align:center;flex-shrink:0}.lb-name-group{display:flex;align-items:center;gap:.4rem;flex:1 1;min-width:0}.lb-name{font-family:Courier New,monospace;font-size:1.05rem;font-weight:800;color:#1e1b4b;letter-spacing:.5px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lb-name--full{font-family:inherit;letter-spacing:normal;font-size:.92rem;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.25}.lb-score-group{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0}.lb-score{font-size:1rem;font-weight:800;color:#059669}.lb-perfects{font-size:.72rem;font-weight:600;color:#9ca3af}.leaderboard-highlight{background:#fef9c3!important}.leaderboard-highlight .lb-name{color:#92400e}.leaderboard-highlight .lb-score{color:#b45309}.share-score-btn{padding:.75rem 2rem;font-size:1.05rem;font-weight:800;color:white;background:linear-gradient(135deg,#0ea5e9,#6366f1);border:none;border-radius:50px;cursor:pointer;box-shadow:0 4px 16px rgba(14,165,233,.35);transition:box-shadow .15s,transform .15s}.share-score-btn:hover{box-shadow:0 6px 22px rgba(14,165,233,.5);transform:translateY(-2px)}.share-modal{text-align:center}.share-modal-title{margin-bottom:1rem!important}.share-canvas-preview{width:100%;height:auto;border-radius:12px;display:block;margin-bottom:1.25rem;box-shadow:0 4px 20px rgba(0,0,0,.25)}.share-buttons{display:grid;grid-template-columns:1fr;grid-gap:.6rem;gap:.6rem}@media (min-width:380px){.share-buttons{grid-template-columns:1fr 1fr}}.share-btn{display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.65rem .75rem;font-size:.88rem;font-weight:700;font-family:inherit;border-radius:10px;border:none;cursor:pointer;text-decoration:none;transition:transform .15s,filter .15s}.share-btn:hover{transform:translateY(-2px);filter:brightness(1.08)}.share-btn-native{grid-column:1/-1;background:linear-gradient(135deg,#7c3aed,#db2777);color:#fff;font-size:1rem;padding:.75rem}.share-btn-native:disabled{opacity:.5;cursor:not-allowed;transform:none}.share-btn-download{background:linear-gradient(135deg,#7c3aed,#db2777);color:#fff}.share-btn-copy{background:#f3f4f6;color:#374151;border:2px solid #e5e7eb}.share-btn-copy:hover{background:#e5e7eb}.app-footer{margin-top:1.25rem;text-align:center}.feedback-trigger{padding:.4rem 1.1rem;font-size:.85rem;font-weight:700;color:#9ca3af;background:transparent;border:1.5px solid #e5e7eb;border-radius:50px;cursor:pointer;transition:color .15s,border-color .15s,transform .15s}.feedback-trigger:hover{color:#7c3aed;border-color:#c4b5fd;transform:translateY(-1px)}.footer-attribution{margin:.75rem 0 0;font-size:.75rem;color:#9ca3af}.footer-attribution a{color:#6b7280;text-decoration:underline;font-weight:600}.footer-attribution a:hover{color:#7c3aed}.feedback-modal{text-align:left}.feedback-form{gap:1rem}.feedback-field,.feedback-form{display:flex;flex-direction:column}.feedback-field{gap:.35rem;flex:1 1}.feedback-field label{font-size:.85rem;font-weight:700;color:#4c1d95;text-transform:uppercase;letter-spacing:.4px}.required{color:#be123c}.optional{color:#9ca3af;font-weight:500;text-transform:none;letter-spacing:0}.feedback-field input,.feedback-field textarea{padding:.55rem .75rem;border:2px solid #ddd6fe;border-radius:10px;font-size:.95rem;font-family:inherit;color:#1e1b4b;background:white;transition:border-color .2s,box-shadow .2s;resize:vertical}.feedback-field input:focus,.feedback-field textarea:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px rgba(124,58,237,.15)}.feedback-row{display:flex;flex-direction:column;gap:.75rem}.feedback-category-pills{display:flex;gap:.4rem;flex-wrap:wrap}.category-pill{padding:.35rem .85rem;font-size:.82rem;font-weight:700;color:#7c3aed;background:transparent;border:2px solid #ddd6fe;border-radius:50px;cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .15s}.category-pill:hover{background:#f5f3ff;border-color:#7c3aed}.category-pill.active{border-color:transparent;color:white;box-shadow:0 2px 8px rgba(124,58,237,.35)}.category-pill.active,.category-pill.active:hover{background:linear-gradient(135deg,#7c3aed,#db2777)}.category-pill.active:hover{transform:translateY(-1px)}.feedback-error{font-size:.88rem;font-weight:600;color:#be123c;background:#fff1f2;border:1.5px solid #fecdd3;border-radius:8px;padding:.5rem .75rem;margin:0}.feedback-success{text-align:center}.feedback-success-msg{color:#374151;font-weight:600;margin-bottom:1.5rem}@media (min-width:380px){.option-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.option-button{flex-direction:column;justify-content:center;gap:.3rem;text-align:center;min-height:64px;font-size:1.05rem;padding:.6rem .7rem}.option-label{flex:0 0 auto}.option-letter{width:1.8rem;height:1.8rem;font-size:1rem}}@media (min-width:480px){.game-mode-toggle{margin:0;justify-content:center}.game-mode-toggle,.play-button,.setup-secondary-actions{width:auto;max-width:none}.setup-secondary-actions>.how-to-play-button{flex:0 0 auto;padding:.55rem 1.4rem}}@media (min-width:521px){.app-container{padding:2.5rem 2rem;border-radius:24px}h1{font-size:1.9rem}.guess-input{flex-direction:row}.guess-input input[type=number]{width:90px;max-width:none}.submit-guess{width:auto;max-width:none;min-height:0}.feedback-row{flex-direction:row}.modal-overlay{align-items:center;padding:1rem}.modal{padding:2rem 2rem 1.75rem}.modal-emoji{display:block}.modal-title{font-size:1.5rem;margin:0 0 1.25rem}.modal-steps{gap:.6rem;margin:0 0 1.5rem;padding-left:1.25rem}.modal-steps li{font-size:.97rem}.modal-subtitle{font-size:1rem;margin:0 0 .6rem}.modal-scoring td{padding:.45rem .5rem;font-size:.93rem}.modal-scoring-wrap{margin-bottom:1.5rem}.modal-got-it{padding:.75rem;font-size:1.05rem}}@media (min-width:641px){.auth-buttons-desktop{display:flex}.auth-menu-mobile{display:none}}@media (min-width:1024px){.option-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.option-button{min-height:80px}}@media (min-width:521px){.leaderboard-modal .lb-name--full{font-size:.95rem}}.admin-header-btn{min-height:32px;min-width:auto;padding:.3rem .85rem;font-size:.8rem;font-weight:700;font-family:inherit;color:#ffffff;background:linear-gradient(135deg,#4f46e5,#7c3aed);border:1.5px solid transparent;border-radius:50px;cursor:pointer;transition:filter .15s}.admin-header-btn:hover{filter:brightness(1.08)}.admin-page{display:flex;flex-direction:column;padding:1rem 0;gap:.75rem}.admin-title{font-size:1.35rem;font-weight:800;color:#1e1b4b;margin:0}.admin-subtitle{font-size:.9rem;color:#6b7280;margin:0 0 .5rem}.admin-tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:.75rem;gap:.75rem;margin-top:.5rem}.admin-tool-card{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:1rem;background:linear-gradient(145deg,#f5f3ff,#fdf2f8);border:1px solid #e9d5ff;border-radius:14px;cursor:pointer;font-family:inherit;text-align:left;transition:transform .1s,box-shadow .15s,border-color .15s}.admin-tool-card:hover{transform:translateY(-1px);border-color:#c4b5fd;box-shadow:0 4px 16px rgba(124,58,237,.18)}.admin-tool-card-title{font-size:1rem;font-weight:800;color:#1e1b4b}.admin-tool-card-desc{font-size:.82rem;color:#6b7280}.admin-search{min-height:36px;min-width:0;width:100%;max-width:320px;padding:.5rem .85rem;font-size:.9rem;font-family:inherit;border:1.5px solid #ddd6fe;border-radius:50px;background:white}.admin-search:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px rgba(124,58,237,.18)}.admin-loading{color:#9ca3af;font-weight:600;padding:1rem 0}.admin-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:.5rem .75rem;font-size:.85rem;margin:0}.admin-table-wrap{overflow-x:auto;border:1px solid #e9d5ff;border-radius:12px;background:white}.admin-table{width:100%;border-collapse:collapse;font-size:.88rem}.admin-table td,.admin-table th{padding:.5rem .6rem;text-align:left;border-bottom:1px solid #f3e8ff;vertical-align:middle}.admin-table th{background:#faf5ff;font-size:.72rem;text-transform:uppercase;letter-spacing:.5px;color:#6d28d9;font-weight:800}.admin-table tbody tr:last-child td{border-bottom:none}.admin-row-dirty{background:#fffbeb}.admin-cell-id{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#6b7280;font-size:.82rem}.admin-cell-toggle{text-align:center}.admin-cell-actions{white-space:nowrap;display:flex;gap:.35rem}.admin-input{min-height:32px;width:100%;min-width:100px;padding:.35rem .55rem;font-size:.88rem;font-family:inherit;border:1.5px solid #e5e7eb;border-radius:8px;background:white}.admin-input:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 2px rgba(124,58,237,.18)}.admin-save-btn{min-height:32px;min-width:auto;padding:.35rem .75rem;font-size:.8rem;font-weight:700;font-family:inherit;color:white;background:linear-gradient(135deg,#7c3aed,#db2777);border:none;border-radius:8px;cursor:pointer;transition:filter .15s,opacity .15s}.admin-save-btn:disabled{opacity:.4;cursor:not-allowed}.admin-save-btn:not(:disabled):hover{filter:brightness(1.08)}.admin-cancel-btn{min-height:32px;min-width:auto;padding:.35rem .75rem;font-size:.8rem;font-weight:700;font-family:inherit;color:#6b7280;background:transparent;border:1.5px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:color .15s,border-color .15s,opacity .15s}.admin-cancel-btn:disabled{opacity:.4;cursor:not-allowed}.admin-cancel-btn:not(:disabled):hover{color:#b91c1c;border-color:#fca5a5}.admin-empty{text-align:center;color:#9ca3af;padding:1rem}.admin-modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.55);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000}.admin-modal{background:white;border-radius:16px;padding:1.25rem;width:100%;max-width:420px;display:flex;flex-direction:column;gap:.75rem;box-shadow:0 24px 64px rgba(0,0,0,.35)}.admin-modal-title{font-size:1.15rem;font-weight:800;color:#1e1b4b;margin:0 0 .25rem}.admin-modal-field{display:flex;flex-direction:column;gap:.25rem}.admin-modal-field-row{flex-direction:row;align-items:center}.admin-modal-label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#6d28d9}.admin-modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}