body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.app-footer{background-color:#f8f9fa;border-top:1px solid #e0e0e0;color:#666;font-size:14px;margin-top:60px;padding:30px 20px;text-align:center}.app-footer p{line-height:1.6;margin:0}.app-footer a{color:#06c;text-decoration:none}.app-footer a:hover{text-decoration:underline}.crossword-container{box-sizing:border-box;font-family:Arial,sans-serif;margin:0;padding:4px 20px;width:100%}.crossword-container h1{color:#333;margin-bottom:4px;text-align:center}.file-loader{background-color:#f8f9fa;border-radius:12px;box-shadow:0 2px 10px #0000001a;margin:8px auto 0;max-width:800px;padding:30px}.file-input-group{align-items:center;display:flex;flex-wrap:wrap;gap:2px}.file-input-group label{color:#333;font-weight:700;white-space:nowrap}.file-path-input{border:2px solid #ddd;border-radius:6px;flex:1 1;font-size:14px;min-width:300px;padding:12px 16px;transition:border-color .2s ease}.file-path-input:focus{border-color:#2196f3;outline:none}.error-message{background-color:#ffebee;border:1px solid #f44336;border-radius:6px;color:#c62828;font-size:14px;margin-top:15px;padding:12px}.file-hint{color:#666;font-size:14px;margin-top:20px;text-align:center}.browse-btn{background-color:#607d8b;color:#fff}.browse-btn:hover{background-color:#546e7a}.go-btn{background-color:#4caf50;color:#fff;min-width:80px}.go-btn:hover{background-color:#45a049}.load-url-btn{background-color:#9c27b0;color:#fff}.load-url-btn:hover{background-color:#7b1fa2}.loading-message{color:#666;font-size:18px;padding:40px;text-align:center}.file-hint code{background-color:#e8e8e8;border-radius:4px;font-family:monospace;font-size:12px;padding:2px 6px}.back-btn{background-color:#607d8b;color:#fff}.back-btn:hover{background-color:#546e7a}.button-container{display:flex;gap:15px;justify-content:center;margin-bottom:25px}.puzzle-button{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:700;padding:10px 20px;transition:all .2s ease}.puzzle-button:hover{box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.check-btn{background-color:#4caf50;color:#fff}.check-btn:hover{background-color:#45a049}.reveal-btn{background-color:#2196f3;color:#fff}.reveal-btn:hover{background-color:#1976d2}.clear-btn{background-color:#f44336;color:#fff}.clear-btn:hover{background-color:#d32f2f}.puzzle-layout{align-items:stretch;display:flex;flex-wrap:nowrap;gap:20px;justify-content:space-between;overflow-x:auto;width:100%}.grid-container{align-items:flex-start;display:flex;flex:1 1 auto;justify-content:center}.crossword-grid{grid-gap:1px;background-color:#000;border:2px solid #000;display:grid;gap:1px;grid-template-columns:repeat(20,32px);grid-template-columns:repeat(20,var(--cell-size,32px));grid-template-rows:repeat(20,32px);grid-template-rows:repeat(20,var(--cell-size,32px));padding:1px}.cell{align-items:center;display:flex;height:32px;height:var(--cell-size,32px);justify-content:center;position:relative;width:32px;width:var(--cell-size,32px)}.cell.black{background-color:#000}.cell.white{background-color:#fff;border:1px solid #ccc;cursor:pointer}.cell.selected{background-color:#ffeb3b!important}.cell-number{font-size:10px;font-size:var(--cell-number-size,10px);left:2px;position:absolute;top:1px;z-index:2}.cell-input,.cell-number{color:#000;font-weight:700}.cell-input{background:#0000;border:none;font-size:14px;font-size:var(--cell-font-size,14px);height:100%;outline:none;text-align:center;text-transform:uppercase;width:100%}.clues-container{display:flex;flex:1 1 auto;flex-direction:column;min-width:150px}.current-clue{background-color:#f5f5f5;border-radius:8px;margin-bottom:2px;min-height:50px;padding:5px}.current-word-clue h3{color:#2196f3;margin:0}.current-word-clue p{font-size:14px;line-height:1.4;margin:0}.clues-tabs{border-bottom:2px solid #e0e0e0;display:flex;margin-bottom:15px}.clues-tab{background:#f5f5f5;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;flex:1 1;font-size:14px;font-weight:700;padding:12px 24px;transition:all .2s ease}.clues-tab:first-child{border-radius:8px 0 0 0}.clues-tab:last-child{border-radius:0 8px 0 0}.clues-tab:hover{background:#e8e8e8;color:#333}.clues-tab.active{background:#fff;border-bottom-color:#2196f3;color:#2196f3}.clues-content{flex:1 1;overflow-y:auto}.clues-sections{display:flex;gap:clamp(10px,1.5vw,20px)}.clues-section{flex:1 1;min-width:0}.clues-section h3{border-bottom:2px solid #2196f3;color:#333;margin-bottom:15px;padding-bottom:5px}.clue-item{background-color:#fafafa;border-radius:4px;font-size:15px;line-height:1.4;margin-bottom:6px;padding:5px 10px;text-align:left}.clue-item strong{color:#2196f3;margin-right:5px}@media (max-width:1200px){.clues-sections{flex-direction:column}.button-container{flex-wrap:wrap}}@media (max-width:768px){.clues-container{flex:0 0 200px;min-width:200px;width:200px}.puzzle-button{font-size:12px;padding:8px 16px}}.book-library{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1400px;padding:0 30px}.book-library h1{color:#2c3e50;font-size:2.5rem;margin-bottom:5px;text-align:center}.search-container{margin:0 auto 20px;max-width:600px;position:relative}.search-input{border:2px solid #bdc3c7;border-radius:30px;box-sizing:border-box;font-size:1.1rem;outline:none;padding:15px 50px 15px 20px;transition:border-color .3s,box-shadow .3s;width:100%}.search-input:focus{border-color:#3498db;box-shadow:0 0 10px #3498db4d}.search-input::placeholder{color:#95a5a6}.clear-search-btn{align-items:center;background:#bdc3c7;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:14px;height:28px;justify-content:center;position:absolute;right:15px;top:50%;transform:translateY(-50%);transition:background-color .2s;width:28px}.clear-search-btn:hover{background:#95a5a6}.books-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(3,1fr)}.row{display:flex;flex-wrap:wrap;width:100%}.col-4{flex:0 0 33.333333%;max-width:33.333333%}.col-8{flex:0 0 66.666667%;max-width:66.666667%}.book-card{background:#fff;border:2px solid #dce1e6;border-radius:8px;box-shadow:0 2px 10px #0000001a;cursor:pointer;overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s}.book-card:hover{border-color:#3498db;box-shadow:0 6px 20px #00000026;transform:translateY(-3px)}.book-thumbnail{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;height:100%;justify-content:center;min-height:100px;overflow:hidden;position:relative;width:100%}.book-thumbnail img{height:100%;object-fit:cover;transition:transform .3s;width:100%}.book-card:hover .book-thumbnail img{transform:scale(1.05)}.thumbnail-placeholder{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;height:100%;justify-content:center;width:100%}.thumbnail-placeholder span{font-size:2rem}.book-info{box-sizing:border-box;display:flex;flex-direction:column;height:100%;justify-content:center;padding:10px}.book-title{color:#2c3e50;font-size:1.3rem;line-height:1.2;margin:0 0 4px}.book-author{color:#7f8c8d;font-size:1.08rem;font-style:italic;margin:0 0 6px}.book-description{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#555;display:-webkit-box;font-size:1rem;line-height:1.4;margin:0;overflow:hidden}.error-message,.loading-message,.no-results{color:#7f8c8d;font-size:1.2rem;padding:40px;text-align:center}.error-message{color:#e74c3c}.no-results{grid-column:1/-1}@media (max-width:1200px){.books-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.book-library{padding:15px}.book-library h1{font-size:1.8rem}.books-grid{gap:10px;grid-template-columns:1fr}.search-input{font-size:1rem;padding:12px 45px 12px 15px}}
/*# sourceMappingURL=main.fc52f582.css.map*/