@font-face{font-family:Fredoka;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fredoka-var-DM6njrJ3.woff2)format("woff2");unicode-range:U+??,U+2013-2014,U+2018-2019,U+201C-201D,U+2022,U+2026,U+20AC}@font-face{font-family:Nunito;font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/nunito-var-BzFMHfZw.woff2)format("woff2");unicode-range:U+??,U+2013-2014,U+2018-2019,U+201C-201D,U+2022,U+2026,U+20AC}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%}body{font-family:var(--font-body);color:var(--text);background:var(--bg-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;text-rendering:optimizelegibility;background-attachment:fixed;font-weight:600;overflow:hidden}#app{width:100vw;height:100vh;justify-content:center;align-items:center;height:100dvh;display:flex;position:relative}canvas{max-width:100%;max-height:100%;display:block}h1,h2,h3,.display{font-family:var(--font-display);letter-spacing:.2px;font-weight:700}.app-icon,.app-icon svg{vertical-align:middle;width:1em;height:1em;display:inline-flex}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}button:focus:not(:focus-visible){outline:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.3s ease-out fadeIn}.loading{height:100vh;font-family:var(--font-display);color:var(--text-muted);justify-content:center;align-items:center;font-size:1.4rem;display:flex}.error{color:var(--danger);background:var(--warning-bg);border-radius:var(--r-md);margin:1rem;padding:1rem}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--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);--menu-bubble-inset:16px;--menu-bubble-size:46px;--menu-bubble-gap:16px}#ui-container>.ui-screen{box-sizing:border-box;border-top:var(--safe-top) solid transparent;border-right:var(--safe-right) solid transparent;border-bottom:var(--safe-bottom) solid transparent;border-left:var(--safe-left) solid transparent;padding:var(--screen-padding,24px);background-origin:border-box}.btn,.main-menu .start-button,.mode-select-button,.level-complete-screen .button-primary,.level-complete-screen .button-highlight,.confirmation-dialog:not(.emphasize-cancel) .confirmation-dialog-button.confirm,.confirmation-dialog.emphasize-cancel .confirmation-dialog-button.cancel,.pause-menu-button.resume,.player-profile .save-button{font-family:var(--font-display);letter-spacing:.3px;color:var(--primary-text);background:var(--grad-primary);border-radius:var(--r-pill);cursor:pointer;box-shadow:0 6px 0 var(--primary-edge), 0 12px 22px rgba(0,0,0,.18);pointer-events:auto;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:none;padding:15px 34px;font-size:18px;font-weight:700;transition:transform 90ms,box-shadow 90ms,-webkit-filter .15s,filter .15s;transform:translateY(0)}.btn:hover,.main-menu .start-button:hover,.mode-select-button:hover,.level-complete-screen .button-primary:hover,.level-complete-screen .button-highlight:hover,.confirmation-dialog:not(.emphasize-cancel) .confirmation-dialog-button.confirm:hover,.confirmation-dialog.emphasize-cancel .confirmation-dialog-button.cancel:hover,.pause-menu-button.resume:hover,.player-profile .save-button:hover{-webkit-filter:brightness(1.05);filter:brightness(1.05)}.btn:active,.main-menu .start-button:active,.mode-select-button:active,.level-complete-screen .button-primary:active,.level-complete-screen .button-highlight:active,.confirmation-dialog:not(.emphasize-cancel) .confirmation-dialog-button.confirm:active,.confirmation-dialog.emphasize-cancel .confirmation-dialog-button.cancel:active,.pause-menu-button.resume:active,.player-profile .save-button:active{box-shadow:0 1px 0 var(--primary-edge), 0 4px 10px rgba(0,0,0,.2);transform:translateY(5px)}.level-complete-screen .button-highlight,.player-profile .save-button{background:linear-gradient(180deg, var(--success-top) 0%, var(--success) 100%);box-shadow:0 6px 0 var(--success-edge), 0 12px 22px rgba(0,0,0,.18)}.level-complete-screen .button-highlight:active,.player-profile .save-button:active{box-shadow:0 1px 0 var(--success-edge), 0 4px 10px rgba(0,0,0,.2)}.btn-soft,.btn-danger,.main-menu .select-level-button,.level-complete-screen .button-base,.confirmation-dialog:not(.emphasize-cancel) .confirmation-dialog-button.cancel,.confirmation-dialog.emphasize-cancel .confirmation-dialog-button.confirm,.pause-menu-button.quit,.player-profile .cancel-button,.back-button,.leaderboard-header .refresh-button{font-family:var(--font-display);color:var(--secondary-text);background:var(--secondary);border-radius:var(--r-pill);cursor:pointer;box-shadow:0 5px 0 var(--secondary-edge), 0 10px 18px rgba(0,0,0,.12);pointer-events:auto;border:none;padding:13px 28px;font-size:16px;font-weight:700;transition:transform 90ms,box-shadow 90ms,-webkit-filter .15s,filter .15s;transform:translateY(0)}.btn-soft:hover,.btn-danger:hover,.main-menu .select-level-button:hover,.level-complete-screen .button-base:hover,.confirmation-dialog:not(.emphasize-cancel) .confirmation-dialog-button.cancel:hover,.confirmation-dialog.emphasize-cancel .confirmation-dialog-button.confirm:hover,.pause-menu-button.quit:hover,.player-profile .cancel-button:hover,.back-button:hover,.leaderboard-header .refresh-button:hover{-webkit-filter:brightness(1.03);filter:brightness(1.03)}.btn-soft:active,.btn-danger:active,.main-menu .select-level-button:active,.level-complete-screen .button-base:active,.confirmation-dialog:not(.emphasize-cancel) .confirmation-dialog-button.cancel:active,.confirmation-dialog.emphasize-cancel .confirmation-dialog-button.confirm:active,.pause-menu-button.quit:active,.player-profile .cancel-button:active,.back-button:active,.leaderboard-header .refresh-button:active{box-shadow:0 1px 0 var(--secondary-edge), 0 4px 8px rgba(0,0,0,.14);transform:translateY(4px)}.btn-danger,.confirmation-dialog.emphasize-cancel .confirmation-dialog-button.confirm{color:var(--danger-edge);background:var(--danger-bg);border:2px solid var(--danger);box-shadow:0 5px 0 var(--danger), 0 10px 18px rgba(0,0,0,.12);padding:11px 26px}.btn-danger:active,.confirmation-dialog.emphasize-cancel .confirmation-dialog-button.confirm:active{box-shadow:0 1px 0 var(--danger), 0 4px 8px rgba(0,0,0,.14)}.btn-danger:disabled{opacity:.5;cursor:default;box-shadow:none;transform:none}.back-button{align-items:center;gap:8px;padding-left:22px;display:inline-flex}.back-button svg{flex-shrink:0;margin-left:-2px;display:block}#ui-container>.ui-screen>.back-button{z-index:1;flex-shrink:0;order:-1;align-self:flex-start;margin-bottom:16px;position:relative}#ui-container>.player-profile>.back-button,#ui-container>.settings-screen>.back-button,#ui-container>.leaderboard-screen>.back-button{margin-bottom:0}.game-mode-select .back-button,.main-menu .select-level-button{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:rgba(255,255,255,.18);box-shadow:0 5px rgba(0,0,0,.18),0 10px 18px rgba(0,0,0,.18)}.app-icon svg{display:block}#ui-container{pointer-events:none;font-family:var(--font-body);color:var(--text);position:absolute;top:0;bottom:0;left:0;right:0}.main-menu,.level-select,.player-profile,.settings-screen,.game-mode-select,.leaderboard-screen{background:var(--grad-menu)}@keyframes floatOrb{0%,to{transform:translate(0)scale(1)}50%{transform:translate(14px,-20px)scale(1.06)}}.organic-blob{pointer-events:none;z-index:0;-webkit-filter:blur(2px);filter:blur(2px);opacity:.55;background:radial-gradient(circle at 35% 35%,rgba(255,255,255,.9),rgba(255,255,255,0) 62%);border-radius:50%;position:absolute}.organic-blob-1{background:radial-gradient(circle at 35% 35%, var(--candy-sun), rgba(255,255,255,0) 66%);width:200px;height:200px;animation:9s ease-in-out infinite floatOrb;top:6%;left:-40px}.organic-blob-2{background:radial-gradient(circle at 35% 35%, var(--candy-pink), rgba(255,255,255,0) 66%);width:300px;height:300px;animation:12s ease-in-out infinite reverse floatOrb;bottom:-60px;right:-60px}.organic-blob-3{background:radial-gradient(circle at 35% 35%, var(--candy-sky), rgba(255,255,255,0) 66%);width:160px;height:160px;animation:15s ease-in-out infinite floatOrb;top:44%;left:16%}.main-menu{pointer-events:auto;flex-direction:column;justify-content:center;align-items:center;display:none;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.main-menu.visible{display:flex}.main-menu h1{color:#fff;text-shadow:0 4px rgba(0,0,0,.16),0 10px 22px rgba(0,0,0,.22);z-index:1;margin:0 0 10px;font-size:max(44px,min(12vw,76px));line-height:1;position:relative}.main-menu .subtitle{font-family:var(--font-body);color:rgba(255,255,255,.92);z-index:1;margin:0 0 44px;font-size:17px;font-weight:700;position:relative}.main-menu-buttons{z-index:1;flex-direction:column;align-items:center;gap:15px;width:min(320px,84vw);display:flex;position:relative}.main-menu-buttons>button{justify-content:center;align-items:center;gap:10px;width:100%;display:inline-flex}.main-menu .start-button{padding:18px 34px;font-size:22px}.theme-toggle{top:var(--menu-bubble-inset);left:var(--menu-bubble-inset);width:var(--menu-bubble-size);height:var(--menu-bubble-size);color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:auto;z-index:10;background:rgba(255,255,255,.2);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:24px;transition:transform .12s,box-shadow .12s;display:flex;position:absolute;box-shadow:0 4px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.2)}.theme-toggle:hover{transform:scale(1.06)}.theme-toggle:active{transform:translateY(3px)scale(.98);box-shadow:0 1px rgba(0,0,0,.18),0 3px 8px rgba(0,0,0,.2)}.menu-bubbles{top:var(--menu-bubble-inset);right:var(--menu-bubble-inset);gap:var(--menu-bubble-gap);z-index:10;flex-direction:column;display:flex;position:absolute}.menu-bubble{width:var(--menu-bubble-size);height:var(--menu-bubble-size);color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:auto;background:rgba(255,255,255,.2);border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .12s,box-shadow .12s;display:flex;box-shadow:0 4px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.2)}.menu-bubble:hover{transform:scale(1.06)}.menu-bubble:active{transform:translateY(3px)scale(.98);box-shadow:0 1px rgba(0,0,0,.18),0 3px 8px rgba(0,0,0,.2)}.menu-bubble.hidden{display:none}.ad-free-bubble.owned{background:rgba(88,209,141,.28)}.clear-profile-dev-button{font-family:var(--font-display);color:#fff;border-radius:var(--r-pill);cursor:pointer;pointer-events:auto;z-index:10;background:rgba(0,0,0,.22);border:1.5px solid rgba(255,255,255,.5);padding:8px 14px;font-size:12px;font-weight:700;transition:transform .15s;position:absolute;top:16px;right:16px}.clear-profile-dev-button:active{transform:scale(.95)}.game-hud{--screen-padding:8px;box-sizing:border-box;pointer-events:none;z-index:5;width:100%;display:none;position:absolute;top:0;left:0}.game-hud.visible{display:block}.game-hud .stats-container{justify-content:space-between;align-items:center;gap:10px;max-width:760px;margin:0 auto;display:flex}.game-hud .stat-container{background:var(--surface);border:2px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);flex-direction:column-reverse;flex:1;align-items:center;gap:2px;padding:7px 10px;display:flex}.game-hud .stat-label{font-family:var(--font-body);color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;font-size:10px;font-weight:800}.game-hud .stat-value{font-family:var(--font-display);color:var(--text);font-size:24px;font-weight:700;line-height:1}.game-hud .stat-value.accuracy-high{color:var(--success)}.game-hud .stat-value.accuracy-medium{color:var(--warning)}.game-hud .stat-value.accuracy-low{color:var(--danger)}@keyframes valuePop{0%{transform:scale(1)}40%{transform:scale(1.28)}to{transform:scale(1)}}.game-hud .stat-value.pop{animation:.32s cubic-bezier(.34,1.56,.64,1) valuePop}.game-hud .pause-button{width:44px;height:44px;color:var(--primary-text);background:var(--grad-primary);cursor:pointer;box-shadow:0 4px 0 var(--primary-edge), 0 8px 14px rgba(0,0,0,.16);pointer-events:auto;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:22px;transition:transform 90ms,box-shadow 90ms;display:flex}.game-hud .pause-button:active{box-shadow:0 1px 0 var(--primary-edge), 0 3px 8px rgba(0,0,0,.18);transform:translateY(4px)}.game-hud .peek-button{width:44px;height:44px;color:var(--primary-text);background:var(--grad-primary);cursor:pointer;box-shadow:0 4px 0 var(--primary-edge), 0 8px 14px rgba(0,0,0,.16);pointer-events:auto;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:transform 90ms,box-shadow 90ms,opacity .15s;display:flex}.game-hud .peek-button:active:not(:disabled){box-shadow:0 1px 0 var(--primary-edge), 0 3px 8px rgba(0,0,0,.18);transform:translateY(4px)}.game-hud .peek-button:disabled{opacity:.35;cursor:default;box-shadow:none}.profile-privacy-section{flex-direction:column;gap:12px;display:flex}.profile-privacy-section .stats-title{margin-bottom:0}.profile-privacy-section .btn-soft,.profile-privacy-section .btn-danger{box-sizing:border-box;width:100%}.profile-privacy-link{text-align:center;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.profile-privacy-note{color:var(--text-muted);text-align:center;margin:0;font-size:14px;font-weight:600;line-height:1.6}.profile-privacy-section>.btn-soft+.profile-privacy-note,.profile-privacy-section>.btn-danger+.profile-privacy-note{margin-top:-5px}.profile-privacy-toggle{box-sizing:border-box;width:100%;color:var(--text);cursor:pointer;justify-content:center;align-items:center;gap:10px;font-size:15px;font-weight:600;display:flex}.profile-privacy-toggle input[type=checkbox]{width:20px;height:20px;accent-color:var(--focus);cursor:pointer;flex:none}.profile-privacy-section>.profile-privacy-toggle+.profile-privacy-note{margin-top:-5px}.profile-privacy-section>.btn-danger{margin-top:20px}.ad-free-offer{flex-direction:column;gap:12px;display:flex}.ad-free-offer.hidden{display:none}.ad-free-offer-title{font-family:var(--font-display);color:var(--text);margin:0;font-size:20px;font-weight:700}.ad-free-offer-intro{color:var(--text-muted);margin:0;font-size:14px;font-weight:600;line-height:1.6}.ad-free-offer-benefits,.ad-free-offer-owned-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ad-free-offer-benefits.hidden,.ad-free-offer-owned-list.hidden{display:none}.ad-free-offer-benefits li,.ad-free-offer-owned-list li{color:var(--text);padding-left:24px;font-size:14px;font-weight:600;line-height:1.5;position:relative}.ad-free-offer-benefits li:before,.ad-free-offer-owned-list li:before{content:"✓";color:var(--success);font-weight:700;position:absolute;top:0;left:0}.ad-free-offer-actions{flex-direction:column;gap:10px;display:flex}.ad-free-offer-actions.hidden{display:none}.ad-free-offer-buy{font-family:var(--font-display);letter-spacing:.3px;color:var(--primary-text);background:var(--grad-primary);border-radius:var(--r-pill);cursor:pointer;box-shadow:0 5px 0 var(--primary-edge), 0 10px 18px rgba(0,0,0,.16);box-sizing:border-box;border:none;width:100%;padding:13px 26px;font-size:16px;font-weight:700;transition:transform 90ms,box-shadow 90ms,-webkit-filter .15s,filter .15s;transform:translateY(0)}.ad-free-offer-buy:hover{-webkit-filter:brightness(1.05);filter:brightness(1.05)}.ad-free-offer-buy:active{box-shadow:0 1px 0 var(--primary-edge), 0 4px 8px rgba(0,0,0,.16);transform:translateY(4px)}.ad-free-offer-buy:disabled{opacity:.6;cursor:default;box-shadow:none;transform:none}.ad-free-offer-restore{box-sizing:border-box;width:100%}.ad-free-offer-restore:disabled{opacity:.6;cursor:default;box-shadow:none;transform:none}.ad-free-offer-feedback{color:var(--warning-text);text-align:center;margin:0;font-size:13px;font-weight:700}.ad-free-offer-feedback.hidden{display:none}.ad-free-offer-note{color:var(--text-muted);text-align:center;margin:0;font-size:13px;font-weight:600}.ad-free-offer-note.hidden{display:none}.level-complete-screen .card,.player-profile .profile-name-section,.player-profile .profile-stats-section,.player-profile .profile-privacy-section,.player-profile .ad-free-offer,.player-profile .account-section,.settings-screen .settings-section,.settings-screen .profile-privacy-section,.confirmation-dialog-card,.ad-free-modal-card,.connect-prompt-card,.mode-card{background:var(--surface);border:2px solid var(--border);box-shadow:var(--shadow-lg)}.level-complete-screen{--screen-padding:20px;background:var(--overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto;flex-direction:column;justify-content:center;align-items:center;display:none;position:absolute;top:0;bottom:0;left:0;right:0}.level-complete-screen.visible{display:flex}@keyframes popIn{0%{opacity:0;transform:scale(.8)}60%{opacity:1;transform:scale(1.04)}to{transform:scale(1)}}.level-complete-screen .card{border-radius:var(--r-xl);text-align:center;flex-direction:column;width:92%;max-width:460px;max-height:92vh;padding:0;animation:.4s cubic-bezier(.34,1.56,.64,1) popIn;display:flex;overflow:hidden}.level-complete-screen .level-title-bar{background:var(--grad-panel-bar);color:#fff;font-family:var(--font-display);text-transform:uppercase;letter-spacing:1.4px;flex-shrink:0;padding:16px 24px;font-size:18px;font-weight:700}.level-complete-screen .congrats-message{font-family:var(--font-display);color:var(--candy-grape);text-transform:uppercase;letter-spacing:.5px;margin:22px 0 14px;padding:0 24px;font-size:30px;font-weight:700}.level-complete-screen .level-complete-unlock{text-align:left;border-radius:var(--r-md);background:var(--success-bg);border:2px solid var(--success-border);align-items:center;gap:12px;margin:0 20px 16px;padding:12px 14px;display:flex}.level-complete-screen .level-complete-unlock[hidden]{display:none}.level-complete-unlock-icon{width:40px;height:40px;color:var(--text-on-accent);background:var(--grad-title);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.level-complete-unlock-text{min-width:0}.level-complete-unlock-title{font-family:var(--font-display);color:var(--success-edge);letter-spacing:.2px;font-size:16px;font-weight:700}.level-complete-unlock-body{color:var(--text-muted);margin-top:2px;font-size:13px;font-weight:600;line-height:1.4}.level-complete-screen .stats-container{flex-direction:column;gap:12px;margin-bottom:22px;padding:0 24px;display:flex;overflow-y:auto}.level-complete-screen .stats-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.level-complete-screen .stat-row{background:var(--surface-sunken);border-radius:var(--r-md);border:2px solid var(--border);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:14px 16px;display:flex}.level-complete-screen .stat-row.highlight{background:var(--success-bg);border-color:var(--success-border);grid-column:1/-1}.level-complete-screen .stat-row .label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:800}.level-complete-screen .stat-row .value{font-family:var(--font-display);color:var(--text);font-size:24px;font-weight:700}.level-complete-screen .score-tally{background:var(--surface-sunken);border:2px solid var(--border);border-radius:var(--r-md);cursor:pointer;grid-template-columns:auto 1fr auto;gap:10px 12px;padding:16px 18px;display:grid}.level-complete-screen .tally-row{grid-column:1/-1;grid-template-columns:subgrid;opacity:0;align-items:center;transition:opacity .2s ease-out,transform .2s ease-out;display:grid;transform:translateY(4px)}.level-complete-screen .tally-row.is-visible{opacity:1;transform:none}.level-complete-screen .tally-label{text-align:left;color:var(--text-muted);white-space:nowrap;grid-column:1;font-size:13px;font-weight:800}.level-complete-screen .tally-bar{border-radius:var(--r-pill);background:var(--border);grid-column:2;height:8px;overflow:hidden}.level-complete-screen .tally-bar-fill{border-radius:inherit;width:0;height:100%;display:block}.level-complete-screen .tally-memory .tally-bar-fill{background:var(--candy-grape)}.level-complete-screen .tally-speed .tally-bar-fill{background:var(--candy-sky)}.level-complete-screen .tally-memory.is-full .tally-bar{box-shadow:0 0 0 2px var(--candy-grape)}.level-complete-screen .tally-value{text-align:right;min-width:4ch;font-family:var(--font-display);color:var(--text);font-variant-numeric:tabular-nums;grid-column:3;font-size:20px;font-weight:700}.level-complete-screen .tally-total{border-top:2px solid var(--border);grid-column:1/-1;justify-content:space-between;align-items:baseline;padding-top:10px;display:flex}.level-complete-screen .tally-total-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-size:11px;font-weight:800}.level-complete-screen .tally-total-value{transform-origin:100%;font-family:var(--font-display);color:var(--success);font-variant-numeric:tabular-nums;font-size:34px;font-weight:700;display:inline-block}.level-complete-screen .score-tally.is-landed .tally-total-value{animation:.32s ease-out tally-land}@keyframes tally-land{0%{transform:scale(1)}45%{transform:scale(1.12)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.level-complete-screen .tally-row{transition:none}.level-complete-screen .score-tally.is-landed .tally-total-value{animation:none}}.level-complete-screen .stat-row.highlight .value{color:var(--success);font-size:30px}.level-complete-screen .buttons-container{flex-direction:column;flex-shrink:0;justify-content:center;gap:12px;padding:0 24px 24px;display:flex}.level-complete-screen .button-base,.level-complete-screen .button-primary{padding:13px 22px;font-size:15px}.level-complete-screen .button-highlight{padding:16px 26px;font-size:19px;position:relative}.level-complete-screen .button-highlight:after{content:"";border-radius:inherit;border:2px solid var(--success);opacity:0;pointer-events:none;animation:2.4s ease-out infinite highlight-halo;position:absolute;top:-4px;bottom:-4px;left:-4px;right:-4px}@keyframes highlight-halo{0%{opacity:.6;transform:scale(.98)}70%,to{opacity:0;transform:scale(1.1)}}.level-complete-screen .rank-row{background:var(--grape-bg);border:2px solid var(--grape-border);border-radius:var(--r-md);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:12px 16px;transition:transform .15s;display:flex}.level-complete-screen .stat-row.rank-row:hover{transform:translateY(-2px)}.level-complete-screen .rank-value.loading-rank,.level-complete-screen .rank-value.not-ranked{color:var(--text-soft);font-style:italic}.level-complete-screen .rank-value.ranked{color:var(--candy-grape);font-size:22px;font-weight:700}@media (max-width:768px){.level-complete-screen .card{width:95%;max-height:95vh}.level-complete-screen .congrats-message{font-size:25px}}.level-select,.player-profile,.settings-screen,.game-mode-select{pointer-events:auto;box-sizing:border-box;flex-direction:column;align-items:center;display:none;position:absolute;top:0;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:auto}.level-select.visible,.player-profile.visible,.settings-screen.visible,.game-mode-select.visible{display:flex}.player-profile .stat-card{background:var(--surface-sunken);border-radius:var(--r-md);border:2px solid var(--border);align-items:center;gap:18px;padding:18px;display:flex}.player-profile .stat-card.tappable{cursor:pointer;transition:transform .12s,border-color .12s}.player-profile .stat-card.tappable:hover{border-color:var(--border-strong)}.player-profile .stat-card.tappable:active{transform:scale(.98)}.player-profile .stat-icon{color:#fff;background:var(--grad-primary);border-radius:var(--r-md);width:56px;height:56px;box-shadow:var(--shadow-sm);flex-shrink:0;justify-content:center;align-items:center;font-size:30px;display:flex}.player-profile .stat-icon .app-icon{font-size:28px}.player-profile .stat-content{flex:1;min-width:0}.player-profile .stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:12px;font-weight:800}.player-profile .stat-value{font-family:var(--font-display);color:var(--text);word-break:break-word;font-size:28px;font-weight:700;line-height:1}.level-select{justify-content:flex-start}.level-select-title{font-family:var(--font-display);color:#fff;text-shadow:0 3px rgba(0,0,0,.14);text-align:center;z-index:1;flex-shrink:0;margin:8px 0 20px;font-size:30px;position:relative}.level-grid{z-index:1;grid-template-columns:repeat(5,1fr);align-content:start;gap:14px;width:100%;max-width:820px;margin-bottom:20px;display:grid;position:relative}.level-card{aspect-ratio:1;min-width:0;transition:transform .14s}.level-card.unlocked{cursor:pointer}.level-card.unlocked:hover{transform:translateY(-4px)scale(1.03)}.level-card.unlocked:active{transform:translateY(-1px)scale(.99)}.level-card-inner{width:100%;height:100%}.level-card-front{border-radius:var(--r-md);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.level-card.unlocked .level-card-front{background:var(--level-tile);border:2px solid var(--level-tile-border);box-shadow:0 5px 0 var(--level-tile-edge), 0 8px 14px rgba(0,0,0,.14)}.level-card.locked .level-card-front{background:var(--level-tile-locked);border:2px solid var(--level-tile-locked-border)}.level-number{font-family:var(--font-display);color:var(--level-tile-number);font-size:max(20px,min(5vw,34px));font-weight:700}.lock-icon{color:var(--level-tile-locked-icon);opacity:.9;font-size:max(18px,min(4vw,30px));display:inline-flex}.level-card.locked:active{transform:scale(.97)}.level-locked-tooltip{border-radius:var(--r-sm);background:var(--surface-2);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:min(230px,62vw);color:var(--text);border:2px solid var(--border-strong);box-shadow:var(--shadow-md);font-family:var(--font-body);text-align:center;opacity:0;visibility:hidden;pointer-events:none;z-index:2;padding:8px 12px;font-size:13px;font-weight:700;line-height:1.3;transition:opacity .16s,visibility .16s;position:absolute;top:0;left:0;transform:translate(-50%,calc(-100% - 10px))}.level-locked-tooltip.visible{opacity:1;visibility:visible}.level-locked-tooltip:after{content:"";border:7px solid transparent;border-top-color:var(--border-strong);position:absolute;top:100%;left:50%;transform:translate(-50%)}@media (max-width:1023px) and (min-width:769px){.level-grid{max-width:700px}}@media (max-width:768px) and (min-width:481px){.level-grid{grid-template-columns:repeat(4,1fr);gap:12px}.level-select-title{font-size:26px}}@media (max-width:480px){.level-grid{grid-template-columns:repeat(3,1fr);gap:10px}.level-select-title{font-size:22px}}@media (max-width:360px){.level-grid{grid-template-columns:repeat(2,1fr)}}.player-profile{justify-content:flex-start;gap:16px}.player-profile .profile-name-section,.player-profile .profile-stats-section,.player-profile .profile-privacy-section,.player-profile .ad-free-offer,.player-profile .account-section{border-radius:var(--r-lg);z-index:1;width:100%;max-width:600px;padding:24px;position:relative}.player-profile .name-display-container{align-items:center;gap:14px;display:flex}.player-profile .name-icon{color:#fff;background:var(--grad-title);width:58px;height:58px;box-shadow:var(--shadow-sm);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:30px;display:flex}.player-profile .name-wrapper{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.player-profile .player-name-display{font-family:var(--font-display);color:var(--text);word-break:break-word;font-size:24px;font-weight:700}.player-profile .offline-indicator-inline{color:var(--warning-text);font-size:11px;font-weight:700}.player-profile .offline-indicator-inline.hidden{display:none}.player-profile .edit-name-icon-button{width:40px;height:40px;color:var(--secondary-text);background:var(--surface-sunken);border:2px solid var(--border);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;transition:transform .14s;display:flex}.player-profile .edit-name-icon-button:hover{transform:scale(1.08)}.player-profile .edit-name-icon-button:active{transform:scale(.94)}.player-profile .edit-name-icon-button.hidden,.player-profile .name-edit-container.hidden,.player-profile .name-display-container.hidden,.player-profile .edit-name-button.hidden{display:none}.player-profile .name-edit-container{flex-direction:column;gap:12px;display:flex}.player-profile .name-input{width:100%;font-family:var(--font-body);color:var(--text);background:var(--surface-sunken);border:2px solid var(--border);border-radius:var(--r-sm);padding:13px 16px;font-size:17px;font-weight:700;transition:border-color .16s}.player-profile .name-input:focus{border-color:var(--focus);outline:none}.player-profile .name-input:disabled{opacity:.6;cursor:not-allowed}.player-profile .edit-buttons-container{gap:12px;display:flex}.player-profile .save-button,.player-profile .cancel-button{flex:1}.player-profile .save-button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.player-profile .feedback-message{border-radius:var(--r-sm);text-align:center;margin-top:8px;padding:12px 16px;font-size:14px;font-weight:700;animation:.3s ease-out slideDown}.player-profile .feedback-message.hidden{display:none}.player-profile .feedback-message.success{color:var(--success-edge);background:var(--success-bg);border:2px solid var(--success)}.player-profile .feedback-message.error{color:var(--danger-edge);background:var(--danger-bg);border:2px solid var(--danger)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.player-profile .stats-title{font-family:var(--font-display);color:var(--text);text-align:center;margin:0 0 16px;font-size:20px;font-weight:700}.player-profile .stats-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.player-profile .stat-card{gap:12px;padding:14px}.player-profile .stat-card:last-child:nth-child(odd){grid-column:1/-1}.player-profile .stat-icon{border-radius:var(--r-sm);width:46px;height:46px;font-size:22px}.player-profile .stat-label{margin-bottom:3px;font-size:10px}.player-profile .stat-value{font-size:20px}@media (max-width:768px){.player-profile .stats-grid{grid-template-columns:1fr}}.game-mode-select{justify-content:flex-start}.game-mode-title{font-family:var(--font-display);color:#fff;text-shadow:0 3px rgba(0,0,0,.14);text-align:center;z-index:1;margin:0 0 8px;font-size:max(28px,min(8vw,40px));position:relative}.game-mode-subtitle{color:rgba(255,255,255,.92);text-align:center;z-index:1;margin:0 0 36px;font-size:16px;font-weight:700;position:relative}.game-modes-container{z-index:1;gap:22px;width:100%;max-width:860px;margin-bottom:30px;display:flex;position:relative}.game-mode-title{margin-top:auto}.game-modes-container{margin-bottom:auto}.mode-card{border-radius:var(--r-lg);flex-direction:column;flex:1;align-items:center;min-width:0;padding:30px 24px;transition:transform .16s,box-shadow .16s;display:flex}.mode-card:hover{box-shadow:var(--shadow-lg), var(--shadow-pop);transform:translateY(-6px)}.mode-icon{color:#fff;background:var(--grad-title);width:84px;height:84px;box-shadow:var(--shadow-md);border-radius:50%;justify-content:center;align-items:center;margin-bottom:18px;font-size:40px;display:flex}.mode-card-title{font-family:var(--font-display);color:var(--text);text-align:center;margin:0 0 12px;font-size:24px;font-weight:700}.mode-card-description{color:var(--text-muted);text-align:center;flex-grow:1;margin:0 0 24px;font-size:14px;font-weight:600;line-height:1.6}.mode-select-button{width:100%;max-width:260px}.mode-continue-button{flex-direction:column;align-items:center;gap:2px;margin-bottom:10px;padding-top:11px;padding-bottom:11px;line-height:1.15;display:flex}.mode-card button[hidden]{display:none}.mode-continue-level{opacity:.85;font-size:.78em;font-weight:700}.mode-card.is-locked{background:var(--surface-sunken);box-shadow:none;cursor:default;border-style:dashed}.mode-card.is-locked:hover{box-shadow:none;transform:none}.mode-card.is-locked .mode-icon{background:var(--surface-2);border:2px solid var(--border-strong);color:var(--text-soft);box-shadow:none}.mode-card.is-locked .mode-card-title,.mode-card.is-locked .mode-card-description{color:var(--text-muted)}.mode-unlock-progress{font-family:var(--font-display);color:var(--text-soft);letter-spacing:.3px;text-align:center;margin:0;padding:13px 12px;font-size:15px;font-weight:700}.mode-locked-tooltip{border-radius:var(--r-sm);background:var(--surface-2);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:min(240px,66vw);color:var(--text);border:2px solid var(--border-strong);box-shadow:var(--shadow-md);font-family:var(--font-body);text-align:center;opacity:0;visibility:hidden;pointer-events:none;z-index:2;padding:8px 12px;font-size:13px;font-weight:700;line-height:1.3;transition:opacity .16s,visibility .16s;position:absolute;top:50%;left:0;transform:translate(-50%,-50%)}.mode-locked-tooltip.visible{opacity:1;visibility:visible}.mode-select-button.is-secondary{color:var(--text-muted);box-shadow:none;background:0 0;font-size:15px}.mode-select-button.is-secondary:hover{color:var(--text);-webkit-filter:none;filter:none}.mode-select-button.is-secondary:active{box-shadow:none;transform:translateY(2px)}@media (max-width:600px),(max-height:540px){.game-mode-title{font-size:max(24px,min(7.5vw,34px))}.game-mode-subtitle{margin-bottom:24px;font-size:14px}.game-modes-container{gap:12px}.mode-card{padding:22px 12px}.mode-icon{width:60px;height:60px;margin-bottom:14px}.mode-icon svg{width:30px;height:30px}.mode-card-title{margin-bottom:8px;font-size:18px}.mode-card-description{margin-bottom:18px;font-size:12px;line-height:1.5}.mode-select-button{padding:13px 12px;font-size:15px}}@media (max-width:380px){.game-mode-subtitle{margin-bottom:18px}.game-modes-container{gap:10px}.mode-card{padding:18px 10px}.mode-icon{width:52px;height:52px;margin-bottom:12px}.mode-icon svg{width:26px;height:26px}.mode-card-title{font-size:16px}.mode-card-description{margin-bottom:14px;font-size:11px}.mode-select-button{padding:12px 8px;font-size:14px}}@media (max-height:540px){.game-mode-subtitle{display:none}.game-mode-title{margin-bottom:14px;font-size:max(22px,min(5vh,30px))}.game-modes-container{max-width:620px}.mode-card{padding:14px 12px}.mode-icon{width:44px;height:44px;margin-bottom:8px}.mode-icon svg{width:22px;height:22px}.mode-card-title{margin-bottom:6px;font-size:17px}.mode-card-description{margin-bottom:12px}.mode-select-button{padding:11px 12px}}.confirmation-dialog-overlay{background:var(--overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:10000;pointer-events:auto;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:none;position:fixed;top:0;bottom:0;left:0;right:0}.confirmation-dialog-overlay.visible{display:flex}.confirmation-dialog{justify-content:center;align-items:center;padding:20px;animation:.32s cubic-bezier(.34,1.56,.64,1) popIn;display:flex}.confirmation-dialog-card{border-radius:var(--r-lg);width:100%;max-width:400px;padding:30px}.confirmation-dialog-message{color:var(--text);text-align:center;white-space:pre-line;margin:0 0 24px;font-size:18px;font-weight:700;line-height:1.6}.confirmation-dialog-buttons{justify-content:center;gap:12px;display:flex}.confirmation-dialog-button{flex:1;justify-content:center;align-items:center;gap:8px;min-width:100px;display:inline-flex}.confirmation-dialog-button.confirm:disabled{-webkit-filter:grayscale(.6);filter:grayscale(.6);opacity:.55;cursor:default}.confirmation-dialog:not(.emphasize-cancel) .confirmation-dialog-button.confirm:disabled:active{box-shadow:0 6px 0 var(--primary-edge), 0 12px 22px rgba(0,0,0,.18);transform:translateY(0)}.confirmation-dialog.emphasize-cancel .confirmation-dialog-button.confirm:disabled:active{box-shadow:0 5px 0 var(--danger), 0 10px 18px rgba(0,0,0,.12);transform:translateY(0)}.pause-menu-overlay{background:var(--overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:9500;pointer-events:auto;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:none;position:fixed;top:0;bottom:0;left:0;right:0}.pause-menu-overlay.visible{display:flex}.pause-menu{width:100%;max-height:100%;padding:calc(16px + var(--safe-top)) 16px calc(16px + var(--safe-bottom));box-sizing:border-box;display:flex;overflow-y:auto}.pause-menu-card{background:var(--surface);border:2px solid var(--border);box-shadow:var(--shadow-lg);border-radius:var(--r-xl);box-sizing:border-box;flex-direction:column;gap:16px;width:100%;max-width:420px;margin:auto;padding:24px 22px;animation:.32s cubic-bezier(.34,1.56,.64,1) popIn;display:flex}.pause-menu-title{font-family:var(--font-display);color:var(--text);text-align:center;margin:0;font-size:26px;font-weight:800}.pause-menu-hint{color:var(--text-muted);text-align:center;margin:-12px 0 0;font-size:13px;line-height:1.5}.pause-menu-controls{border-radius:var(--r-lg);background:var(--surface-2);border:2px solid var(--border);flex-direction:column;gap:16px;padding:16px;display:flex}.pause-menu-controls .settings-row+.settings-row{border-top:none;padding-top:0}.pause-menu-buttons{gap:12px;display:flex}.pause-menu-buttons .pause-menu-button{flex:1;justify-content:center;align-items:center;gap:8px;min-width:0;padding-left:12px;padding-right:12px;font-size:15px;display:inline-flex}.pause-menu-button svg{flex-shrink:0}@media (max-width:340px){.pause-menu-buttons{flex-direction:column-reverse}}@media (max-height:640px){.pause-menu-card{gap:12px;padding:16px}.pause-menu-title{font-size:22px}.pause-menu-hint{display:none}.pause-menu-controls{gap:12px;padding:12px}}.leaderboard-screen{opacity:0;pointer-events:none;flex-direction:column;gap:12px;transition:opacity .3s;display:flex;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.leaderboard-screen.visible{opacity:1;pointer-events:auto}.leaderboard-header{background:var(--surface);border:2px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-md);z-index:1;flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;padding:18px 22px;display:flex;position:relative}.leaderboard-title{font-family:var(--font-display);color:var(--text);text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:24px;font-weight:700;overflow:hidden}.leaderboard-header .refresh-button{flex-shrink:0}.leaderboard-header .refresh-button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.offline-indicator{background:var(--warning-bg);color:var(--warning-text);text-align:center;border-radius:var(--r-sm);z-index:1;flex-shrink:0;padding:12px 18px;font-size:14px;font-weight:700;position:relative}.offline-indicator.hidden{display:none}.leaderboard-tabs{z-index:1;flex-shrink:0;gap:8px;margin-bottom:-14px;display:flex;position:relative}.leaderboard-tab{font-family:var(--font-display);background:var(--surface-sunken);color:var(--text);border:2px solid var(--border);border-radius:var(--r-md) var(--r-md) 0 0;cursor:pointer;border-bottom:none;flex:1;padding:12px 18px;font-size:15px;font-weight:700;transition:background .16s}.leaderboard-tab:hover{background:var(--surface)}.leaderboard-tab.active{background:var(--surface);border-color:var(--border);color:var(--candy-grape);cursor:default;z-index:2;position:relative}.leaderboard-content-wrapper{background:var(--surface);border:2px solid var(--border);border-radius:0 0 var(--r-md) var(--r-md);box-shadow:var(--shadow-md);z-index:1;flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.leaderboard-content{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;transition:opacity .15s ease-out;overflow-y:auto}.leaderboard-content.refreshing{opacity:.55}.level-selector{background:var(--surface-sunken);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:12px;padding:16px 22px;display:flex}.level-selector.hidden{display:none}.level-selector label{color:var(--text);font-size:14px;font-weight:800}.level-dropdown{font-family:var(--font-body);border:2px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);cursor:pointer;padding:10px 14px;font-size:14px;font-weight:700}.player-rank-card{background:var(--grape-bg);border-bottom:1px solid var(--border);border-left:4px solid var(--candy-grape);flex-shrink:0;padding:18px 22px}.player-rank-card.hidden{display:none}.player-rank-card.unranked{background:var(--surface-sunken);border-left-color:var(--border)}.player-rank-card.unranked.pending{background:var(--sky-bg);border-left-color:var(--candy-sky)}.player-rank-text{font-family:var(--font-display);color:var(--candy-grape);margin-bottom:8px;font-size:18px;font-weight:700}.player-rank-card.unranked .player-rank-text{color:var(--text)}.player-rank-hint{color:var(--text-muted);font-size:14px;font-weight:700;line-height:1.4}.player-rank-stats{color:var(--text-muted);gap:16px;font-size:14px;font-weight:700;display:flex}.loading-state,.error-state,.empty-state{text-align:center;color:var(--text-muted);padding:56px 24px;font-size:16px;font-weight:700}.error-state{color:var(--danger);background:var(--danger-bg);border:2px solid var(--danger);border-radius:var(--r-sm);margin:16px}.error-state.hidden,.loading-state.hidden,.leaderboard-table.hidden{display:none}.leaderboard-table-element{border-collapse:collapse;background:var(--surface);width:100%}.leaderboard-table-element thead{background:var(--surface-sunken)}.leaderboard-table-element th{z-index:1;background:var(--surface-sunken);text-align:left;font-family:var(--font-display);color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;padding:14px 16px;font-size:12px;font-weight:700;position:-webkit-sticky;position:sticky;top:0}.leaderboard-table-element td{color:var(--text);border-top:1px solid var(--border);padding:14px 16px;font-size:15px;font-weight:700}.leaderboard-table-element tbody tr:hover{background:var(--surface-sunken)}.rank-cell{text-align:center;width:60px;font-weight:800}.score-cell,.time-cell,.accuracy-cell,.levels-cell{text-align:right}.leaderboard-table-element tbody tr.current-player{background:var(--grape-bg);border-left:4px solid var(--candy-grape)}.leaderboard-table-element tbody tr.current-player .player-cell{color:var(--candy-grape);font-weight:800}@media (max-width:768px){.leaderboard-title{font-size:20px}.player-rank-stats{flex-direction:column;gap:8px}}@media (max-height:560px){.leaderboard-screen{overflow-y:auto}.leaderboard-content-wrapper{flex:none}.leaderboard-content{flex:none;min-height:0;overflow-y:visible}}.notification-container{top:calc(20px + var(--safe-top));z-index:10001;pointer-events:none;flex-direction:column;gap:12px;width:90%;max-width:500px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.notification{border-radius:var(--r-md);box-shadow:var(--shadow-md);opacity:0;pointer-events:auto;text-align:center;border:2px solid transparent;padding:14px 20px;font-size:15px;font-weight:700;transition:opacity .3s,transform .3s;transform:translateY(-20px)}.notification.visible{opacity:1;transform:translateY(0)}.notification-error{background:var(--danger-bg);color:var(--danger-edge);border-color:var(--danger)}.notification-warning{background:var(--warning-bg);color:var(--warning-text);border-color:var(--warning)}.notification-info{background:var(--sky-bg);color:var(--text);border-color:var(--candy-sky)}.notification-success{background:var(--success-bg);color:var(--success-edge);border-color:var(--success)}.offline-status-indicator{top:calc(16px + var(--safe-top));z-index:10001;pointer-events:none;flex-direction:column;align-items:center;display:flex;position:fixed;left:50%;transform:translate(-50%)}.offline-icon{background:var(--danger);cursor:pointer;color:#fff;width:40px;height:40px;box-shadow:0 4px 0 var(--danger-edge), 0 8px 14px rgba(0,0,0,.2);opacity:0;pointer-events:auto;border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .2s;display:flex;transform:scale(0)}.offline-icon.visible{opacity:1;animation:.3s cubic-bezier(.34,1.56,.64,1) bounceIn;transform:scale(1)}.offline-icon:hover{transform:scale(1.1)}.offline-icon:active{transform:scale(.95)}.offline-banner{background:var(--warning-bg);width:320px;max-width:min(320px,100vw - 24px);color:var(--warning-text);border:2px solid var(--warning);border-radius:var(--r-md);box-shadow:var(--shadow-md);text-align:left;opacity:0;pointer-events:none;padding:14px 36px 14px 16px;font-size:14px;font-weight:700;line-height:1.5;transition:opacity .3s,transform .3s;position:absolute;top:52px;left:50%;transform:translate(-50%)translateY(-10px)}.offline-banner.visible{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}.offline-banner-close{cursor:pointer;width:24px;height:24px;color:var(--warning-text);opacity:.7;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;font-size:18px;display:flex;position:absolute;top:8px;right:8px}.offline-banner-close:hover{opacity:1}@keyframes bounceIn{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.organic-blob-1,.organic-blob-2,.organic-blob-3{animation:none!important}}.streak-panel-overlay{background:var(--overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:9000;pointer-events:auto;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:none;position:fixed;top:0;bottom:0;left:0;right:0}.streak-panel-overlay.visible{display:flex}.streak-panel{padding:calc(20px + var(--safe-top)) 20px calc(20px + var(--safe-bottom));justify-content:center;align-items:center;width:100%;display:flex}.streak-panel-card{background:var(--surface);border:2px solid var(--border);box-shadow:var(--shadow-lg);border-radius:var(--r-xl);text-align:center;flex-direction:column;align-items:center;width:100%;max-width:400px;padding:30px 26px;animation:.4s cubic-bezier(.34,1.56,.64,1) popIn;display:flex}.streak-panel-title{font-family:var(--font-display);color:var(--text);margin:0 0 8px;font-size:24px;font-weight:700}.streak-flame{margin-bottom:4px;font-size:56px;line-height:1;display:inline-block}@keyframes flameBounce{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-6px)scale(1.08)}}@keyframes flameGlow{0%,to{-webkit-filter:drop-shadow(0 0 6px rgba(255,138,61,.45));filter:drop-shadow(0 0 6px rgba(255,138,61,.45))}50%{-webkit-filter:drop-shadow(0 0 16px rgba(255,138,61,.8));filter:drop-shadow(0 0 16px rgba(255,138,61,.8))}}.streak-flame.animate{animation:1.2s ease-in-out infinite flameBounce,1.6s ease-in-out infinite flameGlow}.streak-flame.hidden{display:none}.streak-count{font-family:var(--font-display);color:var(--candy-grape);margin-bottom:18px;font-size:64px;font-weight:700;line-height:1}.streak-count.muted{color:var(--text-muted)}.streak-days-row{justify-content:center;gap:8px;margin-bottom:18px;display:flex}.streak-day{width:34px;height:34px;color:var(--text-muted);background:var(--surface-sunken);border:2px solid var(--border);border-radius:50%;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex}.streak-day.played{background:var(--success-bg);color:var(--success);border-color:var(--success-border)}.streak-day.today{border-color:var(--candy-grape);box-shadow:0 0 0 3px rgba(124,77,255,.18)}.streak-panel-message{color:var(--text);text-align:center;margin:0 0 24px;font-size:17px;font-weight:700;line-height:1.6}.streak-panel-buttons{justify-content:center;gap:12px;width:100%;display:flex}.streak-panel-button{font-family:var(--font-display);letter-spacing:.3px;color:var(--primary-text);background:var(--grad-primary);border-radius:var(--r-pill);cursor:pointer;box-shadow:0 5px 0 var(--primary-edge), 0 10px 18px rgba(0,0,0,.16);pointer-events:auto;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:none;flex:1;min-width:120px;padding:13px 26px;font-size:16px;font-weight:700;transition:transform 90ms,box-shadow 90ms,-webkit-filter .15s,filter .15s;transform:translateY(0)}.streak-panel-button:active{box-shadow:0 1px 0 var(--primary-edge), 0 4px 8px rgba(0,0,0,.16);transform:translateY(4px)}.streak-panel-button:disabled{opacity:.6;cursor:default}.streak-panel-button.hidden{display:none}.streak-panel-button.restore{background:linear-gradient(180deg, var(--success-top) 0%, var(--success) 100%);box-shadow:0 5px 0 var(--success-edge), 0 10px 18px rgba(0,0,0,.16)}.streak-panel-button.restore:active{box-shadow:0 1px 0 var(--success-edge), 0 4px 8px rgba(0,0,0,.16)}.streak-panel-button.continue{background:var(--surface-2);color:var(--text);border:2px solid var(--border-strong);box-shadow:0 5px 0 var(--border-strong), 0 10px 18px rgba(0,0,0,.12)}.streak-panel-button.continue:active{box-shadow:0 1px 0 var(--border-strong), 0 4px 8px rgba(0,0,0,.12)}@media (prefers-reduced-motion:reduce){.streak-flame.animate{animation:none!important}}.ad-free-modal-overlay{background:var(--overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:9000;pointer-events:auto;padding:calc(20px + var(--safe-top)) calc(20px + var(--safe-right)) calc(20px + var(--safe-bottom)) calc(20px + var(--safe-left));box-sizing:border-box;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:none;position:fixed;top:0;bottom:0;left:0;right:0}.ad-free-modal-overlay.visible{display:flex}.ad-free-modal-card{border-radius:var(--r-xl);width:100%;max-width:420px;max-height:100%;padding:44px 26px 30px;animation:.4s cubic-bezier(.34,1.56,.64,1) popIn;position:relative;overflow-y:auto}.ad-free-modal-close{width:34px;height:34px;color:var(--text-muted);background:var(--surface-sunken);border:2px solid var(--border);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:transform .14s;display:flex;position:absolute;top:14px;right:14px}.ad-free-modal-close:hover{transform:scale(1.08)}.ad-free-modal-close:active{transform:scale(.94)}.settings-screen{justify-content:flex-start;gap:16px;overflow-x:hidden;overflow-y:auto}.settings-screen .settings-section,.settings-screen .profile-privacy-section{border-radius:var(--r-lg);z-index:1;box-sizing:border-box;width:100%;max-width:600px;padding:24px;position:relative}.settings-screen .settings-section{flex-direction:column;gap:20px;display:flex}.settings-title{font-family:var(--font-display,inherit);color:var(--text);text-align:center;z-index:1;margin:0;font-size:30px;position:relative}.settings-screen .settings-section .stats-title{margin-bottom:0}.settings-row{flex-direction:column;gap:8px;display:flex}.settings-row+.settings-row{border-top:2px solid var(--border);padding-top:20px}.settings-row-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.settings-row-title{color:var(--text);margin:0;font-size:17px;font-weight:800}.settings-screen .settings-row .profile-privacy-note{text-align:left}.settings-theme-options{border-radius:var(--r-lg);background:var(--surface-sunken);border:2px solid var(--border);grid-template-columns:repeat(3,1fr);gap:8px;padding:6px;display:grid}.settings-theme-option{border-radius:var(--r-md);color:var(--text-muted);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:12px 6px;transition:background .15s,color .15s,box-shadow .15s;display:flex;position:relative}.settings-theme-option input{opacity:0;cursor:pointer;margin:0;position:absolute;top:0;bottom:0;left:0;right:0}.settings-theme-option.is-selected{background:var(--grad-primary);color:var(--primary-text);box-shadow:0 4px 0 var(--primary-edge), 0 8px 16px rgba(0,0,0,.16)}.settings-theme-option:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:3px}@supports not selector(:has(*)){.settings-theme-option:focus-within{outline:3px solid var(--focus);outline-offset:3px}}.settings-theme-icon{justify-content:center;align-items:center;display:inline-flex}.settings-theme-label{font-size:14px;font-weight:800}.settings-theme-hint{color:var(--text-soft);margin:0;font-size:13px;font-weight:700}.settings-mute-toggle{border:2px solid var(--border-strong);background:var(--surface-2);width:44px;height:44px;color:var(--text);cursor:pointer;box-shadow:0 4px 0 var(--border-strong);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:transform .12s,box-shadow .12s,background .12s;display:inline-flex}.settings-mute-toggle:active{box-shadow:0 1px 0 var(--border-strong);transform:translateY(3px)}.settings-mute-toggle.is-muted{background:var(--danger,#e5484d);border-color:var(--danger,#e5484d);color:#fff;box-shadow:0 4px rgba(0,0,0,.2)}.settings-slider-row{align-items:center;gap:12px;display:flex}.settings-slider-label{color:var(--text-muted);flex-shrink:0;font-size:14px;font-weight:700}.settings-slider-value{color:var(--text);text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0;min-width:56px;font-size:14px;font-weight:800}.settings-slider{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;background:0 0;flex:1;min-width:0;height:28px;margin:0}.settings-slider:disabled{opacity:.45;cursor:not-allowed}.settings-slider::-webkit-slider-runnable-track{background:var(--surface-2);border:2px solid var(--border-strong);border-radius:999px;height:10px}.settings-slider::-moz-range-track{background:var(--surface-2);border:2px solid var(--border-strong);border-radius:999px;height:10px}.settings-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;background:var(--primary,#7c4dff);border:2px solid var(--border-strong);border-radius:50%;width:24px;height:24px;margin-top:-9px}.settings-slider::-moz-range-thumb{background:var(--primary,#7c4dff);border:2px solid var(--border-strong);border-radius:50%;width:24px;height:24px}.settings-slider:focus-visible{outline:3px solid var(--primary,#7c4dff);outline-offset:4px;border-radius:999px}.help-bubble{top:calc(var(--menu-bubble-inset) + var(--menu-bubble-size) + var(--menu-bubble-gap));left:var(--menu-bubble-inset);width:var(--menu-bubble-size);height:var(--menu-bubble-size);color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:auto;z-index:10;background:rgba(255,255,255,.2);border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .12s,box-shadow .12s;display:flex;position:absolute;box-shadow:0 4px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.2)}.help-bubble:hover{transform:scale(1.06)}.help-bubble:active{transform:translateY(3px)scale(.98);box-shadow:0 1px rgba(0,0,0,.18),0 3px 8px rgba(0,0,0,.2)}.help-screen{opacity:0;pointer-events:none;background:var(--grad-menu);flex-direction:column;justify-content:flex-start;align-items:stretch;transition:opacity .3s;display:flex;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.help-screen.visible{opacity:1;pointer-events:auto}.help-title{font-family:var(--font-display);color:var(--text);text-align:center;flex-shrink:0;margin:0 0 12px;font-size:24px;font-weight:700}.help-sections-scroll{flex:1;width:100%;min-height:0;overflow-y:auto}.help-sections{flex-direction:column;gap:10px;width:100%;max-width:560px;margin:0 auto;padding-bottom:4px;display:flex}.help-section{background:var(--surface);border:2px solid var(--border);border-radius:var(--r-lg);padding:12px 16px}.help-section-title{font-family:var(--font-display);color:var(--primary);margin:0 0 3px;font-size:14px;font-weight:700}.help-section-body{color:var(--text);margin:0;font-size:13px;line-height:1.4}.help-replay-button{font-family:var(--font-display);color:var(--primary-text);background:var(--grad-primary);border-radius:var(--r-pill);cursor:pointer;box-shadow:0 5px 0 var(--primary-edge), 0 10px 18px rgba(0,0,0,.16);border:none;flex-shrink:0;align-self:center;margin:14px auto 0;padding:14px 28px;font-size:16px;font-weight:700;transition:transform 90ms,box-shadow 90ms}.help-replay-button:active{box-shadow:0 1px 0 var(--primary-edge), 0 4px 8px rgba(0,0,0,.16);transform:translateY(4px)}.tutorial-overlay{pointer-events:none;z-index:5000;display:none;position:fixed;top:0;bottom:0;left:0;right:0}.tutorial-overlay.visible{display:block}.tutorial-spotlight{border-radius:var(--r-md);box-shadow:0 0 0 999px rgba(32,18,62,.35), 0 0 0 4px var(--candy-sun,#ffcb2e);opacity:0;visibility:hidden;pointer-events:none;transition:left .2s,top .2s,width .2s,height .2s,opacity .16s;position:absolute}.tutorial-spotlight.visible{opacity:1;visibility:visible}.tutorial-callout{border-radius:var(--r-lg);background:var(--surface);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:min(300px,78vw);color:var(--text);border:2px solid var(--border-strong);box-shadow:var(--shadow-lg);pointer-events:auto;flex-direction:column;gap:12px;padding:16px 18px;transition:left .2s,top .2s;display:flex;position:absolute}.tutorial-callout.placement-above{transform:translate(-50%,calc(-100% - 14px))}.tutorial-callout.placement-below{transform:translate(-50%,14px)}.tutorial-callout.centered{transform:translate(-50%,-50%);top:50%!important;left:50%!important}.tutorial-callout:after{content:"";border:8px solid transparent;position:absolute;left:50%;transform:translate(-50%)}.tutorial-callout.placement-above:after{border-top-color:var(--border-strong);top:100%}.tutorial-callout.placement-below:after{border-bottom-color:var(--border-strong);bottom:100%}.tutorial-callout.centered:after{display:none}.tutorial-callout-message{text-align:center;margin:0;font-size:15px;font-weight:700;line-height:1.4}.tutorial-callout-actions{justify-content:center;align-items:center;gap:12px;display:flex}.tutorial-callout-button{font-family:var(--font-display);border-radius:var(--r-pill);cursor:pointer;font-size:14px;font-weight:700;transition:transform 90ms,box-shadow 90ms}.tutorial-callout-button.skip{color:var(--text-muted);background:0 0;border:none;padding:8px 10px}.tutorial-callout-button.primary{color:var(--primary-text);background:var(--grad-primary);box-shadow:0 4px 0 var(--primary-edge), 0 8px 14px rgba(0,0,0,.16);border:none;padding:11px 22px}.tutorial-callout-button.primary[hidden],.tutorial-callout-button.skip[hidden]{display:none}.tutorial-callout-button.primary:active{box-shadow:0 1px 0 var(--primary-edge), 0 3px 8px rgba(0,0,0,.16);transform:translateY(3px)}.hint-tooltip{border-radius:var(--r-sm);background:var(--surface-2);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:min(240px,68vw);color:var(--text);border:2px solid var(--border-strong);box-shadow:var(--shadow-md);font-family:var(--font-body);text-align:center;opacity:0;visibility:hidden;pointer-events:none;z-index:4000;padding:9px 14px;font-size:13px;font-weight:700;line-height:1.3;transition:opacity .16s,visibility .16s;position:fixed;top:0;left:0;transform:translate(-50%,10px)}.hint-tooltip.visible{opacity:1;visibility:visible}.hint-tooltip:after{content:"";bottom:100%;left:var(--arrow-left,50%);border:7px solid transparent;border-bottom-color:var(--border-strong);position:absolute;transform:translate(-50%)}.game-hud .peek-button.hint-target-highlighted{box-shadow:0 0 0 3px var(--candy-sun,#ffcb2e), 0 4px 0 var(--primary-edge), 0 8px 14px rgba(0,0,0,.16)}.player-profile .account-section{flex-direction:column;gap:12px;display:flex}.account-section .account-connect{width:100%}.account-section button[hidden]{display:none}.connect-prompt{z-index:9000;text-align:center;background:var(--bg-app);pointer-events:auto;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:none;position:absolute;top:0;bottom:0;left:0;right:0}.connect-prompt.visible{display:flex}.connect-prompt-card{border-radius:var(--r-xl);flex-direction:column;align-items:center;gap:16px;width:100%;max-width:420px;max-height:100%;padding:32px 26px 26px;animation:.4s cubic-bezier(.34,1.56,.64,1) popIn;display:flex;overflow-y:auto}.connect-prompt-title{color:var(--text);margin:0;font-size:28px;font-weight:800}.connect-prompt-body{color:var(--text-muted);max-width:34ch;margin:0;font-size:16px;line-height:1.6}.connect-prompt-actions{flex-direction:column;gap:12px;width:100%;max-width:320px;display:flex}.connect-prompt-actions button{width:100%}.connect-prompt-note{color:var(--text-muted);margin:0;font-size:13px}.link-conflict-overlay{background:var(--overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:9600;pointer-events:auto;padding:calc(var(--safe-top,0px) + 20px) calc(var(--safe-right,0px) + 16px) calc(var(--safe-bottom,0px) + 20px) calc(var(--safe-left,0px) + 16px);animation:.2s ease-out fadeIn;display:none;position:fixed;top:0;bottom:0;left:0;right:0;overflow-y:auto}.link-conflict-overlay.visible{display:block}.link-conflict-card{background:var(--surface);border:2px solid var(--border);width:100%;max-width:460px;box-shadow:var(--shadow-lg);border-radius:var(--r-lg);margin:auto;padding:24px}.link-conflict-title{color:var(--text);text-align:center;margin:0 0 8px;font-size:22px;font-weight:800}.link-conflict-intro{color:var(--text-muted);text-align:center;margin:0 0 20px;font-size:15px;line-height:1.5}.link-conflict-columns{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px;display:grid}.link-conflict-column{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:12px}.link-conflict-column-title{color:var(--text);overflow-wrap:anywhere;margin:0 0 8px;font-size:14px;font-weight:700}.link-conflict-stats{grid-template-columns:1fr auto;gap:4px 8px;margin:0;font-size:13px;display:grid}.link-conflict-stats dt{color:var(--text-muted);margin:0}.link-conflict-stats dd{color:var(--text);text-align:right;margin:0;font-weight:700}.link-conflict-actions{flex-direction:column;gap:10px;display:flex}.link-conflict-actions button{width:100%}.link-conflict-note{color:var(--text-muted);text-align:center;margin:16px 0 0;font-size:13px}.identity-simulator-sheet{z-index:10500;background:var(--surface);border:2px solid var(--border);border-radius:var(--r-lg) var(--r-lg) 0 0;width:min(360px,100%);box-shadow:var(--shadow-lg);border-bottom:none;flex-direction:column;gap:8px;padding:16px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.identity-simulator-title{color:var(--text-muted);text-align:center;margin:0 0 4px;font-size:14px;font-weight:700}.identity-simulator-sheet button{border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text);cursor:pointer;padding:12px;font-weight:700}.main-menu .daily-puzzle-button.hidden{display:none}.main-menu .daily-puzzle-button.is-locked,.main-menu .daily-puzzle-button.is-completed{opacity:.78}.daily-puzzle-label{text-align:left;flex-direction:column;align-items:flex-start;line-height:1.2;display:flex}.daily-puzzle-status{opacity:.88;font-size:13px;font-weight:500}.level-complete-screen .daily-complete-note{color:var(--text-muted);text-align:center;flex-direction:column;gap:4px;margin-top:12px;font-size:14px;display:flex}.level-complete-screen .daily-complete-submission{font-weight:600}.support-id-line{z-index:1;justify-content:center;width:100%;min-width:0;max-width:600px;display:flex;position:relative}.support-id-button{border-radius:var(--r-pill);min-width:0;max-width:100%;min-height:44px;color:var(--text-muted);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.support-id-button:hover{color:var(--text)}.support-id-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:hidden}.support-id-value:not([hidden])+.support-id-version:before{content:"·";margin-right:8px}.support-id-version,.support-id-icon{white-space:nowrap;flex-shrink:0}.support-id-icon{display:inline-flex}.support-id-line.is-copied .support-id-icon{color:var(--success)}:root[data-theme=light] .player-profile .support-id-button{color:rgba(255,255,255,.9)}:root[data-theme=light] .player-profile .support-id-button:hover{color:#fff}.support-section .support-id-line{justify-content:flex-start}.support-section .support-id-button{padding-left:0;padding-right:0}
