.auth-container{align-items:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-paper{background:#fffffff2!important;border-radius:12px!important;max-width:500px;padding:2.5rem!important;width:100%}.auth-content{align-items:center;display:flex;flex-direction:column;gap:1.5rem}.welcome-title{color:#2c3e50;font-size:2.5rem!important;font-weight:600!important;margin-bottom:.5rem!important;text-align:center}.auth-subtitle{color:#34495e;font-weight:500!important;margin-bottom:1rem!important}.auth-form{display:flex;flex-direction:column;gap:1.5rem;width:100%}.auth-input{background-color:#ffffffe6}.auth-input .MuiOutlinedInput-root{border-radius:8px}.auth-input .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline{border-color:#3498db}.auth-submit-button{background-color:#3498db!important;border-radius:8px!important;font-size:1.1rem!important;margin-top:1rem!important;padding:.8rem!important;text-transform:none!important;transition:all .3s ease!important}.auth-submit-button:hover{background-color:#2980b9!important;box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.auth-switch-button{color:#7f8c8d!important;font-size:1rem!important;margin-top:1rem!important;text-transform:none!important;transition:all .3s ease!important}.auth-switch-button:hover{background-color:#0000000a!important;color:#34495e!important}.error-message{background-color:#e74c3c1a;border-radius:4px;color:#e74c3c;padding:.5rem;text-align:center;width:100%}@media (max-width:600px){.auth-paper{padding:1.5rem!important}.welcome-title{font-size:2rem!important}.auth-subtitle{font-size:1.2rem!important}}.timer-layout{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:minmax(0,1fr);margin:0 auto;max-width:1200px;min-width:0;width:100%}.timer-layout>*{min-width:0}@media (min-width:1024px){.timer-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.timer{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;gap:1.5rem;padding:2rem}.timer h2{color:#212529;font-size:1.5rem;margin:0}.algorithm-text,.recognition-text{background:#f8f9fa;border-radius:4px;font-family:monospace;font-size:1.1rem;margin:0;padding:1rem}.time-display{color:#212529;font-family:monospace;font-size:3rem;font-weight:700}.timer-pad{align-items:center;aspect-ratio:2/1;background:#f8f9fa;border:2px solid #dee2e6;border-radius:8px;cursor:pointer;display:flex;font-family:monospace;font-size:2rem;justify-content:center;max-width:400px;transition:all .2s ease;-webkit-user-select:none;user-select:none;width:100%}.timer-pad.ready{background:#28a745;border-color:#1e7e34;color:#fff}.timer-pad.running{background:#dc3545;border-color:#bd2130;color:#fff}.timer-save-status{color:#6c757d}.timer-save-error,.timer-save-status{font-size:1rem;margin:0;text-align:center}.timer-save-error{background:#f8d7da;border-radius:4px;color:#842029;padding:.5rem 1rem}.setup-moves,.solution-moves{background:#f8f9fa;border-radius:4px;padding:1rem}.setup-moves h3,.solution-moves h3{color:#6c757d;font-size:1rem;margin:0 0 .5rem}.timer-container{box-sizing:border-box;justify-content:center;margin:0 auto;max-width:800px;padding:1rem}.timer-display{font-family:monospace;font-size:clamp(2rem,5vw,4rem);margin:1rem 0}@media screen and (max-width:480px){.timer{padding:1rem}.timer-container{padding:.5rem}.timer-controls{display:flex;flex-direction:column;gap:.5rem;width:100%}.timer-controls button{width:100%}}body.timer-running{height:100%;overflow:hidden;position:fixed;width:100%}.practice-mode-container{align-items:center;background-color:#f8f9fa;display:flex;flex-direction:column;max-width:100%;min-height:100vh;min-width:0;padding:2rem;width:100%}@media screen and (max-width:480px){.practice-mode-container{padding:1rem}}.case-selector{border:1px solid #ced4da;border-radius:4px;font-size:1.2rem;margin:2rem 0;max-width:400px;padding:.5rem;width:100%}.algorithm-display{align-items:center;display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem;max-width:400px;width:100%}.algorithm-selector-container{width:100%}.algorithm-selector-container .MuiMenuItem-root{line-height:1.2!important;min-height:0!important;padding:8px 16px!important}.algorithm-selector-container .MuiMenuItem-root.Mui-disabled{min-height:0!important;opacity:.7;padding:4px 16px!important}.algorithm-selector-container .MuiMenuItem-root .MuiCheckbox-root{margin:-4px 0!important;padding:4px 8px 4px 4px!important}.solution-moves{background:#f8f9fa;border-radius:4px;padding:1rem;width:100%}.solution-moves h3{color:#6c757d;font-size:1rem;margin:0 0 .5rem}.algorithm-text{word-wrap:break-word;font-size:1.1rem;margin:0}.hint-button{background:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:.5rem 1rem;transition:background-color .2s}.hint-button:hover{background:#5a6268}.home-button{align-items:center;background:#fff;border-radius:50%;box-shadow:0 2px 8px #0000001a;display:flex;font-size:1.5rem;justify-content:center;left:1rem;padding:.5rem;position:absolute;text-decoration:none;top:1rem;transition:transform .2s}.home-button:hover{transform:scale(1.1)}.insert-type{color:#666;font-style:italic;margin-left:8px}.controls-container{align-items:center;display:flex;gap:1rem;justify-content:center;margin:1rem 0;max-width:400px;width:100%}.control-button{color:#6c757d!important;transition:all .2s ease!important}.control-button:hover{color:#5a6268!important;transform:scale(1.1)}.control-button:disabled{color:#ccc!important;transform:none}.timer-container{align-items:center;display:flex;flex-direction:column;max-width:400px;width:100%}.average-time{color:#6c757d;font-size:.9rem;margin:.5rem 0}.header-container{margin-bottom:20px;width:100%}.page-title{margin:0}.practice-now-button{margin-top:1rem;padding:.5rem}.algorithms-needing-data{border-top:1px solid #dee2e6;padding-top:1rem}.algorithm-selector{margin:0 auto;max-width:1200px;padding:20px}.algorithm-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));padding:20px 0}.algorithm-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;cursor:pointer;padding:15px;transition:transform .2s}.algorithm-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.algorithm-image{border-radius:4px;height:auto;width:100%}.algorithm-info{margin-top:10px}.algorithm-info h3{color:#333;font-size:1.1rem;margin:0}.algorithm-text{color:#666;font-family:monospace;font-size:.9rem;margin:5px 0 0}.algorithm-selector-container .type-header{background-color:#f5f5f5;font-weight:700}.algorithm-selector-container .MuiMenuItem-root.type-header{padding-bottom:12px!important;padding-top:12px!important}.algorithm-selector-container .MuiMenuItem-root.type-header .MuiTypography-root{font-weight:600}.algorithm-selector-container .MuiSelect-select{padding:12px!important}.algorithm-selector-container .MuiMenuItem-root{min-height:40px;padding:8px 16px}.algorithm-selector-container .MuiDivider-root{margin:8px 0}.algorithm-selector-container .MuiMenuItem-root.Mui-disabled{background-color:initial;opacity:1}.algorithm-selector-container .MuiCheckbox-root{padding:4px 8px 4px 4px}.algorithm-selector-container .MuiListItemText-root{margin:0}.alg-item{padding:.5rem 0}.alg-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:.5rem;-webkit-user-select:none;user-select:none}.alg-header:hover{background-color:#0000000d}.alg-stats{background-color:#f8f9fa;border-radius:4px;margin-top:.5rem;padding:.5rem 1rem}.stat-row{padding:.25rem 0}.slowest-algs-panel{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin:2rem auto;max-width:800px;padding:1rem;width:100%}.slowest-algs-panel h3{color:#6c757d;margin-bottom:1rem}.practice-mode-container+.slowest-algs-panel{margin-top:2rem}.panel-header{justify-content:space-between;margin-bottom:1rem}.expand-button,.panel-header{align-items:center;display:flex}.expand-button{background:none;border:none;color:#6c757d;cursor:pointer;font-size:.9rem;gap:.5rem;padding:.5rem}.expand-button:hover{color:#495057}.home{align-items:center;background-color:#f5f5f5;display:flex;flex-direction:column;min-height:100vh;padding:2rem;position:relative}.home h1{color:#333;font-size:2.5rem;margin-bottom:2rem;text-align:center}.beta-tag{background-color:#ff9aa2;border-radius:3px;box-shadow:0 1px 2px #0000001a;color:#fff;display:inline-block;font-size:.4em;font-weight:600;letter-spacing:.3px;margin-left:10px;padding:1px 4px;text-transform:lowercase;vertical-align:super}@media screen and (max-width:480px){.beta-tag{font-size:.45em;margin-left:8px;padding:1px 3px}}.practice-menu{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));max-width:1200px;padding:1rem;width:100%}.menu-item{align-items:center;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#333;display:flex;flex-direction:column;justify-content:center;padding:1.5rem;text-align:center;text-decoration:none;transition:all .3s ease}.menu-item:hover{background-color:#f0f0f0;box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.menu-item h3{font-size:1.2rem;margin:0 0 .5rem}.mode-description{color:#666;font-size:.9rem;margin:0}.analysis-item,.release-notes-item{background-color:#f8f9fa;grid-column:1/-1;margin-top:1rem}.release-notes-item h3{color:#495057}@media (max-width:768px){.practice-menu{grid-template-columns:1fr;max-width:400px}.home h1{font-size:2rem}}.user-section{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:flex-end;max-width:100%;padding:.5rem 0;position:static;width:100%}.welcome-text{color:#6c757d;font-size:.9rem;max-width:100%;min-width:0;overflow-wrap:anywhere}.logout-button{border-color:#6c757d!important;color:#6c757d!important}.logout-button:hover{background-color:#6c757d0a!important}.category-section{margin-bottom:2rem;width:100%}.category-section h2{color:#333;font-size:1.8rem;margin-bottom:.5rem}.category-description{color:#666;margin-bottom:1rem}.mode-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:1.5rem}.app-header{margin-bottom:2rem;text-align:center}.help-button{border-color:#6c757d!important;color:#6c757d!important;margin-top:1rem!important}.help-button:hover{background-color:#6c757d0a!important}.guide-content{padding:1rem 0}.guide-step{margin-bottom:1.5rem}.guide-step h3{align-items:center;color:#495057;display:flex;font-size:1.1rem;margin-bottom:.5rem}.guide-step p{color:#6c757d;line-height:1.5;margin:0}.guide-tip{background-color:#f8f9fa;border-left:4px solid #6c757d;border-radius:4px;padding:1rem}.guide-tip p{color:#495057;margin:0}.stats-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:2rem;transition:all .3s ease-in-out}.stats-summary{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:2rem}.stat-box{background:#f8f9fa;border-radius:4px;padding:1rem;text-align:center;transition:all .2s ease-in-out}.stat-box h3{color:#6c757d;font-size:.9rem;margin:0 0 .5rem}.stat-box p{color:#212529;font-family:monospace;font-size:1.2rem;font-weight:700;margin:0;transition:opacity .2s ease-in-out}.stats-chart{height:300px;transition:opacity .3s ease-in-out}.stats-empty,.stats-error,.stats-loading{color:#6c757d;padding:2rem;text-align:center}.stats-error{color:#dc3545}.dual-stats-container{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));padding:1rem}.stat-panel{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:1.5rem;transition:opacity .3s ease-in-out}.stat-panel h3{color:#333;font-size:1.2rem;margin:0 0 1.5rem;text-align:center}.stat-grid{grid-gap:.5rem;display:grid;gap:.5rem;margin-bottom:1.5rem;transition:all .3s ease-in-out}.stat-row{border-bottom:1px solid #eee;display:grid;grid-template-columns:2fr 1fr 1fr;padding:.5rem}.stat-row.header{border-bottom:2px solid #ddd;color:#666;font-weight:700}.stat-chart{height:200px;margin-top:1.5rem;transition:opacity .3s ease-in-out}.stat-panel-content p{color:#666;font-style:italic;text-align:center}.stat-label{color:#444}.stat-row div{transition:all .3s ease-in-out}.updating{opacity:.8}.algorithms-needing-data{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin-top:2rem;max-width:400px;padding:1rem;width:100%}.algorithms-needing-data h3{color:#6c757d;margin-bottom:1rem}.alg-list{display:flex;flex-direction:column;gap:.5rem}.alg-item{align-items:center;background-color:#fff;border-radius:4px;display:flex;justify-content:space-between;padding:.5rem}.alg-item button{background:none;border:none;color:#007bff;cursor:pointer;text-decoration:underline}.alg-item button:hover{color:#0056b3}.slowest-algs-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:2rem}.alg-categories{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:1rem}.alg-category{background:#f8f9fa;border-radius:6px;padding:1rem}.alg-item{grid-gap:1rem;border-bottom:1px solid #dee2e6;display:grid;gap:1rem;grid-template-columns:2fr 1fr 1fr;padding:.75rem}.alg-item:last-child{border-bottom:none}.alg-name{font-weight:500}.alg-time{color:#6c757d;text-align:right}.alg-stats{display:flex;flex-direction:column;gap:.5rem}.stat-row{align-items:center;display:flex;gap:1rem;justify-content:space-between}.stat-label{color:#6c757d;font-size:.9rem}.stat-value{font-weight:500}.no-data{color:#6c757d;font-style:italic;padding:1rem;text-align:center}.section-title{border-top:1px solid #dee2e6;margin-top:2rem;padding-top:2rem}.missing-alg-item{align-items:center;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;padding:.75rem}.missing-alg-item:last-child{border-bottom:none}.practice-now-button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-bottom:1rem;padding:.75rem;text-align:center;text-decoration:none;transition:background-color .2s;width:100%}.practice-now-button:hover{background-color:#0056b3}.app-footer{background-color:#f5f5f5;border-top:1px solid #e0e0e0;margin-top:auto;padding:1rem;width:100%}.footer-content{margin:0 auto;max-width:1200px;text-align:center}.footer-links{margin-bottom:.5rem}.footer-links a{color:#666;margin:0 1rem;text-decoration:none}.footer-links a:hover{text-decoration:underline}.copyright{color:#666;font-size:.9rem}.release-notes{margin:0 auto;max-width:800px;padding:2rem}.release{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin-bottom:3rem;padding:1.5rem}.release h2{border-bottom:2px solid #dee2e6;color:#212529;margin-bottom:1.5rem;padding-bottom:.5rem}.release-date{color:#6c757d;font-size:.9em;font-weight:400}.release section{margin-bottom:1.5rem}.release h3{color:#495057;font-size:1.1rem;margin-bottom:.75rem}.release ul{list-style-type:none;padding-left:0}.release li{margin-bottom:.5rem;padding-left:1.5rem;position:relative}.release li:before{color:#6c757d;content:"•";left:0;position:absolute}.header-container{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App{padding:2rem;text-align:center}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.algorithm-selector-container{height:fit-content!important;margin-bottom:16px}.algorithm-selector-container .MuiFormControl-root{height:fit-content!important}.algorithm-selector-container .MuiSelect-select{min-height:0!important;padding:8px 16px!important}.algorithm-selector-container .MuiOutlinedInput-root{height:fit-content!important}.algorithm-display{position:relative}.algorithm-display:hover{background-color:#0000000a!important}.MuiMenuItem-root{line-height:1.2!important;min-height:0!important;padding:8px 16px!important}.algorithm-display h2{margin:16px 0;padding:0;-webkit-user-select:none;user-select:none}.MuiMenuItem-root.Mui-disabled{min-height:0!important;opacity:.7;padding:4px 16px!important}.setup-moves,.solution-moves{pointer-events:none}.MuiMenuItem-root .MuiCheckbox-root{margin:-4px 0!important;padding:4px 8px 4px 4px!important}.MuiSelect-select{min-height:0!important;padding:8px 16px!important}
/*# sourceMappingURL=main.0caa06d7.css.map*/