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}.challenge-container{align-items:center;background-color:#f8f9fa;border-radius:10px;box-shadow:0 4px 6px #0000001a;display:flex;flex-direction:column;gap:30px;margin:20px auto;max-width:800px;padding:30px}.input-field,.select-field,.textarea-field{border:1px solid #ced4da;border-radius:4px;box-sizing:border-box;font-size:16px;margin:10px 0;padding:12px;width:100%}.textarea-field{height:80px;resize:vertical}.select-field{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23343a40' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.grid-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:center;margin:20px auto;max-width:400px;padding:20px;width:100%}.grid{aspect-ratio:1;margin:0 auto;width:100%}.grid-cell{border:1px solid #ddd;cursor:pointer}.grid-cell:hover{opacity:.8}.button-panel{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-top:20px;max-width:400px;padding:20px;width:100%}.add-puzzle-button,.clear-button,.confirm-button,.randomize-button,.try-solve-button{border:none;border-radius:5px;color:#fff;cursor:pointer;flex-basis:calc(50% - 15px);flex-grow:1;flex-shrink:0;font-size:14px;font-weight:700;max-width:200px;padding:12px 24px;text-transform:uppercase;transition:all .3s ease}.confirm-button{background-color:#007bff}.confirm-button:hover{background-color:#0056b3}.try-solve-button{background-color:#28a745}.try-solve-button:hover{background-color:#218838}.clear-button{background-color:#dc3545}.clear-button:hover{background-color:#c82333}.randomize-button{background-color:#17a2b8}.randomize-button:hover{background-color:#138496}.add-puzzle-button{background-color:#ffc107;color:#000}.add-puzzle-button:hover{background-color:#e0a800}.add-puzzle-button:disabled,.confirm-button:disabled,.try-solve-button:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.7}.loader{border:4px solid #f3f3f3;height:24px;margin:0 auto;width:24px}.solutions-container{display:flex;flex-wrap:wrap;gap:30px;justify-content:center;width:100%}.solution-box{align-items:center;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;max-width:300px;padding:20px;width:calc(50% - 15px)}.solution-grid{grid-gap:1px;aspect-ratio:1;border:2px solid #333;display:grid;gap:1px;width:100%}.solution-cell{align-items:center;aspect-ratio:1;box-sizing:border-box;display:flex;font-size:12px;font-weight:700;justify-content:center;padding:2px;position:relative;transition:all .3s ease}.piece-number{background-color:#0009;border-radius:3px;color:#ffffffe6;font-size:10px;left:2px;padding:1px 3px;position:absolute;top:2px;z-index:1}.solution-info{background-color:#f8f9fa;border:1px solid #ddd;border-radius:4px;box-sizing:border-box;margin-top:20px;padding:15px;text-align:center;width:100%}.error-message{font-weight:700;margin-top:10px;text-align:center}.highlighted-piece{box-shadow:0 0 10px 3px #ffd700b3;transform:scale(1.1);z-index:2}.highlighted-piece:after{animation:pulse 1.5s infinite;border:10px solid #36ef55;border-radius:3px;bottom:-2px;content:"";left:-2px;position:absolute;right:-2px;top:-2px}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@media (max-width:768px){.challenge-container{padding:20px}.solution-box{width:100%}.grid-container{max-width:100%;padding:10px}.button-panel{max-width:100%}.grid-cell{min-height:30px;min-width:30px}.add-puzzle-button,.clear-button,.confirm-button,.randomize-button,.try-solve-button{flex:1 0 100%;max-width:none}}@media (max-width:480px){.grid-container{margin:10px auto;max-width:300px;padding:5px}.grid{min-width:250px}.grid-cell{font-size:10px;min-height:25px;min-width:25px}.piece-number{font-size:8px}.button-panel{align-items:center;flex-direction:column}.add-puzzle-button,.clear-button,.confirm-button,.randomize-button,.try-solve-button{max-width:none;width:100%}}.legend{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;margin-top:20px;padding:10px;width:100%}.legend h4{font-size:16px;margin-bottom:10px}.legend-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(50px,1fr))}.legend-item{align-items:center;border-radius:5px;cursor:pointer;display:flex;flex-direction:column;padding:5px;transition:all .3s ease}.legend-number{font-size:12px;font-weight:700;margin-bottom:3px}.legend-piece{background-position:50%;background-repeat:no-repeat;background-size:contain;height:30px;width:30px}.legend-name{font-size:10px;margin-top:3px;text-align:center}.legend-item:hover{background-color:#0000000d}.highlighted-legend-item{background-color:#ffffc84d;box-shadow:0 0 8px 2px #ffd700b3;transform:scale(1.05)}@media (max-width:480px){.legend-grid{grid-template-columns:repeat(auto-fill,minmax(40px,1fr))}.legend-piece{height:25px;width:25px}}.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)}}header{background-color:#e6e2e2;padding:1rem}nav{align-items:center;display:flex;justify-content:center}nav h1{margin-left:auto}nav ul{padding:2px}nav ul li{margin-right:50px}nav ul li a{color:#007bff;font-weight:700;margin-right:20px}nav ul li a:hover{text-decoration:underline}.logout-button{background-color:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 12px;transition:background-color .2s}.logout-button:hover{background-color:#c82333}td,th{border:1px solid #000}nav-container{-webkit-overflow-scrolling:touch;overflow-x:auto;white-space:nowrap}nav ul{display:flex;list-style-type:none;margin:0;padding:0}nav ul li{margin-right:20px}nav ul li:last-child{margin-right:0}nav ul li a{text-decoration:none}.hamburger-menu{cursor:pointer;display:none;padding:10px;z-index:1001}.hamburger-icon{background-color:#007bff;display:block;height:3px;margin:5px 0;transition:.4s;width:25px}@media (max-width:768px){.hamburger-menu{display:block;margin-right:15px}nav{justify-content:space-between;padding:0 10px}nav ul{background-color:#e6e2e2;box-shadow:0 4px 6px #0000001a;display:none;flex-direction:column;left:0;position:absolute;top:60px;width:100%;z-index:1000}nav ul.show{display:flex}nav ul li{border-bottom:1px solid #ccc;margin:0;padding:15px;text-align:center;width:100%}nav ul li:last-child{border-bottom:none}nav h1{font-size:1.2rem;margin:0;text-align:right}.logout-button{margin-top:5px;width:100%}}.puzzles-container{margin:0 auto;max-width:1200px;padding:20px}.filters{align-items:center;justify-content:space-between;margin-bottom:20px}.difficulty-filter,.filters,.grid-size-filter{display:flex;flex-wrap:wrap;gap:10px}.difficulty-filter label,.grid-size-filter label{align-items:center;display:flex;gap:5px}.view-toggle-button{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px}.view-toggle-button:hover{background-color:#45a049}.puzzles-table{overflow-x:auto}table{border-collapse:collapse;width:100%}td,th{border:1px solid #ddd;padding:8px;text-align:left}th{background-color:#f2f2f2;cursor:pointer}tr:nth-child(2n){background-color:#f9f9f9}.puzzle-grid-item{align-items:center;border:1px solid #ddd;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;padding:10px;transition:transform .2s}.puzzle-grid-item:hover{transform:scale(1.05)}.puzzle-pattern{grid-gap:1px;aspect-ratio:1/1;background-color:#000;border:1px solid #000;display:grid;gap:1px}.pattern-cell{height:100%;width:100%}.pattern-cell.r{background-color:red}.pattern-cell.b{background-color:blue}.pattern-cell.y{background-color:#ff0}.pattern-cell.x{background-color:#000}.puzzle-info{margin-top:10px;text-align:center}.puzzle-info strong{display:block;font-size:14px}.puzzle-info span{color:#666;display:block;font-size:12px}.pagination{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:20px}.pagination-controls{align-items:center;display:flex;gap:5px}.pagination button{background-color:#dea00f;border:1px solid #000;border-radius:4px;cursor:pointer;padding:5px 10px}.pagination button:disabled{cursor:not-allowed;opacity:.5}.pagination input,.pagination select{border:1px solid #000;border-radius:4px;padding:5px}@media (max-width:768px){.filters{align-items:flex-start;flex-direction:column}.puzzle-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.pagination{align-items:center;flex-direction:column}.pagination-controls{margin-bottom:10px;order:-1}}@media (max-width:480px){.puzzles-container{padding:10px}.puzzle-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.puzzle-grid-item{padding:5px}.puzzle-info strong{font-size:12px}.puzzle-info span{font-size:10px}td,th{font-size:12px;padding:5px}}.react-calendar{width:350px}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{display:flex;margin:-.5em}.react-calendar--doubleView .react-calendar__viewContainer>*{margin:.5em;width:50%}.react-calendar,.react-calendar *,.react-calendar :after,.react-calendar :before{box-sizing:border-box}.react-calendar button{border:0;margin:0;outline:none}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{display:flex;height:44px;margin-bottom:1em}.react-calendar__navigation button:disabled{background-color:#f0f0f0}.react-calendar__month-view__weekdays{font:inherit;font-size:.75em;font-weight:700;text-align:center;text-transform:uppercase}.react-calendar__month-view__weekdays__weekday{padding:.5em}.react-calendar__month-view__weekNumbers .react-calendar__tile{align-items:center;display:flex;font:inherit;font-size:.75em;font-weight:700;justify-content:center}.react-calendar__month-view__days__day--weekend{color:#d10000}.react-calendar__century-view__decades__decade--neighboringCentury,.react-calendar__decade-view__years__year--neighboringDecade,.react-calendar__month-view__days__day--neighboringMonth{color:#757575}.react-calendar__century-view .react-calendar__tile,.react-calendar__decade-view .react-calendar__tile,.react-calendar__year-view .react-calendar__tile{padding:2em .5em}.react-calendar__tile{font:inherit;font-size:.833em}.react-calendar__tile:disabled{background-color:#f0f0f0;color:#ababab}.react-calendar__century-view__decades__decade--neighboringCentury:disabled,.react-calendar__decade-view__years__year--neighboringDecade:disabled,.react-calendar__month-view__days__day--neighboringMonth:disabled{color:#cdcdcd}.react-calendar__tile--now:enabled:focus,.react-calendar__tile--now:enabled:hover{background:#ffffa9}.react-calendar__tile--hasActive{background:#76baff}.react-calendar__tile--hasActive:enabled:focus,.react-calendar__tile--hasActive:enabled:hover{background:#a9d4ff}.react-calendar__tile--active{color:#fff}.react-calendar__tile--active:enabled:focus,.react-calendar__tile--active:enabled:hover{background:#1087ff}.react-calendar--selectRange .react-calendar__tile--hover{background-color:#e6e6e6}.daily-challenge-manager{flex-direction:row}.calendar-container{flex:1 1}.react-calendar{background:#fff;border:1px solid #a0a096;font-family:Arial,Helvetica,sans-serif;line-height:1.125em;max-width:100%;width:100%}react-calendar__navigation{background-color:#f0f0f0;margin-bottom:10px}.react-calendar__navigation button{background:none;color:#000;font-size:16px;font-weight:700;min-width:44px}.react-calendar__navigation button:enabled:focus,.react-calendar__navigation button:enabled:hover{background-color:#e6e6e6}.react-calendar__month-view__days__day{color:#000!important}.react-calendar__month-view__days__day--weekend{color:#d10000!important}.react-calendar__tile{background:none;line-height:16px;max-width:100%;padding:10px 6.6667px;text-align:center}.react-calendar__tile:enabled:focus,.react-calendar__tile:enabled:hover{background-color:#e6e6e6}.react-calendar__tile--now{background:#ffff76}.react-calendar__tile--active{background:#006edc}.challenge-indicator{background-color:#007bff}.challenge-assignment-panel{flex:1 1}button,select{display:block;margin-bottom:10px;padding:8px;width:100%}button{background-color:#007bff;border:none;color:#fff;cursor:pointer}.react-calendar__tile--active,.selected-date{background:#006edc;color:#fff!important}button:hover{background-color:#0056b3}.assigned-challenge{background-color:#28a745;color:#fff}.unassigned-challenge{background-color:#ffc107}.challenge-indicator{background-color:#fff;border-radius:50%;display:block;height:8px;margin:2px auto 0;width:8px}.grid{grid-gap:1px;background-color:initial;border:none;display:grid;gap:1px}.grid-cell{aspect-ratio:1;border:1px solid #333;transition:background-color .3s ease}.grid-4x4{grid-template-columns:repeat(4,1fr)}.grid-5x5{grid-template-columns:repeat(5,1fr)}.grid-6x6{grid-template-columns:repeat(6,1fr)}.grid-8x8{grid-template-columns:repeat(8,1fr)}.loading-overlay{align-items:center;background-color:#ffffffb3;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.loader{animation:spin 1s linear infinite;border:5px solid #f3f3f3;border-radius:50%;border-top-color:#3498db;height:50px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.assigned-challenge{background-color:#28a745!important;color:#fff!important}.unassigned-challenge{background-color:#ffc107!important}.inactive-date{opacity:.5;pointer-events:none}.react-calendar__tile--active{background-color:#007bff!important;color:#fff!important}.challenge-assignment-panel{display:flex;flex-direction:column;gap:15px}.assign-challenge-form,.assigned-challenge-info{display:flex;flex-direction:column;gap:10px}.remove-button{background-color:#dc3545}.assign-button{background-color:#28a745}button:hover{opacity:.9}select{font-size:16px;padding:10px}.pattern-grid{margin-top:15px}.daily-challenge-manager{display:flex;flex-direction:column;gap:20px;margin:0 auto;max-width:1200px;padding:20px}.calendar-container{width:100%}.challenge-assignment-panel{background-color:#f0f0f0;border-radius:8px;box-sizing:border-box;padding:20px;width:100%}@media (min-width:768px){.daily-challenge-manager{flex-direction:row}.calendar-container,.challenge-assignment-panel{flex:1 1}}@media (max-width:767px){.react-calendar{width:100%!important}.challenge-assignment-panel{margin-top:20px}}@media (max-width:480px){.grid{max-width:150px}}.version-manager{margin:0 auto;max-width:1200px;padding:20px}.version-comparison{display:flex;gap:20px;margin-bottom:20px}.current-version,.new-version-preview{background-color:#f8f9fa;flex:1 1;min-width:0}.control-panel,.current-version,.new-version-preview{border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:15px}.control-panel{align-items:center;background-color:#f0f0f0;display:flex;justify-content:space-between;margin-bottom:20px}.control-panel .actions{display:flex;gap:10px}.control-panel button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px;transition:background-color .3s}.control-panel button:hover{background-color:#0056b3}.control-panel .summary{font-size:14px}.available-puzzles{background-color:#f8f9fa;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:15px}.puzzle-filters{display:flex;gap:10px;margin-bottom:15px}.puzzle-filters input,.puzzle-filters select{border:1px solid #ced4da;border-radius:4px;font-size:14px;padding:8px}.puzzle-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin-bottom:15px}.puzzle-card{background-color:#fff;border:1px solid #dee2e6;border-radius:4px;cursor:pointer;padding:10px;text-align:center;transition:box-shadow .3s,transform .3s}.puzzle-card:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.puzzle-pattern{aspect-ratio:1;margin-bottom:10px;width:100%}.puzzle-info{font-size:12px}.puzzle-info .name{font-weight:700;margin-bottom:5px}.puzzle-info .board-number,.puzzle-info .difficulty,.puzzle-info .fice,.puzzle-info .num-solutions{color:#6c757d}@media (max-width:768px){.version-comparison{flex-direction:column}.puzzle-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.control-panel{align-items:flex-start;flex-direction:column}.control-panel .actions{margin-bottom:10px}}@media (max-width:480px){.puzzle-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}.login-container{align-items:center;background-color:#f5f5f5;display:flex;justify-content:center;min-height:100vh}.login-form-container{background-color:#fff;border-radius:8px;box-shadow:0 4px 8px #0000001a;max-width:400px;padding:2rem;text-align:center;width:100%}.login-form-container h1{color:#333;margin-bottom:.5rem}.login-form-container h2{color:#555;margin-bottom:1.5rem}.login-form{gap:1rem}.form-group,.login-form{display:flex;flex-direction:column}.form-group{text-align:left}.form-group label{color:#555;font-weight:500;margin-bottom:.5rem}.form-group input{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.75rem}.form-group input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.password-field{position:relative}.password-input-container{position:relative;width:100%}.password-input-container input{padding-right:40px;width:100%}.password-toggle-button{align-items:center;background:none;border:none;border-radius:50%;color:#555;cursor:pointer;display:flex;font-size:1.2rem;height:30px;justify-content:center;padding:4px;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:background-color .2s;width:30px;z-index:2}.password-toggle-button:hover{background-color:#0000000d}.password-toggle-button:focus,.password-toggle-button:hover{color:#007bff;outline:none}.login-button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;margin-top:1rem;padding:.75rem;transition:background-color .2s}.login-button:hover{background-color:#0069d9}.login-button:disabled{background-color:#ccc;cursor:not-allowed}.error-message{animation:fadeIn .3s ease-in-out;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#dc3545;margin:.5rem 0 1rem;padding:.75rem;text-align:left}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media (max-width:480px){.login-form-container{margin:0 1rem;padding:1.5rem}.form-group input,.login-button{font-size:16px;padding:.8rem}.password-toggle-button{font-size:1.4rem;padding:.5rem}}
/*# sourceMappingURL=main.c4a84813.css.map*/