code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--background-color:#f0f2f5;--text-color:#333;--header-bg:#282c34;--header-text:#fff;--primary-accent:#61dafb;--primary-accent-text:#282c34;--secondary-button-bg:#777;--secondary-button-text:#fff;--sudoku-grid-bg:#fff;--sudoku-grid-border:#333;--sudoku-cell-border:#ddd;--sudoku-cell-given-bg:#f0f0f0;--sudoku-cell-focus-bg:#e8f7fe;--sudoku-cell-invalid-bg:#fdd;--sudoku-cell-invalid-text:#d8000c;--control-panel-bg:#fff;--control-panel-border:#e0e0e0;--message-bg:#e8f7fe;--message-border:#61dafb;--message-text:#282c34;--message-error-bg:#fdd;--message-error-border:#f44336;--message-error-text:#f44336;--footer-bg:#282c34;--footer-text:#aaa}[data-theme=dark]{--background-color:#121212;--text-color:#e0e0e0;--header-bg:#1e1e1e;--header-text:#fff;--primary-accent:#61dafb;--primary-accent-text:#282c34;--secondary-button-bg:#555;--secondary-button-text:#fff;--sudoku-grid-bg:#2a2a2a;--sudoku-grid-border:#e0e0e0;--sudoku-cell-border:#444;--sudoku-cell-given-bg:#333;--sudoku-cell-focus-bg:#003c5a;--sudoku-cell-invalid-bg:#5d0000;--sudoku-cell-invalid-text:#ff8a8a;--control-panel-bg:#1e1e1e;--control-panel-border:#333;--message-bg:#003c5a;--message-border:#61dafb;--message-text:#e0e0e0;--message-error-bg:#5d0000;--message-error-border:#f44336;--message-error-text:#ff8a8a;--footer-bg:#1e1e1e;--footer-text:#888}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f0f2f5;background-color:var(--background-color);color:#333;color:var(--text-color);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;transition:background-color .3s,color .3s}.App{display:flex;flex-direction:column;min-height:100vh;text-align:center}.App-header{align-items:center;background-color:#282c34;background-color:var(--header-bg);box-shadow:0 2px 4px #0000001a;color:#fff;color:var(--header-text);display:flex;justify-content:space-between;padding:20px}.header-content{flex-grow:1;justify-content:center;text-align:center}.App-header h1{font-size:2.5rem;margin:0}nav{margin-top:15px}nav button{background-color:initial;border:none;border-bottom:3px solid #0000;color:#61dafb;color:var(--primary-accent);cursor:pointer;font-size:1.1rem;margin:0 10px 0 0;padding:10px 20px;transition:color .3s,border-bottom .3s}nav button.active,nav button:hover{color:#fff;color:var(--header-text)}nav button.active{border-bottom:3px solid #61dafb;border-bottom:3px solid var(--primary-accent)}.theme-toggle-button{align-items:center;background:#f0f2f5;background:var(--background-color);border:1px solid #333;border:1px solid var(--text-color);border-radius:50%;box-shadow:none;color:#333;color:var(--text-color);cursor:pointer;display:flex;font-size:1.5rem;height:50px;justify-content:center;transition:all .3s;width:50px}.theme-toggle-button:hover{background:#61dafb;background:var(--primary-accent);border-color:#61dafb;border-color:var(--primary-accent);color:#282c34;color:var(--primary-accent-text);transform:scale(1.1) rotate(15deg)}main{flex-direction:column;flex-grow:1;padding:20px}.controls,main{align-items:center;display:flex;justify-content:center}.controls{flex-wrap:wrap;gap:10px;margin:20px 0}button{background-color:#61dafb;background-color:var(--primary-accent);border:none;border-radius:8px;box-shadow:0 4px 6px #0000001a;color:#282c34;color:var(--primary-accent-text);cursor:pointer;font-size:1rem;font-weight:700;padding:12px 24px;transition:background-color .3s,transform .2s}button:hover{background-color:#52b8d8;transform:translateY(-2px)}button:disabled{background-color:#ccc;cursor:not-allowed}button.secondary{background-color:#777;background-color:var(--secondary-button-bg);color:#fff;color:var(--secondary-button-text)}button.secondary:hover{background-color:#666}.sudoku-grid{background-color:#fff;background-color:var(--sudoku-grid-bg);border:3px solid #333;border:3px solid var(--sudoku-grid-border);border-radius:5px;box-shadow:0 8px 16px #00000026;display:grid;grid-template-columns:repeat(9,1fr);height:90vw;max-height:500px;max-width:500px;width:90vw}.sudoku-row{display:contents}.sudoku-cell{background-color:initial;border:1px solid #ddd;border:1px solid var(--sudoku-cell-border);box-sizing:border-box;caret-color:#61dafb;caret-color:var(--primary-accent);color:#333;color:var(--text-color);font-size:1.5rem;height:100%;text-align:center;transition:background-color .3s;width:100%}.sudoku-cell:focus{background-color:#e8f7fe;background-color:var(--sudoku-cell-focus-bg);outline:2px solid #61dafb;outline:2px solid var(--primary-accent)}.sudoku-cell.border-right{border-right:2px solid #333;border-right:2px solid var(--sudoku-grid-border)}.sudoku-cell.border-bottom{border-bottom:2px solid #333;border-bottom:2px solid var(--sudoku-grid-border)}.sudoku-cell.given{background-color:#f0f0f0;background-color:var(--sudoku-cell-given-bg);color:#333;color:var(--text-color);font-weight:700}.sudoku-cell.invalid{background-color:#fdd!important;background-color:var(--sudoku-cell-invalid-bg)!important;color:#d8000c;color:var(--sudoku-cell-invalid-text);font-weight:700}.solution-selector{align-items:center;display:flex;gap:10px;justify-content:center;margin:15px 0}.solution-selector label{font-size:1rem;font-weight:700}.solution-selector select{background-color:#fff;background-color:var(--control-panel-bg);border:1px solid #ccc;border-radius:5px;color:#333;color:var(--text-color);font-size:1rem;padding:8px 12px}.message{background-color:#e8f7fe;background-color:var(--message-bg);border:1px solid #61dafb;border:1px solid var(--message-border);border-radius:8px;color:#282c34;color:var(--message-text);font-size:1.1rem;font-weight:700;margin-top:20px;padding:10px 20px}.message.error{background-color:#fdd;background-color:var(--message-error-bg);border-color:#f44336;border-color:var(--message-error-border);color:#f44336;color:var(--message-error-text)}footer{background-color:#282c34;background-color:var(--footer-bg);color:#aaa;color:var(--footer-text);font-size:.9rem;padding:20px}.language-switcher{display:flex;gap:10px;justify-content:center;margin-bottom:15px}.language-switcher button{background:none;border:1px solid #aaa;border:1px solid var(--footer-text);border-radius:5px;color:#aaa;color:var(--footer-text);cursor:pointer;font-size:.9rem;padding:5px 10px;transition:all .3s}.language-switcher button:hover{background-color:#aaa;background-color:var(--footer-text);color:#282c34;color:var(--footer-bg);transform:translateY(0)}.language-switcher button.active{background-color:#61dafb;background-color:var(--primary-accent);border-color:#61dafb;border-color:var(--primary-accent);color:#282c34;color:var(--primary-accent-text);font-weight:700}.generator-container,.viewer-container{align-items:center;display:flex;flex-direction:column;gap:20px;max-width:500px;width:100%}.pdf-controls,.viewer-controls{align-items:stretch;background-color:#fff;background-color:var(--control-panel-bg);border:1px solid #e0e0e0;border:1px solid var(--control-panel-border);border-radius:12px;box-shadow:0 6px 12px #0000001a;display:flex;flex-direction:column;gap:20px;padding:25px;width:100%}.pdf-controls h3,.viewer-controls h3{color:#333;color:var(--text-color);font-size:1.5rem;margin:0 0 10px;text-align:center}.control-section{display:flex;flex-direction:column;gap:10px}.control-section h4{color:#333;color:var(--text-color);font-size:1.1rem;margin:0;opacity:.8;text-align:left}.difficulty-options{background-color:#0000000d;border-radius:8px;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-around;padding:10px}.difficulty-options label{align-items:center;cursor:pointer;display:flex;gap:5px}.page-settings{display:flex;gap:20px;justify-content:space-between}.page-settings .pdf-control-group{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;gap:5px}.pdf-control-group label{font-weight:700}.pdf-control-group input,.pdf-control-group select{background-color:#fff;background-color:var(--control-panel-bg);border:1px solid #ccc;border-radius:5px;box-sizing:border-box;color:#333;color:var(--text-color);font-size:1rem;padding:10px;width:100%}.pdf-controls button,.viewer-controls button{background-color:#4caf50;color:#fff;font-size:1.2rem;margin-top:10px;padding:15px}.pdf-controls button:hover,.viewer-controls button:hover{background-color:#45a049}.viewer-result{margin-top:20px}.viewer-result h4{font-size:1.2rem}.solver-container{align-items:center;display:flex;flex-direction:column;width:100%}.progress-container{margin:15px 0 5px;text-align:center;width:100%}.progress-container p{color:#333;color:var(--text-color);font-weight:700;margin:0 0 8px}.progress-bar-background{background-color:#f0f0f0;background-color:var(--sudoku-cell-given-bg);border:1px solid #ddd;border:1px solid var(--sudoku-cell-border);border-radius:10px;height:20px;overflow:hidden;width:100%}.progress-bar-foreground{align-items:center;background-color:#4caf50;border-radius:10px;color:#fff;display:flex;font-size:.8rem;height:100%;justify-content:center;transition:width .4s ease-in-out}.contact-links{display:flex;gap:20px;justify-content:center;margin-bottom:15px}.contact-links a{color:#aaa;color:var(--footer-text);transition:color .3s,transform .3s}.contact-links a:hover{color:#61dafb;color:var(--primary-accent);transform:scale(1.2)}.contact-links svg{height:28px;vertical-align:middle;width:28px}
/*# sourceMappingURL=main.80a97a42.css.map*/