.snapspot-game{display:flex;flex-direction:column;align-items:center;min-height:100vh;background:#111827;padding:1rem;gap:1rem}.snapspot-header{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1240px;padding:0 .5rem}.snapspot-title{font-size:1.2rem;font-weight:700;color:#f3f4f6;margin:0}.snapspot-progress{font-size:1.1rem;font-weight:700;color:#fff;background:#ffffff1f;padding:.35rem 1rem;border-radius:20px;letter-spacing:.05em}.snapspot-images{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;width:100%;max-width:1240px}.snapspot-image-wrap{position:relative;cursor:crosshair;border-radius:10px;overflow:hidden;box-shadow:0 4px 24px #00000080;flex:1 1 320px;max-width:610px;-webkit-tap-highlight-color:transparent;touch-action:none;-webkit-user-select:none;user-select:none}.snapspot-image-wrap.is-zoomed{cursor:grab}.snapspot-image-wrap.is-zoomed:active{cursor:grabbing}.snapspot-image-wrap>div:first-child{width:100%;will-change:transform}.snapspot-image-wrap img{display:block;width:100%;height:auto;pointer-events:none;-webkit-user-select:none;user-select:none}.snapspot-zoom-btn{width:28px;height:28px;border-radius:50%;border:1.5px solid rgba(255,255,255,.4);background:#ffffff1a;color:#fff;font-size:1.1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;padding:0}.snapspot-zoom-btn:hover:not(:disabled){background:#ffffff40}.snapspot-zoom-btn:disabled{opacity:.35;cursor:default}.snapspot-zoom-label{font-size:.8rem;font-weight:700;color:#d1d5db;min-width:2.5rem;text-align:center}.snapspot-found-marker{position:absolute;transform:translate(-50%,-50%);border:3px solid #22c55e;border-radius:50%;background:#22c55e26;pointer-events:none;animation:snapspot-pop .3s cubic-bezier(.34,1.56,.64,1)}@keyframes snapspot-pop{0%{transform:translate(-50%,-50%) scale(1.6);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.snapspot-wrong-flash{position:absolute;width:48px;height:48px;transform:translate(-50%,-50%);border-radius:50%;border:2.5px solid #ef4444;background:#ef444433;pointer-events:none;animation:snapspot-wrong .6s ease-out forwards}@keyframes snapspot-wrong{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(2.2)}}.snapspot-win-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:200;animation:snapspot-fadein .35s ease}@keyframes snapspot-fadein{0%{opacity:0}to{opacity:1}}.snapspot-win-card{background:#fff;border-radius:20px;padding:2.5rem 3.5rem;text-align:center;box-shadow:0 12px 48px #0006;animation:snapspot-slide-up .35s cubic-bezier(.34,1.56,.64,1)}@keyframes snapspot-slide-up{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.snapspot-win-emoji{font-size:3.5rem;margin-bottom:.75rem}.snapspot-win-card h2{font-size:1.8rem;color:#111;margin:0 0 .5rem}.snapspot-win-card p{color:#6b7280;margin:0;font-size:1rem}.snapspot-loading{display:flex;align-items:center;justify-content:center;height:100vh;font-size:1.4rem;color:#9ca3af;background:#111827}.queens-game{position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:auto;background:linear-gradient(135deg,#f0f4f8,#e8edf2);display:flex;flex-direction:column;align-items:center;padding:1rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;box-sizing:border-box}.queens-header{display:flex;align-items:center;width:100%;max-width:500px;margin-bottom:1rem}.queens-back-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:.4rem .6rem;color:#334155;border-radius:8px;transition:background .15s}.queens-back-btn:hover{background:#00000012}.queens-level-name{flex:1;text-align:center;font-size:1.1rem;font-weight:700;color:#334155}.queens-memo-btn{background:none;border:1px solid #94a3b8;border-radius:8px;padding:.3rem .65rem;font-size:.8rem;color:#64748b;cursor:pointer;transition:all .15s}.queens-memo-btn.active{background:#4a90e2;border-color:#4a90e2;color:#fff}.queens-reset-btn{background:none;border:1px solid #94a3b8;border-radius:8px;padding:.3rem .75rem;font-size:.8rem;color:#64748b;cursor:pointer;transition:background .15s}.queens-reset-btn:hover{background:#f1f5f9}.queens-status-row{display:flex;align-items:center;gap:.75rem;width:100%;max-width:500px;margin-bottom:1.25rem}.queens-hearts{display:flex;gap:.25rem;flex-shrink:0}.queens-heart{font-size:1.5rem;line-height:1;transition:transform .2s,opacity .3s}.queens-heart.alive{color:#ef4444}.queens-heart.dead{color:#d1d5db;opacity:.5}.queens-progress{display:flex;align-items:center;gap:.6rem;flex:1}.queens-crown-icon{font-size:1.4rem;line-height:1;flex-shrink:0}.queens-progress-bar{flex:1;height:10px;background:#d1d5db;border-radius:999px;overflow:hidden}.queens-progress-fill{height:100%;background:#f59e0b;border-radius:999px;transition:width .3s ease}.queens-progress-text{font-size:.95rem;font-weight:700;color:#334155;min-width:36px;text-align:right}.queens-board-container{width:100%;max-width:460px;aspect-ratio:1 / 1;background:#334155;border-radius:6px;padding:3px;box-shadow:0 8px 24px #0000002e;flex-shrink:0;touch-action:none;-webkit-user-select:none;user-select:none;box-sizing:border-box}.queens-board{display:grid;width:100%;height:100%;gap:2px}.queens-cell{position:relative;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:4px;overflow:hidden;transition:filter .1s;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;box-sizing:border-box}.queens-cell:active{filter:brightness(.88)}@keyframes cell-ripple-in{0%{transform:scale(0);opacity:0}55%{transform:scale(1.1);opacity:1}75%{transform:scale(.96)}to{transform:scale(1);opacity:1}}.queens-cell.rippling{animation:cell-ripple-in .42s cubic-bezier(.34,1.56,.64,1) both;animation-delay:var(--ripple-delay, 0ms)}.queens-cell.rippling:before{content:"";position:absolute;top:-50%;right:-50%;bottom:-50%;left:-50%;background:linear-gradient(135deg,transparent 35%,rgba(255,255,255,.45) 50%,transparent 65%);transform:translate(-100%,-100%);animation:cell-shine .55s ease-in-out both;animation-delay:var(--ripple-delay, 0ms);pointer-events:none;z-index:1}@keyframes cell-shine{to{transform:translate(100%,100%)}}.queens-cell.conflict{outline:2.5px solid #ef4444;outline-offset:-2px;animation:conflict-pulse .35s ease}.cell-queen{width:clamp(1.6rem,6.5vw,2.6rem);height:clamp(1.6rem,6.5vw,2.6rem);object-fit:contain;pointer-events:none;filter:drop-shadow(0 1px 3px rgba(0,0,0,.35));animation:crown-slam .42s cubic-bezier(.25,.46,.45,.94) both;flex-shrink:0}[data-n="8"] .cell-queen{width:clamp(1.25rem,5.2vw,2.1rem);height:clamp(1.25rem,5.2vw,2.1rem)}[data-n="9"] .cell-queen{width:clamp(1.05rem,4.5vw,1.8rem);height:clamp(1.05rem,4.5vw,1.8rem)}[data-n="10"] .cell-queen{width:clamp(.9rem,3.8vw,1.55rem);height:clamp(.9rem,3.8vw,1.55rem)}[data-n="11"] .cell-queen{width:clamp(.78rem,3.2vw,1.35rem);height:clamp(.78rem,3.2vw,1.35rem)}@keyframes crown-slam{0%{transform:translateY(calc(-8% - 30px)) scale(3.2);opacity:1}38%{transform:translateY(-8%) scale(.78);opacity:1}58%{transform:translateY(-8%) scale(1.14)}78%{transform:translateY(-8%) scale(.95)}to{transform:translateY(-8%) scale(1)}}@keyframes board-shake{0%{transform:translate(0)}18%{transform:translate(-4px,3px)}36%{transform:translate(4px,-3px)}54%{transform:translate(-3px,2px)}72%{transform:translate(2px,-1px)}to{transform:translate(0)}}@keyframes board-wrong-shake{0%{transform:translate(0)}12%{transform:translate(-10px)}25%{transform:translate(10px)}37%{transform:translate(-8px)}50%{transform:translate(8px)}62%{transform:translate(-5px)}75%{transform:translate(5px)}87%{transform:translate(-2px)}to{transform:translate(0)}}@keyframes error-flash{0%{opacity:.45}to{opacity:0}}.queens-error-flash{position:fixed;top:0;right:0;bottom:0;left:0;background:#dc2626;pointer-events:none;z-index:500;animation:error-flash .45s ease-out forwards}@keyframes particle-fly{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(0);opacity:0}}.queens-cell.cell-flipping{z-index:10}.queens-cell.cell-flipping:after{content:"";position:absolute;top:-50%;right:-50%;bottom:-50%;left:-50%;background:linear-gradient(135deg,transparent 30%,rgba(255,255,255,.65) 50%,transparent 70%);transform:translate(-100%,-100%);animation:queen-shine-sweep .55s ease-out both;pointer-events:none;z-index:2}@keyframes queen-shine-sweep{to{transform:translate(100%,100%)}}.cell-queen.conflict{filter:drop-shadow(0 0 4px #dc2626) drop-shadow(0 0 8px #dc262680)}.cell-mark{width:clamp(1.4rem,6vw,2.2rem);height:clamp(1.4rem,6vw,2.2rem);color:#ffffffd9;pointer-events:none;flex-shrink:0;animation:mark-boing .32s cubic-bezier(.34,1.56,.64,1) both}[data-n="8"] .cell-mark{width:clamp(1.1rem,4.6vw,1.85rem);height:clamp(1.1rem,4.6vw,1.85rem)}[data-n="9"] .cell-mark{width:clamp(.95rem,4vw,1.6rem);height:clamp(.95rem,4vw,1.6rem)}[data-n="10"] .cell-mark{width:clamp(.8rem,3.4vw,1.4rem);height:clamp(.8rem,3.4vw,1.4rem)}[data-n="11"] .cell-mark{width:clamp(.7rem,3vw,1.2rem);height:clamp(.7rem,3vw,1.2rem)}.cell-mark-memo{width:clamp(.7rem,3vw,1.1rem)!important;height:clamp(.7rem,3vw,1.1rem)!important;color:#0000008c!important;animation:none!important}.cell-queen-memo{width:clamp(.8rem,3.25vw,1.3rem)!important;height:clamp(.8rem,3.25vw,1.3rem)!important;animation:none!important;transform:translateY(-8%)!important;opacity:.55!important}@keyframes mark-boing{0%{transform:scale(0);opacity:0}55%{transform:scale(1.35);opacity:1}78%{transform:scale(.88)}to{transform:scale(1);opacity:1}}.cell-mark-out{animation:mark-boing-out .24s ease-in both!important}@keyframes mark-boing-out{0%{transform:scale(1);opacity:1}30%{transform:scale(1.15);opacity:1}to{transform:scale(0);opacity:0}}@keyframes conflict-pulse{0%,to{transform:scale(1)}40%{transform:scale(.94)}}@keyframes board-out{0%{opacity:1}to{opacity:0}}.queens-board-container.board-out{animation:board-out .18s ease-in forwards}.queens-board-container.board-shaking{animation:board-shake .38s ease-out}.queens-board-container.board-wrong-shaking{animation:board-wrong-shake .42s ease-out}.queens-win-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:200;animation:fade-in .25s ease}.queens-win-modal{background:#fff;border-radius:24px;padding:2.5rem 2rem;text-align:center;max-width:300px;width:88%;display:flex;flex-direction:column;align-items:center;gap:.6rem;animation:scale-in .3s cubic-bezier(.34,1.56,.64,1);box-shadow:0 20px 60px #00000040}.queens-win-modal h2{margin:0;font-size:2rem;color:#1e293b}.queens-win-modal p{margin:0;color:#64748b;font-size:.95rem}.queens-win-btn{margin-top:.75rem;background:#4a90e2;color:#fff;border:none;border-radius:14px;padding:.75rem 2.25rem;font-size:1.05rem;font-weight:700;cursor:pointer;transition:filter .15s}.queens-win-btn:hover{filter:brightness(1.1)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{transform:scale(.75);opacity:0}to{transform:scale(1);opacity:1}}.queens-hint{margin-top:1rem;font-size:.78rem;color:#94a3b8;display:flex;align-items:center;gap:.6rem;width:100%;max-width:460px}.queens-hint-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queens-queen-hint-btn{margin-left:auto;flex-shrink:0;display:flex;align-items:center;gap:2px;background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:8px;padding:.3rem .6rem;font-size:.8rem;color:#fff;font-weight:700;cursor:pointer;white-space:nowrap;transition:all .15s;box-shadow:0 2px 6px #f59e0b59}.queens-queen-hint-btn:hover:not(:disabled){background:linear-gradient(135deg,#fbbf24,#f59e0b);transform:translateY(-1px);box-shadow:0 4px 10px #f59e0b73}.queens-queen-hint-btn.used,.queens-queen-hint-btn:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed;box-shadow:none;transform:none}.queens-ad-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200;padding:1rem}.queens-ad-modal{background:#fff;border-radius:18px;padding:1.75rem 1.5rem 1.5rem;width:100%;max-width:300px;text-align:center;animation:scale-in .18s ease}.queens-ad-icon{font-size:2.5rem;margin-bottom:.4rem;line-height:1}.queens-ad-title{font-size:1.1rem;font-weight:700;color:#1e293b;margin-bottom:.5rem}.queens-ad-desc{font-size:.85rem;color:#64748b;line-height:1.6;margin-bottom:1.25rem}.queens-ad-btn-primary{display:block;width:100%;padding:.75rem;background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:10px;color:#fff;font-size:.95rem;font-weight:700;cursor:pointer;margin-bottom:.5rem;transition:opacity .15s}.queens-ad-btn-primary:hover{opacity:.9}.queens-ad-btn-secondary{display:block;width:100%;padding:.6rem;background:none;border:1px solid #e2e8f0;border-radius:10px;color:#64748b;font-size:.9rem;cursor:pointer;transition:background .15s}.queens-ad-btn-secondary:hover{background:#f8fafc}.dbl-intro-card{background:#fff;border-radius:24px;padding:1.75rem 1.5rem 1.5rem;max-width:320px;width:92%;display:flex;flex-direction:column;align-items:center;gap:.65rem;text-align:center;box-shadow:0 24px 64px #00000073;animation:scale-in .35s cubic-bezier(.34,1.56,.64,1)}.dbl-intro-visual{margin:.25rem 0}.dbl-intro-title{margin:0;font-size:1.15rem;font-weight:800;color:#1e293b}.dbl-intro-desc{margin:0;font-size:.85rem;color:#475569;line-height:1.6}.queens-double-intro{gap:.75rem}.queens-double-rules{display:flex;gap:.5rem;width:100%;margin:.25rem 0}.queens-double-rule{flex:1;display:flex;flex-direction:column;align-items:center;gap:.4rem;background:#f0f9ff;border:1.5px solid #bae6fd;border-radius:14px;padding:.75rem .4rem}.queens-double-rule-icon{font-size:1.5rem;line-height:1}.queens-double-rule-label{font-size:.75rem;font-weight:700;color:#0369a1;text-align:center;line-height:1.4}.queens-home-btn{background:none;color:#64748b;border:1px solid #cbd5e1;border-radius:14px;padding:.6rem 1.5rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s}.queens-home-btn:hover{background:#f1f5f9}.queens-cell.tut-dim{filter:brightness(.52);transition:filter .2s}.queens-cell.tut-hl{filter:brightness(1.05);outline:2.5px solid rgba(255,255,255,.9);outline-offset:-2.5px;transition:filter .2s}.queens-cell.tut-center{filter:brightness(1.05);outline:3px solid white;outline-offset:-2.5px;position:relative;z-index:1}.queens-cell.tut-forbidden{filter:brightness(1);outline:2.5px solid #ef4444;outline-offset:-2.5px}.queens-cell.tut-guidedim{filter:brightness(.42);transition:filter .2s}.queens-cell.tut-guide{filter:brightness(1.12);position:relative;z-index:1;animation:tut-pulse 1.1s ease-in-out infinite}@keyframes tut-pulse{0%,to{box-shadow:0 0 0 3px #fff,0 0 0 6px #ffffff59}50%{box-shadow:0 0 0 3px #fff,0 0 0 12px #fff9}}.cell-ghost-queen{width:clamp(1.6rem,6.5vw,2.6rem);height:clamp(1.6rem,6.5vw,2.6rem);object-fit:contain;pointer-events:none;opacity:.5;filter:drop-shadow(0 1px 2px rgba(0,0,0,.25));flex-shrink:0}[data-n="8"] .cell-ghost-queen{width:clamp(1.25rem,5.2vw,2.1rem);height:clamp(1.25rem,5.2vw,2.1rem)}[data-n="9"] .cell-ghost-queen{width:clamp(1.05rem,4.5vw,1.8rem);height:clamp(1.05rem,4.5vw,1.8rem)}[data-n="10"] .cell-ghost-queen{width:clamp(.9rem,3.8vw,1.55rem);height:clamp(.9rem,3.8vw,1.55rem)}[data-n="11"] .cell-ghost-queen{width:clamp(.78rem,3.2vw,1.35rem);height:clamp(.78rem,3.2vw,1.35rem)}.cell-forbidden-mark{font-size:clamp(1.1rem,4.5vw,1.8rem);font-weight:900;line-height:1;color:#ef4444eb;pointer-events:none}.tut-intro-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#080f1ee6;display:flex;align-items:center;justify-content:center;z-index:150;padding:1.5rem;animation:fade-in .3s ease}.tut-intro-card{background:#fff;border-radius:24px;padding:2.25rem 2rem 1.75rem;max-width:320px;width:100%;display:flex;flex-direction:column;align-items:center;gap:.85rem;text-align:center;box-shadow:0 24px 64px #00000073;animation:scale-in .35s cubic-bezier(.34,1.56,.64,1)}.tut-intro-crown{font-size:3.5rem;line-height:1;color:#f59e0b}.tut-intro-title{margin:0;font-size:2rem;font-weight:800;color:#1e293b}.tut-intro-sub{margin:0;font-size:.9rem;color:#64748b;line-height:1.5}.tut-start-btn{width:100%;background:#4a90e2;color:#fff;border:none;border-radius:14px;padding:.9rem;font-size:1.05rem;font-weight:700;cursor:pointer;transition:filter .15s;margin-top:.35rem}.tut-start-btn:hover{filter:brightness(1.1)}.tut-skip-link{background:none;border:none;color:#94a3b8;font-size:.82rem;cursor:pointer;text-decoration:underline;padding:.2rem}.tut-rule-card{width:100%;max-width:460px;background:#fff;border-radius:18px;padding:1.1rem 1.25rem 1rem;box-shadow:0 4px 16px #0000001a;display:flex;flex-direction:column;gap:.5rem;animation:slide-up .22s ease-out}@keyframes slide-up{0%{transform:translateY(10px);opacity:.6}to{transform:translateY(0);opacity:1}}.tut-rule-header{display:flex;align-items:center;justify-content:space-between}.tut-rule-label{font-size:.75rem;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em}.tut-rule-dots{display:flex;gap:5px}.tut-dot{width:7px;height:7px;border-radius:50%;background:#e2e8f0;transition:background .2s}.tut-dot.active{background:#4a90e2}.tut-rule-title{font-size:1.1rem;font-weight:800;color:#1e293b}.tut-rule-desc{font-size:.85rem;color:#475569;line-height:1.6}.tut-rule-nav{display:flex;gap:.6rem;margin-top:.35rem}.tut-nav-btn{flex:1;border-radius:10px;padding:.6rem .5rem;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .15s}.tut-prev{background:#f1f5f9;border:1.5px solid #e2e8f0;color:#64748b}.tut-prev:hover{background:#e2e8f0}.tut-next{background:#4a90e2;border:none;color:#fff}.tut-next:hover{filter:brightness(1.08)}.tut-interact-banner{width:100%;max-width:460px;background:#1e293b;border-radius:16px;padding:.85rem 1.2rem 1rem;color:#fff;text-align:center;animation:slide-up .22s ease-out}.tut-interact-progress{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.55rem}.tut-interact-dots{display:flex;gap:4px}.tut-idot{width:6px;height:6px;border-radius:50%;background:#334155;transition:background .2s,transform .2s}.tut-idot.done{background:#4a90e2}.tut-idot.current{background:#fbbf24;transform:scale(1.3)}.tut-interact-count{font-size:.72rem;font-weight:700;color:#475569;letter-spacing:.04em}.tut-interact-title{font-size:1rem;font-weight:800;color:#fbbf24;margin-bottom:.3rem}.tut-interact-desc{font-size:.83rem;color:#94a3b8;line-height:1.65}@font-face{font-family:Kaph;src:url(./assets/fonts/Kaph-Regular.woff) format("woff");font-weight:400;font-style:normal}@font-face{font-family:monogram;src:url(/assets/monogram-BARivBQV.ttf) format("truetype");font-weight:400;font-style:normal}:root{--bg-primary: #ffffff;--bg-secondary: #f0f4f8;--brand-primary: #3b6b91;--brand-secondary: #7499b9;--text-main: #34495e;--text-muted: #7f8c8d;--grid-line-thick: #3b6b91;--grid-line-thin: #bdc3c7;--cell-bg: #ffffff;--cell-highlight: #e3f2fd;--cell-selected: #bbdefb;--cell-same-num: #e1f5fe;--error-color: #e74c3c;--accent-blue: #5487b1}*{box-sizing:border-box}body{margin:0;padding:0;font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,Roboto,sans-serif;background-color:var(--bg-primary);color:var(--text-main);display:flex;justify-content:center;overflow-x:hidden}#root{width:100%;max-width:500px;padding:1rem}.sudoku-container{display:flex;flex-direction:column;gap:.5rem;width:100%}.game-header{display:flex;flex-direction:column;gap:0;padding:0;margin-bottom:0}.game-nav{display:flex;justify-content:space-between;align-items:center;background:#2d3a4a;padding:.6rem .75rem;border-radius:10px;box-shadow:0 4px 12px #0000002e}.game-nav-left,.game-nav-right{display:flex;align-items:center;gap:.4rem}.nav-icon-btn{background:#ffffff1f;border:none;border-radius:12px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#cbd5e1}.nav-icon-btn:hover{background:#fff3}.game-info-bar{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;padding:.4rem .75rem .2rem}.info-left{display:flex;align-items:center}.info-center{display:flex;align-items:center;justify-content:center;gap:.4rem}.info-right{display:flex;align-items:center;justify-content:flex-end;gap:.4rem}.header-value{font-size:1.1rem;font-weight:600;color:var(--text-main)}.difficulty-select{border:none;background:transparent;font-size:1.1rem;font-weight:600;color:var(--text-main);cursor:pointer;padding:0;display:flex;align-items:center;gap:.25rem}.pause-btn{background:#eef2f7;border:none;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--brand-primary)}.sudoku-board{display:grid;grid-template-columns:repeat(9,1fr);border:2px solid var(--brand-primary);background-color:transparent;gap:0;aspect-ratio:1}.sudoku-cell{background-color:var(--cell-bg);display:flex;justify-content:center;align-items:center;font-size:1.6rem;font-weight:400;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;width:100%;aspect-ratio:1;border-right:1px solid #b8cdd8;border-bottom:1px solid #b8cdd8}.sudoku-cell.highlight{background-color:var(--cell-highlight)}.sudoku-cell.selected{background-color:var(--cell-selected)!important}.sudoku-cell.initial{color:#2c3e50;font-weight:500}.sudoku-cell.user.error{color:var(--error-color)}.sudoku-cell.user{color:var(--brand-primary)}.sudoku-cell.error{color:var(--error-color)}.level-badge{background:var(--brand-primary);color:#fff;padding:.2rem .6rem;border-radius:4px;font-size:.9rem;font-weight:600;margin-left:.5rem}.bonus-btn{display:flex;align-items:center;gap:.5rem;background:#27ae60!important;margin:0 auto}.bonus-btn:hover{background:#219150!important}.sudoku-cell:nth-child(9n){border-right:none}.sudoku-cell:nth-child(n+73){border-bottom:none}.sudoku-cell:nth-child(3n):not(:nth-child(9n)){border-right:2px solid var(--brand-primary)}.sudoku-cell:nth-child(n+19):nth-child(-n+27),.sudoku-cell:nth-child(n+46):nth-child(-n+54){border-bottom:2px solid var(--brand-primary)}.sudoku-board.sudoku-board-6{grid-template-columns:repeat(6,1fr)}.sudoku-board-6 .sudoku-cell:nth-child(9n){border-right:1px solid #b8cdd8}.sudoku-board-6 .sudoku-cell:nth-child(n+73){border-bottom:1px solid #b8cdd8}.sudoku-board-6 .sudoku-cell:nth-child(3n):not(:nth-child(9n)){border-right:1px solid #b8cdd8}.sudoku-board-6 .sudoku-cell:nth-child(n+19):nth-child(-n+27),.sudoku-board-6 .sudoku-cell:nth-child(n+46):nth-child(-n+54){border-bottom:1px solid #b8cdd8}.sudoku-board-6 .sudoku-cell:nth-child(6n){border-right:none}.sudoku-board-6 .sudoku-cell:nth-child(n+31){border-bottom:none}.sudoku-board-6 .sudoku-cell:nth-child(3n):not(:nth-child(6n)){border-right:2px solid var(--brand-primary)}.sudoku-board-6 .sudoku-cell:nth-child(n+7):nth-child(-n+12),.sudoku-board-6 .sudoku-cell:nth-child(n+19):nth-child(-n+24){border-bottom:2px solid var(--brand-primary)}.notes-grid{display:grid;grid-template-columns:repeat(3,1fr);width:100%;height:100%;padding:1px}.note-item{font-size:.65rem;color:var(--text-muted);display:flex;justify-content:center;align-items:center}.action-bar{display:flex;justify-content:space-around;padding:1rem 0}.icon-btn{background:transparent;border:none;cursor:pointer;color:var(--brand-primary);display:flex;flex-direction:column;align-items:center;gap:.25rem;position:relative}.icon-btn:disabled{color:#bdc3c7}.icon-badge{position:absolute;top:-8px;right:-8px;background-color:var(--brand-primary);color:#fff;font-size:.65rem;padding:2px 5px;border-radius:10px;font-weight:700;border:2px solid white}.note-toggle-badge{background:#eef2f7;padding:2px 8px;border-radius:10px;font-size:.65rem;font-weight:700;color:var(--brand-primary)}.note-toggle-badge.on{background:var(--brand-primary);color:#fff}.number-row{display:flex;justify-content:space-between;padding:.5rem 0}.number-btn{background:transparent;border:none;font-size:2.2rem;color:var(--brand-primary);cursor:pointer;flex:1;display:flex;justify-content:center;align-items:center;transition:transform .1s}.number-btn:active{transform:scale(.9)}.number-btn:disabled{color:#ecf0f1}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:100;padding:1rem}.modal-content{background:#64748b;border-radius:16px;width:100%;max-width:360px;box-shadow:0 10px 25px #00000059;overflow:hidden}.modal-header{padding:1rem;text-align:center;border-bottom:1px solid rgba(255,255,255,.1)}.modal-header h2{margin:0;color:#fff;font-size:1.2rem;text-shadow:0 2px 4px rgba(0,0,0,.3)}.modal-body{background:#1e2d3d;margin:.75rem;border-radius:12px;padding:1.25rem;display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}.modal-footer{padding:.75rem;display:flex;flex-direction:row;gap:.5rem;align-items:center}.modal-home-btn{background:#ffffff26;border:none;border-radius:10px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;flex-shrink:0}.modal-home-btn:hover{background:#ffffff40}.primary-btn{background:var(--brand-primary);color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer}.landing-page{display:flex;flex-direction:column;align-items:center;gap:2rem;padding-top:.75rem;width:100%}.landing-header{text-align:center;margin-bottom:2rem}.landing-header h1{font-size:2.5rem;color:var(--brand-primary);margin:.5rem 0}.landing-header p{color:var(--text-muted);font-size:1.1rem}.game-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;width:100%}.game-card{background:#fff;border:1px solid #e1e8ed;border-radius:16px;padding:1.5rem;display:flex;gap:1.5rem;align-items:center;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 6px #0000000d}.game-card:hover{transform:translateY(-4px);box-shadow:0 12px 20px #0000001a;border-color:var(--brand-primary)}.game-card.coming-soon{opacity:.7;cursor:default;background:var(--bg-secondary)}.game-card.coming-soon:hover{transform:none;box-shadow:0 4px 6px #0000000d}.game-card-icon{background:var(--bg-secondary);color:var(--brand-primary);width:80px;height:80px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.game-card-content h3{margin:0 0 .5rem;font-size:1.3rem;color:var(--text-main)}.game-card-content p{margin:0;color:var(--text-muted);font-size:.95rem;line-height:1.4}.game-card-footer{margin-top:1rem}.play-now{color:var(--brand-primary);font-weight:600;display:flex;align-items:center;gap:.4rem;font-size:.9rem}.landing-footer{margin-top:3rem;color:var(--text-muted);font-size:.9rem}.back-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:0;margin-right:.5rem;display:flex;align-items:center;justify-content:center;transition:color .2s}.back-btn:hover{color:var(--brand-primary)}.mode-select-page{min-height:100vh;padding:2rem 1rem;max-width:800px;margin:0 auto}.mode-header{display:flex;align-items:center;gap:1rem;margin-bottom:3rem}.mode-header h1{font-size:2rem;font-weight:700;margin:0}.mode-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.stage-mode-card{opacity:.8}.coming-soon-label{background:var(--bg-secondary);padding:.25rem .75rem;border-radius:1rem;font-size:.875rem;color:var(--text-secondary)}@keyframes board-entrance{0%{opacity:0;transform:scale(.5) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.sudoku-board.is-entering .animate-entrance{animation:board-entrance .5s cubic-bezier(.16,1,.3,1) both;animation-delay:calc((var(--row) + var(--col)) * .05s)}@keyframes mistake-flash{0%{background-color:#e74c3ccc;box-shadow:inset 0 0 25px #e74c3c66,0 0 15px #e74c3c4d;z-index:10}to{background-color:transparent;box-shadow:none;z-index:1}}.animate-mistake{animation:mistake-flash .6s cubic-bezier(.25,1,.5,1) forwards}@keyframes hint-reveal{0%{transform:scale(.5);opacity:0;background:#fff8e1;box-shadow:0 0 #f4c430b3}40%{transform:scale(1.25);opacity:1;background:#fff3cd;box-shadow:0 0 0 8px #f4c4304d}70%{transform:scale(.95);background:#fff8e1;box-shadow:0 0 0 4px #f4c4301a}to{transform:scale(1);background:"";box-shadow:none}}.animate-hint{animation:hint-reveal .7s cubic-bezier(.34,1.56,.64,1) forwards;color:#f4a200!important;font-weight:800!important;z-index:1}.mistake-icons{display:flex;gap:4px;align-items:center}.mistake-icon{color:#e53935;transition:color .3s}.mistake-icon.used{color:#aaa}.coin-badge{position:absolute;top:-8px;right:-14px;background:#f4c430;color:#7a5200;font-size:.6rem;padding:2px 4px;border-radius:10px;font-weight:700;border:2px solid white;white-space:nowrap;line-height:1.2}.hint-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200;padding:1.5rem}.hint-modal-card{background:#64748b;border-radius:16px;width:100%;max-width:320px;display:flex;flex-direction:column;align-items:center;gap:0;box-shadow:0 10px 25px #00000059;overflow:hidden}.hint-modal-icon{width:56px;height:56px;border-radius:16px;background:#fff8e126;display:flex;align-items:center;justify-content:center;margin-bottom:.25rem}.hint-modal-title{margin:0;font-size:1.15rem;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3)}.hint-modal-desc{margin:0;font-size:.85rem;color:#ffffffa6}.hint-modal-coin-row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.65rem 1rem;background:#1e2d3d;font-size:.9rem;color:#94a3b8;box-sizing:border-box}.hint-modal-cost-row{margin-top:1px}.hint-modal-coin-value{font-weight:700;color:#e2e8f0;font-size:1rem}.hint-modal-error{margin:0;font-size:.82rem;color:#f87171;padding:.4rem 1rem 0}.hint-modal-btns{display:flex;gap:.5rem;width:100%;padding:.75rem;box-sizing:border-box}.hint-modal-btn-cancel{flex:1;padding:.85rem;border-radius:10px;border:none;background:#ffffff26;color:#fff;font-size:1rem;font-weight:600;cursor:pointer}.hint-modal-btn-confirm{flex:1;padding:.85rem;border-radius:10px;border:none;background:var(--brand-primary);color:#fff;font-size:1rem;font-weight:600;cursor:pointer}.hint-modal-btn-confirm:disabled{background:#fff3;color:#fff6;cursor:not-allowed}@keyframes premium-sweep{0%{filter:brightness(1);transform:scale(1);box-shadow:none}30%{filter:brightness(1.6);transform:scale(1.1);z-index:100;box-shadow:0 0 30px 5px rgba(var(--brand-primary-rgb),.6)}to{filter:brightness(1);transform:scale(1);box-shadow:none}}.animate-sweep-row{animation:premium-sweep .7s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--col-idx) * .04s)}.animate-sweep-col{animation:premium-sweep .7s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--row-idx) * .04s)}.animate-sweep-sector{animation:premium-sweep .7s cubic-bezier(.16,1,.3,1) both;animation-delay:calc((var(--inner-row) * 3 + var(--inner-col)) * .04s)}:root{--brand-primary-rgb: 52, 152, 219}.difficulty-select-page{min-height:100vh;padding:2rem 1rem;max-width:500px;margin:0 auto;display:flex;flex-direction:column;gap:2rem}.game-card[data-difficulty=Easy] .game-card-icon{background-color:#e8f5e9;color:#2ecc71}.game-card[data-difficulty=Medium] .game-card-icon{background-color:#e3f2fd;color:#3498db}.game-card[data-difficulty=Hard] .game-card-icon{background-color:#fffde7;color:#f1c40f}.game-card[data-difficulty=Expert] .game-card-icon{background-color:#fff3e0;color:#e67e22}.game-card[data-difficulty=Master] .game-card-icon{background-color:#ffebee;color:#e74c3c}.game-card .game-card-footer{background:var(--bg-secondary);padding:.5rem .8rem;border-radius:8px;display:inline-block;margin-top:1rem}.game-card .play-now{color:var(--brand-primary);font-weight:600;display:flex;align-items:center;gap:.4rem;font-size:.9rem}.best-time{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-muted);font-weight:500}.best-time svg{color:#f1c40f}@keyframes fade-in-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fade-in-up .5s ease-out both;animation-delay:var(--delay, 0s)}
