:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh;background:#0a0a0a;color:#fafafa}.app{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:1.5rem}.menu{max-width:520px;width:100%;display:flex;flex-direction:column;gap:1.5rem}.menu-title{font-size:2.2rem;font-weight:700;text-align:center;letter-spacing:-.03em;background:linear-gradient(135deg,#60a5fa,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.menu-sub{text-align:center;color:#ffffff80;font-size:.95rem;margin-top:-.75rem}.stats-bar{display:flex;justify-content:center;gap:1.5rem;padding:.65rem 1rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:.5rem;font-size:.85rem;color:#fff9}.stats-bar strong{color:#60a5fa}.section-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:#fff6;margin-bottom:.65rem}.puzzle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.6rem}.puzzle-card{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:1rem .5rem;border:1px solid rgba(255,255,255,.08);border-radius:.6rem;background:#ffffff08;cursor:pointer;transition:all .15s;color:#fafafa;font-family:inherit;font-size:1rem}.puzzle-card:hover{background:#ffffff0f;border-color:#ffffff26}.puzzle-card.selected{border-color:#60a5fa;background:#60a5fa1a;box-shadow:0 0 0 1px #60a5fa}.puzzle-icon{font-size:1.8rem}.puzzle-label{font-size:.85rem;font-weight:500}.diff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.diff-card{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.75rem .5rem;border:1px solid rgba(255,255,255,.08);border-radius:.6rem;background:#ffffff08;cursor:pointer;transition:all .15s;color:#fafafa;font-family:inherit;font-size:1rem}.diff-card:hover{background:#ffffff0f}.diff-card.selected{border-color:#a78bfa;background:#a78bfa1a;box-shadow:0 0 0 1px #a78bfa}.diff-label{font-weight:600;font-size:.95rem}.diff-desc{font-size:.7rem;color:#ffffff73}.diff-time{font-size:.75rem;color:#ffffff80;font-family:ui-monospace,monospace;margin-top:.15rem}.start-btn{width:100%;padding:.85rem;border:none;border-radius:.5rem;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .15s;font-family:inherit}.start-btn:hover{opacity:.9}.ghost-btn{padding:.65rem 1.25rem;border:1px solid rgba(255,255,255,.12);border-radius:.5rem;background:transparent;color:#ffffffb3;font-size:.9rem;cursor:pointer;transition:all .15s;font-family:inherit}.ghost-btn:hover{background:#ffffff0f}.ghost-btn.small{padding:.4rem .9rem;font-size:.8rem}.playing{max-width:520px;width:100%;display:flex;flex-direction:column;gap:1.25rem}.game-header{display:flex;justify-content:space-between;align-items:center}.quit-btn{background:none;border:none;color:#ffffff80;font-size:.9rem;cursor:pointer;font-family:inherit;padding:.25rem .5rem}.quit-btn:hover{color:#fafafa}.timer{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.4rem;font-weight:700;color:#60a5fa;padding:.3rem .9rem;background:#60a5fa1a;border:1px solid rgba(96,165,250,.2);border-radius:.4rem}.timer-low{color:#f87171;background:#f871711a;border-color:#f871714d;animation:pulse .8s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.game-title{font-size:1.15rem;font-weight:600;text-align:center;color:#fffc}.sudoku-container{display:flex;flex-direction:column;align-items:center;gap:1rem}.sudoku-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:1px;background:#ffffff26;border:2px solid rgba(255,255,255,.25);border-radius:.35rem;overflow:hidden;width:min(100%,378px)}.sudoku-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:500;border:none;cursor:pointer;transition:background .1s;font-family:ui-monospace,monospace;background:#141414;color:#e0e0e0}.sudoku-cell.given{color:#93c5fd;font-weight:700;cursor:default}.sudoku-cell.selected{background:#60a5fa40;color:#fff}.sudoku-cell.highlight{background:#60a5fa14}.sudoku-cell.error{color:#f87171;background:#f871711a}.sudoku-cell.box-right{border-right:2px solid rgba(255,255,255,.2)}.sudoku-cell.box-bottom{border-bottom:2px solid rgba(255,255,255,.2)}.numpad{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center;max-width:378px}.num-btn{width:38px;height:38px;border:1px solid rgba(255,255,255,.12);border-radius:.35rem;background:#ffffff0a;color:#fafafa;font-size:1rem;font-weight:600;cursor:pointer;transition:all .1s;font-family:ui-monospace,monospace}.num-btn:hover{background:#ffffff1a}.num-btn.clear{color:#f87171;border-color:#f8717140}.math-container{display:flex;flex-direction:column;align-items:center;gap:1rem}.math-progress{font-size:.85rem;color:#ffffff80}.math-problem{font-size:2.2rem;font-weight:700;font-family:ui-monospace,monospace;padding:1.25rem 2rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:.6rem;text-align:center;transition:all .2s}.math-problem.correct{border-color:#34d399;background:#34d39914}.math-problem.wrong{border-color:#f87171;background:#f8717114}.math-form{display:flex;gap:.5rem;width:100%;max-width:280px}.math-input{flex:1;padding:.65rem .9rem;border:1px solid rgba(255,255,255,.15);border-radius:.4rem;background:#ffffff0d;color:#fafafa;font-size:1.15rem;font-family:ui-monospace,monospace;text-align:center;outline:none}.math-input:focus{border-color:#60a5fa}.math-submit{padding:.65rem 1rem;border:none;border-radius:.4rem;background:#3b82f6;color:#fff;font-size:1.1rem;font-weight:600;cursor:pointer;font-family:inherit}.math-submit:hover{background:#2563eb}.math-feedback{padding:.45rem 1rem;border-radius:.35rem;font-size:.9rem;font-weight:500}.math-feedback.correct{background:#34d3991f;color:#34d399}.math-feedback.wrong{background:#f871711f;color:#f87171}.memory-container{display:flex;flex-direction:column;align-items:center;gap:1rem}.memory-info{font-size:.85rem;color:#ffffff80}.memory-grid{display:grid;gap:.5rem;width:min(100%,380px)}.memory-card{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:1.5rem;border:1px solid rgba(255,255,255,.1);border-radius:.5rem;background:#ffffff0a;color:#ffffff4d;cursor:pointer;transition:all .2s;font-family:inherit}.memory-card:hover:not(.flipped):not(.matched){background:#ffffff14;border-color:#fff3}.memory-card.flipped{background:#60a5fa1f;border-color:#60a5fa4d;font-size:1.8rem;color:#fafafa}.memory-card.matched{background:#34d3991f;border-color:#34d3994d;font-size:1.8rem;color:#fafafa}.word-container{display:flex;flex-direction:column;align-items:center;gap:1rem}.word-progress{font-size:.85rem;color:#ffffff80}.scrambled-word{font-size:2.5rem;font-weight:700;font-family:ui-monospace,monospace;letter-spacing:.25em;padding:1rem 2rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:.6rem;text-transform:uppercase;color:#fbbf24}.word-form{display:flex;flex-direction:column;gap:.5rem;width:100%;max-width:320px}.word-input{padding:.65rem .9rem;border:1px solid rgba(255,255,255,.15);border-radius:.4rem;background:#ffffff0d;color:#fafafa;font-size:1.1rem;text-align:center;outline:none;font-family:inherit}.word-input:focus{border-color:#60a5fa}.word-btns{display:flex;gap:.5rem}.word-btns .math-submit{flex:1}.pattern-container{display:flex;flex-direction:column;align-items:center;gap:1rem}.pattern-sequence{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center}.pattern-num{width:52px;height:52px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:700;font-family:ui-monospace,monospace;border:1px solid rgba(255,255,255,.12);border-radius:.5rem;background:#ffffff0a;color:#93c5fd}.pattern-num.unknown{border-color:#f59e0b;background:#f59e0b1a;color:#fbbf24;font-size:1.5rem}.hint{font-size:.8rem;color:#fff6;font-style:italic}.result{max-width:400px;width:100%;display:flex;flex-direction:column;align-items:center;gap:1.25rem;padding:2rem 1.5rem;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:.75rem}.result-icon{font-size:3.5rem}.result-icon.win{animation:bounce .6s ease}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.result-title{font-size:1.5rem;font-weight:700;text-align:center}.result-details{width:100%;display:flex;flex-direction:column;gap:.5rem}.result-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:.95rem;color:#ffffffb3}.result-row strong{color:#fafafa}.result-row.total{border-bottom:none;border-top:1px solid rgba(255,255,255,.15);margin-top:.25rem;padding-top:.75rem;font-size:1.1rem}.result-row.total strong{color:#60a5fa;font-size:1.25rem}.result-btns{display:flex;flex-direction:column;gap:.5rem;width:100%}.result-btns .start-btn{width:100%}.result-btns .ghost-btn{width:100%;text-align:center}@media(max-width:480px){.app{padding:1rem}.menu-title{font-size:1.8rem}.puzzle-grid{grid-template-columns:repeat(2,1fr)}.diff-grid{grid-template-columns:1fr}.math-problem{font-size:1.6rem}.scrambled-word{font-size:1.8rem;letter-spacing:.15em}}
