.app-nav-header{position:relative;z-index:50;flex-shrink:0;padding:max(.2rem,var(--safe-top)) max(1rem,var(--safe-right)) .2rem max(1rem,var(--safe-left));border-bottom:1px solid rgba(255,255,255,.08);background:#000000f0}.app-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;max-width:720px;min-height:40px;margin:0 auto}.app-nav-logo-link{flex-shrink:0;display:flex;align-items:center;border-radius:6px}.app-nav-logo-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.app-nav-logo{display:block;width:160px;height:auto}.app-nav-actions{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;min-width:0}.app-nav-account{position:relative}.app-nav-control{min-height:40px;min-width:40px;padding:.3rem .45rem;border:0;border-radius:6px;background:transparent;color:var(--text-muted);font-size:.82rem;font-weight:600;line-height:1;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;white-space:nowrap}.app-nav-control:hover,.app-nav-control:focus-visible{color:var(--accent);background:rgba(var(--accent-rgb),.1)}.app-nav-control:focus-visible,.app-nav-menu button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-nav-control:disabled{opacity:.5;cursor:wait}.app-nav-account-prompt,.ad-free-cta-prompt{animation:account-prompt-shimmer 3.2s ease-in-out infinite}.app-nav-account-prompt:hover,.app-nav-account-prompt:focus-visible,.app-nav-account-prompt[aria-expanded=true]{animation:none}.ad-free-cta-prompt:hover,.ad-free-cta-prompt:focus-visible{animation:none}@keyframes account-prompt-shimmer{0%,30%,to{color:var(--text-muted);background:transparent;box-shadow:0 0 rgba(var(--accent-rgb),0);text-shadow:0 0 0 rgba(var(--accent-rgb),0)}45%{color:var(--accent-dim);background:rgba(var(--accent-rgb),.08);box-shadow:0 0 8px rgba(var(--accent-rgb),.28);text-shadow:0 0 5px rgba(var(--accent-rgb),.45)}65%{color:var(--accent);background:rgba(var(--accent-rgb),.16);box-shadow:0 0 10px rgba(var(--accent-rgb),.55),0 0 20px rgba(var(--accent-rgb),.3);text-shadow:0 0 5px rgba(var(--accent-rgb),.85),0 0 11px rgba(var(--accent-rgb),.55)}85%{color:var(--accent-dim);background:rgba(var(--accent-rgb),.08);box-shadow:0 0 8px rgba(var(--accent-rgb),.28);text-shadow:0 0 5px rgba(var(--accent-rgb),.45)}}.nav-icon{width:18px;height:18px;flex-shrink:0;display:block;color:currentColor;shape-rendering:geometricPrecision}.title-with-icon{display:flex;align-items:center;gap:.45em}.title-with-icon .nav-icon{width:1em;height:1em}.auth-title.title-with-icon,.settings-title.title-with-icon,.legal-title.title-with-icon,.result-title.title-with-icon,.store-badges-title.title-with-icon{justify-content:center}.account-section-title.title-with-icon,.settings-section-title.title-with-icon,.rules-section h2.title-with-icon,.solution-hint-title.title-with-icon{justify-content:flex-start}.app-nav-caret{margin-left:.05rem;font-size:.72rem}.app-nav-label{max-width:130px;overflow:hidden;text-overflow:ellipsis}.app-nav-separator{color:var(--text-muted);opacity:.5;-webkit-user-select:none;user-select:none}.app-nav-language{position:relative;cursor:pointer}.app-nav-language select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.app-nav-language-short{display:none}.app-nav-menu{position:absolute;top:calc(100% + .35rem);left:0;width:max-content;min-width:210px;max-width:min(320px,calc(100vw - 1.5rem));padding:.4rem;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);background:var(--bg-panel);box-shadow:0 12px 32px #0000008c}.app-nav-menu button{width:100%;min-height:44px;padding:.55rem .7rem;border:0;border-radius:6px;background:transparent;color:var(--text);font-size:.88rem;text-align:left;display:flex;align-items:center;gap:.55rem}.app-nav-menu button:hover{color:var(--accent);background:rgba(var(--accent-rgb),.1)}.app-nav-menu .app-nav-logout{color:var(--danger)}.app-nav-user{display:flex;flex-direction:column;gap:.2rem;padding:.55rem .7rem .65rem;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:.25rem;overflow:hidden}.app-nav-user strong,.app-nav-user span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-nav-user strong{color:var(--accent);font-size:.86rem}.app-nav-user span{color:var(--text-muted);font-size:.74rem}@media(max-width:600px){.app-nav{gap:.5rem}.app-nav-logo{width:108px}.app-nav-actions{gap:.15rem}.app-nav-control{min-height:40px;min-width:40px;padding-inline:.35rem;font-size:.76rem}.app-nav-account-label,.app-nav-settings-label,.app-nav-caret,.app-nav-language-label{display:none}.app-nav-language-short{display:inline}.app-nav-menu{left:max(-.35rem,calc((100vw - 100%)/-2 + .75rem))}}@media(max-width:350px){.app-nav-logo{width:100px}.app-nav-header{padding-left:max(1rem,var(--safe-left));padding-right:max(1rem,var(--safe-right))}.app-nav-control{min-width:40px;padding-inline:.25rem;gap:.25rem}.nav-icon{width:17px;height:17px}}@media(prefers-reduced-motion:reduce){.app-nav-account-prompt,.ad-free-cta-prompt{animation:none}}.footer{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;gap:.25rem;width:100%;max-width:none;flex-shrink:0;margin-top:auto;padding:.5rem 1rem;font-size:.75rem;color:var(--text-muted);text-align:center}.footer-primary,.footer-left{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:center}.footer-primary{font-size:.8rem;font-weight:700}.footer-primary .footer-link{color:var(--text)}.footer-link{display:inline-flex;align-items:center;gap:.3rem;color:var(--text-muted);text-decoration:none}.footer-link:hover{color:var(--accent)}.footer-sep{color:var(--text-muted);opacity:.5}.footer-right{text-align:center}.footer-icon{width:14px;height:14px;flex-shrink:0}@media(max-width:520px){.footer{padding-inline:max(.75rem,var(--safe-left)) max(.75rem,var(--safe-right))}.footer-primary,.footer-left{row-gap:.35rem}.footer-sep{display:none}.footer-link{max-width:100%;overflow-wrap:anywhere}}.app-shell{display:flex;flex-direction:column;min-height:100vh}.skip-link{position:fixed;z-index:10000;top:.75rem;left:.75rem;padding:.65rem .9rem;border:2px solid var(--accent);border-radius:var(--radius);background:var(--bg);color:var(--text);font-weight:750;text-decoration:none;transform:translateY(calc(-100% - 1rem));transition:transform .15s ease-out}.skip-link:focus{transform:translateY(0)}.app-shell-content{display:flex;flex-direction:column;flex:1;min-height:0;overflow:visible;outline:none}.app-shell-content>*{box-sizing:border-box;flex:1 0 auto}:root{--bg: #000000;--bg-panel: #231709;--bg-chip-back: #2d4a7c;--bg-chip-front: #D9B778;--text: #F9DFA5;--text-muted: #93846E;--accent: #E7C988;--accent-dim: #CBA564;--accent-rgb: 231, 201, 136;--phase-announcement-color: #FFF4D6;--input-bg: #1a1108;--input-autofill-bg: #30220f;--danger: #e74c3c;--warning: #f39c12;--chip-size: clamp(44px, min(12vw, 14vh), 88px);--radius: 10px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--chip-front-to: #B18E53;--chip-computed-from: #3a2a15;--chip-computed-to: #231709;--chip-front-text: #f5e6c8;--step-arrow: #9B7A3A}[data-theme=green]{--bg: #000000;--bg-panel: #0f2a0f;--bg-chip-back: #1a4a1a;--bg-chip-front: #4CAF50;--text: #c8e6c9;--text-muted: #749B74;--accent: #66bb6a;--accent-dim: #43a047;--accent-rgb: 102, 187, 106;--phase-announcement-color: #E8F5E9;--input-bg: #091a09;--input-autofill-bg: #173b18;--chip-front-to: #388E3C;--chip-computed-from: #1a3a1a;--chip-computed-to: #0f2a0f;--chip-front-text: #e8f5e9;--step-arrow: #4CAF50}[data-theme=silver]{--bg: #000000;--bg-panel: #262626;--bg-chip-back: #3d3d4d;--bg-chip-front: #b8b8b8;--text: #e0e0e0;--text-muted: #929292;--accent: #d4d4d4;--accent-dim: #9a9a9a;--accent-rgb: 212, 212, 212;--phase-announcement-color: #FFFFFF;--input-bg: #181818;--input-autofill-bg: #333333;--chip-front-to: #888888;--chip-computed-from: #3a3a3a;--chip-computed-to: #222222;--chip-front-text: #f0f0f0;--step-arrow: #7a7a7a}[data-theme=blue]{--bg: #000000;--bg-panel: #071827;--bg-chip-back: #0e2e4c;--bg-chip-front: #56a9dc;--text: #d8f7ff;--text-muted: #7fa9be;--accent: #85ddff;--accent-dim: #3f83ae;--accent-rgb: 133, 221, 255;--phase-announcement-color: #D8F7FF;--input-bg: #04101c;--input-autofill-bg: #102a41;--chip-front-to: #2c648e;--chip-computed-from: #12314b;--chip-computed-to: #071827;--chip-front-text: #e8fbff;--step-arrow: #54aefb}[data-theme=red]{--bg: #000000;--bg-panel: #1e0a07;--bg-chip-back: #5c110f;--bg-chip-front: #c34a4a;--text: #ffe0df;--text-muted: #c98b88;--accent: #f79493;--accent-dim: #c34a4a;--accent-rgb: 247, 148, 147;--phase-announcement-color: #FFF1F0;--input-bg: #140504;--input-autofill-bg: #2c0b09;--chip-front-to: #8c1c1c;--chip-computed-from: #3f0b09;--chip-computed-to: #1e0a07;--chip-front-text: #fff1f0;--step-arrow: #d96364}html{scrollbar-gutter:stable}html,body,#root{height:100%;margin:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;touch-action:manipulation}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}button{font:inherit;cursor:pointer;touch-action:manipulation}input{font:inherit}.route-loading{display:grid;place-items:center;min-height:100vh;color:var(--text-muted)}.app{box-sizing:border-box;display:flex;flex-direction:column;min-height:100%;width:100%;max-width:600px;margin:0 auto;padding:0 var(--safe-right) var(--safe-bottom) var(--safe-left)}.app-header{flex-shrink:0;text-align:center;padding:.75rem 1rem .35rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.app-header-actions{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem}.app-header-game-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;min-width:0}.btn-icon-sm{width:1em;height:1em;flex-shrink:0}.btn-game-action{box-sizing:border-box;flex-shrink:0;min-height:40px;padding:.4rem .85rem;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius);background:#ffffff14;color:var(--text);text-decoration:none;font-size:.8rem;font-weight:600;display:inline-flex;align-items:center;gap:.35rem}.btn-new-game{min-height:40px}.btn-game-action:hover{background:#ffffff24;border-color:var(--accent)}.btn-game-action:active{background:rgba(var(--accent-rgb),.2)}.game-timing{min-width:88px;height:40px;box-sizing:border-box;display:grid;grid-template-columns:auto auto;grid-template-rows:min-content min-content;justify-content:end;align-content:space-between;align-items:baseline;column-gap:.4rem;text-align:right;font-variant-numeric:tabular-nums}.game-timer-label{color:var(--text-muted);font-size:.68rem;line-height:1}.game-timer{color:var(--accent);font-size:1rem;line-height:1;letter-spacing:.04em}.game-best-time{grid-column:1 / -1;color:var(--text-muted);font-size:.68rem;line-height:1}@media(max-width:420px){.app-header-actions{gap:.5rem}.app-header-game-actions{gap:.35rem}.btn-game-action{padding-inline:.6rem}.game-timer-label{display:none}.game-timing{min-width:72px;grid-template-columns:auto}}.app-main{flex:1;display:flex;flex-direction:column;min-height:0;overflow:visible}.game-board-stage{position:relative;display:flex;flex:1 1 auto;flex-direction:column;min-height:0}@media(orientation:landscape)and (max-height:620px){.app{height:auto;min-height:100%}.app-main{flex:none;min-height:276px;overflow:visible}}.board-section{flex:1 1 auto;display:flex;align-items:center;justify-content:center;min-height:0;padding:.5rem}.side-section{flex:1;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;min-height:0;overflow:visible;padding:.5rem .75rem .75rem}.app-main--solving{justify-content:flex-start}.app-main--solving .game-board-stage{flex:0 0 auto}.app-main--solving .board-section{flex:0 1 auto;padding:.5rem .75rem 0}.app-main--solving .side-section{flex:0 1 auto}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
