.analysis-popup{animation:slideInRight .3s ease;background:#16213e;border:1px solid #64ffda;border-radius:12px;bottom:1rem;box-shadow:0 8px 32px #0009;max-width:400px;min-width:320px;padding:1rem 1.25rem;position:fixed;right:1rem;z-index:1500}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.popup-close{align-items:center;background:none;border:none;border-radius:4px;color:#8892b0;cursor:pointer;display:flex;font-size:1.5rem;height:28px;justify-content:center;position:absolute;right:.5rem;top:.5rem;transition:all .2s;width:28px}.popup-close:hover{background:#0f3460;color:#e0e0e0}.popup-header{align-items:center;display:flex;gap:.75rem;margin-bottom:.75rem}.popup-icon{font-size:1.5rem}.popup-header h3{color:#64ffda;font-size:1.1rem;font-weight:700;margin:0}.popup-stats{border-bottom:1px solid #0f3460;color:#8892b0;display:flex;font-size:.85rem;gap:1rem;margin-bottom:.75rem;padding-bottom:.75rem}.popup-details{animation:slideDown .2s ease;background:#0f3460;border-radius:8px;margin:.75rem 0;padding:.75rem}.theme-explanation{color:#ccd6f6;font-size:.9rem;line-height:1.5;margin:0 0 .75rem}.theme-explanation strong{color:#64ffda}.rating-section-compact{align-items:center;border-top:1px solid #16213e;display:flex;gap:.5rem;padding-top:.5rem}.rating-label{font-size:.85rem;white-space:nowrap}.star-rating-compact{display:flex;gap:.25rem}.star-btn-compact{background:none;border:none;cursor:pointer;font-size:1.1rem;padding:0;transition:transform .2s}.star-btn-compact:hover{transform:scale(1.15)}.star-active{filter:drop-shadow(0 0 4px rgba(255,215,0,.6))}.popup-actions{display:flex;gap:.5rem;margin-top:.75rem}.popup-btn{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:600;padding:.6rem .75rem;transition:all .2s;white-space:nowrap}.popup-btn-secondary{background:#0f3460;color:#e0e0e0}.popup-btn-secondary:hover{background:#1a2d4d;transform:translateY(-1px)}.popup-btn-info{background:#5a6785;color:#e0e0e0;flex:0.5 1}.popup-btn-info:hover{background:#6a7795;transform:translateY(-1px)}.popup-btn-primary{background:linear-gradient(135deg,#64ffda,#3498db);color:#16213e}.popup-btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px)}@media (max-width:768px){.analysis-popup{animation:slideInUp .3s ease;border-radius:12px 12px 0 0;bottom:0;left:0;max-width:100%;right:0}@keyframes slideInUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.popup-actions{flex-wrap:wrap}}.solver{align-items:center;gap:1rem;margin:0 auto;max-width:600px}.solver,.solver-info{display:flex;flex-direction:column;width:100%}.solver-info{gap:.5rem}.solver-meta{align-items:center;display:flex;font-size:.85rem;gap:1rem}.meta-rating{background:#0f3460;border-radius:4px;color:#e94560;font-size:.85rem;font-weight:700;padding:.25rem .6rem}.meta-themes{color:#8892b0;font-size:.8rem}.meta-timer{color:#64ffda;font-family:Courier New,monospace;font-size:.85rem;font-weight:600;margin-left:auto}.solver-puzzle-stats{color:#5a6785;display:flex;font-size:.75rem;gap:1rem}.solver-board{border-radius:4px;box-shadow:0 4px 20px #0000004d;display:flex;justify-content:center;overflow:hidden}.solver-feedback{animation:fadeIn .2s ease;border-radius:6px;box-shadow:0 2px 8px #0003;font-size:1rem;font-weight:600;padding:.75rem 1rem;text-align:center;width:100%}.solver-feedback.prompt{background:#262523;border:1px solid #3c3b39;color:#c3c2c1}.solver-feedback.correct,.solver-feedback.success{background:#81b64c;border:1px solid #537a2d;color:#fff}.solver-feedback.error{background:#e74c3c;border:1px solid #c0392b;color:#fff}.solver-feedback.hint{background:#e9a820;border:1px solid #b38016;color:#fff}.solver-moves{align-items:center;background:#16213e;border-radius:4px;color:#ccd6f6;display:flex;flex-wrap:wrap;font-family:Courier New,monospace;font-size:.85rem;gap:.35rem;min-height:2rem;padding:.5rem .75rem;width:100%}.move-notation{border-radius:4px;cursor:pointer;display:inline-flex;gap:.2rem;padding:.2rem .4rem;transition:background-color .2s}.move-notation:hover{background-color:#233554}.move-notation.active{background-color:#3498db;color:#fff}.move-notation.active .move-number{color:#e0e0e0}.move-number{color:#5a6785}.theme-selector{display:flex;gap:.5rem;justify-content:center;margin-top:-.5rem;width:100%}.theme-btn{border:2px solid #0000;border-left-width:12px;border-radius:50%;cursor:pointer;height:24px;transition:transform .2s,box-shadow .2s;width:24px}.theme-btn.active,.theme-btn:hover{transform:scale(1.1)}.theme-btn.active{box-shadow:0 0 0 2px #64ffda}.solver-actions{display:flex;gap:.75rem;width:100%}.btn-solver{-webkit-tap-highlight-color:transparent;border:2px solid #0000;border-radius:8px;box-shadow:0 2px 8px #0000004d;cursor:pointer;flex:1 1;font-size:1rem;font-weight:700;letter-spacing:.05em;min-height:52px;padding:.8rem 1rem;position:relative;text-transform:uppercase;transition:all .15s ease}.btn-solver:active:not(:disabled){box-shadow:0 1px 4px #0003;transform:translateY(2px) scale(.98)}.btn-solver:disabled{cursor:not-allowed;opacity:.3}.btn-solver:hover:not(:disabled){box-shadow:0 4px 12px #0006;transform:translateY(-1px)}.btn-retry{background:#3c3b39;border-color:#555;color:#e0e0e0}.btn-retry:hover:not(:disabled){background:#4d4c4a;border-color:#666}.btn-hint{background:#e9a820;border-color:#f5b938;color:#fff}.btn-hint:hover:not(:disabled){background:#f5b938;border-color:#ffc952}.btn-theme{background:#3498db;border-color:#5dade2;color:#fff}.btn-theme:hover:not(:disabled){background:#5dade2;border-color:#7fc1ed}.btn-next{background:#81b64c;border-color:#95c465;color:#fff}.btn-next:hover:not(:disabled){background:#95c465;border-color:#a8d07a}.swipe-indicator{animation:swipeFade .5s ease;background:#16213ef2;border-radius:8px;box-shadow:0 4px 20px #0006;color:#64ffda;font-size:1.1rem;font-weight:700;padding:1rem 1.5rem;pointer-events:none;position:fixed;top:50%;transform:translateY(-50%);z-index:2000}.swipe-hint{animation:swipeFromLeft .5s ease;left:1rem}.swipe-next{animation:swipeFromRight .5s ease;right:1rem}@keyframes swipeFromLeft{0%{left:-100%;opacity:0}50%{opacity:1}to{left:1rem;opacity:0}}@keyframes swipeFromRight{0%{opacity:0;right:-100%}50%{opacity:1}to{opacity:0;right:1rem}}@keyframes swipeFade{0%{opacity:0}50%{opacity:1}to{opacity:0}}@media (max-width:480px){.solver{gap:.75rem}.solver-meta{flex-wrap:wrap;font-size:.8rem;gap:.5rem}.solver-puzzle-stats{font-size:.7rem;gap:.75rem}.btn-solver{border-width:2px;font-size:1.05rem;min-height:58px;padding:1rem}.btn-solver:active:not(:disabled){transform:scale(.95)}.solver-board{touch-action:none;-webkit-user-select:none;user-select:none}.theme-btn{border-left-width:16px;height:32px;width:32px}.solver-feedback{font-size:1.05rem;padding:.85rem 1rem}}.session-tracker{align-items:center;background:#0f3460;border-bottom:1px solid #16213e;display:flex;font-size:.85rem;gap:1.5rem;padding:.75rem 1.5rem}.session-daily-goal{align-items:center;display:flex;flex:1 1;gap:.5rem;max-width:300px}.goal-text{color:#8892b0;font-size:.85rem;white-space:nowrap}.goal-text strong{color:#64ffda;font-weight:700}.goal-progress-bar{background:#16213e;border-radius:3px;flex:1 1;height:6px;min-width:60px;overflow:hidden}.goal-progress-fill{background:linear-gradient(90deg,#64ffda,#3498db);border-radius:3px;height:100%;transition:width .3s ease}.session-stats{align-items:center;display:flex;flex:1 1;gap:1rem;justify-content:center}.session-stat{color:#8892b0}.end-session-btn,.session-stat{font-size:.85rem;white-space:nowrap}.end-session-btn{background:#1a1a2e;border:1px solid #16213e;border-radius:4px;color:#e0e0e0;cursor:pointer;padding:.5rem 1rem;transition:all .2s}.end-session-btn:hover{background:#16213e;border-color:#64ffda;color:#64ffda}.session-summary-overlay{align-items:center;animation:fadeIn .2s ease;background:#000000d9;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.session-summary-modal{animation:slideUp .3s ease;background:#16213e;border-radius:12px;box-shadow:0 10px 40px #00000080;max-width:600px;padding:2rem;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.session-summary-modal h2{color:#e0e0e0;font-size:1.5rem;margin:0 0 1.5rem;text-align:center}.summary-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:1.5rem}.summary-stat-card{background:#0f3460;border:1px solid #1a1a2e;border-radius:8px;padding:1rem;text-align:center}.summary-stat-value{color:#64ffda;font-size:2rem;font-weight:700;margin-bottom:.5rem}.summary-stat-label{color:#8892b0;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase}.summary-achievement{background:linear-gradient(135deg,#81b64c,#64ffda);border-radius:8px;color:#fff;font-size:1.1rem;font-weight:600;margin-bottom:1.5rem;padding:1rem;text-align:center}.summary-actions{display:flex;gap:1rem;justify-content:center}.summary-btn{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.summary-btn-primary{background:#64ffda;color:#1a1a2e}.summary-btn-primary:hover{background:#7fffea;box-shadow:0 4px 12px #64ffda4d;transform:translateY(-2px)}@media (max-width:768px){.session-tracker{flex-wrap:wrap;gap:1rem;padding:.75rem 1rem}.session-daily-goal{max-width:100%;order:1}.session-stats{flex-wrap:wrap;gap:.75rem;justify-content:flex-start;order:3;width:100%}.end-session-btn{margin-left:auto;order:2}.session-stat{font-size:.8rem}.summary-stats{grid-template-columns:repeat(2,1fr)}}.training-mode-selector{position:relative}.mode-selector-trigger{align-items:center;background:#0f3460;border:1px solid #16213e;border-radius:6px;color:#e0e0e0;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.6rem 1rem;transition:all .2s}.mode-selector-trigger:hover{background:#16213e;border-color:#64ffda}.current-mode{white-space:nowrap}.dropdown-arrow{color:#64ffda;font-size:.75rem}.mode-selector-overlay{bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}.mode-selector-dropdown{animation:slideDown .2s ease;background:#16213e;border:1px solid #64ffda;border-radius:8px;box-shadow:0 8px 24px #0006;left:0;max-height:70vh;min-width:350px;overflow-y:auto;position:absolute;top:calc(100% + .5rem);z-index:1000}.mode-group{border-bottom:1px solid #0f3460}.mode-group:last-child{border-bottom:none}.mode-option{background:none;border:none;color:#e0e0e0;cursor:pointer;padding:1rem;text-align:left;transition:background .2s;width:100%}.mode-option:hover:not(.disabled){background:#0f3460}.mode-option.active{background:#0f3460;border-left:3px solid #64ffda}.mode-option.disabled{cursor:not-allowed;opacity:.4}.mode-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.25rem}.mode-name{color:#e0e0e0;font-size:.95rem;font-weight:600}.active-badge{color:#64ffda;font-size:.9rem}.mode-description{color:#8892b0;display:block;font-size:.85rem}.mode-config{background:#0f3460;border-top:1px solid #16213e;padding:1rem}.mode-config label{color:#8892b0;display:block;font-size:.85rem;font-weight:600;margin-bottom:.5rem}.mode-config select{background:#16213e;border:1px solid #5a6785;border-radius:4px;color:#e0e0e0;font-size:.9rem;margin-bottom:.75rem;padding:.5rem;width:100%}.mode-config select:focus{border-color:#64ffda;outline:none}.range-inputs{align-items:center;display:flex;gap:.5rem;margin-bottom:.75rem}.range-inputs input{background:#16213e;border:1px solid #5a6785;border-radius:4px;color:#e0e0e0;flex:1 1;font-size:.9rem;padding:.5rem;text-align:center}.range-inputs input:focus{border-color:#64ffda;outline:none}.range-inputs span{color:#8892b0;font-size:.85rem}.start-mode-btn{background:linear-gradient(135deg,#64ffda,#3498db);border:none;border-radius:6px;color:#16213e;cursor:pointer;font-size:.9rem;font-weight:700;padding:.6rem;transition:all .2s;width:100%}.start-mode-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}@media (max-width:768px){.mode-selector-dropdown{left:auto;min-width:300px;right:0}}.streak-calendar{background:#16213e;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.streak-calendar.loading{align-items:center;color:#8892b0;display:flex;justify-content:center;min-height:200px}.streak-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.streak-header h3{color:#64ffda;font-size:1rem;font-weight:600;letter-spacing:.05em;margin:0;text-transform:uppercase}.streak-stats{display:flex;gap:1.5rem}.streak-current,.streak-longest{align-items:center;display:flex;flex-direction:column;gap:.25rem}.streak-label{color:#8892b0;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.streak-value{color:#64ffda;font-size:1.5rem;font-weight:700}.calendar-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(32px,1fr));margin-bottom:1rem}.calendar-day{align-items:center;aspect-ratio:1;background:#0f3460;border-radius:4px;color:#5a6785;cursor:default;display:flex;font-size:.75rem;justify-content:center;position:relative;transition:all .2s}.calendar-day.active{background:#64ffda;color:#16213e;font-weight:600}.calendar-day.today{border:2px solid #64ffda}.calendar-day.today:not(.active){background:#1a2d4d;color:#64ffda}.day-number{font-size:.7rem}.calendar-legend{color:#8892b0;display:flex;font-size:.8rem;gap:1rem}.legend-item{align-items:center;display:flex;gap:.5rem}.legend-box{background:#0f3460;border-radius:3px;height:16px;width:16px}.legend-box.active{background:#64ffda}@media (max-width:768px){.streak-calendar{padding:1rem}.calendar-grid{gap:.4rem;grid-template-columns:repeat(auto-fill,minmax(28px,1fr))}.calendar-day{font-size:.7rem}.streak-stats{gap:1rem}}.performance-insights{margin:0 auto;max-width:1200px;padding:2rem 1rem;width:100%}.performance-insights.loading{align-items:center;color:#8892b0;display:flex;justify-content:center;min-height:400px}.insights-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.insight-card{background:#16213e;border-left:3px solid;border-radius:8px;padding:1.25rem;transition:transform .2s}.insight-card:hover{transform:translateY(-2px)}.insight-weakness{border-left-color:#e94560}.insight-progress,.insight-weakness{background:linear-gradient(135deg,#16213e,#1a1a2e)}.insight-progress{border-left-color:#64ffda}.insight-streak{background:linear-gradient(135deg,#16213e,#1a1a2e);border-left-color:#f5b938}.insight-header{color:#8892b0;font-size:.8rem;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.insight-message{color:#e0e0e0;font-size:1.1rem;font-weight:600}.rating-section,.session-history-section,.theme-performance-section{background:#16213e;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.performance-insights h3{color:#64ffda;font-size:1rem;font-weight:600;letter-spacing:.05em;margin:0 0 1.5rem;text-transform:uppercase}.theme-list{display:flex;flex-direction:column;gap:1rem}.theme-item{grid-gap:1rem;align-items:center;background:#0f3460;border-radius:6px;display:grid;gap:1rem;grid-template-columns:1fr auto auto;padding:.75rem;transition:background .2s}.theme-item:hover{background:#1a2d4d}.theme-info{display:flex;flex-direction:column;gap:.25rem}.theme-name{color:#e0e0e0;font-size:.95rem;font-weight:500}.theme-stats{color:#8892b0;font-size:.8rem}.theme-bar{background:#0f3460;border-radius:3px;flex:1 1;height:6px;min-width:100px;overflow:hidden}.theme-bar-fill{border-radius:3px;height:100%;transition:width .3s ease}.theme-accuracy{font-size:.9rem;font-weight:600;min-width:45px;text-align:right}.rating-info{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.rating-change,.rating-current{background:#0f3460;border-radius:8px;display:flex;flex-direction:column;gap:.5rem;padding:1rem}.rating-label{color:#8892b0;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase}.rating-value{color:#64ffda;font-size:2rem;font-weight:700}.session-list{display:flex;flex-direction:column;gap:.75rem}.session-item{grid-gap:1rem;align-items:center;background:#0f3460;border-radius:6px;display:grid;font-size:.9rem;gap:1rem;grid-template-columns:auto 1fr auto auto;padding:.75rem}.session-date{color:#8892b0;font-size:.85rem}.session-puzzles{color:#e0e0e0}.session-accuracy{color:#64ffda;font-weight:600;text-align:right}.session-time{color:#8892b0;font-size:.85rem;text-align:right}.achievements-section{background:#16213e;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.achievements-section h4{color:#8892b0;font-size:.85rem;font-weight:500;letter-spacing:.05em;margin:0 0 1rem;text-transform:uppercase}.achievements-unlocked{margin-bottom:2rem}.achievement-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.achievement-badge{background:#0f3460;border-radius:8px;flex-direction:column;gap:.5rem;padding:1rem;text-align:center;transition:transform .2s}.achievement-badge:hover{transform:translateY(-2px)}.achievement-badge.unlocked{border:1px solid #64ffda}.achievement-icon{align-items:center;background:linear-gradient(135deg,#64ffda,#3498db);border-radius:50%;color:#16213e;display:flex;font-size:1.5rem;font-weight:700;height:48px;justify-content:center;width:48px}.achievement-badge.unlocked .achievement-icon{box-shadow:0 4px 12px #64ffda66}.achievement-name{font-size:.9rem;font-weight:600}.achievement-desc{color:#8892b0;font-size:.75rem}.achievement-list{display:flex;flex-direction:column;gap:.75rem}.achievement-progress-item{background:#0f3460;border-radius:6px;padding:.75rem}.achievement-progress-info{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.achievement-progress-text{color:#8892b0;font-size:.85rem}.achievement-progress-bar{background:#1a2d4d;border-radius:3px;height:6px;overflow:hidden}.achievement-progress-fill{background:linear-gradient(90deg,#64ffda,#3498db);border-radius:3px;height:100%;transition:width .3s ease}@media (max-width:768px){.performance-insights{padding:1rem .5rem}.insights-grid{grid-template-columns:1fr}.achievement-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.theme-item{gap:.75rem;grid-template-columns:1fr auto}.theme-bar{grid-column:1/-1;min-width:100%}.theme-accuracy{grid-column:2;grid-row:1}.rating-info{grid-template-columns:1fr}.session-item{gap:.5rem;grid-template-columns:1fr 1fr}.session-date{grid-column:1/-1}}.achievement-notification{background:linear-gradient(135deg,#16213e,#0f3460);border:1px solid #64ffda;border-radius:12px;box-shadow:0 8px 32px #64ffda4d;cursor:pointer;max-width:400px;min-width:320px;opacity:0;padding:1.25rem;position:fixed;right:1rem;top:5rem;transform:translateX(120%);transition:all .3s cubic-bezier(.68,-.55,.265,1.55);z-index:2000}.achievement-notification.visible{opacity:1;transform:translateX(0)}.achievement-content{align-items:center;display:flex;gap:1rem}.achievement-badge{align-items:center;background:linear-gradient(135deg,#64ffda,#3498db);border-radius:50%;box-shadow:0 4px 12px #64ffda66;color:#16213e;display:flex;flex-shrink:0;font-size:1.5rem;font-weight:700;height:48px;justify-content:center;width:48px}.achievement-details{flex:1 1}.achievement-title{color:#8892b0;font-size:.75rem;letter-spacing:.05em;margin-bottom:.25rem;text-transform:uppercase}.achievement-name{color:#64ffda;font-size:1.1rem;font-weight:700;margin-bottom:.25rem}.achievement-description{color:#ccd6f6;font-size:.85rem}@media (max-width:768px){.achievement-notification{left:.5rem;min-width:auto;right:.5rem}}.opening-selector{margin:0 auto;max-width:900px;padding:2rem 1rem;width:100%}.opening-selector h2{color:#64ffda;font-size:2rem;margin-bottom:.5rem;text-align:center}.selector-subtitle{color:#8892b0;font-size:1rem;margin-bottom:2rem;text-align:center}.selector-options{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:2rem}.selector-card{align-items:center;background:#16213e;border:2px solid #0f3460;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:1rem;padding:2rem;position:relative;text-align:center;transition:all .3s}.selector-card:hover{border-color:#64ffda;box-shadow:0 8px 24px #64ffda33;transform:translateY(-4px)}.card-icon{font-size:3rem}.selector-card h3{color:#e0e0e0;font-size:1.3rem;margin:0}.selector-card p{color:#8892b0;font-size:.95rem;line-height:1.5;margin:0}.card-badge{background:#64ffda;border-radius:12px;color:#16213e;font-size:.8rem;font-weight:700;padding:.25rem .6rem;position:absolute;right:1rem;top:1rem}.color-card .card-icon{font-size:4rem}.repertoire-list{gap:1rem;margin-bottom:2rem}.repertoire-item,.repertoire-list{display:flex;flex-direction:column}.repertoire-item{background:#16213e;border:2px solid #0f3460;border-radius:8px;cursor:pointer;gap:.75rem;padding:1.25rem;text-align:left;transition:all .2s}.repertoire-item:hover{border-color:#64ffda;transform:translateX(4px)}.opening-header{align-items:center;display:flex;gap:.75rem}.opening-header h4{color:#e0e0e0;font-size:1.1rem;margin:0}.opening-meta{align-items:center;color:#8892b0;display:flex;font-size:.85rem;gap:.5rem}.divider{color:#5a6785}.accuracy{font-weight:600}.accuracy.good{color:#81b64c}.accuracy.needs-work{color:#e9a820}.selector-actions{align-items:center;display:flex;flex-direction:column;gap:1rem}.back-button,.back-to-puzzles,.btn-secondary{border:none;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:600;padding:.8rem 1.5rem;transition:all .2s}.back-button,.back-to-puzzles{background:#0f3460;border:1px solid #3498db;color:#e0e0e0}.back-button:hover,.back-to-puzzles:hover{background:#1a2d4d;transform:translateY(-1px)}.btn-secondary{background:#64ffda;color:#16213e}.btn-secondary:hover{background:#7ffff0;transform:translateY(-1px)}@media (max-width:768px){.opening-selector{padding:1rem .5rem}.opening-selector h2{font-size:1.5rem}.selector-options{grid-template-columns:1fr}.selector-card{padding:1.5rem}.card-icon{font-size:2.5rem}.color-card .card-icon{font-size:3rem}}.opening-explorer{margin:0 auto;max-width:1200px;padding:1rem;width:100%}.explorer-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.explorer-header h2{color:#64ffda;font-size:1.5rem;margin:0}.explorer-controls{display:flex;gap:.5rem}.btn-explorer{background:#0f3460;border:none;border-radius:6px;color:#e0e0e0;cursor:pointer;font-size:.9rem;font-weight:600;padding:.6rem 1rem;transition:all .2s}.btn-explorer:hover:not(:disabled){background:#1a2d4d;transform:translateY(-1px)}.btn-explorer:disabled{cursor:not-allowed;opacity:.4}.btn-explorer.btn-primary{background:#64ffda;color:#16213e}.btn-explorer.btn-primary:hover:not(:disabled){background:#7ffff0}.explorer-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr}.explorer-left{display:flex;flex-direction:column;gap:1rem}.explorer-board{border-radius:4px;box-shadow:0 4px 20px #0000004d;overflow:hidden}.opening-info{background:#16213e;border-radius:8px;padding:1rem}.explorer-instructions{align-items:center;background:#0f3460;border-left:3px solid #64ffda;border-radius:6px;color:#8892b0;display:flex;font-size:.85rem;gap:.5rem;margin-bottom:.75rem;padding:.6rem .8rem}.instruction-icon{flex-shrink:0;font-size:1rem}.opening-name{align-items:center;display:flex;gap:.75rem;margin-bottom:.75rem}.eco-code{background:#0f3460;border-radius:4px;color:#64ffda;font-size:.85rem;font-weight:700;padding:.25rem .6rem}.opening-name h3{color:#e0e0e0;font-size:1.1rem;margin:0}.move-history{color:#ccd6f6;display:flex;flex-wrap:wrap;font-family:Courier New,monospace;font-size:.9rem;gap:.3rem;margin-bottom:1rem}.move-item{background:#0f3460;border-radius:4px;padding:.2rem .4rem}.move-num{color:#64ffda;margin-right:.2rem}.training-actions{border-top:1px solid #0f3460;display:flex;flex-direction:column;gap:.75rem;padding-top:.75rem}.btn-toggle-training{align-items:center;background:#16213e;border:1px solid #3498db;border-radius:6px;color:#3498db;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.6rem;text-align:left;transition:all .2s;width:100%}.btn-toggle-training:hover{background:#1a2d4d;border-color:#64ffda;color:#64ffda}.training-options-content{animation:slideDown .2s ease-out;display:flex;flex-direction:column;gap:.75rem;padding-left:.5rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.btn-train{background:#3498db;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:.7rem;transition:all .2s;width:100%}.btn-train:hover{background:#4aa3df;transform:translateY(-1px)}.puzzle-connection{background:#0f3460;border:1px solid #3498db;border-radius:6px;display:flex;flex-direction:column;gap:.5rem;padding:.75rem}.puzzle-badge{color:#8892b0;font-size:.85rem;font-weight:600;text-align:center}.btn-puzzles{background:#3498db;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.6rem;transition:all .2s;width:100%}.btn-puzzles:hover{background:#4aa3df;transform:translateY(-1px)}.explorer-right{background:#16213e;border-radius:8px;display:flex;flex-direction:column;max-height:70vh;padding:1rem}.moves-header{align-items:center;border-bottom:1px solid #0f3460;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.moves-header h4{color:#e0e0e0;font-size:1rem;margin:0}.loader{animation:pulse 1s infinite;color:#64ffda}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.sort-controls{align-items:center;display:flex;gap:.5rem}.sort-controls select{border:1px solid #3498db;border-radius:4px;color:#e0e0e0}.sort-controls select,.stats-toggle{background:#0f3460;cursor:pointer;font-size:.85rem;padding:.4rem .6rem}.stats-toggle{border:1px solid #64ffda;border-radius:4px;color:#64ffda;transition:all .2s}.stats-toggle:hover{background:#64ffda;color:#16213e}.moves-list{grid-gap:.75rem;align-content:start;display:grid;flex:1 1;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));overflow-y:auto}.moves-list::-webkit-scrollbar{width:8px}.moves-list::-webkit-scrollbar-track{background:#0f3460;border-radius:4px}.moves-list::-webkit-scrollbar-thumb{background:#3498db;border-radius:4px}.no-moves{color:#8892b0;font-style:italic;padding:2rem;text-align:center}.move-option{background:#0f3460;border:2px solid #0000;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;padding:1rem;transition:all .2s}.move-option:hover{background:#1a2d4d;border-color:#64ffda;box-shadow:0 4px 12px #0003;transform:translateY(-4px)}.move-notation{align-items:center;display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}.move-san{color:#64ffda;font-family:Courier New,monospace;font-size:1.5rem;font-weight:700}.move-games{background:#ffffff0d;border-radius:4px;color:#8892b0;font-size:.85rem;padding:.2rem .5rem}.move-stats{display:flex;flex-direction:column;gap:.25rem}.stat-bar{border-radius:6px;display:flex;font-size:0;height:12px;margin-bottom:.5rem;overflow:hidden}.bar-white{background:#e0e0e0;transition:width .3s}.bar-draws{background:#8892b0;transition:width .3s}.bar-black{background:#1a1a2e;border:1px solid #ffffff1a;transition:width .3s}.move-stats-labels{display:flex;font-size:.75rem;font-weight:600;justify-content:space-between}.label-white{color:#e0e0e0}.label-black,.label-draws,.popularity{color:#8892b0}.popularity{border-top:1px solid #ffffff0d;font-size:.75rem;margin-top:.5rem;padding-top:.5rem;text-align:center}@media (max-width:968px){.explorer-content{grid-template-columns:1fr}.explorer-right{max-height:50vh}}@media (max-width:480px){.explorer-header{align-items:stretch;flex-direction:column}.explorer-controls{flex-wrap:wrap}.btn-explorer{flex:1 1;min-width:100px}.opening-name{align-items:flex-start;flex-direction:column}}.opening-trainer{display:flex;flex-direction:column;gap:1rem;margin:0 auto;max-width:600px;width:100%}.trainer-header{background:#16213e;border-radius:8px;flex-wrap:wrap;justify-content:space-between;padding:1rem}.opening-info-compact,.trainer-header{align-items:center;display:flex;gap:.75rem}.eco-badge{background:#0f3460;border-radius:4px;color:#64ffda;font-size:.85rem;font-weight:700;padding:.25rem .6rem}.opening-info-compact h3{color:#e0e0e0;font-size:1.1rem;margin:0}.progress-indicator{color:#8892b0;display:flex;font-size:.9rem;gap:1rem}.mastery{color:#64ffda;font-weight:600}.trainer-board{border-radius:4px;box-shadow:0 4px 20px #0000004d;overflow:hidden}.trainer-feedback{animation:slideIn .3s ease;border-radius:6px;font-size:1rem;font-weight:600;padding:.85rem 1rem;text-align:center}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.trainer-feedback.prompt{background:#16213e;border:1px solid #3498db;color:#e0e0e0}.trainer-feedback.correct{background:#81b64c;color:#fff}.trainer-feedback.error{background:#e74c3c;color:#fff}.trainer-feedback.hint{background:#e9a820;color:#fff}.trainer-feedback.success{background:linear-gradient(135deg,#64ffda,#3498db);color:#16213e;font-size:1.1rem}.trainer-actions{display:flex;gap:.5rem}.btn-trainer{background:#0f3460;border:2px solid #3498db;border-radius:6px;color:#e0e0e0;cursor:pointer;flex:1 1;font-size:.95rem;font-weight:700;padding:.8rem;transition:all .2s}.btn-trainer:hover:not(:disabled){background:#1a2d4d;transform:translateY(-1px)}.btn-trainer:disabled{cursor:not-allowed;opacity:.3}.btn-trainer.btn-primary{background:linear-gradient(135deg,#64ffda,#3498db);border-color:#64ffda;color:#16213e}.btn-trainer.btn-primary:hover{filter:brightness(1.1)}@media (max-width:480px){.opening-trainer{padding:.5rem}.trainer-header{align-items:stretch;flex-direction:column}.opening-info-compact{align-items:flex-start;flex-direction:column}.progress-indicator{flex-direction:column;gap:.25rem}.trainer-actions{flex-wrap:wrap}.btn-trainer{min-width:calc(50% - .25rem)}}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;overflow-x:hidden}body{-webkit-font-smoothing:antialiased;background:#1a1a2e;color:#e0e0e0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app{display:flex;flex-direction:column;min-height:100vh}.app-header{background:#16213e;border-bottom:1px solid #0f3460;justify-content:space-between;padding:.75rem 1.5rem}.app-header,.app-header-left{align-items:center;display:flex;gap:1rem}.app-header-left{flex:1 1}.app-title{color:#e0e0e0;font-size:1.1rem;font-weight:700;letter-spacing:.02em}.app-stats{font-feature-settings:"tnum";color:#8892b0;font-size:.8rem;font-variant-numeric:tabular-nums;gap:1.25rem}.app-stats,.insights-toggle{align-items:center;display:flex}.insights-toggle{background:#0f3460;border:1px solid #64ffda;border-radius:50%;color:#64ffda;cursor:pointer;font-size:.9rem;font-weight:700;height:28px;justify-content:center;transition:all .2s;width:28px}.insights-toggle:hover{background:#64ffda;color:#16213e;transform:scale(1.1)}.app-main{display:flex;flex:1 1;justify-content:center;padding:1.5rem 1rem}@media (max-width:768px){.app-header{flex-direction:column;gap:.5rem;padding:.75rem 1rem;text-align:center}.app-header-left{justify-content:space-between;width:100%}.app-title{font-size:1rem}.app-stats{font-size:.75rem;gap:1rem}.app-main{padding:.5rem .25rem}}
/*# sourceMappingURL=main.733dab73.css.map*/