:root{--bg:#f0f2f5;--bg-card:#fff;--fg:#1a1a2e;--fg-secondary:#16213e;--muted:#6c757d;--line:rgba(0,0,0,.08);--line-strong:rgba(0,0,0,.2);--ok:#20c997;--bad:#e25555;--accent:#6c5ce7;--accent-light:#a29bfe;--select:#edf2ff;--select-strong:#dbe4ff;--highlight:#fff3bf;--radius:10px;--radius-sm:6px;--shadow-sm:0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow:0 4px 12px rgba(0,0,0,.08), 0 2px 4px rgba(0,0,0,.04);--shadow-lg:0 12px 32px rgba(0,0,0,.12), 0 4px 8px rgba(0,0,0,.06);--transition:.15s cubic-bezier(.4, 0, .2, 1);--mono:"SF Mono", "Cascadia Code", "Fira Code", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--sans:"Inter", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font:16px/1.5 var(--sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}body{background:var(--bg);color:var(--fg);min-height:100svh;margin:0}*,:before,:after{box-sizing:border-box}button,input{font:inherit;color:inherit}a{color:inherit}::selection{background:var(--select-strong)}body[data-mode=dark]{--bg:#0f0f1a;--bg-card:#1a1a2e;--fg:#e8e8f0;--fg-secondary:#c8c8d8;--muted:#8888a0;--line:rgba(255,255,255,.08);--line-strong:rgba(255,255,255,.18);--ok:#38d9a9;--bad:#ff7675;--accent:#a29bfe;--accent-light:#6c5ce7;--select:#1e1e3a;--select-strong:#2a2a4a;--highlight:#3d3522}body[data-theme=sand]{--bg:#faf8f2;--bg-card:#fdfcf8;--fg:#3d3b37;--muted:#8c8880;--accent:#d4a373;--accent-light:#faedcd;--select:#fef3e2;--select-strong:#fde2c4}body[data-theme=sage]{--bg:#f4f7f4;--bg-card:#fafcfa;--fg:#2f3e34;--muted:#7a8a7e;--accent:#6b8f71;--accent-light:#c8e6c9;--select:#e8f5e9;--select-strong:#c8e6c9}body[data-theme=slate]{--bg:#f5f6f8;--bg-card:#fcfcfd;--fg:#2e3a45;--muted:#8a95a0;--accent:#5c7c99;--accent-light:#b8c9d9;--select:#e8edf2;--select-strong:#d0dae5}body[data-mode=dark][data-theme=sand]{--bg:#1a1814;--bg-card:#24221c;--fg:#f0ede5;--muted:#a09888;--accent:#e6b87e;--accent-light:#4a3828;--select:#2a2218;--select-strong:#3a3022}body[data-mode=dark][data-theme=sage]{--bg:#0f1410;--bg-card:#1a201a;--fg:#e0e8e0;--muted:#809880;--accent:#7fbf7f;--accent-light:#2a4a2a;--select:#1a2a1a;--select-strong:#2a3a2a}body[data-mode=dark][data-theme=slate]{--bg:#121820;--bg-card:#1c2430;--fg:#e0e8f0;--muted:#8a9ab0;--accent:#7a9ec0;--accent-light:#2a3a50;--select:#1a2a3a;--select-strong:#2a3a4a}body[data-theme=ocean]{--bg:#f0f5f9;--bg-card:#fff;--fg:#1a3a4a;--muted:#6b8fa0;--accent:#0077b6;--accent-light:#90e0ef;--select:#caf0f8;--select-strong:#ade8f4}body[data-theme=forest]{--bg:#f4f8f4;--bg-card:#fff;--fg:#2d4a3e;--muted:#6b8a7e;--accent:#40916c;--accent-light:#95d5b2;--select:#d8f3dc;--select-strong:#b7e4c7}body[data-theme=sunset]{--bg:#fff5f0;--bg-card:#fff;--fg:#4a2c2a;--muted:#a08080;--accent:#d62828;--accent-light:#fcbf49;--select:#ffe8d6;--select-strong:#ffd6ba}body[data-theme=highContrast]{--bg:#fff;--bg-card:#fff;--fg:#000;--fg-secondary:#000;--muted:#333;--line:rgba(0,0,0,.3);--line-strong:#000;--ok:green;--bad:#c00;--accent:#00c;--accent-light:#ccf;--select:#ffc;--select-strong:#ff9;--highlight:#ff0}body[data-mode=dark][data-theme=ocean]{--bg:#0a1628;--bg-card:#122a3e;--fg:#e0f0f8;--muted:#6090b0;--accent:#48cae4;--accent-light:#0096c7;--select:#1a3a4a;--select-strong:#2a4a5a}body[data-mode=dark][data-theme=forest]{--bg:#0a1a10;--bg-card:#142818;--fg:#e0f0e8;--muted:#608070;--accent:#52b788;--accent-light:#40916c;--select:#1a2a1e;--select-strong:#2a3a2e}body[data-mode=dark][data-theme=sunset]{--bg:#1a1010;--bg-card:#2a1818;--fg:#f8e8e0;--muted:#b08080;--accent:#ff6b6b;--accent-light:#fca311;--select:#2a1a1a;--select-strong:#3a2a2a}body[data-mode=dark][data-theme=highContrast]{--bg:#000;--bg-card:#111;--fg:#fff;--fg-secondary:#fff;--muted:#ccc;--line:rgba(255,255,255,.4);--line-strong:#fff;--ok:#0f0;--bad:red;--accent:#66b3ff;--accent-light:#039;--select:#330;--select-strong:#440;--highlight:#660}#root{min-height:100svh}.app{flex-direction:column;gap:18px;max-width:560px;min-height:100svh;margin:0 auto;padding:16px 16px 32px;display:flex}.topbar{user-select:none;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:4px 0;display:grid}.title{text-align:center;letter-spacing:-.2px;font-size:17px;font-weight:700}.homeTitle{text-align:center;user-select:none;letter-spacing:-.5px;background:linear-gradient(135deg, var(--accent), var(--accent-light));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;padding:20px 0 4px;font-size:32px;font-weight:800}.homeSubtitle{text-align:center;color:var(--muted);user-select:none;padding-bottom:8px;font-size:14px}.homeFooter{justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;display:flex}.homeFooterVersion{color:var(--muted);font-size:12px;font-family:var(--mono);letter-spacing:.3px}.homeFooterAuthor{color:var(--muted);font-size:12px;font-family:var(--mono);letter-spacing:.3px;font-weight:400}.homeLogo{flex-direction:column;align-items:center;padding:8px 0 4px;display:flex}.homeLogoGrid{grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:12px;display:grid}.homeLogoCell{background:var(--accent);width:28px;height:28px;font-family:var(--mono);color:#fff;opacity:0;border-radius:6px;justify-content:center;align-items:center;font-size:14px;font-weight:700;animation:.4s forwards logoAppear;display:flex}.homeLogoCell:first-child{animation-delay:50ms}.homeLogoCell:nth-child(2){animation-delay:.1s}.homeLogoCell:nth-child(3){animation-delay:.15s}.homeLogoCell:nth-child(4){animation-delay:.2s}.homeLogoCell:nth-child(5){animation-delay:.25s}.homeLogoCell:nth-child(6){animation-delay:.3s}.homeLogoCell:nth-child(7){animation-delay:.35s}.homeLogoCell:nth-child(8){animation-delay:.4s}.homeLogoCell:nth-child(9){animation-delay:.45s}.homeLogoCell:nth-child(2),.homeLogoCell:nth-child(4),.homeLogoCell:nth-child(5),.homeLogoCell:nth-child(7),.homeLogoCell:nth-child(9){background:var(--accent-light);color:var(--accent)}@keyframes logoAppear{0%{opacity:0;transform:scale(.5)rotate(-10deg)}to{opacity:1;transform:scale(1)rotate(0)}}.homeLogoGridClicked{animation:.6s cubic-bezier(.4,0,.2,1) logoClickSpin}@keyframes logoClickSpin{0%{transform:scale(1)rotate(0)}30%{transform:scale(.9)rotate(-10deg)}60%{transform:scale(1.1)rotate(5deg)}to{transform:scale(1)rotate(0)}}.muted{color:var(--muted);letter-spacing:.2px;font-size:13px}.btn{border:1px solid var(--line);background:var(--bg-card);border-radius:var(--radius-sm);cursor:pointer;touch-action:manipulation;min-height:44px;box-shadow:var(--shadow-sm);transition:all var(--transition);justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:15px;font-weight:500;display:inline-flex;position:relative;overflow:hidden}.btn:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.btn:active{background:var(--select);box-shadow:var(--shadow-sm);transform:translateY(0)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.segBtn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.padBtn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cell:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btnPrimary{border-color:var(--accent);background:var(--accent);color:#fff}.btnPrimary:hover{background:var(--accent-light)}.icon{flex:none}.btnRow{flex-direction:column;gap:10px;display:flex}.btnWide{width:100%}.row{align-items:center;gap:10px;display:flex}.spacer{flex:1}.card{border:1px solid var(--line);background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition);padding:16px}.card:hover{box-shadow:var(--shadow)}.cardHeader{align-items:center;gap:8px;margin-bottom:14px;display:flex}.cardHeaderIcon{font-size:20px}.toggle{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-card);cursor:pointer;touch-action:manipulation;box-shadow:var(--shadow-sm);transition:all var(--transition);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.toggle:hover{box-shadow:var(--shadow)}.toggle:active{background:var(--select)}.switch{border:2px solid var(--line);background:var(--bg);width:46px;height:26px;transition:all var(--transition);border-radius:999px;flex:none;position:relative}.switch[data-on=true]{background:var(--accent);border-color:var(--accent)}.switchKnob{background:var(--fg);width:20px;height:20px;transition:transform var(--transition);border-radius:999px;position:absolute;top:1px;left:1px;box-shadow:0 1px 3px rgba(0,0,0,.2)}.switch[data-on=true] .switchKnob{background:#fff;transform:translate(20px)}.gridWrap{flex-direction:column;gap:14px;display:flex}.board{aspect-ratio:1;border:3px solid var(--line-strong);border-radius:var(--radius);user-select:none;touch-action:manipulation;background:var(--bg-card);width:100%;box-shadow:var(--shadow-lg);grid-template-columns:repeat(9,1fr);display:grid;overflow:hidden}.cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-family:var(--mono);cursor:pointer;transition:background var(--transition);background:0 0;place-items:center;padding:0;display:grid;position:relative}.cell[data-bx="2"],.cell[data-bx="5"]{border-right:2.5px solid var(--line-strong)}.cell[data-by="2"],.cell[data-by="5"]{border-bottom:2.5px solid var(--line-strong)}.cellInner{width:100%;height:100%;transition:background var(--transition);place-items:center;display:grid}.cell[data-rel=true] .cellInner{background:color-mix(in srgb, var(--accent) 10%, transparent)}.cell[data-selected=true] .cellInner{background:var(--select-strong)}.cell[data-selected=true]{outline:2.5px solid var(--accent);outline-offset:-2px;z-index:1;box-shadow:0 0 12px color-mix(in srgb, var(--accent) 25%, transparent);border-radius:4px}.cell[data-wrong=true][data-selected=false] .cellInner{background:color-mix(in srgb, var(--bad) 10%, transparent)}.value{letter-spacing:-.2px;transition:transform .1s ease, color var(--transition);font-size:max(19px,min(5.5vw,26px));font-weight:500}.value[data-given=true]{color:var(--fg-secondary);font-weight:700}.value[data-wrong=true]{color:var(--bad);font-weight:600}.notes{font-family:var(--mono);color:var(--muted);pointer-events:none;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);place-items:center;gap:1px;font-size:max(7px,min(2.2vw,10px));font-weight:500;display:grid;position:absolute;top:3px;bottom:3px;left:3px;right:3px}.padWrap{flex-direction:column;gap:10px;display:flex}.pad{grid-template-columns:repeat(9,1fr);gap:6px;display:grid}.padBtn{border:1px solid var(--line);background:var(--bg-card);border-radius:var(--radius-sm);font-family:var(--mono);cursor:pointer;touch-action:manipulation;box-shadow:var(--shadow-sm);transition:all var(--transition);padding:12px 0;font-size:19px;font-weight:600}.padBtn:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.padBtn:active{background:var(--select-strong);box-shadow:var(--shadow-sm);animation:.1s btnTap;transform:translateY(0)}@keyframes btnTap{0%{transform:scale(1)}50%{transform:scale(.92)}to{transform:scale(1)}}.padBtn[data-active=true]{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 2px 8px color-mix(in srgb, var(--accent) 40%, transparent)}.actions{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.toast{border:1px solid var(--line);background:var(--bg-card);border-radius:var(--radius);pointer-events:none;opacity:0;box-shadow:var(--shadow-lg);padding:12px 20px;font-size:14px;font-weight:500;transition:opacity .15s,transform .15s;position:fixed;bottom:24px;left:50%;transform:translate(-50%)translateY(8px)}.toast[data-show=true]{opacity:1;transform:translate(-50%)translateY(0)}.modalOverlay{-webkit-backdrop-filter:blur(4px);z-index:100;background:rgba(0,0,0,.3);place-items:center;padding:16px;animation:.15s fadeIn;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}body[data-mode=dark] .modalOverlay{background:rgba(0,0,0,.55)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.modal{border:1px solid var(--line);background:var(--bg-card);border-radius:var(--radius);width:min(360px,100%);box-shadow:var(--shadow-lg);flex-direction:column;gap:12px;padding:20px;animation:.2s cubic-bezier(.4,0,.2,1) slideUp;display:flex}.seg{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-card);box-shadow:var(--shadow-sm);grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.segBtn{border:0;border-right:1px solid var(--line);cursor:pointer;min-height:40px;transition:background var(--transition);background:0 0;justify-content:center;align-items:center;gap:8px;padding:10px 8px;font-size:14px;font-weight:500;display:inline-flex}.segBtn:last-child{border-right:0}.segBtn[data-active=true]{background:var(--select-strong);font-weight:600}.bar{background:var(--bg);border:0;border-radius:999px;height:8px;overflow:hidden}.barFill{background:linear-gradient(90deg, var(--accent-light), var(--accent));border-radius:999px;height:100%;transition:width .4s cubic-bezier(.4,0,.2,1)}@keyframes cellPop{0%{transform:scale(1)}40%{transform:scale(1.15)}to{transform:scale(1)}}.valueJustSet,.cellJustSet,.cellJustSet .value{animation:.2s cellPop}@keyframes cellError{0%{background:0 0}30%{background:color-mix(in srgb, var(--bad) 35%, transparent)}to{background:0 0}}.cellJustError{animation:.2s cellPop,.4s cellError}.cellJustError .cellInner{animation:.4s cellError}@keyframes hintPulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 30%, transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb, var(--accent) 0%, transparent)}}.cellHintPulse{animation:1.2s infinite hintPulse}.diffBtn{border:1px solid var(--line);background:var(--bg-card);border-radius:var(--radius-sm);cursor:pointer;touch-action:manipulation;min-height:48px;box-shadow:var(--shadow-sm);transition:all var(--transition);justify-content:space-between;align-items:center;width:100%;padding:12px 14px;font-size:15px;font-weight:500;display:flex}.diffBtn:hover{box-shadow:var(--shadow);transform:translate(2px)}.diffBtn:active{background:var(--select);transform:translate(0)}.diffBadge{letter-spacing:.3px;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700}.diffBadgeBeginner{color:#2b8a3e;background:#d3f9d8}.diffBadgeEasy{color:#0c8599;background:#c5f6fa}.diffBadgeMedium{color:#e67700;background:#fff3bf}.diffBadgeHard{color:#c92a2a;background:#ffe3e3}.diffBadgeExpert{color:#6741d9;background:#e5dbff}.diffBadgeHell{color:#f8f9fa;letter-spacing:.5px;background:#212529}body[data-mode=dark] .diffBadgeBeginner{color:#69db7c;background:#2b4a30}body[data-mode=dark] .diffBadgeEasy{color:#3bc9db;background:#1a4a50}body[data-mode=dark] .diffBadgeMedium{color:#ffc034;background:#4a3a10}body[data-mode=dark] .diffBadgeHard{color:#ff6b6b;background:#4a2020}body[data-mode=dark] .diffBadgeExpert{color:#9775fa;background:#3a2060}body[data-mode=dark] .diffBadgeHell{color:#212529;background:#f8f9fa}.statValue{font-variant-numeric:tabular-nums;letter-spacing:-.2px;font-size:15px;font-weight:700}.navBtn{border:1px solid var(--line);background:var(--bg-card);border-radius:var(--radius-sm);cursor:pointer;touch-action:manipulation;min-height:40px;box-shadow:var(--shadow-sm);transition:all var(--transition);justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-size:14px;font-weight:500;display:inline-flex}.navBtn:hover{box-shadow:var(--shadow)}.navBtn:active{background:var(--select);animation:.1s btnTap}.pauseBtn{background:var(--accent);color:#fff;border-color:var(--accent)}.pauseBtn:hover{background:var(--accent-light)}.gameActions{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.gameActions .btn{padding:10px 8px;font-size:13px;font-weight:500;animation:.1s btnTap}.actionActive{color:var(--accent);background:var(--select-strong)!important;border-color:var(--accent)!important;font-weight:600!important}@keyframes checkFlash{0%,to{background:0 0}50%{background:color-mix(in srgb, var(--bad) 20%, transparent)}}.cellCheckFlash{animation:1.2s 2 checkFlash}@keyframes completedFlash{0%{background:0 0}30%{background:color-mix(in srgb, var(--ok) 30%, transparent)}to{background:0 0}}.cellCompletedFlash{animation:1.5s completedFlash}@media (max-width:400px){.app{gap:14px;padding:12px 10px 24px}.board{border-radius:8px}.pad,.actions,.gameActions{gap:4px}.gameActions .btn{padding:10px 4px;font-size:12px}}.victoryContainer{background:linear-gradient(135deg, var(--bg) 0%, var(--bg-card) 100%);z-index:200;box-sizing:border-box;justify-content:center;align-items:flex-start;padding:16px 0;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow-y:auto}.confetti{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.confettiPiece{border-radius:2px;width:10px;height:20px;animation:linear forwards confettiFall;position:absolute;top:-20px}@keyframes confettiFall{0%{opacity:1;transform:translateY(-20px)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}.victoryContent{z-index:1;text-align:center;width:100%;max-width:400px;padding:16px 16px 32px;animation:.6s cubic-bezier(.4,0,.2,1) victoryAppear;position:relative}@keyframes victoryAppear{0%{opacity:0;transform:scale(.8)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.victoryIcon{margin-bottom:12px;display:inline-block;position:relative}.victoryTrophy{font-size:56px;animation:.8s cubic-bezier(.4,0,.2,1) .2s both trophyBounce;display:block}@keyframes trophyBounce{0%{opacity:0;transform:scale(0)rotate(-15deg)}60%{transform:scale(1.2)rotate(5deg)}to{opacity:1;transform:scale(1)rotate(0)}}.victorySparkles{justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.sparkle{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:1.5s ease-in-out infinite sparkleGlow;position:absolute}@keyframes sparkleGlow{0%,to{opacity:0;transform:rotate(var(--rotation,0deg)) translateY(-40px) scale(0)}50%{opacity:1;transform:rotate(var(--rotation,0deg)) translateY(-48px) scale(1)}}.victoryTitle{color:var(--fg);letter-spacing:-.3px;margin:0 0 4px;font-size:24px;font-weight:800;animation:.6s cubic-bezier(.4,0,.2,1) .3s both titleAppear}@keyframes titleAppear{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.victorySubtitle{color:var(--muted);margin:0 0 14px;font-size:14px;animation:.6s cubic-bezier(.4,0,.2,1) .4s both titleAppear}.victoryUrl{color:var(--muted);letter-spacing:.3px;font-size:11px;font-family:var(--mono);margin:0 0 10px}.victoryStats{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px;animation:.6s cubic-bezier(.4,0,.2,1) .5s both titleAppear;display:grid}.victoryStat{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:2px;padding:10px 8px;display:flex}.victoryStatLabel{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:500}.victoryStatValue{color:var(--fg);font-variant-numeric:tabular-nums;font-size:16px;font-weight:700}.victoryPerfect{margin-bottom:12px;animation:.6s cubic-bezier(.4,0,.2,1) .6s both titleAppear}.perfectBadge{background:linear-gradient(135deg, var(--accent), var(--accent-light));color:#fff;letter-spacing:.5px;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:700;animation:2s ease-in-out infinite perfectPulse;display:inline-block}@keyframes perfectPulse{0%,to{box-shadow:0 0 15px color-mix(in srgb, var(--accent) 40%, transparent);transform:scale(1)}50%{box-shadow:0 0 20px color-mix(in srgb, var(--accent) 60%, transparent);transform:scale(1.02)}}.victoryBoardSection{margin-bottom:14px;animation:.6s cubic-bezier(.4,0,.2,1) .65s both titleAppear}.victoryBoardLabel{color:var(--fg);justify-content:center;align-items:center;gap:6px;margin-bottom:8px;font-size:13px;font-weight:600;display:flex}.victoryBoardIcon{font-size:16px}.victoryMiniBoard{background:var(--bg-card);border:2px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow);max-width:200px;margin:0 auto;padding:8px}.victoryMiniGrid{aspect-ratio:1;grid-template-columns:repeat(9,1fr);gap:0;display:grid}.victoryMiniCell{font-family:var(--mono);border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--fg);background:0 0;justify-content:center;align-items:center;font-size:max(6px,min(2vw,10px));font-weight:500;transition:background .2s;display:flex}.victoryMiniCell:nth-child(3n){border-right:2px solid var(--line-strong)}.victoryMiniCell:nth-child(n+19):nth-child(-n+27),.victoryMiniCell:nth-child(n+46):nth-child(-n+54){border-bottom:2px solid var(--line-strong)}.victoryMiniCell:nth-child(9n){border-right:none}.victoryMiniCell:nth-child(n+73){border-bottom:none}.victoryMiniValue{line-height:1}.victoryMiniValueGiven{color:var(--fg-secondary);font-weight:700}.victoryActions{flex-direction:column;gap:10px;padding-bottom:20px;animation:.6s cubic-bezier(.4,0,.2,1) .7s both titleAppear;display:flex}.victoryShare{margin-bottom:12px;animation:.6s cubic-bezier(.4,0,.2,1) .68s both titleAppear}.victoryShare .btn{gap:6px;font-size:14px}.victoryActions .btn{min-height:44px;font-size:15px}.victoryActions .btnPrimary{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:600}.victoryActions .btnPrimary:hover{background:var(--accent-light)}@media (max-width:400px){.victoryContent{padding:12px 12px 24px}.victoryTrophy{font-size:48px}.victoryTitle{font-size:22px}.victorySubtitle{margin-bottom:12px;font-size:13px}.victoryStats{gap:6px}.victoryStat{padding:8px 6px}.victoryStatValue{font-size:14px}.victoryStatLabel{font-size:9px}.victoryMiniBoard{max-width:170px;padding:6px}.victoryMiniCell{font-size:max(5px,min(1.8vw,9px))}.perfectBadge{padding:5px 12px;font-size:11px}.victoryBoardLabel{font-size:12px}}.changelogHeader{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);gap:16px;margin-bottom:16px;padding:16px;display:flex}.changelogVersion,.changelogDate{flex-direction:column;flex:1;gap:4px;display:flex}.changelogVersionLabel{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:500}.changelogVersionNum{color:var(--accent);font-variant-numeric:tabular-nums;font-size:20px;font-weight:800}.changelogDateValue{color:var(--fg);font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.changelogList{flex-direction:column;gap:0;display:flex}.changelogItem{border-bottom:1px solid var(--line);gap:12px;padding:12px 0;animation:.4s both changelogFadeIn;display:flex}.changelogItem:last-child{border-bottom:none}@keyframes changelogFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.screenEnter{animation:.3s cubic-bezier(.4,0,.2,1) forwards screenFadeIn}@keyframes screenFadeIn{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.screenExitForward{animation:.15s cubic-bezier(.4,0,.2,1) forwards screenFadeOutForward}@keyframes screenFadeOutForward{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-30px)}}.screenExitBackward{animation:.15s cubic-bezier(.4,0,.2,1) forwards screenFadeOutBackward}@keyframes screenFadeOutBackward{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(30px)}}.changelogItemDot{background:var(--accent);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.changelogItem:first-child .changelogItemDot{width:10px;height:10px;box-shadow:0 0 8px color-mix(in srgb, var(--accent) 50%, transparent);margin-top:5px}.changelogItemContent{flex:1;min-width:0}.changelogItemMsg{color:var(--fg);word-break:break-word;font-size:14px;font-weight:500;line-height:1.5}.changelogItem:first-child .changelogItemMsg{font-weight:600}.changelogItemMeta{color:var(--muted);font-variant-numeric:tabular-nums;gap:8px;margin-top:4px;font-size:11px;display:flex}.changelogItemHash{font-family:var(--mono);opacity:.7}.changelogEmpty{text-align:center;color:var(--muted);padding:40px 0;font-size:14px}.themeGrid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.themeBtn{border:2px solid var(--line);background:var(--bg-card);border-radius:var(--radius-sm);cursor:pointer;touch-action:manipulation;min-height:48px;box-shadow:var(--shadow-sm);transition:all var(--transition);flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:10px 6px;display:flex}.themeBtn:hover{box-shadow:var(--shadow);border-color:var(--accent);transform:translateY(-2px)}.themeBtn:active{transform:translateY(0)}.themeBtnActive{border-color:var(--accent);background:var(--select);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 30%, transparent)}.themeBtnLabel{color:var(--fg);font-size:13px;font-weight:600}.themeBtnDesc{color:var(--muted);font-size:10px}@media (max-width:400px){.themeGrid{grid-template-columns:repeat(4,1fr);gap:6px}.themeBtn{min-height:44px;padding:8px 4px}.themeBtnLabel{font-size:12px}.themeBtnDesc{font-size:9px}}.hintModalHeader{justify-content:center;align-items:center;gap:8px;margin-bottom:4px;display:flex}.hintModalIcon{font-size:24px}.hintModalTitle{color:var(--fg);font-size:18px;font-weight:700}.hintModalDesc{text-align:center;color:var(--muted);margin-bottom:12px;font-size:13px}.hintBtn{text-align:left;align-items:center;gap:12px;padding:14px 16px;display:flex}.hintBtnIcon{flex-shrink:0;font-size:24px}.hintBtnContent{flex-direction:column;gap:2px;display:flex}.hintBtnTitle{color:var(--fg);font-size:15px;font-weight:600}.hintBtnDesc{color:var(--muted);font-size:12px}.hintBtn1 .hintBtnIcon{filter:sepia()saturate(2)hue-rotate(170deg)}.hintBtn2 .hintBtnIcon{filter:sepia()saturate(2)hue-rotate(90deg)}.hintBtn3 .hintBtnIcon{filter:sepia()saturate(2)hue-rotate(320deg)}.achievementProgress{color:var(--accent);font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.achievementGrid{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px;display:grid}.achievementCard{border:2px solid var(--line);border-radius:var(--radius);background:var(--bg);transition:all var(--transition);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:10px 8px;display:flex;position:relative}.achievementCard:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.achievementIcon{filter:grayscale()opacity(.3);transition:filter var(--transition);font-size:24px}.achievementName{color:var(--muted);text-align:center;transition:color var(--transition);font-size:10px;font-weight:600}.achievementDesc{color:var(--muted);text-align:center;opacity:.7;font-size:9px;line-height:1.3}.achievementCheck{background:var(--ok);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:10px;font-weight:700;display:flex;position:absolute;top:4px;right:4px}.achievementBronzeDone{background:linear-gradient(135deg,rgba(205,127,50,.1),transparent);border-color:#cd7f32}.achievementBronzeDone .achievementIcon{filter:none}.achievementBronzeDone .achievementName{color:#cd7f32}.achievementSilverDone{background:linear-gradient(135deg,rgba(192,192,192,.15),transparent);border-color:silver}.achievementSilverDone .achievementIcon{filter:none}.achievementSilverDone .achievementName{color:#a0a0a0}.achievementGoldDone{background:linear-gradient(135deg,rgba(255,215,0,.12),transparent);border-color:gold;box-shadow:0 0 12px rgba(255,215,0,.15)}.achievementGoldDone .achievementIcon{filter:none}.achievementGoldDone .achievementName{color:#daa520}.achievementPlatinumDone{background:linear-gradient(135deg,rgba(229,228,226,.15),rgba(229,228,226,.05));border-color:#e5e4e2;box-shadow:0 0 16px rgba(229,228,226,.2)}.achievementPlatinumDone .achievementIcon{filter:none}.achievementPlatinumDone .achievementName{color:#a0a0a0}.achievementLegend{color:var(--muted);justify-content:center;gap:16px;font-size:11px;display:flex}.legendItem{align-items:center;gap:4px;display:flex}.legendDot{border-radius:50%;width:8px;height:8px}.legendBronze .legendDot{background:#cd7f32}.legendSilver .legendDot{background:silver}.legendGold .legendDot{background:gold}.legendPlatinum .legendDot{background:#e5e4e2}@media (max-width:400px){.achievementGrid{grid-template-columns:repeat(4,1fr);gap:8px}.achievementIcon{font-size:20px}.achievementName{font-size:9px}}.menuGrid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.menuCard{background:var(--bg-card);border-radius:var(--radius);cursor:pointer;touch-action:manipulation;min-height:70px;box-shadow:var(--shadow);transition:all var(--transition);border:none;align-items:center;gap:12px;padding:18px 16px;display:flex;position:relative;overflow:hidden}.menuCard:before{content:"";background:var(--accent);opacity:0;width:4px;height:100%;transition:opacity var(--transition);position:absolute;top:0;left:0}.menuCard:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.menuCard:hover:before{opacity:1}.menuCard:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.menuCardPrimary{background:linear-gradient(135deg, var(--accent), var(--accent-light));color:#fff}.menuCardPrimary:before{background:#fff}.menuCardPrimary .menuCardIcon,.menuCardPrimary .menuCardLabel,.menuCardPrimary .menuCardArrow{color:#fff}.menuCardPrimary:hover{box-shadow:0 8px 24px color-mix(in srgb, var(--accent) 40%, transparent)}.menuCardActive{border:2px solid var(--accent);background:var(--select)}.menuCardActive:before{opacity:1}.menuCardIcon{flex-shrink:0;font-size:28px}.menuCardIconWrap{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.menuCardIconInner{color:#fff;font-size:18px;font-weight:700;line-height:1}.pageTitleGradient{background:linear-gradient(135deg, var(--accent), var(--accent-light));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.statRowIcon{color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;display:flex}.menuCardLabel{color:var(--fg);text-align:left;flex:1;font-size:16px;font-weight:600}.menuCardArrow{color:var(--muted);opacity:0;transition:all var(--transition);font-size:18px;transform:translate(-8px)}.menuCard:hover .menuCardArrow{opacity:1;transform:translate(0)}.menuCardPrimary .menuCardArrow{color:rgba(255,255,255,.8);opacity:1;transform:none}.diffPickerOverlay{-webkit-backdrop-filter:blur(4px);z-index:100;background:rgba(0,0,0,.4);justify-content:center;align-items:flex-end;padding:0 0 20px;animation:.15s fadeIn;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.diffPicker{background:var(--bg-card);border-radius:var(--radius) var(--radius) 0 0;width:100%;max-width:500px;box-shadow:var(--shadow-lg);padding:16px;animation:.25s cubic-bezier(.4,0,.2,1) slideUpPicker}@keyframes slideUpPicker{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.diffPickerHeader{text-align:center;color:var(--fg);border-bottom:1px solid var(--line);margin-bottom:14px;padding-bottom:12px;font-size:16px;font-weight:700}.diffPickerGrid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.diffPickerBtn{border:1px solid var(--line);background:var(--bg);border-radius:var(--radius-sm);cursor:pointer;touch-action:manipulation;box-shadow:var(--shadow-sm);transition:all var(--transition);flex-direction:column;align-items:center;gap:6px;padding:14px 12px;font-size:14px;font-weight:500;display:flex}.diffPickerBtn:hover{box-shadow:var(--shadow);border-color:var(--accent);transform:translateY(-2px)}.diffPickerBtn:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.diffPickerLabel{color:var(--fg);font-weight:600}@media (max-width:400px){.menuCard{gap:10px;min-height:60px;padding:14px 12px}.menuCardIcon{font-size:24px}.menuCardIconWrap{width:36px;height:36px}.menuCardIconInner{font-size:16px}.menuCardLabel{font-size:14px}.diffPickerGrid{grid-template-columns:repeat(2,1fr)}}
