.app-container{color:#fff;background-color:#000;flex-direction:row;width:100vw;height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;display:flex;overflow:hidden}.sidebar{background-color:#000;border-right:1px solid #333;flex-direction:column;width:240px;padding:1.5rem 1rem;transition:width .3s;display:flex}.sidebar-logo{align-items:center;gap:12px;padding:0 12px 2rem;display:flex}.logo-text{letter-spacing:2px;text-transform:uppercase;color:#fff;font-size:1.25rem;font-weight:500}.sidebar-nav{flex-direction:column;flex:1;gap:8px;display:flex}.nav-item{color:#888;text-transform:uppercase;letter-spacing:1px;border-radius:0;align-items:center;gap:12px;padding:12px;font-size:.95rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.nav-item:hover{color:#fff;background-color:#111}.nav-item.active{color:#000;background-color:#fff}.sidebar-footer{border-top:1px solid #333;padding-top:1rem}.main-content{flex:1;justify-content:center;padding:0;display:flex;overflow-y:auto}.content-wrapper{flex-direction:column;width:100%;max-width:100%;display:flex}@media (width<=768px){.sidebar{width:70px;padding:1.5rem .5rem}.logo-text,.nav-item span{display:none}.nav-item{justify-content:center}.main-content{padding:0}}.chessboard-container{justify-content:center;align-items:center;width:100%;margin:0 auto;display:flex}.chessboard-frame{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background-color:#2a2d35;border-radius:6px;outline:none;width:100%;max-width:100%;padding:4px;box-shadow:0 10px 30px #0006}.chessboard{aspect-ratio:1;border-radius:4px;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);width:100%;display:grid;position:relative;overflow:hidden}.square{justify-content:center;align-items:center;display:flex;position:relative}.square.light{background-color:#dee3e6}.square.dark{background-color:#8ca2ad}.square.selected{background-color:#7dd3fc99}.square.premove-sq{background-color:#ef444459}.move-hint{z-index:5;background-color:#00000026;border-radius:50%;width:25%;height:25%;position:absolute}.capture-hint{box-sizing:border-box;z-index:5;border:4px solid #00000026;border-radius:50%;width:85%;height:85%;position:absolute}.piece-wrapper{z-index:10;cursor:pointer;touch-action:none;will-change:transform;justify-content:center;align-items:center;width:12.5%;height:12.5%;transition:transform .3s cubic-bezier(.25,1,.5,1);display:flex;position:absolute;top:0;left:0}.piece-img{object-fit:contain;pointer-events:none;width:90%;height:90%}.piece-img.in-check-piece{filter:drop-shadow(0 0 10px #ef4444e6)}.chessboard-container.dragging-active{cursor:none!important}.dragged-piece-ghost{pointer-events:none;z-index:9999;will-change:transform;justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0}.dragged-piece-ghost .piece-img.dragging-shadow{transition:transform .1s;transform:scale(1.1)}.training-page{flex-direction:column;gap:1.5rem;display:flex}.training-header{border-bottom:1px solid #2a2d35;justify-content:space-between;align-items:center;padding-bottom:1rem;display:flex}.training-header h2{border:none;margin:0;padding:0}.rating-badge{color:#f59e0b;background-color:#f59e0b26;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:1rem;font-weight:700;display:flex}.training-content{flex-direction:row;align-items:flex-start;gap:2rem;display:flex}.board-section{flex:1;max-width:600px}.board-skeleton{aspect-ratio:1;color:#8b92a5;background-color:#1a1d24;border:1px solid #2a2d35;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;width:100%;display:flex}.spinner{color:#3b82f6;margin-bottom:1rem;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.info-section{flex-direction:column;gap:1.5rem;width:350px;display:flex}.status-panel{background-color:#1a1d24;border:1px solid #2a2d35;border-radius:12px;flex-direction:column;gap:1rem;padding:2rem;transition:all .3s;display:flex}.status-panel h3{color:#e1e1e6;margin:0;font-size:1.25rem}.status-panel p{color:#8b92a5;margin:0;line-height:1.5}.status-panel.success{background-color:#10b9810d;border-color:#10b98180}.status-panel.success h3{color:#10b981}.status-panel.failed{background-color:#ef44440d;border-color:#ef444480}.status-panel.failed h3{color:#ef4444}.btn-group{gap:1rem;margin-top:1rem;display:flex}.next-btn{justify-content:center;align-items:center;gap:.5rem;margin-top:1rem;display:flex}.btn-primary{color:#fff;cursor:pointer;background-color:#3b82f6;border:none;border-radius:8px;flex:1;padding:.75rem;font-weight:600;transition:background-color .2s}.btn-primary:hover{background-color:#2563eb}.btn-secondary{color:#e1e1e6;cursor:pointer;background-color:#0000;border:1px solid #4b5563;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.75rem;font-weight:600;transition:all .2s;display:flex}.btn-secondary:hover{background-color:#ffffff0d;border-color:#6b7280}.themes-panel{background-color:#1a1d24;border:1px solid #2a2d35;border-radius:12px;padding:1.5rem}.themes-panel h4{color:#8b92a5;text-transform:uppercase;letter-spacing:1px;margin:0 0 1rem;font-size:.9rem}.tags-container{flex-wrap:wrap;gap:.5rem;display:flex}.theme-tag{color:#3b82f6;background-color:#3b82f61a;border:1px solid #3b82f633;border-radius:16px;padding:4px 10px;font-size:.75rem;font-weight:500}@media (width<=1024px){.training-content{flex-direction:column}.info-section{width:100%;max-width:600px}}.explorer-row{cursor:pointer;transition:all .15s}.explorer-row:hover{background-color:#fff!important}.explorer-row:hover .san-text{color:#000!important}.explorer-row:hover .count-text{color:#333!important}.shake-animation{animation:.4s cubic-bezier(.36,.07,.19,.97) both shake}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}.page-header-wrapper{width:100%;margin:0 auto}.page-header{border-bottom:1px solid #1f1f1f;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:15px;display:flex}.page-header-left{align-items:center;gap:15px;display:flex}.page-header-back{color:#fff;cursor:pointer;background:0 0;border:1px solid #fff6;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:all .2s;display:flex}.page-header-back:hover{color:#000;background:#fff;border-color:#fff}.page-header-title{color:#fff;text-transform:uppercase;letter-spacing:2px;border-bottom:none;align-items:center;gap:8px;margin:0;padding:0;font-size:20px;font-weight:500;line-height:1;display:flex}.page-header-icon{color:#a855f7}.page-header-subtitle{color:#666;text-transform:none;letter-spacing:normal;margin-left:10px;font-size:14px}.page-header-right{align-items:center;gap:15px;display:flex}:root{--profile-card-bg:#0a0a0a;--profile-card-border:1px solid #222;--profile-text-muted:#888;--profile-accent:#fff;--profile-danger-red:#ef4444;--profile-bg-darker:#000;--profile-transition:all .2s ease}.profile-page-container{box-sizing:border-box;max-width:800px;min-height:calc(100vh - 4rem);margin:0 auto;padding:1.5rem}.profile-grid{flex-direction:column;gap:1.5rem;margin-top:2rem;display:flex}@media (width<=768px){.profile-grid{gap:1rem;margin-top:1rem}.profile-page-container{padding:1rem}}.profile-column{display:contents}.profile-section-card{background:var(--profile-card-bg);border:var(--profile-card-border);transition:var(--profile-transition);border-radius:12px;padding:2rem;position:relative;overflow:hidden}.profile-section-card:hover{background:#111;border-color:#444}.user-avatar-section{align-items:center;gap:1.25rem;margin-bottom:1.75rem;display:flex}.avatar-ring{background:#333;border-radius:50%;justify-content:center;align-items:center;padding:3px;display:flex}.avatar-placeholder{background-color:var(--profile-bg-darker);color:#fff;text-shadow:0 2px 4px #00000080;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;font-size:1.75rem;font-weight:700;display:flex}.user-meta-info{flex-direction:column;gap:.25rem;display:flex}.user-meta-info h3{color:#fff;letter-spacing:-.025em;margin:0;font-size:1.35rem;font-weight:600}.user-badges{flex-wrap:wrap;gap:6px;margin:2px 0;display:flex}.status-badge{color:#aaa;background-color:#1a1a1a;border:1px solid #333;border-radius:9999px;padding:2px 10px;font-size:.75rem;font-weight:500}.user-email{color:var(--profile-text-muted);font-size:.8rem}.profile-sub-section{margin-top:1.25rem;padding:1.25rem 0 0}.border-top{border-top:1px solid #ffffff0d}.sub-section-title{color:#fff;letter-spacing:.02em;margin:0 0 .75rem;font-size:.95rem;font-weight:600}.sub-section-desc{color:var(--profile-text-muted);margin:0 0 1rem;font-size:.8rem;line-height:1.5}.custom-input,.custom-input-sm{box-sizing:border-box;background-color:var(--profile-bg-darker);color:#fff;width:100%;transition:var(--profile-transition);border:1px solid #ffffff1a;border-radius:8px;outline:none}.custom-input{padding:.75rem 1rem;font-size:.95rem}.custom-input-sm{padding:.55rem .85rem;font-size:.85rem}.custom-input:focus,.custom-input-sm:focus{border-color:#666}.display-name-editor{flex-direction:column;gap:.75rem;display:flex}.editor-actions{gap:8px;display:flex}.display-name-viewer{background:#ffffff05;border:1px solid #ffffff08;border-radius:8px;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.display-name-text{color:var(--profile-accent-purple);font-size:1rem;font-weight:600}.alias-tags-container{flex-wrap:wrap;gap:8px;margin-bottom:1rem;display:flex}.alias-tag{color:#ccc;transition:var(--profile-transition);background:#111;border:1px solid #333;border-radius:99px;align-items:center;gap:6px;padding:4px 12px;font-size:.8rem;display:flex}.alias-tag:hover{background:#222;border-color:#666}.alias-remove-btn{color:#ffffff4d;cursor:pointer;transition:var(--profile-transition);background:0 0;border:none;padding:0;font-size:1rem;line-height:1}.alias-remove-btn:hover{color:var(--profile-danger-red)}.no-data-text{color:#ffffff26;font-size:.8rem;font-style:italic}.alias-input-group{gap:8px;display:flex}.btn-accent-sm,.btn-dim-sm,.btn-outline-sm,.btn-outline-add{cursor:pointer;transition:var(--profile-transition);border:none;border-radius:6px;padding:6px 14px;font-size:.8rem;font-weight:600}.btn-accent-sm{color:#000;background-color:#ccc}.btn-accent-sm:hover{background-color:#fff;box-shadow:0 0 10px #fff3}.btn-dim-sm{color:var(--profile-text-muted);background-color:#ffffff0d}.btn-dim-sm:hover{color:#fff;background-color:#ffffff1a}.btn-outline-sm{color:var(--profile-text-muted);background:0 0;border:1px solid #ffffff1a}.btn-outline-sm:hover{color:#fff;border-color:#ffffff40}.btn-outline-add{color:#ccc;white-space:nowrap;background:0 0;border:1px solid #666}.btn-outline-add:hover{color:#000;background:#eee}.section-title{color:#fff;letter-spacing:-.01em;align-items:center;gap:8px;margin:0 0 1.25rem;font-size:1.15rem;font-weight:600;display:flex}.lichess-status-box{border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem;display:flex}.lichess-status-box.bound{background:#111;border:1px solid #333}.lichess-status-box.unbound{text-align:center;background:#ffffff05;border:1px dashed #ffffff14;flex-direction:column;align-items:stretch}.lichess-info{flex-direction:column;gap:.35rem;display:flex}.lichess-badge{color:#aaa;letter-spacing:.08em;font-size:.65rem;font-weight:700}.lichess-username{color:#fff;font-size:1.1rem;font-weight:600}.lichess-desc{color:var(--profile-text-muted);margin:0;font-size:.8rem}.btn-danger-outline-sm{color:var(--profile-danger-red);cursor:pointer;transition:var(--profile-transition);background:0 0;border:1px solid #f43f5e33;border-radius:6px;padding:6px 14px;font-size:.8rem;font-weight:600}.btn-danger-outline-sm:hover{border-color:var(--profile-danger-red);background:#f43f5e1a}.btn-lichess{color:#000;cursor:pointer;transition:var(--profile-transition);background:#eee;border:none;border-radius:8px;padding:.75rem 1rem;font-weight:600}.btn-lichess:hover{background:#fff;transform:translateY(-1px);box-shadow:0 4px 15px #fff3}.import-pgn-section{margin-top:1.5rem;padding:1.25rem 0 0}.btn-file-label{text-align:center;background-color:var(--profile-bg-darker);color:#fff;cursor:pointer;transition:var(--profile-transition);box-sizing:border-box;border:1px dashed #ffffff26;border-radius:8px;width:100%;padding:.75rem 1.25rem;font-size:.85rem;font-weight:600;display:inline-block}.btn-file-label:hover{border-color:var(--profile-accent-blue);color:var(--profile-accent-blue);background:#3b82f605}.engine-setting-group{flex-direction:column;gap:.75rem;padding:1rem 0;display:flex}.engine-setting-group.border-top{padding-top:1.5rem}.slider-header,.setting-header-simple{justify-content:space-between;align-items:center;display:flex}.setting-label{color:#fff;font-size:.95rem;font-weight:600}.setting-value-badge{color:#ccc;background:#111;border:1px solid #333;border-radius:6px;padding:3px 12px;font-size:1.1rem;font-weight:700}.setting-value-badge.depth{color:#fff;background:#1a1a1a;border:1px solid #444}.custom-range-slider{-webkit-appearance:none;background:var(--profile-bg-darker);border-radius:3px;outline:none;width:100%;height:6px;margin:10px 0}.custom-range-slider::-webkit-slider-thumb{appearance:none;cursor:pointer;width:18px;height:18px;transition:var(--profile-transition);background:#fff;border-radius:50%;box-shadow:0 0 10px #fff6}.custom-range-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.setting-desc{color:var(--profile-text-muted);margin:0;font-size:.78rem;line-height:1.5}.segmented-controls{background-color:var(--profile-bg-darker);border-radius:10px;gap:4px;margin:.5rem 0;padding:4px;display:flex}.segmented-button{color:var(--profile-text-muted);cursor:pointer;transition:var(--profile-transition);background:0 0;border:none;border-radius:8px;flex:1;padding:8px 0;font-size:.85rem;font-weight:600}.segmented-button.active{color:#000;background-color:#eee;box-shadow:0 2px 10px #ffffff1a}.preference-group{flex-direction:column;gap:.75rem;padding:1.25rem 0;display:flex}.preference-group:first-of-type{padding-top:.25rem}.preference-label{color:#fff;font-size:.95rem;font-weight:600}.danger-desc{color:var(--profile-text-muted);margin:0 0 1.25rem;font-size:.8rem;line-height:1.5}.danger-zone-buttons{gap:12px;display:flex}@media (width<=480px){.danger-zone-buttons{flex-direction:column}}.btn-danger-outline,.btn-dim{cursor:pointer;transition:var(--profile-transition);border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:8px;padding:10px;font-size:.9rem;font-weight:600;display:flex}.btn-danger-outline{color:var(--profile-danger-red);background:0 0;border:1px solid #f43f5e4d}.btn-danger-outline:hover{border-color:var(--profile-danger-red);background:#f43f5e14;box-shadow:0 0 12px #f43f5e33}.btn-dim{color:#fff;background:#ffffff0a;border:1px solid #ffffff0d}.btn-dim:hover{background:#ffffff14;border-color:#ffffff26}.auth-page{justify-content:center;align-items:center;min-height:calc(100vh - 6rem);display:flex}.auth-card{background:var(--profile-card-bg);border:var(--profile-card-border);width:100%;max-width:420px;transition:var(--profile-transition);box-sizing:border-box;border-radius:20px;padding:2.25rem;box-shadow:0 20px 50px #00000080}.auth-card:hover{border-color:#ffffff14;box-shadow:0 24px 60px #0009}.auth-subtitle{text-align:center;color:var(--profile-text-muted);margin:.5rem 0 1.75rem;font-size:.88rem}.auth-form{flex-direction:column;gap:1.25rem;display:flex}.input-group{flex-direction:column;gap:.5rem;display:flex}.input-group label{color:#fff;font-size:.85rem;font-weight:600}.input-group input{background-color:var(--profile-bg-darker);color:#fff;transition:var(--profile-transition);border:1px solid #ffffff14;border-radius:8px;outline:none;padding:.75rem 1rem;font-size:.95rem}.input-group input:focus{border-color:#666}.btn-primary{color:#000;cursor:pointer;transition:var(--profile-transition);background:#eee;border:none;border-radius:8px;margin-top:.5rem;padding:.8rem;font-size:1rem;font-weight:600}.btn-primary:hover:not(:disabled){background:#fff;transform:translateY(-1px);box-shadow:0 5px 15px #fff3}.auth-switch{text-align:center;margin-top:1.5rem}.auth-switch span{color:var(--profile-text-muted);cursor:pointer;transition:var(--profile-transition);font-size:.82rem}.auth-switch span:hover{color:#ccc;text-decoration:underline}.error-banner{color:var(--profile-danger-red);background-color:#f43f5e1a;border:1px solid #f43f5e33;border-radius:8px;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.85rem;font-weight:500}*{box-sizing:border-box;margin:0;padding:0}body{color:#fff;background-color:#000;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.page-container{flex-direction:column;gap:1rem;width:100%;padding:2rem;display:flex}h2{color:#fff;text-transform:uppercase;letter-spacing:2px;font-weight:500}.btn-primary{color:#000;text-transform:uppercase;letter-spacing:1px;cursor:pointer;background:#fff;border:none;border-radius:0;padding:10px 20px;font-weight:700;transition:all .2s}.btn-primary:hover:not(:disabled){background:#ccc}.btn-primary:disabled{color:#666;cursor:not-allowed;background:#333}.btn-secondary{color:#fff;text-transform:uppercase;letter-spacing:1px;cursor:pointer;background:0 0;border:1px solid #555;border-radius:0;padding:10px 20px;font-weight:500;transition:all .2s}.btn-secondary:hover:not(:disabled){background:#111;border-color:#fff}.btn-secondary:disabled{color:#666;cursor:not-allowed;border-color:#333}.hidden-scrollbar::-webkit-scrollbar{display:none}.hidden-scrollbar{-ms-overflow-style:none;scrollbar-width:none}
