.layout-header{position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-between;height:var(--header-height);padding:0 var(--spacing-6);background:var(--color-surface);border-bottom:1px solid var(--color-border-light);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-logo{display:flex;align-items:center;gap:var(--spacing-3);text-decoration:none}.header-logo-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--gradient-primary);border-radius:var(--radius-lg);color:var(--color-text-inverse)}.header-logo-text{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-nav{display:flex;align-items:center;gap:var(--spacing-2)}.header-nav-link{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-decoration:none;border-radius:var(--radius-lg);transition:all var(--transition-fast)}.header-nav-link:hover,.header-nav-link.active{color:var(--color-primary);background:var(--color-primary-alpha)}.header-actions{display:flex;align-items:center;gap:var(--spacing-3)}.header-search{position:relative;width:280px}.header-search-input{width:100%;padding:var(--spacing-2) var(--spacing-4);padding-left:40px;font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-full);transition:all var(--transition-fast)}.header-search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-alpha)}.header-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-text-muted);width:18px;height:18px}.theme-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-lg);background:var(--color-background);color:var(--color-text-secondary);transition:all var(--transition-fast);cursor:pointer;border:none}.theme-toggle:hover{background:var(--color-primary-alpha);color:var(--color-primary)}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2);padding-right:var(--spacing-3);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast)}.user-menu-trigger:hover{border-color:var(--color-primary)}.user-avatar{width:32px;height:32px;border-radius:var(--radius-full);background:var(--gradient-secondary);display:flex;align-items:center;justify-content:center;color:var(--color-text-inverse);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm)}.user-avatar img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-full)}.user-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(-10px);transition:all var(--transition-fast);z-index:var(--z-dropdown)}.user-menu:hover .user-dropdown{opacity:1;visibility:visible;transform:translateY(0)}.user-dropdown-item{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-sm);color:var(--color-text-secondary);text-decoration:none;transition:all var(--transition-fast)}.user-dropdown-item:hover{background:var(--color-background);color:var(--color-text-primary)}.user-dropdown-item.danger{color:var(--color-error)}.user-dropdown-divider{height:1px;background:var(--color-border-light);margin:var(--spacing-2) 0}.streak-badge{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);background:var(--color-accent-alpha);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-accent-dark)}.streak-badge svg{width:16px;height:16px}@media (max-width: 768px){.header-search,.header-nav{display:none}.layout-header{padding:0 var(--spacing-4)}}.layout-sidebar{position:sticky;top:var(--header-height);width:var(--sidebar-width);height:calc(100vh - var(--header-height));padding:var(--spacing-6) var(--spacing-4);background:var(--color-surface);border-right:1px solid var(--color-border-light);overflow-y:auto;flex-shrink:0}.sidebar-section{margin-bottom:var(--spacing-8)}.sidebar-section-title{display:flex;align-items:center;gap:var(--spacing-2);margin-bottom:var(--spacing-4);padding:0 var(--spacing-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1px}.sidebar-nav{display:flex;flex-direction:column;gap:var(--spacing-1)}.sidebar-nav-item{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-decoration:none;border-radius:var(--radius-lg);transition:all var(--transition-fast)}.sidebar-nav-item:hover{background:var(--color-background);color:var(--color-text-primary)}.sidebar-nav-item.active{background:var(--color-primary-alpha);color:var(--color-primary)}.sidebar-nav-item svg{width:20px;height:20px;flex-shrink:0}.sidebar-nav-item .badge{margin-left:auto}.sidebar-track-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);flex-shrink:0}.sidebar-track-icon.development{background:var(--color-primary-alpha);color:var(--color-primary)}.sidebar-track-icon.datascience{background:var(--color-secondary-alpha);color:var(--color-secondary-dark)}.sidebar-track-icon.devops{background:var(--color-accent-alpha);color:var(--color-accent-dark)}.sidebar-track-info{flex:1;min-width:0}.sidebar-track-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.sidebar-track-progress{display:flex;align-items:center;gap:var(--spacing-2);margin-top:var(--spacing-1)}.sidebar-track-progress-bar{flex:1;height:4px;background:var(--color-border);border-radius:var(--radius-full);overflow:hidden}.sidebar-track-progress-fill{height:100%;background:var(--color-secondary);border-radius:var(--radius-full);transition:width var(--transition-slow)}.sidebar-track-progress-text{font-size:var(--font-size-xs);color:var(--color-text-muted)}.sidebar-promo{margin-top:auto;padding:var(--spacing-4);background:var(--gradient-hero);border-radius:var(--radius-xl);color:var(--color-text-inverse)}.sidebar-promo-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-2)}.sidebar-promo-text{font-size:var(--font-size-sm);opacity:.9;margin-bottom:var(--spacing-4);line-height:var(--line-height-relaxed)}.sidebar-promo-btn{display:inline-flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);background:#fff3;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-inverse);text-decoration:none;transition:all var(--transition-fast)}.sidebar-promo-btn:hover{background:#ffffff4d}@media (max-width: 768px){.layout-sidebar{display:none}}.home-page{max-width:100%;overflow-x:hidden}.hero{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-16);padding:var(--spacing-16) var(--spacing-8);background:radial-gradient(ellipse at top left,var(--color-primary-alpha) 0%,transparent 50%)}.hero-content{display:flex;flex-direction:column;justify-content:center}.hero-badge{display:inline-flex;align-items:center;gap:var(--spacing-2);width:fit-content;padding:var(--spacing-2) var(--spacing-4);background:var(--gradient-secondary);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-inverse);margin-bottom:var(--spacing-6);animation:pulse 2s infinite}.hero-title{font-size:var(--font-size-5xl);font-weight:var(--font-weight-extrabold);line-height:var(--line-height-tight);color:var(--color-text-primary);margin-bottom:var(--spacing-6)}.hero-title-gradient{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-description{font-size:var(--font-size-lg);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);max-width:500px;margin-bottom:var(--spacing-8)}.hero-actions{display:flex;gap:var(--spacing-4);margin-bottom:var(--spacing-10)}.hero-stats{display:flex;gap:var(--spacing-10)}.hero-stat{display:flex;flex-direction:column}.hero-stat-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-primary)}.hero-stat-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.hero-visual{display:flex;align-items:center;justify-content:center}.hero-code-window{width:100%;max-width:520px;background:var(--color-code-bg);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-xl);transform:perspective(1000px) rotateY(-5deg) rotateX(2deg);transition:transform var(--transition-slow)}.hero-code-window:hover{transform:perspective(1000px) rotateY(-2deg) rotateX(1deg)}.code-window-header{display:flex;align-items:center;gap:var(--spacing-4);padding:var(--spacing-3) var(--spacing-4);background:#2d2d2d;border-bottom:1px solid #3D3D3D}.code-window-dots{display:flex;gap:var(--spacing-2)}.code-window-dots .dot{width:12px;height:12px;border-radius:var(--radius-full)}.dot.red{background:#ff5f56}.dot.yellow{background:#ffbd2e}.dot.green{background:#27ca40}.code-window-title{font-size:var(--font-size-sm);color:gray;font-family:var(--font-mono)}.code-window-content{padding:var(--spacing-6);margin:0;font-family:var(--font-mono);font-size:var(--font-size-sm);line-height:1.8;color:var(--color-code-text);overflow-x:auto}.code-window-content code{color:var(--color-code-text)}.code-window-output{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-4) var(--spacing-6);background:#1a1a1a;border-top:1px solid #3D3D3D}.output-label{font-size:var(--font-size-xs);color:var(--color-secondary);font-family:var(--font-mono)}.output-text{font-size:var(--font-size-sm);color:var(--color-code-text);font-family:var(--font-mono)}.features-section{padding:var(--spacing-20) var(--spacing-8);background:var(--color-surface)}.section-header{text-align:center;margin-bottom:var(--spacing-12)}.section-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-4)}.section-description{font-size:var(--font-size-lg);color:var(--color-text-secondary);max-width:600px;margin:0 auto}.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-6);max-width:1200px;margin:0 auto}.feature-card{padding:var(--spacing-8);background:var(--color-background);border-radius:var(--radius-xl);border:1px solid var(--color-border-light);text-align:center;transition:all var(--transition-normal)}.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-primary)}.feature-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;background:var(--gradient-primary);border-radius:var(--radius-xl);color:var(--color-text-inverse);margin-bottom:var(--spacing-4)}.feature-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-3)}.feature-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.tracks-section{padding:var(--spacing-20) var(--spacing-8);background:var(--color-background)}.tracks-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-6);max-width:1200px;margin:0 auto}.track-card{position:relative;padding:var(--spacing-8);background:var(--track-gradient);border-radius:var(--radius-xl);color:var(--color-text-inverse);text-decoration:none;overflow:hidden;transition:all var(--transition-normal)}.track-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent 0%,rgba(0,0,0,.2) 100%);opacity:0;transition:opacity var(--transition-normal)}.track-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.track-card:hover:before{opacity:1}.track-card-content{position:relative;z-index:1}.track-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-3)}.track-description{font-size:var(--font-size-sm);opacity:.9;line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-6)}.track-meta{display:flex;align-items:center;justify-content:space-between}.track-courses{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--spacing-2) var(--spacing-3);background:#fff3;border-radius:var(--radius-full)}.cta-section{padding:var(--spacing-20) var(--spacing-8);background:var(--gradient-hero);text-align:center}.cta-content{max-width:600px;margin:0 auto}.cta-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-inverse);margin-bottom:var(--spacing-4)}.cta-description{font-size:var(--font-size-lg);color:#ffffffe6;margin-bottom:var(--spacing-8)}@media (max-width: 1024px){.features-grid{grid-template-columns:repeat(2,1fr)}.tracks-grid{grid-template-columns:1fr}}@media (max-width: 768px){.hero{grid-template-columns:1fr;padding:var(--spacing-8) var(--spacing-4);gap:var(--spacing-8)}.hero-title{font-size:var(--font-size-3xl)}.hero-actions{flex-direction:column}.hero-visual{order:-1}.hero-code-window,.hero-code-window:hover{transform:none}.features-grid{grid-template-columns:1fr}.section-title{font-size:var(--font-size-2xl)}}.dashboard-page{display:flex;flex-direction:column;gap:var(--spacing-8)}.dashboard-welcome{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-8);background:var(--gradient-primary);border-radius:var(--radius-xl);color:var(--color-text-inverse)}.welcome-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-2)}.welcome-subtitle{font-size:var(--font-size-base);opacity:.9}.welcome-actions .btn{background:#fff3;border:1px solid rgba(255,255,255,.3)}.welcome-actions .btn:hover{background:#ffffff4d}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-4)}.stat-card{position:relative;display:flex;align-items:flex-start;gap:var(--spacing-4);padding:var(--spacing-6);background:var(--color-surface);border-radius:var(--radius-xl);border:1px solid var(--color-border-light);overflow:hidden;transition:all var(--transition-normal)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px}.stat-card.streak:before{background:var(--color-accent)}.stat-card.points:before{background:var(--color-secondary)}.stat-card.completed:before{background:var(--color-primary)}.stat-card.rank:before{background:#9b59b6}.stat-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-lg);flex-shrink:0}.stat-card.streak .stat-icon{background:var(--color-accent-alpha);color:var(--color-accent)}.stat-card.points .stat-icon{background:var(--color-secondary-alpha);color:var(--color-secondary)}.stat-card.completed .stat-icon{background:var(--color-primary-alpha);color:var(--color-primary)}.stat-card.rank .stat-icon{background:#9b59b61a;color:#9b59b6}.stat-content{display:flex;flex-direction:column}.stat-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.stat-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.stat-badge{position:absolute;top:var(--spacing-4);right:var(--spacing-4);padding:var(--spacing-1) var(--spacing-2);background:var(--color-accent-alpha);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-accent-dark)}.stat-trend{position:absolute;bottom:var(--spacing-4);right:var(--spacing-4);display:flex;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.stat-trend.positive{color:var(--color-success)}.stat-subtext{position:absolute;bottom:var(--spacing-4);right:var(--spacing-4);font-size:var(--font-size-xs);color:var(--color-text-muted)}.dashboard-content{display:grid;grid-template-columns:1.5fr 1fr;gap:var(--spacing-6)}.dashboard-section{background:var(--color-surface);border-radius:var(--radius-xl);border:1px solid var(--color-border-light);padding:var(--spacing-6)}.dashboard-section .section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-6);text-align:left}.dashboard-section .section-title{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.section-link{display:flex;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-primary);text-decoration:none}.section-link:hover{text-decoration:underline}.activity-list{display:flex;flex-direction:column;gap:var(--spacing-3)}.activity-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4);background:var(--color-background);border-radius:var(--radius-lg);text-decoration:none;transition:all var(--transition-fast)}.activity-item:hover{background:var(--color-primary-alpha)}.activity-info{display:flex;flex-direction:column;gap:var(--spacing-1)}.activity-course{font-size:var(--font-size-xs);color:var(--color-text-muted)}.activity-status{display:flex;align-items:center}.activity-complete{display:flex;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-success)}.activity-progress{display:flex;align-items:center;gap:var(--spacing-2)}.activity-progress .progress{width:60px}.activity-progress span{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.activity-start{display:flex;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-primary)}.recommended-grid{display:flex;flex-direction:column;gap:var(--spacing-4)}.recommended-card{padding:var(--spacing-5);background:var(--color-background);border-radius:var(--radius-lg);text-decoration:none;transition:all var(--transition-fast)}.recommended-card:hover{background:var(--color-primary-alpha)}.recommended-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-2)}.recommended-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-4)}.recommended-meta{display:flex;align-items:center;justify-content:space-between}.recommended-exercises{font-size:var(--font-size-xs);color:var(--color-text-muted)}.recommended-action{display:flex;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-primary)}.daily-challenge{background:var(--gradient-secondary);border-radius:var(--radius-xl);padding:var(--spacing-6)}.challenge-content{display:flex;align-items:center;gap:var(--spacing-6)}.challenge-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;background:#fff3;border-radius:var(--radius-lg);color:var(--color-text-inverse);flex-shrink:0}.challenge-info{flex:1}.challenge-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-inverse);margin-bottom:var(--spacing-1)}.challenge-description{font-size:var(--font-size-sm);color:#ffffffe6}.challenge-content .btn{background:#fff3;border:1px solid rgba(255,255,255,.3);flex-shrink:0}.challenge-content .btn:hover{background:#ffffff4d}@media (max-width: 1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-content{grid-template-columns:1fr}}@media (max-width: 768px){.dashboard-welcome{flex-direction:column;text-align:center;gap:var(--spacing-4)}.stats-grid{grid-template-columns:1fr}.challenge-content{flex-direction:column;text-align:center}}.courses-page{display:flex;flex-direction:column;gap:var(--spacing-8)}.courses-header{text-align:center;padding:var(--spacing-8) 0}.courses-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-3)}.courses-subtitle{font-size:var(--font-size-lg);color:var(--color-text-secondary);max-width:600px;margin:0 auto}.courses-filters{display:flex;gap:var(--spacing-4);padding:var(--spacing-4);background:var(--color-surface);border-radius:var(--radius-xl);border:1px solid var(--color-border-light)}.search-box{position:relative;flex:1}.search-icon{position:absolute;left:var(--spacing-4);top:50%;transform:translateY(-50%);color:var(--color-text-muted)}.search-input{width:100%;padding:var(--spacing-3) var(--spacing-4);padding-left:44px;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--font-size-sm);color:var(--color-text-primary);transition:all var(--transition-fast)}.search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-alpha)}.filter-group{display:flex;align-items:center;gap:var(--spacing-2)}.filter-group svg{color:var(--color-text-muted)}.filter-select{padding:var(--spacing-3) var(--spacing-4);padding-right:var(--spacing-8);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235A6169' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.filter-select:focus{outline:none;border-color:var(--color-primary)}.courses-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-6)}.course-card{position:relative;display:flex;flex-direction:column;background:var(--color-surface);border-radius:var(--radius-xl);border:1px solid var(--color-border-light);overflow:hidden;transition:all var(--transition-normal)}.course-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.course-card.locked{opacity:.7}.course-card.locked:hover{transform:none}.course-lock-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-2);background:#000000b3;color:var(--color-text-inverse);z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.course-lock-overlay span{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.course-thumbnail{height:120px;display:flex;align-items:center;justify-content:center;background:var(--gradient-primary)}.course-emoji{font-size:48px}.course-content{display:flex;flex-direction:column;gap:var(--spacing-4);padding:var(--spacing-6);flex:1}.course-meta{display:flex;align-items:center;gap:var(--spacing-3)}.course-track{display:flex;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-xs);color:var(--color-text-muted)}.course-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.course-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-stats{display:flex;gap:var(--spacing-4);flex-wrap:wrap}.course-stat{display:flex;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-xs);color:var(--color-text-muted)}.course-progress-section{display:flex;flex-direction:column;gap:var(--spacing-2)}.course-progress-text{display:flex;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-secondary)}.course-btn{margin-top:auto;width:100%;justify-content:center}.no-results{text-align:center;padding:var(--spacing-16);color:var(--color-text-secondary)}.no-results p{margin-bottom:var(--spacing-4)}@media (max-width: 1024px){.courses-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.courses-filters{flex-direction:column}.courses-grid{grid-template-columns:1fr}}.course-detail-page{padding:var(--spacing-lg);max-width:1000px;margin:0 auto}.course-not-found{text-align:center;padding:var(--spacing-3xl) var(--spacing-lg)}.course-not-found h2{margin-bottom:var(--spacing-lg);color:var(--color-text-secondary)}.course-detail-header{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--spacing-xl);margin-bottom:var(--spacing-xl);border:1px solid var(--color-border)}.back-link{display:inline-flex;align-items:center;gap:var(--spacing-xs);color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-lg);transition:color var(--transition-fast)}.back-link:hover{color:var(--color-primary)}.course-detail-info{display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.course-emoji-large{font-size:4rem;line-height:1}.course-detail-text{flex:1}.course-detail-meta{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.course-detail-stat{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.course-detail-title{font-size:var(--font-size-2xl);font-weight:700;margin-bottom:var(--spacing-sm)}.course-detail-description{color:var(--color-text-secondary);line-height:1.6}.course-progress-overview{display:flex;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-md);background:var(--color-bg);border-radius:var(--radius-lg)}.progress-ring{width:64px;height:64px;border-radius:50%;background:conic-gradient(var(--color-primary) calc(var(--progress, 0) * 3.6deg),var(--color-border) 0deg);display:flex;align-items:center;justify-content:center;position:relative}.progress-ring:before{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;background:var(--color-surface);border-radius:50%}.progress-value{position:relative;font-size:var(--font-size-sm);font-weight:700;color:var(--color-primary)}.progress-details{display:flex;flex-direction:column;gap:var(--spacing-xs)}.progress-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.progress-exercises{font-weight:600}.exercises-section{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--spacing-xl);border:1px solid var(--color-border)}.exercises-section-title{font-size:var(--font-size-lg);font-weight:700;margin-bottom:var(--spacing-lg)}.no-exercises{text-align:center;padding:var(--spacing-3xl);color:var(--color-text-secondary)}.no-exercises svg{margin-bottom:var(--spacing-md);opacity:.5}.no-exercises h3{margin-bottom:var(--spacing-sm)}.exercises-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.exercise-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg);border-radius:var(--radius-lg);border:1px solid var(--color-border);transition:all var(--transition-fast)}.exercise-item:hover:not(.locked){border-color:var(--color-primary);transform:translate(4px)}.exercise-item.locked{opacity:.6}.exercise-number{width:40px;height:40px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.exercise-item.locked .exercise-number{background:var(--color-border)}.completed-icon{color:var(--color-success);background:transparent}.exercise-number .completed-icon{background:none}.exercise-content{flex:1;min-width:0}.exercise-item-title{font-size:var(--font-size-md);font-weight:600;margin-bottom:var(--spacing-xs)}.exercise-item-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exercise-item-meta{display:flex;align-items:center;gap:var(--spacing-md)}.badge-sm{font-size:var(--font-size-xs);padding:.15rem .5rem}.exercise-points,.exercise-time{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.exercise-points svg{color:var(--color-warning)}.exercise-action{flex-shrink:0}@media (max-width: 768px){.course-detail-info{flex-direction:column;text-align:center}.course-detail-meta{justify-content:center;flex-wrap:wrap}.course-progress-overview{justify-content:center}.exercise-item{flex-wrap:wrap}.exercise-content{width:100%;order:2;margin-top:var(--spacing-sm)}.exercise-action{order:1;margin-left:auto}}.code-viz-v2{background:linear-gradient(180deg,var(--color-surface) 0%,var(--color-background) 100%);border-radius:var(--radius-xl);border:1px solid var(--color-border-light);overflow:hidden}.viz-canvas{padding:var(--spacing-6);min-height:320px;display:flex;flex-direction:column}.viz-title-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-4)}.viz-badge{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);color:#fff;padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.viz-step-counter{font-size:var(--font-size-sm);color:var(--color-text-muted)}.viz-stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.viz-step-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-4)}.viz-elements{display:flex;flex-wrap:wrap;gap:var(--spacing-4);justify-content:center;align-items:center;margin:var(--spacing-6) 0;min-height:120px}.viz-description{font-size:var(--font-size-base);color:var(--color-text-secondary);max-width:400px;line-height:var(--line-height-relaxed)}.viz-stage.fadeIn .viz-element{animation:vizFadeIn .5s ease-out backwards}.viz-stage.slideIn .viz-element{animation:vizSlideIn .5s ease-out backwards}.viz-stage.bounce .viz-element{animation:vizBounce .6s ease-out backwards}.viz-stage.pulse .viz-element{animation:vizPulse .8s ease-out backwards}.viz-stage.flow .viz-element{animation:vizFlow .6s ease-out backwards}@keyframes vizFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes vizSlideIn{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes vizBounce{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes vizPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05);box-shadow:0 0 20px #9b59b666}}@keyframes vizFlow{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.memory-box{background:var(--color-surface);border:3px solid #3498db;border-radius:var(--radius-lg);min-width:120px;overflow:hidden;box-shadow:0 4px 15px #0000001a}.memory-label{background:#3498db;color:#fff;padding:var(--spacing-2) var(--spacing-3);font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.memory-value{padding:var(--spacing-3);font-family:var(--font-mono);font-size:var(--font-size-base);color:var(--color-text-primary);background:#fff}.terminal-output{background:#1e1e1e;border-radius:var(--radius-lg);min-width:250px;overflow:hidden;box-shadow:0 4px 20px #0000004d}.terminal-header{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);background:#333}.terminal-dot{width:12px;height:12px;border-radius:50%}.terminal-dot.red{background:#e74c3c}.terminal-dot.yellow{background:#f1c40f}.terminal-dot.green{background:#2ecc71}.terminal-title{color:#888;font-size:var(--font-size-xs);margin-left:auto}.terminal-body{padding:var(--spacing-3);display:flex;align-items:center;gap:var(--spacing-2)}.terminal-prompt{color:#2ecc71;font-family:var(--font-mono)}.terminal-text{color:#fff;font-family:var(--font-mono);animation:terminalType .5s steps(20) forwards}@keyframes terminalType{0%{width:0;opacity:0}to{width:auto;opacity:1}}.flow-arrow{display:flex;align-items:center;gap:var(--spacing-2)}.arrow-from,.arrow-to{background:var(--color-surface);padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-md);border:2px solid var(--color-border);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.arrow-line{display:flex;align-items:center;gap:4px}.arrow-dot{width:6px;height:6px;background:var(--color-primary);border-radius:50%;animation:dotFlow 1s ease-in-out infinite}.arrow-dot:nth-child(2){animation-delay:.2s}.arrow-dot:nth-child(3){animation-delay:.4s}@keyframes dotFlow{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.arrow-head{font-size:24px;color:var(--color-primary);animation:arrowPulse 1s ease-in-out infinite}@keyframes arrowPulse{0%,to{transform:translate(0)}50%{transform:translate(5px)}}.loop-container{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-3)}.loop-circle{width:80px;height:80px;border:4px solid #e74c3c;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;animation:loopRotate 3s linear infinite}.loop-arrow-circle{position:absolute;top:-8px;left:50%;transform:translate(-50%);width:16px;height:16px;background:#e74c3c;border-radius:50%}.loop-icon{font-size:28px;animation:loopIconPulse 1s ease-in-out infinite}@keyframes loopRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes loopIconPulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.loop-info{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-1)}.loop-var{font-family:var(--font-mono);font-weight:var(--font-weight-bold);color:#e74c3c}.loop-in{font-size:var(--font-size-xs);color:var(--color-text-muted)}.loop-source{font-family:var(--font-mono);color:var(--color-text-primary)}.condition-container{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-3)}.condition-diamond{width:60px;height:60px;background:#f1c40f;transform:rotate(45deg);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px #f1c40f66}.condition-diamond span{transform:rotate(-45deg);font-size:24px;font-weight:700;color:#fff}.condition-text{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-primary);max-width:200px}.condition-branches{display:flex;gap:var(--spacing-8);margin-top:var(--spacing-2)}.branch{display:flex;flex-direction:column;align-items:center}.branch-label{padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.branch-yes .branch-label{background:#2ecc7133;color:#2ecc71}.branch-no .branch-label{background:#e74c3c33;color:#e74c3c}.branch-line{width:2px;height:20px;margin-top:var(--spacing-1)}.branch-yes .branch-line{background:#2ecc71}.branch-no .branch-line{background:#e74c3c}.function-container{display:flex;justify-content:center}.function-box{background:var(--color-surface);border:2px solid #9b59b6;border-radius:var(--radius-xl);overflow:hidden;min-width:180px;box-shadow:0 4px 15px #9b59b633}.function-header{background:#9b59b6;color:#fff;padding:var(--spacing-2) var(--spacing-3);display:flex;align-items:center;gap:var(--spacing-2);font-family:var(--font-mono);font-weight:var(--font-weight-semibold)}.function-body{padding:var(--spacing-3);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-1)}.function-input,.function-output{background:var(--color-background);padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-md);font-size:var(--font-size-xs);width:100%;text-align:center}.function-process{background:linear-gradient(180deg,transparent,rgba(155,89,182,.1),transparent);padding:var(--spacing-2);font-size:var(--font-size-xs);color:var(--color-text-muted)}.function-arrow{color:#9b59b6;font-size:16px;animation:functionArrow 1s ease-in-out infinite}@keyframes functionArrow{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}.list-container{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-3)}.list-label{font-family:var(--font-mono);font-weight:var(--font-weight-bold);color:#9b59b6}.list-boxes{display:flex;gap:2px}.list-item{background:var(--color-surface);border:2px solid #9b59b6;border-radius:var(--radius-md);padding:var(--spacing-2);display:flex;flex-direction:column;align-items:center;min-width:50px;animation:listItemPop .4s ease-out backwards}@keyframes listItemPop{0%{opacity:0;transform:scale(0) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.list-index{font-size:10px;color:var(--color-text-muted);margin-bottom:2px}.list-value{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-primary)}.list-more{display:flex;align-items:center;padding:var(--spacing-2);color:var(--color-text-muted);font-weight:700}.viz-intro{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2)}.intro-icon{font-size:48px;animation:rocketFloat 2s ease-in-out infinite}@keyframes rocketFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.viz-progress{display:flex;justify-content:center;gap:var(--spacing-2);margin-top:var(--spacing-4)}.progress-dot{width:10px;height:10px;border-radius:50%;border:2px solid var(--color-border);background:transparent;cursor:pointer;transition:all var(--transition-fast)}.progress-dot:hover{border-color:var(--color-primary)}.progress-dot.active{background:var(--color-primary);border-color:var(--color-primary);transform:scale(1.2)}.progress-dot.done{background:var(--color-success);border-color:var(--color-success)}.viz-controls-v2{display:flex;justify-content:center;align-items:center;gap:var(--spacing-3);padding:var(--spacing-4);background:var(--color-background);border-top:1px solid var(--color-border-light)}.viz-controls-v2 .viz-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.viz-controls-v2 .viz-btn:hover:not(:disabled){background:var(--color-primary-alpha);border-color:var(--color-primary);color:var(--color-primary)}.viz-controls-v2 .viz-btn:disabled{opacity:.4;cursor:not-allowed}.viz-controls-v2 .play-btn{width:50px;height:50px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);border:none;color:#fff;box-shadow:0 4px 15px var(--color-primary-alpha)}.viz-controls-v2 .play-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 6px 20px var(--color-primary-alpha)}.viz-empty{padding:var(--spacing-8);text-align:center;color:var(--color-text-muted)}.exercise-page{display:grid;grid-template-columns:400px 1fr;height:calc(100vh - var(--header-height));margin:calc(-1 * var(--spacing-8));overflow:hidden}.exercise-info-panel{display:flex;flex-direction:column;background:var(--color-surface);border-right:1px solid var(--color-border-light);overflow-y:auto}.exercise-header{padding:var(--spacing-6);border-bottom:1px solid var(--color-border-light)}.exercise-breadcrumb{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:var(--spacing-2)}.exercise-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-3)}.exercise-meta{display:flex;align-items:center;gap:var(--spacing-3)}.exercise-meta-item{display:flex;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-xs);color:var(--color-text-muted)}.exercise-instructions{flex:1;padding:var(--spacing-6);overflow-y:auto}.instructions-content{font-size:var(--font-size-base);color:var(--color-text-primary);line-height:var(--line-height-relaxed)}.instructions-content pre{white-space:pre-wrap;word-wrap:break-word;font-family:var(--font-sans);color:var(--color-text-primary)}.instructions-content code{background:var(--color-background);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--font-size-xs)}.instructions-content strong,.instructions-content b{color:var(--color-primary);font-weight:var(--font-weight-bold)}.instructions-content .task-label{display:inline-block;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));color:#fff;padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm);font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-2)}.exercise-hints{padding:var(--spacing-4) var(--spacing-6);border-top:1px solid var(--color-border-light)}.hints-toggle{display:flex;align-items:center;gap:var(--spacing-2);width:100%;padding:var(--spacing-3);background:var(--color-accent-alpha);color:var(--color-accent-dark);border:none;border-radius:var(--radius-lg);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-fast)}.hints-toggle:hover{background:var(--color-accent);color:var(--color-text-inverse)}.hints-arrow{margin-left:auto;transition:transform var(--transition-fast)}.hints-arrow.open{transform:rotate(90deg)}.hints-content{margin-top:var(--spacing-3);padding:var(--spacing-4);background:var(--color-background);border-radius:var(--radius-lg)}.hint-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-3)}.solution-toggle{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);margin:var(--spacing-4) var(--spacing-6);padding:var(--spacing-3);background:transparent;color:var(--color-text-muted);border:1px dashed var(--color-border);border-radius:var(--radius-lg);cursor:pointer;font-size:var(--font-size-sm);transition:all var(--transition-fast)}.solution-toggle:hover{border-color:var(--color-primary);color:var(--color-primary)}.solution-toggle.viz-toggle{background:linear-gradient(135deg,var(--color-primary-alpha) 0%,var(--color-accent-alpha) 100%);border:1px solid var(--color-primary);color:var(--color-primary);font-weight:var(--font-weight-medium)}.solution-toggle.viz-toggle:hover{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px var(--color-primary-alpha)}.exercise-visualization{margin:var(--spacing-4) var(--spacing-4);animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.exercise-editor-panel{display:flex;flex-direction:column;background:var(--color-code-bg);overflow:hidden}.editor-toolbar{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-2) var(--spacing-4);background:#2d2d2d;border-bottom:1px solid #3D3D3D}.editor-tabs{display:flex;gap:var(--spacing-1)}.editor-tab{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);background:transparent;color:gray;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.editor-tab.active{background:var(--color-code-bg);color:var(--color-text-inverse)}.editor-actions{display:flex;gap:var(--spacing-2)}.editor-actions .btn{border-radius:var(--radius-md)}.spinner{width:16px;height:16px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite}.editor-container{flex:1;min-height:0}.output-panel{background:#1a1a1a;border-top:1px solid #3D3D3D}.output-header{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:gray;border-bottom:1px solid #3D3D3D}.pyodide-status{display:flex;align-items:center;gap:var(--spacing-1);margin-left:auto;font-size:var(--font-size-xs);color:var(--color-accent);animation:pulse 1.5s infinite}.output-content{padding:var(--spacing-4);min-height:80px;max-height:150px;overflow-y:auto}.output-content pre{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-code-text);white-space:pre-wrap;margin:0}.output-placeholder{font-size:var(--font-size-sm);color:gray}.test-results{border-top:1px solid #3D3D3D}.test-results-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-sm);color:gray}.test-status{display:flex;align-items:center;gap:var(--spacing-1);font-weight:var(--font-weight-medium)}.test-status.passed{color:var(--color-success)}.test-status.failed{color:var(--color-error)}.test-results-list{padding:0 var(--spacing-4) var(--spacing-4);display:flex;flex-direction:column;gap:var(--spacing-2)}.test-result{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.test-result.passed{background:#2ecc711a;color:var(--color-success)}.test-result.failed{background:#e74c3c1a;color:var(--color-error)}.success-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:var(--z-modal);animation:fadeIn var(--transition-normal)}.success-modal{background:var(--color-surface);border-radius:var(--radius-2xl);padding:var(--spacing-12);text-align:center;max-width:400px;animation:scaleIn var(--transition-spring)}.success-icon{font-size:64px;margin-bottom:var(--spacing-4)}.success-modal h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-3)}.success-modal p{font-size:var(--font-size-base);color:var(--color-text-secondary);margin-bottom:var(--spacing-8)}.success-actions{display:flex;justify-content:center}@media (max-width: 1024px){.exercise-page{grid-template-columns:1fr;grid-template-rows:auto 1fr}.exercise-info-panel{max-height:300px;border-right:none;border-bottom:1px solid var(--color-border-light)}}.auth-required-container{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;min-height:100%;padding:var(--spacing-8);background:linear-gradient(135deg,var(--color-background) 0%,var(--color-primary-alpha) 50%,var(--color-background) 100%);animation:gradientShift 8s ease infinite;background-size:200% 200%}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.auth-required-card{text-align:center;background:var(--color-surface);border-radius:var(--radius-2xl);padding:var(--spacing-12);max-width:480px;width:100%;box-shadow:0 4px 6px -1px #0000001a,0 20px 40px -10px #0003;animation:cardSlideUp .6s ease-out;border:1px solid var(--color-border-light)}@keyframes cardSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.auth-required-icon{position:relative;width:120px;height:120px;margin:0 auto var(--spacing-6);display:flex;align-items:center;justify-content:center}.icon-ring{position:absolute;width:100%;height:100%;border:3px solid var(--color-primary);border-radius:50%;opacity:0;animation:ringPulse 2s ease-out infinite}.icon-ring.delay-1{animation-delay:.4s}.icon-ring.delay-2{animation-delay:.8s}@keyframes ringPulse{0%{transform:scale(.5);opacity:.8}to{transform:scale(1.5);opacity:0}}.lock-emoji{font-size:48px;animation:lockBounce 2s ease-in-out infinite;display:block;z-index:1}@keyframes lockBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.auth-required-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-3);animation:fadeInUp .6s ease-out .2s both}.auth-required-text{font-size:var(--font-size-base);color:var(--color-text-secondary);margin-bottom:var(--spacing-6);line-height:var(--line-height-relaxed);animation:fadeInUp .6s ease-out .3s both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.auth-required-features{display:flex;justify-content:center;gap:var(--spacing-6);margin-bottom:var(--spacing-8);flex-wrap:wrap}.feature-item{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-sm);color:var(--color-text-secondary);animation:featurePopIn .5s ease-out both}.feature-item:nth-child(1){animation-delay:.4s}.feature-item:nth-child(2){animation-delay:.5s}.feature-item:nth-child(3){animation-delay:.6s}@keyframes featurePopIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.feature-icon{font-size:28px;background:var(--color-primary-alpha);width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-xl);transition:transform var(--transition-fast)}.feature-item:hover .feature-icon{transform:scale(1.1) rotate(5deg)}.auth-required-btn{width:100%;justify-content:center;padding:var(--spacing-4) var(--spacing-6);font-size:var(--font-size-base);animation:fadeInUp .6s ease-out .7s both;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.auth-required-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px var(--color-primary-alpha)}.auth-required-signup{margin-top:var(--spacing-4);font-size:var(--font-size-sm);color:var(--color-text-muted);animation:fadeInUp .6s ease-out .8s both}.auth-required-signup a{color:var(--color-primary);font-weight:var(--font-weight-medium);text-decoration:none;transition:color var(--transition-fast)}.auth-required-signup a:hover{color:var(--color-primary-dark);text-decoration:underline}.leaderboard-page{display:flex;flex-direction:column;gap:var(--spacing-8)}.leaderboard-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-4)}.page-title{display:flex;align-items:center;gap:var(--spacing-3);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.page-title svg{color:var(--color-accent)}.page-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);margin-top:var(--spacing-2)}.time-filters{display:flex;gap:var(--spacing-2);padding:var(--spacing-1);background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border-light)}.filter-btn{padding:var(--spacing-2) var(--spacing-4);background:transparent;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.filter-btn:hover{color:var(--color-text-primary)}.filter-btn.active{background:var(--color-primary);color:var(--color-text-inverse)}.podium{display:flex;align-items:flex-end;justify-content:center;gap:var(--spacing-4);padding:var(--spacing-8);background:var(--gradient-hero);border-radius:var(--radius-xl)}.podium-item{display:flex;flex-direction:column;align-items:center;text-align:center}.podium-avatar{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:#fff3;border:3px solid rgba(255,255,255,.3);border-radius:var(--radius-full);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-inverse);margin-bottom:var(--spacing-3)}.podium-avatar.gold{width:80px;height:80px;font-size:var(--font-size-2xl);border-color:gold;box-shadow:0 0 20px #ffd70066}.podium-info{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-1);margin-bottom:var(--spacing-4)}.podium-medal{width:24px;height:24px}.podium-medal.gold{color:gold}.podium-medal.silver{color:silver}.podium-medal.bronze{color:#cd7f32}.podium-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-inverse)}.podium-points{font-size:var(--font-size-sm);color:#fffc}.podium-stand{width:100px;background:#ffffff1a;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.podium-stand.first{height:100px;width:120px}.podium-stand.second{height:70px}.podium-stand.third{height:50px}.leaderboard-table-container{background:var(--color-surface);border-radius:var(--radius-xl);border:1px solid var(--color-border-light);overflow:hidden}.leaderboard-table{width:100%;border-collapse:collapse}.leaderboard-table th{padding:var(--spacing-4) var(--spacing-6);text-align:left;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;background:var(--color-background);border-bottom:1px solid var(--color-border-light)}.leaderboard-table td{padding:var(--spacing-4) var(--spacing-6);font-size:var(--font-size-sm);color:var(--color-text-primary);border-bottom:1px solid var(--color-border-light)}.leaderboard-table tr:last-child td{border-bottom:none}.leaderboard-table tr:hover{background:var(--color-background)}.leaderboard-table tr.top-three{background:var(--color-primary-alpha)}.rank-cell{width:80px}.rank-icon{width:28px;height:28px}.rank-icon.gold{color:gold}.rank-icon.silver{color:silver}.rank-icon.bronze{color:#cd7f32}.rank-number{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--color-background);border-radius:var(--radius-md);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.user-cell{display:flex;align-items:center;gap:var(--spacing-3)}.user-avatar{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--gradient-primary);border-radius:var(--radius-full);font-weight:var(--font-weight-semibold);color:var(--color-text-inverse)}.user-info{display:flex;flex-direction:column}.user-name{font-weight:var(--font-weight-medium)}.user-username{font-size:var(--font-size-xs);color:var(--color-text-muted)}.points-cell,.exercises-cell,.streak-cell{display:flex;align-items:center;gap:var(--spacing-2)}.points-cell svg{color:var(--color-accent)}.exercises-cell svg{color:var(--color-primary)}.streak-cell svg{color:var(--color-error)}.your-position{background:var(--color-surface);border-radius:var(--radius-xl);border:2px solid var(--color-primary);padding:var(--spacing-6)}.your-position-content{display:flex;align-items:center;justify-content:space-between}.your-position-info{display:flex;align-items:center;gap:var(--spacing-4)}.your-position-info svg{color:var(--color-primary)}.your-position-info h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.your-position-info p{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.your-position-stats{display:flex;gap:var(--spacing-8)}.your-stat{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-1)}.your-stat .stat-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.your-stat .stat-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-primary)}@media (max-width: 768px){.leaderboard-header{flex-direction:column;text-align:center}.podium{padding:var(--spacing-4)}.podium-stand{width:60px}.podium-stand.first{width:80px}.leaderboard-table th:nth-child(4),.leaderboard-table td:nth-child(4){display:none}.your-position-content{flex-direction:column;gap:var(--spacing-4);text-align:center}.your-position-info{flex-direction:column}}.achievements-page{padding:var(--spacing-lg);max-width:1200px;margin:0 auto}.achievements-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-xl);margin-bottom:var(--spacing-xl);padding:var(--spacing-xl);background:var(--color-surface);border-radius:var(--radius-xl);border:1px solid var(--color-border)}.achievements-title{display:flex;align-items:center;gap:var(--spacing-md);font-size:var(--font-size-2xl);font-weight:700}.achievements-title svg{color:var(--color-warning)}.achievements-subtitle{color:var(--color-text-secondary);margin-top:var(--spacing-sm)}.achievements-stats{display:flex;gap:var(--spacing-xl)}.achievement-stat{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg);border-radius:var(--radius-lg)}.achievement-stat svg{color:var(--color-primary)}.stat-value{font-size:var(--font-size-lg);font-weight:700}.stat-label{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.achievements-filters{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.filter-btn{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-full);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.filter-btn:hover{background:var(--color-bg-hover)}.filter-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-lg)}.achievement-card{position:relative;padding:var(--spacing-lg);background:var(--color-surface);border-radius:var(--radius-xl);border:2px solid var(--color-border);transition:all var(--transition-fast)}.achievement-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.achievement-card.locked{opacity:.7}.achievement-card.locked:hover{opacity:1}.achievement-card.common{border-color:var(--color-border)}.achievement-card.rare{border-color:#3498db}.achievement-card.epic{border-color:#9b59b6}.achievement-card.legendary{border-color:#f39c12;background:linear-gradient(135deg,var(--color-surface) 0%,rgba(243,156,18,.05) 100%)}.achievement-card.earned.common{border-color:var(--color-success)}.achievement-icon-wrapper{position:relative;display:inline-block;margin-bottom:var(--spacing-md)}.achievement-icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--color-bg);color:var(--color-text-secondary)}.achievement-icon.common{background:linear-gradient(135deg,#95a5a6,#7f8c8d);color:#fff}.achievement-icon.rare{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff}.achievement-icon.epic{background:linear-gradient(135deg,#9b59b6,#8e44ad);color:#fff}.achievement-icon.legendary{background:linear-gradient(135deg,#f39c12,#e67e22);color:#fff}.locked .achievement-icon{background:var(--color-border);color:var(--color-text-secondary)}.earned-badge{position:absolute;bottom:-4px;right:-4px;width:24px;height:24px;border-radius:50%;background:var(--color-success);color:#fff;display:flex;align-items:center;justify-content:center;border:2px solid var(--color-surface)}.achievement-content{display:flex;flex-direction:column;gap:var(--spacing-xs)}.achievement-name{font-size:var(--font-size-md);font-weight:700}.achievement-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5}.achievement-progress{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.achievement-progress .progress-bar{flex:1;height:6px;background:var(--color-bg);border-radius:var(--radius-full);overflow:hidden}.achievement-progress .progress-fill{height:100%;background:var(--color-primary);border-radius:var(--radius-full);transition:width var(--transition-normal)}.progress-text{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:500;min-width:40px}.achievement-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.rarity-badge{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:.15rem .5rem;border-radius:var(--radius-sm)}.rarity-badge.common{background:#95a5a633;color:#7f8c8d}.rarity-badge.rare{background:#3498db33;color:#3498db}.rarity-badge.epic{background:#9b59b633;color:#9b59b6}.rarity-badge.legendary{background:#f39c1233;color:#f39c12}.xp-reward{font-size:var(--font-size-sm);font-weight:600;color:var(--color-success)}.earned-date{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:var(--spacing-sm)}@media (max-width: 768px){.achievements-header{flex-direction:column}.achievements-stats{width:100%;justify-content:space-between}.achievements-filters{overflow-x:auto;padding-bottom:var(--spacing-sm)}.filter-btn{white-space:nowrap}}.daily-challenge-page{padding:var(--spacing-lg);max-width:800px;margin:0 auto}.challenge-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl)}.challenge-date{display:flex;align-items:center;gap:var(--spacing-md)}.challenge-date h1{font-size:var(--font-size-2xl);font-weight:700;margin:0}.challenge-date p{color:var(--color-text-secondary);margin:0}.zap-icon{color:var(--color-warning);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.challenge-timer{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-surface);border-radius:var(--radius-full);border:1px solid var(--color-border);font-weight:600;font-family:var(--font-mono)}.challenge-timer svg{color:var(--color-primary)}.streak-card{display:flex;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-xl);background:linear-gradient(135deg,#ff6b35,#f7c427);border-radius:var(--radius-xl);color:#fff;margin-bottom:var(--spacing-lg)}.streak-icon{width:64px;height:64px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center}.streak-info{flex:1}.streak-info h2{font-size:var(--font-size-xl);font-weight:700;margin:0}.streak-info p{margin:0;opacity:.9}.streak-days{display:flex;gap:var(--spacing-xs)}.streak-day{width:40px;height:40px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.streak-day.completed{background:#ffffff4d}.streak-day.today{background:#fff;color:#ff6b35;font-weight:700;animation:bounce 1s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.challenge-card{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--spacing-xl);border:2px solid var(--color-border);margin-bottom:var(--spacing-lg)}.challenge-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:600;margin-bottom:var(--spacing-md)}.challenge-title{font-size:var(--font-size-2xl);font-weight:700;margin-bottom:var(--spacing-sm)}.challenge-description{color:var(--color-text-secondary);line-height:1.6;margin-bottom:var(--spacing-lg)}.challenge-meta{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.meta-item{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.start-challenge-btn{width:100%;justify-content:center;font-size:var(--font-size-lg);padding:var(--spacing-md) var(--spacing-xl)}.rewards-section{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--spacing-xl);border:1px solid var(--color-border)}.rewards-title{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--spacing-lg)}.rewards-title svg{color:var(--color-primary)}.rewards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md)}.reward-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg);border-radius:var(--radius-lg)}.reward-icon{font-size:1.5rem}.reward-info{display:flex;flex-direction:column}.reward-name{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.reward-value{font-weight:600;color:var(--color-success)}@media (max-width: 768px){.challenge-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.streak-card{flex-direction:column;text-align:center}.rewards-grid{grid-template-columns:1fr}}.profile-page{display:flex;flex-direction:column;gap:var(--spacing-8)}.profile-header{position:relative;background:var(--color-surface);border-radius:var(--radius-xl);overflow:hidden}.profile-cover{height:120px;background:var(--gradient-hero)}.profile-info{display:flex;align-items:flex-start;gap:var(--spacing-6);padding:var(--spacing-6);padding-top:0}.profile-avatar{width:100px;height:100px;display:flex;align-items:center;justify-content:center;background:var(--color-surface);border:4px solid var(--color-surface);border-radius:var(--radius-full);margin-top:-50px;color:var(--color-primary)}.profile-avatar img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-full)}.profile-details{flex:1;padding-top:var(--spacing-4)}.profile-name{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.profile-username{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--spacing-2)}.profile-bio{font-size:var(--font-size-base);color:var(--color-text-secondary);margin-bottom:var(--spacing-3)}.profile-meta{display:flex;gap:var(--spacing-4)}.meta-item{display:flex;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-sm);color:var(--color-text-muted)}.profile-actions{display:flex;gap:var(--spacing-2);padding-top:var(--spacing-4)}.profile-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--spacing-4)}.stat-card{display:flex;align-items:center;gap:var(--spacing-4);padding:var(--spacing-5);background:var(--color-surface);border-radius:var(--radius-xl);border:1px solid var(--color-border-light)}.stat-icon{width:40px;height:40px;color:var(--color-primary)}.stat-icon.streak{color:var(--color-accent)}.stat-info{display:flex;flex-direction:column}.stat-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.stat-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-6)}.profile-section{background:var(--color-surface);border-radius:var(--radius-xl);border:1px solid var(--color-border-light);padding:var(--spacing-6)}.profile-section .section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-6)}.profile-section .section-header h2{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.badge-count{font-size:var(--font-size-sm);color:var(--color-text-muted)}.badges-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-3)}.badge-card{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2);padding:var(--spacing-4);border-radius:var(--radius-lg);text-align:center;transition:transform var(--transition-fast)}.badge-card:hover{transform:scale(1.05)}.badge-card.common{background:var(--color-background)}.badge-card.rare{background:var(--color-primary-alpha)}.badge-card.epic{background:linear-gradient(135deg,#9b59b61a,#8e44ad1a)}.badge-icon{font-size:32px}.badge-name{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.badge-rarity{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:capitalize}.activity-timeline{display:flex;flex-direction:column;gap:var(--spacing-4)}.activity-item{display:flex;align-items:center;gap:var(--spacing-4);padding:var(--spacing-3);border-radius:var(--radius-lg);transition:background var(--transition-fast)}.activity-item:hover{background:var(--color-background)}.activity-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);flex-shrink:0}.activity-icon.exercise{background:var(--color-primary-alpha);color:var(--color-primary)}.activity-icon.badge{background:var(--color-accent-alpha);color:var(--color-accent)}.activity-icon.course{background:var(--color-secondary-alpha);color:var(--color-secondary)}.activity-content{flex:1;display:flex;flex-direction:column}.activity-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.activity-description,.activity-date{font-size:var(--font-size-xs);color:var(--color-text-muted)}@media (max-width: 1024px){.profile-stats{grid-template-columns:repeat(3,1fr)}.profile-grid{grid-template-columns:1fr}}@media (max-width: 768px){.profile-info{flex-direction:column;align-items:center;text-align:center}.profile-avatar{margin-top:-50px}.profile-meta,.profile-actions{justify-content:center}.profile-stats,.badges-grid{grid-template-columns:repeat(2,1fr)}}.settings-page{padding:var(--spacing-lg);max-width:900px;margin:0 auto}.settings-header{margin-bottom:var(--spacing-xl)}.settings-title{display:flex;align-items:center;gap:var(--spacing-md);font-size:var(--font-size-2xl);font-weight:700}.settings-title svg{color:var(--color-primary)}.settings-subtitle{color:var(--color-text-secondary);margin-top:var(--spacing-sm)}.settings-grid{display:grid;gap:var(--spacing-lg)}.settings-section{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--spacing-lg);border:1px solid var(--color-border)}.section-title{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.section-title svg{color:var(--color-primary)}.setting-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) 0;border-bottom:1px solid var(--color-border)}.setting-item:last-child{border-bottom:none}.setting-info label{font-weight:500;display:block;margin-bottom:2px}.setting-description{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.theme-toggle-btn{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.theme-toggle-btn:hover{background:var(--color-bg-hover);border-color:var(--color-primary)}.toggle-btn{display:flex;align-items:center;justify-content:center;width:48px;height:32px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast)}.toggle-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.toggle-text{font-size:var(--font-size-xs);font-weight:600}.setting-select{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);cursor:pointer;min-width:120px}.setting-select:focus{outline:none;border-color:var(--color-primary)}.number-input{display:flex;align-items:center;gap:var(--spacing-xs);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:2px}.number-input button{width:32px;height:32px;background:transparent;border:none;font-size:var(--font-size-lg);cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-fast)}.number-input button:hover{color:var(--color-primary);background:var(--color-bg-hover);border-radius:var(--radius-sm)}.number-input span{min-width:48px;text-align:center;font-weight:500}.shortcuts-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.shortcut-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) 0}.shortcut-action{font-size:var(--font-size-sm);color:var(--color-text-secondary)}kbd{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--font-size-xs);box-shadow:0 2px 0 var(--color-border)}.settings-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.settings-actions .btn.saved{background:var(--color-success);border-color:var(--color-success)}@media (max-width: 768px){.setting-item{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.settings-actions{flex-direction:column}.settings-actions .btn{width:100%;justify-content:center}}.auth-error-alert{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-lg);color:#dc2626;font-size:var(--font-size-sm);margin-bottom:var(--spacing-4)}.auth-error-alert svg{flex-shrink:0}.auth-callback-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:var(--spacing-4)}.callback-loading,.callback-error{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-4);text-align:center}.callback-loading p,.callback-error p{color:var(--color-text-secondary);font-size:var(--font-size-lg)}.spinner-icon{color:var(--color-primary);animation:spin 1s linear infinite}.auth-page{min-height:100vh;display:flex;background:var(--color-background)}.auth-container{display:grid;grid-template-columns:1fr 1fr;width:100%;min-height:100vh}.auth-branding{position:relative;display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-12);background:var(--gradient-hero);color:var(--color-text-inverse);overflow:hidden}.branding-content{position:relative;z-index:1;max-width:480px}.auth-logo{display:inline-flex;align-items:center;gap:var(--spacing-3);margin-bottom:var(--spacing-10);text-decoration:none}.logo-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#fff3;border-radius:var(--radius-lg);color:var(--color-text-inverse)}.logo-text{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-inverse)}.branding-title{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);margin-bottom:var(--spacing-4)}.branding-description{font-size:var(--font-size-lg);opacity:.9;line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-8)}.branding-stats{display:flex;gap:var(--spacing-8)}.branding-stat{display:flex;flex-direction:column}.branding-stat .stat-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.branding-stat .stat-label{font-size:var(--font-size-sm);opacity:.8}.branding-features{list-style:none;display:flex;flex-direction:column;gap:var(--spacing-3)}.branding-features li{display:flex;align-items:center;gap:var(--spacing-3);font-size:var(--font-size-base)}.branding-features svg{color:var(--color-secondary)}.branding-pattern{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.1) 1px,transparent 0);background-size:40px 40px;opacity:.5}.auth-form-container{display:flex;align-items:center;justify-content:center;padding:var(--spacing-12);background:var(--color-surface)}.auth-form-content{width:100%;max-width:400px}.form-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-2)}.form-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);margin-bottom:var(--spacing-8)}.form-link{color:var(--color-primary);font-weight:var(--font-weight-medium);text-decoration:none}.form-link:hover{text-decoration:underline}.oauth-buttons{display:flex;flex-direction:column;gap:var(--spacing-3);margin-bottom:var(--spacing-6)}.oauth-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-3);width:100%;padding:var(--spacing-3) var(--spacing-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.oauth-btn.google{background:var(--color-surface);color:var(--color-text-primary)}.oauth-btn.google:hover{background:var(--color-background);border-color:var(--color-primary)}.oauth-btn.github{background:#24292e;color:#fff;border-color:#24292e}.oauth-btn.github:hover{background:#1a1f24}.divider-text{display:flex;align-items:center;gap:var(--spacing-4);margin-bottom:var(--spacing-6)}.divider-text:before,.divider-text:after{content:"";flex:1;height:1px;background:var(--color-border)}.divider-text span{font-size:var(--font-size-sm);color:var(--color-text-muted)}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-4)}.input-wrapper{position:relative}.input-icon{position:absolute;left:var(--spacing-4);top:50%;transform:translateY(-50%);color:var(--color-text-muted)}.input-wrapper .input{padding-left:44px;padding-right:44px}.password-toggle{position:absolute;right:var(--spacing-4);top:50%;transform:translateY(-50%);background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:0;display:flex;transition:color var(--transition-fast)}.password-toggle:hover{color:var(--color-text-primary)}.password-requirements{display:flex;flex-direction:column;gap:var(--spacing-2);margin-top:var(--spacing-3)}.requirement{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-xs);color:var(--color-text-muted)}.requirement svg{color:var(--color-text-muted)}.requirement.met{color:var(--color-success)}.requirement.met svg{color:var(--color-success)}.form-options{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-2)}.checkbox-label{display:flex;align-items:flex-start;gap:var(--spacing-2);font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer}.checkbox{width:18px;height:18px;border:2px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;accent-color:var(--color-primary);flex-shrink:0;margin-top:2px}.forgot-link{font-size:var(--font-size-sm);color:var(--color-primary);text-decoration:none}.forgot-link:hover{text-decoration:underline}.auth-form .btn{margin-top:var(--spacing-4)}.spinner{width:20px;height:20px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 1024px){.auth-container{grid-template-columns:1fr}.auth-branding{display:none}.auth-form-container{min-height:100vh}}:root{--color-primary: #1A5F7A;--color-primary-dark: #134658;--color-primary-light: #2A7F9A;--color-primary-alpha: rgba(26, 95, 122, .1);--color-secondary: #2ECC71;--color-secondary-dark: #27AE60;--color-secondary-light: #58D68D;--color-secondary-alpha: rgba(46, 204, 113, .1);--color-accent: #F39C12;--color-accent-dark: #D68910;--color-accent-light: #F5B041;--color-accent-alpha: rgba(243, 156, 18, .1);--color-background: #F4F6F7;--color-surface: #FFFFFF;--color-surface-elevated: #FFFFFF;--color-border: #E5E8EB;--color-border-light: #F0F2F4;--color-text-primary: #1A1D21;--color-text-secondary: #5A6169;--color-text-muted: #8B939C;--color-text-inverse: #FFFFFF;--color-success: #2ECC71;--color-warning: #F39C12;--color-error: #E74C3C;--color-info: #3498DB;--color-code-bg: #1E1E1E;--color-code-text: #D4D4D4;--color-code-keyword: #569CD6;--color-code-string: #CE9178;--color-code-function: #DCDCAA;--color-code-comment: #6A9955;--gradient-primary: linear-gradient(135deg, #1A5F7A 0%, #2A7F9A 100%);--gradient-secondary: linear-gradient(135deg, #2ECC71 0%, #58D68D 100%);--gradient-hero: linear-gradient(135deg, #1A5F7A 0%, #134658 50%, #2ECC71 100%);--gradient-glass: linear-gradient(135deg, rgba(255, 255, 255, .1) 0%, rgba(255, 255, 255, .05) 100%);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-size-6xl: 3.75rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-16: 4rem;--spacing-20: 5rem;--spacing-xs: var(--spacing-1);--spacing-sm: var(--spacing-2);--spacing-md: var(--spacing-4);--spacing-lg: var(--spacing-6);--spacing-xl: var(--spacing-8);--spacing-2xl: var(--spacing-10);--spacing-3xl: var(--spacing-12);--color-bg: var(--color-background);--color-bg-hover: var(--color-primary-alpha);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-glow-primary: 0 0 20px rgba(26, 95, 122, .3);--shadow-glow-secondary: 0 0 20px rgba(46, 204, 113, .3);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--transition-spring: .5s cubic-bezier(.34, 1.56, .64, 1);--z-dropdown: 100;--z-sticky: 200;--z-modal-backdrop: 300;--z-modal: 400;--z-toast: 500;--header-height: 64px;--sidebar-width: 280px;--content-max-width: 1400px}[data-theme=dark]{--color-background: #0D1117;--color-surface: #161B22;--color-surface-elevated: #21262D;--color-border: #30363D;--color-border-light: #21262D;--color-text-primary: #F0F6FC;--color-text-secondary: #8B949E;--color-text-muted: #6E7681;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -4px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5), 0 8px 10px -6px rgba(0, 0, 0, .4)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-background);min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-light)}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;font-size:inherit}img,svg{max-width:100%;height:auto}code,pre{font-family:var(--font-mono)}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing-1)}.gap-2{gap:var(--spacing-2)}.gap-3{gap:var(--spacing-3)}.gap-4{gap:var(--spacing-4)}.gap-6{gap:var(--spacing-6)}.gap-8{gap:var(--spacing-8)}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.p-1{padding:var(--spacing-1)}.p-2{padding:var(--spacing-2)}.p-3{padding:var(--spacing-3)}.p-4{padding:var(--spacing-4)}.p-6{padding:var(--spacing-6)}.p-8{padding:var(--spacing-8)}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.text-4xl{font-size:var(--font-size-4xl)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.w-full{width:100%}.max-w-content{max-width:var(--content-max-width)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.animate-fade-in{animation:fadeIn var(--transition-normal) ease-out}.animate-slide-up{animation:slideUp var(--transition-normal) ease-out}.animate-scale-in{animation:scaleIn var(--transition-spring)}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.glass{background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}[data-theme=dark] .glass{background:#161b22cc;border:1px solid rgba(48,54,61,.8)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-6);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border-radius:var(--radius-lg);transition:all var(--transition-normal);cursor:pointer;white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--gradient-primary);color:var(--color-text-inverse);box-shadow:var(--shadow-md)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg),var(--shadow-glow-primary)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--color-surface);color:var(--color-primary);border:2px solid var(--color-primary)}.btn-secondary:hover:not(:disabled){background:var(--color-primary-alpha);transform:translateY(-2px)}.btn-success{background:var(--gradient-secondary);color:var(--color-text-inverse);box-shadow:var(--shadow-md)}.btn-success:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg),var(--shadow-glow-secondary)}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--color-primary-alpha);color:var(--color-primary)}.btn-sm{padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-xs)}.btn-lg{padding:var(--spacing-4) var(--spacing-8);font-size:var(--font-size-base)}.btn-icon{padding:var(--spacing-2);border-radius:var(--radius-md)}.card{background:var(--color-surface);border-radius:var(--radius-xl);border:1px solid var(--color-border-light);box-shadow:var(--shadow-sm);overflow:hidden;transition:all var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-header{padding:var(--spacing-6);border-bottom:1px solid var(--color-border-light)}.card-body{padding:var(--spacing-6)}.card-footer{padding:var(--spacing-4) var(--spacing-6);background:var(--color-background);border-top:1px solid var(--color-border-light)}.input{width:100%;padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-alpha)}.input::placeholder{color:var(--color-text-muted)}.input-group{display:flex;flex-direction:column;gap:var(--spacing-2)}.input-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.input-error{border-color:var(--color-error)}.input-error-message{font-size:var(--font-size-xs);color:var(--color-error)}.badge{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px}.badge-primary{background:var(--color-primary-alpha);color:var(--color-primary)}.badge-secondary{background:var(--color-secondary-alpha);color:var(--color-secondary-dark)}.badge-accent{background:var(--color-accent-alpha);color:var(--color-accent-dark)}.badge-success{background:#2ecc7126;color:var(--color-success)}.badge-warning{background:#f39c1226;color:var(--color-warning)}.badge-error{background:#e74c3c26;color:var(--color-error)}.progress{width:100%;height:8px;background:var(--color-border);border-radius:var(--radius-full);overflow:hidden}.progress-bar{height:100%;background:var(--gradient-secondary);border-radius:var(--radius-full);transition:width var(--transition-slow)}.tooltip{position:relative}.tooltip:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) scale(.95);padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-inverse);background:var(--color-text-primary);border-radius:var(--radius-md);white-space:nowrap;opacity:0;visibility:hidden;transition:all var(--transition-fast);z-index:var(--z-tooltip)}.tooltip:hover:after{opacity:1;visibility:visible;transform:translate(-50%) scale(1)}.skeleton{background:linear-gradient(90deg,var(--color-border-light) 25%,var(--color-surface) 50%,var(--color-border-light) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}.divider{width:100%;height:1px;background:var(--color-border-light);margin:var(--spacing-4) 0}.divider-vertical{width:1px;height:100%;background:var(--color-border-light);margin:0 var(--spacing-4)}.app-layout{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;display:flex}.page-container{flex:1;padding:var(--spacing-8);max-width:100%}.container{width:100%;max-width:var(--content-max-width);margin:0 auto;padding:0 var(--spacing-4)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-background)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}::selection{background:var(--color-primary);color:var(--color-text-inverse)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (max-width: 768px){:root{--sidebar-width: 0px}.hide-mobile{display:none!important}.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}}@media (min-width: 769px){.hide-desktop{display:none!important}}@media (min-width: 1024px){.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}}
