.practice-page{overflow-x:hidden}.practice-header-flex{justify-content:space-between;flex-wrap:wrap;max-width:100%;padding:0 var(--page-pad-x)}.practice-header-flex,.practice-stats-card{display:flex;align-items:center;gap:var(--space-8)}.practice-stats-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--space-6) var(--space-8);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:var(--space-4);margin-bottom:var(--space-8);background:var(--bg-card);padding:var(--space-3);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:var(--space-8)}.practice-group-header{display:flex;align-items:center;justify-content:space-between;padding:0 0 var(--space-4) 0;margin-bottom:var(--space-4);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:var(--space-3)}.problem-card{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);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-title-static{font-size:15px;font-weight:600;color:var(--text-primary);cursor:default}.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)}.concept-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:var(--radius-md);border:1px solid transparent;font-size:13px;font-weight:600;cursor:pointer;transition:all .18s ease;white-space:nowrap;letter-spacing:.01em}.concept-btn-available{background:rgba(245,158,11,.1);color:#F59E0B;border-color:rgba(245,158,11,.3)}button.concept-btn-available:hover{background:rgba(245,158,11,.2);border-color:rgba(245,158,11,.55);transform:translateY(-1px)}.concept-btn-unavailable{background:var(--bg-tertiary);color:var(--text-muted);border-color:var(--border-primary)}button.concept-btn-unavailable:hover{background:var(--bg-card);color:var(--text-secondary);border-color:var(--border-secondary);transform:translateY(-1px)}.concept-btn-upgrade{background:var(--accent-primary-light);color:var(--accent-primary);border-color:var(--border-accent);text-decoration:none}.concept-btn-upgrade:hover{background:var(--accent-primary);color:var(--text-on-primary);border-color:transparent;transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--accent-primary-rgb),.3)}.concept-btn-static{cursor:default}.concept-btn-loading{background:var(--bg-tertiary);color:var(--text-muted);border-color:var(--border-primary);cursor:default;opacity:.7}.concept-btn-text{font-size:13px;font-weight:600}@media (max-width:768px){.concept-btn{padding:7px 10px}.concept-btn-text{display:none}}.yt-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-md);border:1px solid var(--border-primary);background:var(--bg-tertiary);flex-shrink:0;transition:all .18s ease;text-decoration:none;cursor:pointer}.yt-btn-active{color:#FF0000;border-color:rgba(255,0,0,.3);background:rgba(255,0,0,.08)}.yt-btn-active:hover{background:#FF0000;color:#fff;border-color:transparent;transform:translateY(-1px);box-shadow:0 4px 12px rgba(255,0,0,.3)}.yt-btn-add{color:#F59E0B;border-color:rgba(245,158,11,.3);background:rgba(245,158,11,.08)}.yt-btn-add:hover{background:rgba(245,158,11,.18);transform:translateY(-1px)}.yt-btn-disabled{color:var(--text-muted);opacity:.4;cursor:default}@media (max-width:768px){.yt-btn{width:30px;height:30px}}.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:none}.practice-categories-bar{max-width:100%;margin:0 auto;padding:0 var(--page-pad-x);margin-bottom:var(--space-6)}.practice-categories-bar .cat-rail{position:static;height:auto;overflow-y:visible;display:flex;flex-direction:row;align-items:center;gap:8px;padding:var(--space-3) var(--space-4);border-right:none;border:1px solid var(--border-primary);border-radius:var(--radius-lg);background:var(--bg-card);overflow-x:auto}.practice-categories-bar .cat-rail::-webkit-scrollbar{height:0}.practice-categories-bar .cat-rail-heading{display:none}.practice-categories-bar .cat-rail-item{flex-direction:row;width:auto;padding:8px 16px;gap:10px;white-space:nowrap;flex-shrink:0}.practice-categories-bar .cat-rail-icon{width:30px;height:30px;border-radius:8px}.practice-two-col{display:grid;grid-template-columns:minmax(0,1fr) 280px;grid-gap:0;gap:0;align-items:start;width:100%;max-width:100%;margin:0 auto;padding:0 var(--page-pad-x);min-height:calc(100vh - var(--navbar-height) - 200px)}.practice-two-col .dsa-topic-sidebar{position:-webkit-sticky;position:sticky;top:var(--navbar-height);height:calc(100vh - var(--navbar-height));border-right:none;border-left:1px solid var(--border-primary)}@media (max-width:1200px){.practice-two-col{grid-template-columns:minmax(0,1fr) 240px}}@media (max-width:768px){.practice-two-col{grid-template-columns:1fr}.practice-two-col .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:6px;padding:var(--space-6) var(--space-4);border-right:1px solid var(--border-primary);background:var(--bg-primary)}.cat-rail::-webkit-scrollbar{width:0}.cat-rail-heading{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding:0 6px;margin-bottom:10px}.cat-rail-item{display:flex;align-items:center;gap:12px;padding:9px 11px;border-radius:var(--radius-md);border:1px solid transparent;background:transparent;color:var(--text-secondary);font-size:13.5px;font-weight:600;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);width:100%;text-align:left;position:relative}.cat-rail-item:hover:not(:disabled){background:var(--bg-card);color:var(--text-primary);border-color:var(--border-primary)}.cat-rail-item.selected{background:var(--accent-primary-light);color:var(--accent-primary);border-color:var(--border-accent);font-weight:700}.cat-rail-icon{flex-shrink:0;width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);color:var(--text-muted);transition:background var(--transition-fast),color var(--transition-fast)}.cat-rail-item:hover:not(:disabled) .cat-rail-icon{color:var(--text-primary)}.cat-rail-item.selected .cat-rail-icon{background:var(--accent-primary);color:var(--text-on-primary)}.cat-rail-item.coming-soon{opacity:.5;cursor:default}.cat-rail-item.coming-soon:hover{background:transparent;color:var(--text-secondary);border-color:transparent}.cat-rail-item.coming-soon:hover .cat-rail-icon{color:var(--text-muted)}.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:3px 7px;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:3px;padding:var(--space-6) var(--space-4);border-right:1px solid var(--border-primary);background:var(--bg-primary)}.dsa-topic-sidebar::-webkit-scrollbar{width:6px}.dsa-topic-sidebar::-webkit-scrollbar-track{background:transparent}.dsa-topic-sidebar::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:99px}.dsa-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:0 6px 10px;margin-bottom:6px;border-bottom:1px solid var(--border-primary)}.dsa-sidebar-title{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.dsa-topic-item{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:var(--radius-md);border:1px solid transparent;background:transparent;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);width:100%;text-align:left;position:relative}.dsa-topic-item:hover{background:var(--bg-card);color:var(--text-primary);border-color:var(--border-primary)}.dsa-topic-item.active{background:var(--accent-primary-light);color:var(--accent-primary);border-color:var(--border-accent);font-weight:700}.dsa-topic-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:58%;background:var(--accent-primary);border-radius:0 3px 3px 0}#topic-all{flex-direction:row;margin-bottom:4px}#topic-all,.dsa-topic-row{align-items:center;justify-content:space-between;gap:8px}.dsa-topic-row{display:flex}.dsa-topic-name{font-weight:600;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:700;color:var(--text-muted);background:var(--bg-tertiary);padding:2px 8px;border-radius:var(--radius-full);flex-shrink:0;min-width:26px;text-align:center}.dsa-topic-item:hover .dsa-topic-count{background:var(--bg-input)}.dsa-topic-item.active .dsa-topic-count{background:var(--accent-primary);color:var(--text-on-primary)}.dsa-topic-progress-track{height:4px;background:var(--bg-tertiary);border-radius:99px;overflow:hidden;width:100%}.dsa-topic-progress-fill{height:100%;background:var(--accent-primary);border-radius:99px;transition:width .4s var(--ease-standard)}.practice-main-area{padding:var(--space-6) var(--space-8);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}