.practice-header-flex{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:32px}.practice-stats-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:24px 32px;display:flex;align-items:center;gap:32px;box-shadow:var(--shadow-sm);flex-shrink:0}@media (max-width:768px){.practice-stats-card{width:100%;justify-content:space-between}}.stats-ring-wrap{position:relative;width:90px;height:90px;flex-shrink:0}.stats-ring-svg{transform:rotate(-90deg);width:90px;height:90px}.stats-ring-bg{fill:none;stroke:var(--bg-tertiary);stroke-width:8}.stats-ring-progress{fill:none;stroke:var(--accent-primary);stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset .8s cubic-bezier(.4,0,.2,1)}.stats-ring-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}.stats-ring-number{font-size:24px;font-weight:800;color:var(--text-primary)}.stats-ring-label{font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:2px}.stats-breakdown{display:flex;flex-direction:column;gap:12px}.stats-diff-row{display:flex;align-items:center;gap:10px}.stats-diff-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.stats-diff-dot.easy{background:var(--accent-success);box-shadow:0 0 8px rgba(52,211,153,.3)}.stats-diff-dot.medium{background:var(--accent-warning);box-shadow:0 0 8px rgba(251,191,36,.3)}.stats-diff-dot.hard{background:var(--accent-danger);box-shadow:0 0 8px rgba(248,113,113,.3)}.stats-diff-label{font-size:13px;font-weight:500;color:var(--text-secondary);min-width:54px}.stats-diff-fraction{font-size:14px;color:var(--text-primary)}.stats-diff-fraction strong{font-weight:700}.stats-diff-total{font-size:12px;color:var(--text-muted);font-weight:500}.practice-filters-card{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:32px;background:var(--bg-card);padding:12px;border-radius:var(--radius-lg);border:1px solid var(--border-primary);flex-wrap:wrap}.practice-search-wrap{position:relative;flex:1 1;min-width:250px}.practice-search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.practice-search{width:100%;padding:12px 16px 12px 42px!important;background:var(--bg-input)!important;border:1px solid transparent!important;border-radius:var(--radius-md)!important;color:var(--text-primary)!important;font-size:14px!important;transition:all var(--transition-fast)!important}.practice-search:focus{border-color:var(--accent-primary)!important;box-shadow:0 0 0 3px var(--accent-primary-light)!important;outline:none!important}.practice-filter-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.practice-select{padding:10px 36px 10px 16px!important;background-color:var(--bg-input)!important;border:1px solid transparent!important;border-radius:var(--radius-md)!important;color:var(--text-primary)!important;font-size:13px!important;font-weight:500;cursor:pointer;transition:all var(--transition-fast)!important;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23938F99' d='M6 8L1 3h10z'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 14px center!important}.practice-select:hover{border-color:var(--border-primary)!important}.practice-select:focus{outline:none!important;border-color:var(--accent-primary)!important;box-shadow:0 0 0 3px var(--accent-primary-light)!important}.practice-select option{background-color:var(--bg-card);color:var(--text-primary);padding:12px}.filter-pill{display:flex;gap:4px;background:var(--bg-input);border-radius:var(--radius-md);padding:4px}.filter-pill-btn{padding:8px 16px;border-radius:calc(var(--radius-md) - 4px);font-size:13px;font-weight:600;cursor:pointer;border:none;background:transparent;color:var(--text-muted);transition:all var(--transition-fast)}.filter-pill-btn.active{background:var(--bg-card);box-shadow:var(--shadow-sm)}.filter-pill-btn.active,.filter-pill-btn:hover:not(.active){color:var(--text-primary)}.practice-content-area{display:flex;flex-direction:column;gap:32px}.practice-group-header{display:flex;align-items:center;justify-content:space-between;padding:0 0 16px;margin-bottom:16px;border-bottom:1px solid var(--border-primary);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:opacity var(--transition-fast)}.practice-group-header:hover{opacity:.8}.practice-group-header-left{display:flex;align-items:center;gap:12px}.icon-wrap{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border-radius:50%;color:var(--text-muted);transition:all var(--transition-fast)}.icon-wrap.open,.practice-group-header:hover .icon-wrap{background:var(--accent-primary-light);color:var(--accent-primary)}.icon-wrap.open{transform:rotate(90deg)}.practice-group-name{font-size:20px;font-weight:700;color:var(--text-primary)}.practice-group-count{font-size:13px;color:var(--text-muted);font-weight:500;background:var(--bg-card);padding:4px 10px;border-radius:var(--radius-full);border:1px solid var(--border-primary)}.practice-group-progress{display:flex;align-items:center;gap:12px}.practice-group-progress-text{font-size:13px;font-weight:600;color:var(--text-secondary)}.practice-group-progress-bar{width:120px;height:6px;background:var(--bg-tertiary);border-radius:99px;overflow:hidden}.practice-group-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-primary),var(--violet-300));border-radius:99px;transition:width .5s ease}.practice-list{display:flex;flex-direction:column;gap:10px}.problem-card{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-md);transition:all var(--transition-fast)}.problem-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-secondary);background:var(--bg-card-hover)}.problem-card.solved{border-left:4px solid var(--accent-success);background:var(--bg-primary)}.problem-card.solved:hover{border-color:var(--accent-success);background:var(--accent-success-light)}.problem-card-left{display:flex;align-items:center;gap:16px}.checkbox-wrap{position:relative;width:20px;height:20px;cursor:pointer}.practice-checkbox{opacity:0;width:0;height:0;position:absolute}.custom-checkbox{width:20px;height:20px;border-radius:6px;border:2px solid var(--border-secondary);background:transparent;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);color:white}.checkbox-wrap:hover .custom-checkbox{border-color:var(--accent-primary)}.custom-checkbox.checked{background:var(--accent-success);border-color:var(--accent-success)}.problem-card.solved .problem-title{color:var(--text-muted);text-decoration:line-through;-webkit-text-decoration-color:var(--border-primary);text-decoration-color:var(--border-primary)}.problem-title{font-size:15px;font-weight:600;color:var(--text-primary);text-decoration:none;transition:color var(--transition-fast)}.problem-title:hover{color:var(--accent-primary)}.problem-card-right{display:flex;align-items:center;gap:16px}.diff-badge{display:inline-block;padding:4px 12px;border-radius:var(--radius-full);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.diff-badge.easy{background:var(--accent-success-light);color:var(--accent-success)}.diff-badge.medium{background:rgba(251,191,36,.12);color:var(--accent-warning)}.diff-badge.hard{background:rgba(248,113,113,.12);color:var(--accent-danger)}.lc-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:var(--radius-md);background:var(--bg-tertiary);color:var(--text-primary);text-decoration:none;font-size:13px;font-weight:600;transition:all var(--transition-fast)}.lc-btn:hover{background:var(--text-primary);color:var(--bg-primary);transform:translateY(-1px)}.practice-empty{text-align:center;padding:80px 24px;background:var(--bg-card);border-radius:var(--radius-xl);border:1px dashed var(--border-primary)}.empty-icon{color:var(--text-muted);opacity:.3;margin-bottom:20px}.practice-empty h3{font-size:20px;font-weight:700;color:var(--text-primary);margin:0 0 8px}.practice-empty p{margin:0;font-size:15px;color:var(--text-muted)}@media (max-width:768px){.practice-filters-card{flex-direction:column;align-items:stretch}.practice-search-wrap{min-width:100%}.problem-card{flex-direction:column;align-items:flex-start;gap:16px}.problem-card-right{width:100%;justify-content:space-between}.lc-btn-text{display:none}.lc-btn{padding:8px 12px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.practice-group{animation:fadeInUp .4s cubic-bezier(.2,0,0,1) both}.practice-group:first-child{animation-delay:.05s}.practice-group:nth-child(2){animation-delay:.1s}.practice-group:nth-child(3){animation-delay:.15s}.practice-group:nth-child(4){animation-delay:.2s}.practice-group:nth-child(5){animation-delay:.25s}.practice-three-col{display:grid;grid-template-columns:200px 220px 1fr;grid-gap:0;gap:0;align-items:start;min-height:calc(100vh - var(--navbar-height) - 80px)}@media (max-width:1200px){.practice-three-col{grid-template-columns:72px 200px 1fr}.cat-rail-badge,.cat-rail-label{display:none}.cat-rail-item{justify-content:center;padding:12px 8px;gap:0}.cat-rail-heading{display:none}}@media (max-width:768px){.practice-three-col{grid-template-columns:1fr}.cat-rail{display:flex;flex-direction:row;overflow-x:auto;border-right:none;border-bottom:1px solid var(--border-primary);padding:8px 16px;gap:8px;position:-webkit-sticky;position:sticky;top:var(--navbar-height);z-index:10}.cat-rail-heading{display:none}.cat-rail-item{flex-direction:row;min-width:max-content;padding:8px 14px}.dsa-topic-sidebar{display:none}}.cat-rail{position:-webkit-sticky;position:sticky;top:var(--navbar-height);height:calc(100vh - var(--navbar-height));overflow-y:auto;display:flex;flex-direction:column;gap:4px;padding:24px 12px;border-right:1px solid var(--border-primary);background:var(--bg-primary)}.cat-rail::-webkit-scrollbar{width:0}.cat-rail-heading{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);padding:0 8px;margin-bottom:8px}.cat-rail-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-md);border:none;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);width:100%;text-align:left;position:relative}.cat-rail-item:hover:not(:disabled){background:var(--bg-card);color:var(--text-primary)}.cat-rail-item.selected{background:var(--accent-primary-light);font-weight:700}.cat-rail-item.selected,.cat-rail-item.selected .cat-rail-icon{color:var(--accent-primary)}.cat-rail-item.coming-soon{opacity:.45;cursor:default}.cat-rail-item.coming-soon:hover{background:transparent;color:var(--text-secondary)}.cat-rail-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;color:inherit}.cat-rail-label{flex:1 1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cat-rail-badge{font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--bg-tertiary);color:var(--text-muted);padding:2px 6px;border-radius:var(--radius-full);flex-shrink:0}.dsa-topic-sidebar{position:-webkit-sticky;position:sticky;top:var(--navbar-height);height:calc(100vh - var(--navbar-height));overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding:24px 12px;border-right:1px solid var(--border-primary);background:var(--bg-primary)}.dsa-topic-sidebar::-webkit-scrollbar{width:4px}.dsa-topic-sidebar::-webkit-scrollbar-track{background:transparent}.dsa-topic-sidebar::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}.dsa-sidebar-header{padding:0 8px;margin-bottom:12px}.dsa-sidebar-title{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.dsa-topic-item{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border-radius:var(--radius-md);border:none;background:transparent;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all var(--transition-fast);width:100%;text-align:left}.dsa-topic-item:hover{background:var(--bg-card);color:var(--text-primary)}.dsa-topic-item.active{background:var(--accent-primary-light);color:var(--accent-primary);font-weight:700}.dsa-topic-row{display:flex;align-items:center;justify-content:space-between;gap:6px}.dsa-topic-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.dsa-topic-item.active .dsa-topic-name{font-weight:700}.dsa-topic-count{font-size:11px;font-weight:600;color:var(--text-muted);background:var(--bg-tertiary);padding:1px 7px;border-radius:var(--radius-full);flex-shrink:0}.dsa-topic-item.active .dsa-topic-count{background:rgba(var(--accent-primary-rgb,139,92,246),.15);color:var(--accent-primary)}.dsa-topic-progress-track{height:3px;background:var(--bg-tertiary);border-radius:99px;overflow:hidden;width:100%}.dsa-topic-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-primary),var(--violet-300,#c4b5fd));border-radius:99px;transition:width .4s ease}.practice-main-area{padding:24px 32px;min-width:0}.coming-soon-panel{flex-direction:column;text-align:center;padding:80px 40px;min-height:60vh;gap:20px}.coming-soon-icon,.coming-soon-panel{display:flex;align-items:center;justify-content:center}.coming-soon-icon{width:96px;height:96px;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:24px;color:var(--text-muted);margin-bottom:8px}.coming-soon-title{font-size:28px;font-weight:800;color:var(--text-primary);margin:0}.coming-soon-desc{font-size:16px;color:var(--text-muted);margin:0;max-width:400px;line-height:1.6}.coming-soon-cta{margin-top:12px;padding:12px 28px;background:var(--accent-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:700;cursor:pointer;transition:all var(--transition-fast)}.coming-soon-cta:hover{opacity:.88;transform:translateY(-2px);box-shadow:var(--shadow-md)}.practice-layout,.practice-toc-col{display:none}