:root{--color-bg-primary: #f8f7fc;--color-bg-secondary: #f0eef8;--color-bg-tertiary: #e8e5f3;--color-bg-card: #ffffff;--color-bg-card-hover: #fefeff;--color-primary: #6B5B95;--color-primary-light: #8B7AB8;--color-primary-dark: #5A4A7D;--color-secondary: #9D8EC4;--color-accent: #B8A8D9;--color-purple-gradient-start: #8B7AB8;--color-purple-gradient-end: #6B5B95;--color-glass-purple: #a78bfa;--color-glass-lavender: #c4b5fd;--color-glass-mint: #10b981;--color-glass-emerald: #0ea676;--color-glass-blue: #3b82f6;--color-glass-sky: #60a5fa;--color-glass-amber: #f59e0b;--color-glass-rose: #f472b6;--color-success: #10b981;--color-success-light: #d1fae5;--color-warning: #f59e0b;--color-warning-light: #fef3c7;--color-error: #ef4444;--color-error-light: #fee2e2;--color-info: #3b82f6;--color-info-light: #dbeafe;--color-text-primary: #2d2838;--color-text-secondary: #4a4458;--color-text-tertiary: #6b6575;--color-text-muted: #9490a0;--color-text-purple: #6B5B95;--color-border: rgba(107, 91, 149, .12);--color-border-hover: rgba(107, 91, 149, .3);--color-border-strong: rgba(107, 91, 149, .25);--color-divider: rgba(107, 91, 149, .06);--glass-bg-white: rgba(255, 255, 255, .85);--glass-bg-tinted: rgba(248, 247, 252, .9);--glass-bg-purple: rgba(184, 168, 217, .15);--glass-bg-lavender: rgba(196, 181, 253, .1);--glass-bg-mint: rgba(16, 185, 129, .08);--glass-bg-blue: rgba(59, 130, 246, .08);--glass-border: rgba(107, 91, 149, .15);--glass-border-light: rgba(139, 122, 184, .12);--glass-border-thick: 2px solid rgba(107, 91, 149, .18);--glass-border-accent: 2px solid rgba(167, 139, 250, .3);--glass-blur: blur(20px);--glass-blur-heavy: blur(40px);--glass-blur-subtle: blur(12px);--shadow-xs: 0 1px 3px rgba(107, 91, 149, .05);--shadow-sm: 0 2px 8px rgba(107, 91, 149, .08);--shadow-md: 0 4px 16px rgba(107, 91, 149, .1);--shadow-lg: 0 8px 24px rgba(107, 91, 149, .12);--shadow-xl: 0 12px 40px rgba(107, 91, 149, .15);--shadow-glass: 0 8px 32px rgba(107, 91, 149, .08), inset 0 1px 0 rgba(255, 255, 255, .9), inset 0 -1px 0 rgba(107, 91, 149, .05);--shadow-glass-hover: 0 12px 40px rgba(107, 91, 149, .15), inset 0 1px 0 rgba(255, 255, 255, 1);--glow-primary: 0 0 20px rgba(107, 91, 149, .2);--glow-success: 0 0 16px rgba(16, 185, 129, .2);--glow-purple: 0 0 24px rgba(167, 139, 250, .25);--glow-mint: 0 0 20px rgba(16, 185, 129, .3);--spacing-xs: .5rem;--spacing-sm: .75rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--radius-xs: 6px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 24px;--radius-full: 9999px;--font-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Outfit", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .4s cubic-bezier(.34, 1.56, .64, 1)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-primary);background:linear-gradient(135deg,#f8f7fc,#f0eef8,#e8e5f3);background-attachment:fixed;color:var(--color-text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;background-image:url(/zen_garden_background.png);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;z-index:-2;opacity:.6;filter:blur(12px)}body:after{content:"";position:fixed;inset:0;background:linear-gradient(180deg,rgba(220,215,240,.95) 0%,rgba(230,225,245,.92) 5%,rgba(235,230,248,.88) 10%,rgba(240,235,250,.82) 15%,rgba(245,240,252,.75) 20%,rgba(248,245,253,.65) 30%,rgba(250,248,254,.5) 45%,rgba(252,250,255,.35) 60%,rgba(254,252,255,.2) 75%,rgba(255,254,255,.1) 90%,transparent 100%);z-index:-1;pointer-events:none}#root{min-height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--color-primary-light)}.glass-card{background:var(--color-bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-glass);transition:all var(--transition-base)}.glass-card:hover{border-color:var(--glass-border-accent);box-shadow:var(--shadow-glass-hover);transform:translateY(-2px)}.glass-card-purple{background:linear-gradient(135deg,#fffffff2,#f8f7fcfa);border:1.5px solid rgba(167,139,250,.2)}.glass-card-tinted{background:var(--glass-bg-tinted);-webkit-backdrop-filter:var(--glass-blur-subtle);backdrop-filter:var(--glass-blur-subtle)}.glass-border-purple{border-left:3px solid var(--color-glass-purple)}.glass-border-mint{border-left:3px solid var(--color-glass-mint)}.glass-border-blue{border-left:3px solid var(--color-glass-blue)}.glass-border-amber{border-left:3px solid var(--color-glass-amber)}.numbered-circle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--color-purple-gradient-start),var(--color-purple-gradient-end));color:#fff;font-weight:var(--font-semibold);font-size:var(--text-sm);flex-shrink:0}.numbered-circle-lg{width:48px;height:48px;font-size:var(--text-lg)}.numbered-circle-mint{background:linear-gradient(135deg,var(--color-glass-mint),var(--color-glass-emerald))}.numbered-circle-blue{background:linear-gradient(135deg,var(--color-glass-sky),var(--color-glass-blue))}.stat-display{text-align:center}.stat-number{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--font-light);color:var(--color-text-primary);line-height:1.2;margin-bottom:var(--spacing-xs)}.stat-number-xl{font-size:4rem;font-weight:200}.stat-label{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px}.section-header{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--spacing-md)}.section-title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--font-light);color:var(--color-text-primary);margin-bottom:var(--spacing-lg);line-height:1.3}.section-title-xl{font-size:var(--text-4xl)}.icon-circle{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--glass-bg-purple);color:var(--color-primary);flex-shrink:0}.icon-circle-mint{background:var(--glass-bg-mint);color:var(--color-glass-mint)}.icon-circle-blue{background:var(--glass-bg-blue);color:var(--color-glass-blue)}.badge-pill{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-medium);transition:all var(--transition-fast)}.badge-pill-purple{background:#a78bfa1f;color:var(--color-primary);border:1px solid rgba(167,139,250,.2)}.badge-pill-mint{background:var(--color-success-light);color:var(--color-glass-emerald);border:1px solid rgba(16,185,129,.2)}.badge-pill-blue{background:var(--color-info-light);color:var(--color-glass-blue);border:1px solid rgba(59,130,246,.2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-full);font-size:var(--text-base);font-weight:var(--font-medium);transition:all var(--transition-base);cursor:pointer;border:none;outline:none;text-decoration:none}.btn-primary{background:linear-gradient(135deg,var(--color-purple-gradient-start),var(--color-purple-gradient-end));color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover{box-shadow:var(--shadow-lg),var(--glow-purple);transform:translateY(-2px)}.btn-outline{background:transparent;color:var(--color-primary);border:1.5px solid var(--color-border-strong)}.btn-outline:hover{background:var(--glass-bg-purple);border-color:var(--color-primary)}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover{background:var(--glass-bg-tinted);color:var(--color-text-primary)}.progress-bar-wrapper{width:100%;height:8px;background:var(--color-bg-tertiary);border-radius:var(--radius-full);overflow:hidden;position:relative}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-glass-mint),var(--color-glass-emerald));border-radius:var(--radius-full);transition:width var(--transition-slow);position:relative}.progress-bar-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}.progress-bar-purple .progress-bar-fill{background:linear-gradient(90deg,var(--color-glass-purple),var(--color-purple-gradient-end))}.progress-bar-blue .progress-bar-fill{background:linear-gradient(90deg,var(--color-glass-sky),var(--color-glass-blue))}.divider{height:1px;background:var(--color-divider);margin:var(--spacing-xl) 0}.divider-strong{background:var(--color-border)}.container-max{max-width:1400px;margin:0 auto;padding:0 var(--spacing-xl)}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg)}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-lg)}@media(max-width:1024px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.sidebar{width:260px;background:linear-gradient(180deg,#ffffffbf,#ffffffa6);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-right:1px solid rgba(255,255,255,.3);padding:var(--spacing-2xl) 0;position:fixed;left:0;top:0;bottom:0;z-index:100;display:flex;flex-direction:column;box-shadow:0 8px 32px #6b5b951a}.sidebar-header{padding:0 var(--spacing-md);margin-bottom:var(--spacing-xl)}.sidebar-top{display:flex;align-items:center;justify-content:space-between;position:relative}.logo{text-decoration:none;display:flex;align-items:center;gap:var(--spacing-sm);transition:all var(--transition-base);padding:var(--spacing-xs) 0;flex:1;overflow:hidden}.logo:hover{transform:translate(2px)}.logo:hover .logo-icon{filter:drop-shadow(0 2px 8px rgba(107,91,149,.2))}.logo-icon{width:48px;height:48px;flex-shrink:0;transition:all var(--transition-base);object-fit:contain}.logo-text-wrapper{display:flex;flex-direction:column;justify-content:center;white-space:nowrap;opacity:1;transition:opacity var(--transition-base)}.logo-text{font-family:Julius Sans One,sans-serif;font-size:18px;font-weight:700;color:var(--color-primary-dark);letter-spacing:-.02em;line-height:1.1}.logo-subtext{font-family:var(--font-display);font-size:11px;font-weight:500;color:var(--color-secondary);letter-spacing:.15em;line-height:1.2;text-transform:uppercase}.collapse-toggle{position:absolute;right:-12px;background:#fff;border:1px solid var(--glass-border);border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-tertiary);box-shadow:var(--shadow-sm);transition:all var(--transition-base);z-index:10;opacity:0}.sidebar:hover .collapse-toggle{opacity:1}.collapse-toggle:hover{background:var(--color-primary-light);color:#fff;transform:scale(1.1)}.sidebar.collapsed{width:80px}.sidebar.collapsed .sidebar-header{padding:0;display:flex;justify-content:center}.sidebar.collapsed .sidebar-top{justify-content:center;width:100%}.sidebar.collapsed .logo{justify-content:center;padding:var(--spacing-xs) 0}.sidebar.collapsed .nav-item{justify-content:center;padding:var(--spacing-md)}.sidebar.collapsed .nav-icon{margin:0}.sidebar.collapsed .user-profile{justify-content:center;padding:var(--spacing-sm)}.sidebar.collapsed .nav-section{margin-bottom:var(--spacing-xl)}.sidebar.collapsed .nav-menu{padding:0 var(--spacing-xs)}.nav-menu{flex:1;overflow-y:auto;overflow-x:hidden;padding:0 var(--spacing-md)}.nav-section{margin-bottom:var(--spacing-2xl)}.nav-section-title{font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:1px;color:var(--color-text-tertiary);padding:0 var(--spacing-md);margin-bottom:var(--spacing-md);white-space:nowrap}.nav-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--color-text-secondary);text-decoration:none;font-weight:var(--font-medium);transition:all var(--transition-base);cursor:pointer;border:1px solid transparent;background:transparent;width:100%;text-align:left;font-size:var(--text-sm);position:relative;white-space:nowrap}.nav-item:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:0;background:linear-gradient(180deg,var(--color-glass-purple),var(--color-glass-lavender));border-radius:0 var(--radius-sm) var(--radius-sm) 0;transition:height var(--transition-base)}.nav-item:hover{background:linear-gradient(135deg,#fffc,#f8f7fce6);color:var(--color-text-primary);border-color:var(--glass-border-light);transform:translate(2px)}.sidebar.collapsed .nav-item:hover{transform:none}.nav-item:hover:before{height:50%}.nav-item.active{background:linear-gradient(135deg,#a78bfa1f,#c4b5fd14);color:var(--color-primary);border-color:#a78bfa40;font-weight:var(--font-semibold)}.nav-item.active:before{height:70%}.nav-icon{font-size:1.25rem;flex-shrink:0}.nav-item.locked{opacity:.5;cursor:not-allowed;background:transparent!important;filter:grayscale(.8)}.nav-item.locked:hover{transform:none;color:var(--color-text-secondary);border-color:transparent}.nav-item.locked:hover:before{height:0}.lock-icon{color:var(--color-text-tertiary);opacity:.7;margin-left:auto}.sidebar-footer{padding:var(--spacing-xl);border-top:1px solid var(--color-divider);margin-top:auto;transition:padding var(--transition-base)}.sidebar.collapsed .sidebar-footer{padding:var(--spacing-md)}.user-profile{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm);border-radius:var(--radius-lg);background:linear-gradient(135deg,#fff9,#f8f7fcb3);border:1.5px solid var(--glass-border-light);transition:all var(--transition-base);cursor:pointer;overflow:hidden}.user-profile:hover{border-color:var(--color-border-hover);background:var(--color-bg-card);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.sidebar.collapsed .user-profile:hover{transform:none}.user-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--color-purple-gradient-start),var(--color-purple-gradient-end));display:flex;align-items:center;justify-content:center;font-weight:var(--font-semibold);font-size:var(--text-base);color:#fff;flex-shrink:0;box-shadow:0 2px 8px #a78bfa4d}.user-info{flex:1;min-width:0;transition:opacity var(--transition-base)}.user-name{font-weight:var(--font-semibold);font-size:var(--text-sm);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:var(--text-xs);color:var(--color-text-tertiary);font-weight:var(--font-medium);white-space:nowrap}.nav-menu::-webkit-scrollbar{width:4px}.nav-menu::-webkit-scrollbar-track{background:transparent}.nav-menu::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}.nav-menu::-webkit-scrollbar-thumb:hover{background:var(--color-border-hover)}.dashboard{animation:fadeIn .6s cubic-bezier(.4,0,.2,1);position:relative;min-height:100vh}.page-header{margin-bottom:var(--spacing-2xl)}.page-title{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--font-light);color:var(--color-text-primary);margin-bottom:var(--spacing-xs);line-height:1.2}.page-subtitle{font-size:var(--text-base);color:var(--color-text-tertiary);font-weight:var(--font-normal)}.focus-card{background:#ffffffb3;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-2xl);padding:var(--spacing-2xl);margin-bottom:var(--spacing-2xl);box-shadow:0 8px 32px #6b5b951a;position:relative;overflow:hidden;transition:all var(--transition-base)}.focus-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-glass-purple),var(--color-glass-lavender),var(--color-glass-mint))}.focus-card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-glass-hover);transform:translateY(-3px)}.focus-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-xl)}.focus-title-group{flex:1}.focus-label{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--spacing-xs)}.focus-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.focus-subtitle{font-size:var(--text-sm);color:var(--color-text-tertiary)}.focus-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);background:linear-gradient(135deg,#fef3c7,#fde68a);border:1.5px solid var(--color-glass-amber);border-radius:var(--radius-full);color:#92400e;font-weight:var(--font-semibold);font-size:var(--text-sm);box-shadow:var(--shadow-sm)}.streak-icon{font-size:1.25rem}.current-lesson-card{background:#ffffffb3;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1.5px solid rgba(167,139,250,.2);border-radius:var(--radius-xl);padding:var(--spacing-xl);transition:all var(--transition-base);border-left:3px solid var(--color-glass-purple)}.current-lesson-card:hover{border-color:var(--color-border-hover);border-left-color:var(--color-glass-purple);transform:translateY(-2px);box-shadow:var(--shadow-md)}.lesson-subject-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);margin-bottom:var(--spacing-md)}.lesson-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.lesson-description{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);line-height:1.6}.lesson-meta{display:flex;gap:var(--spacing-xl);margin-bottom:var(--spacing-lg);font-size:var(--text-sm);color:var(--color-text-tertiary)}.lesson-meta-item{display:flex;align-items:center;gap:var(--spacing-xs)}.btn-resume{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-xl);background:linear-gradient(135deg,var(--color-purple-gradient-start),var(--color-purple-gradient-end));color:#fff;border:none;border-radius:var(--radius-full);font-weight:var(--font-semibold);font-size:var(--text-base);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-md)}.btn-resume:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg),var(--glow-purple)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl)}@media(max-width:1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.stats-grid{grid-template-columns:1fr}}.stat-card{background:#ffffffb3;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-xl);padding:var(--spacing-xl);display:flex;flex-direction:column;align-items:center;text-align:center;transition:all var(--transition-base);box-shadow:0 8px 32px #6b5b951a;position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--color-glass-purple),transparent);opacity:0;transition:opacity var(--transition-base)}.stat-card:hover:after{opacity:1}.stat-card:hover{border-color:var(--color-border-hover);transform:translateY(-4px);box-shadow:var(--shadow-md)}.stat-icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.75rem;margin-bottom:var(--spacing-md);flex-shrink:0}.stat-content{width:100%}.stat-value{font-family:var(--font-display);font-size:2.5rem;font-weight:var(--font-light);color:var(--color-text-primary);line-height:1;margin-bottom:var(--spacing-xs)}.stat-label{font-size:var(--text-xs);color:var(--color-text-tertiary);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.5px}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-2xl)}@media(max-width:1024px){.dashboard-grid{grid-template-columns:1fr}}.dashboard-column{display:flex;flex-direction:column;gap:var(--spacing-xl)}.card{background:#ffffff80;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:0 8px 32px #6b5b951a;transition:all var(--transition-base)}.card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-md)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-divider)}.card-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-medium);color:var(--color-text-primary)}.btn-text{background:none;border:none;color:var(--color-primary);font-weight:var(--font-medium);font-size:var(--text-sm);cursor:pointer;transition:color var(--transition-fast)}.btn-text:hover{color:var(--color-primary-light)}.subjects-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.subject-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:#ffffffb3;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1.5px solid rgba(167,139,250,.2);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);border-left:3px solid var(--color-glass-purple)}.subject-item:hover{border-color:var(--color-border-hover);transform:translate(6px);box-shadow:var(--shadow-md)}.subject-icon{font-size:2rem;flex-shrink:0}.subject-info{flex:1;min-width:0}.subject-name{font-weight:var(--font-semibold);color:var(--color-text-primary);margin-bottom:.25rem;font-size:var(--text-base)}.subject-current{font-size:var(--text-sm);color:var(--color-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.subject-progress-container{text-align:right}.subject-progress-text{font-weight:var(--font-semibold);color:var(--color-primary);margin-bottom:var(--spacing-xs);font-size:var(--text-sm)}.progress-bar-mini{width:80px;height:6px;background:var(--color-bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.progress-fill-mini{height:100%;background:linear-gradient(90deg,var(--color-glass-purple),var(--color-glass-lavender));border-radius:var(--radius-full);transition:width var(--transition-slow);position:relative}.progress-fill-mini:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 2s infinite}.sessions-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.session-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:#ffffffb3;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1.5px solid rgba(147,197,253,.25);border-radius:var(--radius-lg);transition:all var(--transition-base);border-left:3px solid var(--color-glass-blue)}.session-item:hover{border-color:var(--color-border-hover);border-left-color:var(--color-glass-blue);box-shadow:var(--shadow-md)}.session-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.session-info{flex:1}.session-subject{font-weight:var(--font-semibold);color:var(--color-text-primary);margin-bottom:.25rem;font-size:var(--text-base)}.session-tutor{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:.25rem}.session-time{font-size:var(--text-sm);color:var(--color-text-tertiary)}.session-type-badge{padding:var(--spacing-xs) var(--spacing-md);background:#a78bfa1f;color:var(--color-primary);border:1px solid rgba(167,139,250,.2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold)}.assignments-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.assignment-item{padding:var(--spacing-md);background:#ffffffb3;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1.5px solid rgba(134,239,172,.25);border-radius:var(--radius-lg);transition:all var(--transition-base);border-left:3px solid var(--color-glass-mint)}.assignment-item:hover{border-color:var(--color-border-hover);border-left-color:var(--color-glass-mint);box-shadow:var(--shadow-md)}.assignment-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.assignment-subject-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:.25rem var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold)}.assignment-due{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-tertiary)}.assignment-due.urgent{color:var(--color-error)}.assignment-title{font-weight:var(--font-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-sm);font-size:var(--text-base)}.assignment-status-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:.25rem var(--spacing-sm);background:var(--color-info-light);color:var(--color-glass-blue);border:1px solid rgba(59,130,246,.2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold)}.quick-actions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.quick-action-btn{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xl);background:#ffffffb3;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1.5px solid rgba(167,139,250,.2);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base)}.quick-action-btn:hover{border-color:var(--color-border-hover);background:var(--color-bg-card);transform:translateY(-4px);box-shadow:var(--shadow-md)}.quick-action-icon{font-size:2rem}.quick-action-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);text-align:center}.empty-state-small{text-align:center;padding:var(--spacing-2xl) var(--spacing-md);color:var(--color-text-tertiary);font-size:var(--text-sm)}.subjects-page{animation:fadeIn .6s cubic-bezier(.4,0,.2,1)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.subjects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:var(--spacing-2xl);margin-top:var(--spacing-2xl)}@media(max-width:480px){.subjects-grid{grid-template-columns:1fr}}.subject-card{background:var(--color-bg-card);border:1.5px solid var(--glass-border);border-radius:var(--radius-2xl);padding:var(--spacing-2xl);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.subject-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-glass-purple),var(--color-glass-lavender),var(--color-glass-mint));opacity:0;transition:opacity var(--transition-base)}.subject-card:hover:before{opacity:1}.subject-card:hover{border-color:var(--color-border-hover);transform:translateY(-6px);box-shadow:var(--shadow-lg)}.subject-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-xl)}.subject-card-icon{font-size:3.5rem;filter:drop-shadow(0 2px 8px rgba(107,91,149,.15))}.confidence-badge{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.5px}.confidence-high{background:var(--color-success-light);color:var(--color-glass-emerald);border:1.5px solid var(--color-glass-mint)}.confidence-medium{background:var(--color-warning-light);color:#92400e;border:1.5px solid var(--color-glass-amber)}.confidence-low{background:var(--color-info-light);color:var(--color-glass-blue);border:1.5px solid var(--color-glass-sky)}.subject-card-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-sm);line-height:1.2}.subject-card-description{color:var(--color-text-secondary);margin-bottom:var(--spacing-xl);line-height:1.6;font-size:var(--text-sm)}.subject-card-current{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-md) var(--spacing-lg);background:linear-gradient(135deg,#a78bfa14,#c4b5fd0d);border:1px solid rgba(167,139,250,.15);border-radius:var(--radius-md);margin-bottom:var(--spacing-xl);border-left:3px solid var(--color-glass-purple)}.current-label{font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-tertiary)}.current-value{font-weight:var(--font-semibold);color:var(--color-primary);font-size:var(--text-sm)}.subject-card-progress{margin-bottom:var(--spacing-xl)}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.progress-label{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:var(--font-medium)}.progress-percentage{font-weight:var(--font-bold);color:var(--color-primary);font-size:var(--text-lg);font-family:var(--font-display)}.progress-bar{width:100%;height:10px;background:var(--color-bg-tertiary);border-radius:var(--radius-full);overflow:hidden;position:relative;box-shadow:inset 0 1px 3px #6b5b951a}.progress-fill{height:100%;background:linear-gradient(90deg,var(--color-glass-purple),var(--color-glass-lavender));border-radius:var(--radius-full);transition:width .5s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 0 10px #a78bfa4d}.progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.subject-card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.stat-item{text-align:center;padding:var(--spacing-md);background:linear-gradient(135deg,#ffffff80,#f8f7fc99);border-radius:var(--radius-md);border:1px solid var(--glass-border-light);transition:all var(--transition-fast)}.stat-item:hover{background:var(--color-bg-card);border-color:var(--color-border-hover);transform:translateY(-2px)}.stat-value{display:block;font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-light);color:var(--color-text-primary);margin-bottom:var(--spacing-xs);line-height:1}.stat-label{display:block;font-size:var(--text-xs);color:var(--color-text-tertiary);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.5px}.subject-card-btn{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-xl);background:linear-gradient(135deg,var(--color-purple-gradient-start),var(--color-purple-gradient-end));border:none;border-radius:var(--radius-full);color:#fff;font-weight:var(--font-semibold);font-size:var(--text-base);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.subject-card-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md),var(--glow-purple)}.subject-card-btn:active{transform:translateY(0)}.courses-page{animation:courseFadeIn .6s cubic-bezier(.4,0,.2,1)}@keyframes courseFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.courses-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:2.5rem}.courses-title{font-family:var(--font-display, "Outfit", sans-serif);font-size:2rem;font-weight:600;color:var(--color-text-primary, #1e1b2e);margin-bottom:.35rem;letter-spacing:-.01em}.courses-subtitle{color:var(--color-text-tertiary, #6b6575);font-size:1rem;line-height:1.5}.courses-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .9rem;border-radius:999px;font-size:.75rem;font-weight:600;background:#a78bfa1f;color:var(--color-primary, #6B5B95);border:1px solid rgba(167,139,250,.2);white-space:nowrap}.courses-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}@media(max-width:1100px){.courses-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.courses-grid{grid-template-columns:1fr}.courses-header{flex-direction:column;align-items:flex-start;gap:1rem}}.course-card{position:relative;background:var(--color-bg-card, #ffffff);border:1.5px solid rgba(107,91,149,.1);border-radius:20px;padding:2rem;cursor:pointer;transition:transform .28s cubic-bezier(.4,0,.2,1),box-shadow .28s cubic-bezier(.4,0,.2,1),border-color .28s ease;box-shadow:0 2px 8px #6b5b950f;overflow:hidden;display:flex;flex-direction:column}.course-card:hover{transform:translateY(-6px);box-shadow:0 12px 36px #6b5b951f,0 4px 12px #6b5b950f;border-color:#6b5b9533}.course-card-accent{position:absolute;top:0;left:0;right:0;height:4px;border-radius:20px 20px 0 0;opacity:0;transition:opacity .28s ease}.course-card:hover .course-card-accent{opacity:1}.course-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem}.course-card-icon-wrap{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;transition:transform .28s ease}.course-card:hover .course-card-icon-wrap{transform:scale(1.08)}.course-card-status-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .65rem;border-radius:999px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.course-card-title{font-family:var(--font-display, "Outfit", sans-serif);font-size:1.4rem;font-weight:600;color:var(--color-text-primary, #1e1b2e);margin-bottom:.3rem;letter-spacing:-.01em}.course-card-subtitle{color:var(--color-text-tertiary, #6b6575);font-size:.85rem;line-height:1.5;margin-bottom:0}.course-card-focus{display:flex;flex-direction:column;gap:.3rem;padding:.85rem 1rem;background:linear-gradient(135deg,#a78bfa0f,#c4b5fd08);border:1px solid rgba(167,139,250,.1);border-left:3px solid var(--color-glass-purple, #a78bfa);border-radius:10px;margin-top:1.25rem;margin-bottom:1.25rem}.course-card-focus-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary, #6b6575)}.course-card-focus-value{font-size:.875rem;font-weight:600;color:var(--color-primary, #6B5B95)}.course-card-progress{margin-bottom:1.25rem}.course-card-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.course-card-progress-label{font-size:.8rem;font-weight:600;color:var(--color-text-secondary, #4a4458)}.course-card-progress-value{font-size:1rem;font-weight:800;font-family:var(--font-display, "Outfit", sans-serif)}.course-card-bar-track{width:100%;height:8px;background:#6b5b9514;border-radius:999px;overflow:hidden}.course-card-bar-fill{height:100%;border-radius:999px;transition:width .6s cubic-bezier(.4,0,.2,1);position:relative}.course-card-bar-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:barShimmer 2.5s infinite}@keyframes barShimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.course-card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;border-top:1px solid rgba(107,91,149,.06);padding-top:1.25rem;margin-top:auto}.course-card-stat{text-align:center}.course-card-stat-value{display:block;font-family:var(--font-display, "Outfit", sans-serif);font-size:1.15rem;font-weight:700;color:var(--color-text-primary, #1e1b2e);margin-bottom:.15rem}.course-card-stat-label{display:block;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted, #9490a0)}.course-detail-page{animation:cdFadeIn .5s cubic-bezier(.4,0,.2,1);max-width:960px}@keyframes cdFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.course-detail-empty{text-align:center;padding:4rem 2rem;color:var(--color-text-tertiary);font-size:1.1rem}.course-detail-breadcrumb{display:flex;align-items:center;gap:.4rem;margin-bottom:1.5rem;font-size:.85rem;color:var(--color-text-tertiary)}.course-detail-breadcrumb button{background:none;border:none;color:var(--color-primary, #6B5B95);font-weight:600;cursor:pointer;padding:0;font-size:inherit}.course-detail-breadcrumb button:hover{text-decoration:underline}.course-detail-breadcrumb span{font-weight:600;color:var(--color-text-primary)}.course-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.course-detail-header-left{display:flex;align-items:center;gap:1rem}.course-detail-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center}.course-detail-title{font-family:var(--font-display, "Outfit", sans-serif);font-size:1.8rem;font-weight:600;color:var(--color-text-primary);letter-spacing:-.01em;margin-bottom:.15rem}.course-detail-subtitle{font-size:.9rem;color:var(--color-text-tertiary)}.course-detail-tutor-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem 1rem;border-radius:999px;background:#fbbf241a;color:#b45309;border:1px solid rgba(251,191,36,.3);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.course-detail-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid rgba(107,91,149,.08);padding-bottom:0}.course-detail-tab{position:relative;background:none;border:none;border-bottom:3px solid transparent;padding:.75rem 1.25rem;font-size:.9rem;font-weight:600;color:var(--color-text-tertiary);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.4rem;white-space:nowrap}.course-detail-tab:hover:not(:disabled){color:var(--color-text-primary);background:#6b5b950a}.course-detail-tab.active{font-weight:700;border-bottom-width:3px}.course-detail-tab.locked{opacity:.5;cursor:not-allowed}.tab-lock-label{font-size:.6rem;text-transform:uppercase;letter-spacing:.04em;opacity:.7}.course-detail-lessons{display:flex;flex-direction:column;gap:.75rem}.lesson-accordion{background:var(--color-bg-card, #fff);border:1.5px solid rgba(107,91,149,.1);border-radius:14px;overflow:hidden;transition:all .25s ease}.lesson-accordion.expanded{border-color:#6b5b9533;box-shadow:0 4px 16px #6b5b9514}.lesson-accordion.locked{opacity:.55}.lesson-accordion-header{width:100%;background:none;border:none;display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;cursor:pointer;transition:background .15s ease;text-align:left}.lesson-accordion-header:hover:not(:disabled){background:#6b5b9508}.lesson-accordion-header:disabled{cursor:not-allowed}.lesson-accordion-left{display:flex;align-items:center;gap:.85rem}.lesson-number{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;flex-shrink:0}.lesson-accordion-title{font-weight:600;color:var(--color-text-primary);font-size:.95rem;margin-bottom:.15rem}.lesson-accordion-meta{display:flex;gap:.75rem;color:var(--color-text-muted);font-size:.72rem;font-weight:500}.lesson-accordion-meta span{display:inline-flex;align-items:center;gap:.25rem}.lesson-accordion-right{display:flex;align-items:center;gap:.75rem}.access-toggle{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .7rem;border-radius:8px;border:1px solid rgba(239,68,68,.3);background:#ef44440f;color:#dc2626;font-size:.7rem;font-weight:700;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.03em}.access-toggle.granted{border-color:#10b9814d;background:#10b9810f;color:#059669}.access-toggle:hover{transform:scale(1.05)}.lesson-locked-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .6rem;font-size:.68rem;font-weight:700;color:#94a3b8;background:#94a3b81a;border-radius:6px;text-transform:uppercase}.lesson-done-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .6rem;font-size:.68rem;font-weight:700;color:#059669;background:#05966914;border-radius:6px;text-transform:uppercase}.accordion-chevron{color:var(--color-text-muted);transition:transform .25s ease;flex-shrink:0}.accordion-chevron.rotated{transform:rotate(180deg)}.lesson-accordion-body{border-top:1px solid rgba(107,91,149,.08);animation:slideDown .25s cubic-bezier(.4,0,.2,1)}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:1000px}}.lesson-section-tabs{display:flex;gap:0;border-bottom:2px solid rgba(107,91,149,.06);padding:0 1.25rem}.section-tab{display:flex;align-items:center;gap:.35rem;background:none;border:none;border-bottom:2px solid transparent;padding:.75rem 1rem;font-size:.8rem;font-weight:600;color:var(--color-text-tertiary);cursor:pointer;transition:all .2s ease;margin-bottom:-2px}.section-tab:hover{color:var(--color-text-primary);background:#6b5b9508}.section-tab.active{font-weight:700}.lesson-content-section{padding:1.5rem 1.25rem}.lesson-notes{line-height:1.7}.notes-heading{font-family:var(--font-display, "Outfit", sans-serif);font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin-bottom:1rem}.notes-placeholder{color:var(--color-text-secondary);font-size:.9rem;margin-bottom:1.25rem}.notes-objectives{padding:1rem;background:linear-gradient(135deg,#a78bfa0f,#c4b5fd08);border:1px solid rgba(167,139,250,.12);border-left:3px solid var(--color-glass-purple, #a78bfa);border-radius:10px}.notes-objectives h4{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-primary, #6B5B95);margin-bottom:.6rem}.notes-objectives ul{padding-left:1.25rem;color:var(--color-text-secondary);font-size:.85rem;display:flex;flex-direction:column;gap:.35rem}.homework-section{display:flex;flex-direction:column;gap:1.25rem}.homework-notice{display:flex;align-items:flex-start;gap:.6rem;padding:.85rem 1rem;background:#fbbf240f;border:1px solid rgba(251,191,36,.2);border-radius:10px;color:#92400e;font-size:.85rem;line-height:1.5}.homework-notice svg{flex-shrink:0;margin-top:.1rem}.homework-questions h4{font-size:.85rem;font-weight:700;color:var(--color-text-primary);margin-bottom:.6rem}.homework-questions ol{padding-left:1.25rem;color:var(--color-text-secondary);font-size:.85rem;line-height:1.7;display:flex;flex-direction:column;gap:.4rem}.homework-checkbox{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1rem;border-radius:10px;border:1.5px solid rgba(107,91,149,.15);background:none;color:var(--color-text-secondary);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;align-self:flex-start}.homework-checkbox:hover{border-color:var(--color-primary, #6B5B95)}.homework-checkbox.checked{background:#10b98114;border-color:#10b9814d;color:#059669}.quiz-section{display:flex;flex-direction:column;gap:1.25rem}.quiz-tutor-controls{padding:1.25rem;background:#fbbf240a;border:1px solid rgba(251,191,36,.15);border-radius:12px}.quiz-tutor-controls h4{display:flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:700;color:#92400e;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.03em}.quiz-settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1rem}.quiz-setting label{display:block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary);margin-bottom:.35rem}.quiz-setting input{width:100%;padding:.5rem .75rem;border:1.5px solid rgba(107,91,149,.15);border-radius:8px;font-size:.8rem;font-family:inherit;color:var(--color-text-primary);background:#fff;transition:border-color .2s ease}.quiz-setting input:focus{outline:none;border-color:var(--color-primary, #6B5B95);box-shadow:0 0 0 3px #6b5b9514}.quiz-setting-static{display:flex;align-items:center;gap:.4rem;padding:.5rem .75rem;border:1.5px solid rgba(107,91,149,.1);border-radius:8px;font-size:.8rem;color:var(--color-text-secondary);background:#6b5b9508}.quiz-save-btn{display:inline-flex;padding:.55rem 1.5rem;border-radius:10px;border:none;color:#fff;font-weight:700;font-size:.8rem;cursor:pointer;transition:all .2s ease;margin-bottom:.5rem}.quiz-save-btn:hover{opacity:.9;transform:translateY(-1px)}.quiz-status-indicator{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--color-text-tertiary)}.status-dot{width:8px;height:8px;border-radius:50%}.status-dot.active{background:#10b981;box-shadow:0 0 6px #10b98166}.status-dot.inactive{background:#ef4444;box-shadow:0 0 6px #ef444466}.quiz-student-view{display:flex;flex-direction:column;gap:1.25rem}.quiz-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.quiz-info-item{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#6b5b950a;border-radius:10px;border:1px solid rgba(107,91,149,.08)}.quiz-info-item svg{color:var(--color-primary, #6B5B95);flex-shrink:0}.qi-label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:.1rem}.qi-value{display:block;font-size:.9rem;font-weight:600;color:var(--color-text-primary)}.quiz-start-btn{padding:.75rem 2rem;border-radius:12px;border:none;color:#fff;font-weight:700;font-size:.95rem;cursor:pointer;transition:all .25s ease;box-shadow:0 4px 16px #0000001f;align-self:flex-start}.quiz-start-btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px #0000002e}.quiz-locked-msg,.quiz-closed-msg{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:10px;font-size:.85rem;font-weight:600}.quiz-locked-msg{background:#94a3b814;color:#64748b;border:1px solid rgba(148,163,184,.2)}.quiz-closed-msg{background:#ef44440f;color:#dc2626;border:1px solid rgba(239,68,68,.15)}.quiz-completed-msg{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:10px;font-size:.85rem;font-weight:600;background:#10b98114;color:#059669;border:1px solid rgba(16,185,129,.2)}@media(max-width:680px){.course-detail-header{flex-direction:column;align-items:flex-start;gap:1rem}.course-detail-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.quiz-settings-grid,.quiz-info-grid{grid-template-columns:1fr}.lesson-accordion-right{flex-direction:column;align-items:flex-end;gap:.35rem}}.lesson-rich-content{font-size:.9rem;line-height:1.75;color:var(--color-text-secondary, #444)}.lesson-rich-content h2{font-family:var(--font-display, "Outfit", sans-serif);font-size:1.15rem;font-weight:700;color:var(--color-text-primary, #1a1a2e);margin:1.75rem 0 .75rem;padding-bottom:.35rem;border-bottom:2px solid rgba(124,58,237,.1)}.lesson-rich-content h2:first-child{margin-top:0}.lesson-rich-content h3{font-size:.95rem;font-weight:700;color:var(--color-text-primary, #333);margin:1.25rem 0 .5rem}.lesson-rich-content h4{font-size:.88rem;font-weight:700;color:var(--color-text-primary, #333);margin:.75rem 0 .4rem}.lesson-rich-content p{margin:0 0 .75rem}.lesson-rich-content ul,.lesson-rich-content ol{padding-left:1.5rem;margin:.5rem 0}.lesson-rich-content li{margin-bottom:.35rem}.lesson-rich-content hr{border:none;border-top:1.5px solid rgba(124,58,237,.08);margin:1.5rem 0}.lesson-rich-content code{background:#7c3aed14;padding:.15rem .45rem;border-radius:5px;font-size:.82rem;font-family:SFMono-Regular,Consolas,monospace;color:#7c3aed}.lesson-rich-content em{color:#555}.lesson-rich-content strong{color:var(--color-text-primary, #1a1a2e)}.info-box{padding:1rem 1.25rem;border-radius:10px;margin:.75rem 0;border:1px solid rgba(0,0,0,.06)}.info-box h4{margin-top:0!important;margin-bottom:.35rem!important}.info-box-blue{background:#2563eb0d;border-color:#2563eb1f}.info-box-amber{background:#f59e0b0d;border-color:#f59e0b1f}.key-principle,.selective-insight{padding:.85rem 1rem;border-radius:10px;margin:.75rem 0;font-size:.88rem;line-height:1.6}.key-principle{background:linear-gradient(135deg,#10b9810f,#05966908);border-left:3px solid #10b981}.selective-insight{background:linear-gradient(135deg,#7c3aed0f,#8b5cf608);border-left:3px solid #7c3aed}.structure-card{background:var(--color-bg-card, #fff);border:1px solid rgba(107,91,149,.1);border-radius:12px;padding:1rem 1.25rem;margin:.5rem 0;transition:box-shadow .2s ease}.structure-card:hover{box-shadow:0 2px 10px #6b5b9514}.structure-card h4{margin-top:0!important;color:#7c3aed!important}.info-table{width:100%;border-collapse:separate;border-spacing:0;margin:.75rem 0;font-size:.85rem;border-radius:10px;overflow:hidden;border:1px solid rgba(107,91,149,.1)}.info-table th{background:#7c3aed0f;padding:.65rem 1rem;text-align:left;font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#7c3aed;border-bottom:1px solid rgba(107,91,149,.1)}.info-table td{padding:.6rem 1rem;border-bottom:1px solid rgba(107,91,149,.06);color:var(--color-text-secondary, #555)}.info-table tr:last-child td{border-bottom:none}.homework-rich-content{font-size:.9rem;line-height:1.7;color:var(--color-text-secondary, #444)}.homework-task{background:var(--color-bg-card, #fff);border:1px solid rgba(107,91,149,.1);border-radius:12px;padding:1.25rem 1.5rem;margin-bottom:1rem}.homework-task h3{font-size:1rem;font-weight:700;color:var(--color-text-primary, #1a1a2e);margin:0 0 .75rem;display:flex;align-items:center;gap:.5rem}.time-badge{font-size:.7rem;font-weight:700;padding:.2rem .6rem;border-radius:6px;background:#7c3aed14;color:#7c3aed}.homework-task ol{padding-left:1.5rem;margin:.5rem 0}.homework-task li{margin-bottom:.5rem}.marks{font-size:.75rem;font-weight:700;color:#7c3aed;opacity:.8}.passage{background:#f5f5f5cc;border-left:3px solid #7c3aed;padding:1rem 1.25rem;margin:.75rem 0;border-radius:0 10px 10px 0;font-style:italic;color:#444;line-height:1.75;font-size:.88rem}.topic-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.topic-chips span{display:inline-block;padding:.35rem .85rem;border-radius:8px;background:#7c3aed0f;border:1px solid rgba(124,58,237,.12);font-size:.82rem;font-weight:600;color:#7c3aed}.frac{display:inline-block;font-weight:600;text-align:center;vertical-align:middle;font-size:1em;letter-spacing:-.5px}.frac sup,.frac sub{font-size:.88em;font-weight:700;color:#7c3aed}.frac sup{vertical-align:super}.frac sub{vertical-align:sub}.math-display{display:block;text-align:center;font-size:1.1rem;padding:.85rem 1rem;margin:.75rem 0;background:#7c3aed0a;border-radius:10px;border:1px solid rgba(124,58,237,.08);font-weight:600;color:#1a1a2e;line-height:2}.quiz-page{min-height:100vh;background:#fafafa;font-family:Inter,-apple-system,sans-serif}.quiz-page-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#666}.quiz-start-screen{max-width:600px;margin:0 auto;padding:80px 24px;text-align:center}.quiz-start-icon{width:80px;height:80px;border-radius:20px;background:linear-gradient(135deg,#7c3aed,#6d28d9);display:flex;align-items:center;justify-content:center;margin:0 auto 24px;color:#fff}.quiz-start-screen h1{font-size:1.75rem;font-weight:700;color:#1a1a2e;margin:0 0 8px}.quiz-start-lesson{color:#666;font-size:.95rem;margin:0 0 32px}.quiz-start-info{display:flex;gap:16px;justify-content:center;margin-bottom:32px;flex-wrap:wrap}.quiz-info-card{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:14px 20px;min-width:160px}.quiz-info-card svg{color:#7c3aed;flex-shrink:0}.quiz-info-card div{display:flex;flex-direction:column;text-align:left}.info-label{font-size:.75rem;color:#999;text-transform:uppercase;letter-spacing:.5px}.info-value{font-size:.95rem;font-weight:600;color:#1a1a2e}.quiz-start-instructions{color:#555;font-size:.9rem;background:#f3f0ff;border:1px solid #e0d5ff;border-radius:10px;padding:14px 20px;margin-bottom:32px;line-height:1.5}.quiz-start-actions{display:flex;flex-direction:column;align-items:center;gap:12px}.quiz-start-btn-main{background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;border:none;border-radius:12px;padding:14px 48px;font-size:1.05rem;font-weight:600;cursor:pointer;transition:all .2s}.quiz-start-btn-main:hover{transform:translateY(-1px);box-shadow:0 6px 20px #7c3aed59}.quiz-start-btn-back,.quiz-back-btn{display:flex;align-items:center;gap:6px;background:none;border:none;color:#666;font-size:.9rem;cursor:pointer;padding:8px 16px;border-radius:8px}.quiz-start-btn-back:hover,.quiz-back-btn:hover{background:#f3f4f6;color:#333}.quiz-topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #e5e7eb;padding:12px 24px;box-shadow:0 1px 4px #0000000a}.quiz-topbar-left{display:flex;align-items:center;gap:10px;color:#7c3aed}.quiz-topbar-title{font-weight:600;font-size:.95rem;color:#1a1a2e}.quiz-topbar-timer{display:flex;align-items:center;gap:6px;font-weight:700;font-size:1.1rem;font-variant-numeric:tabular-nums;color:#1a1a2e;background:#f3f4f6;padding:8px 16px;border-radius:10px}.quiz-topbar-timer.warning{color:#f59e0b;background:#fffbeb}.quiz-topbar-timer.critical{color:#ef4444;background:#fef2f2;animation:pulse-timer 1s infinite}@keyframes pulse-timer{0%,to{opacity:1}50%{opacity:.6}}.quiz-layout{display:flex;min-height:calc(100vh - 57px)}.quiz-nav{width:220px;background:#fff;border-right:1px solid #e5e7eb;padding:20px 16px;flex-shrink:0;display:flex;flex-direction:column}.quiz-nav h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;color:#999;margin:0 0 16px}.quiz-nav-section{margin-bottom:16px}.quiz-nav-section-title{font-size:.75rem;font-weight:600;color:#666;display:block;margin-bottom:8px}.quiz-nav-dots{display:flex;flex-wrap:wrap;gap:6px}.quiz-nav-dot{width:32px;height:32px;border-radius:8px;border:1.5px solid #e5e7eb;background:#fff;font-size:.8rem;font-weight:600;color:#999;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}.quiz-nav-dot:hover{border-color:#7c3aed;color:#7c3aed}.quiz-nav-dot.active{background:#7c3aed;border-color:#7c3aed;color:#fff}.quiz-nav-dot.answered{background:#f3f0ff;border-color:#c4b5fd;color:#7c3aed}.quiz-nav-dot.active.answered{background:#7c3aed;color:#fff}.quiz-submit-btn{margin-top:auto;display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;border:none;border-radius:10px;padding:12px 16px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s}.quiz-submit-btn:hover{box-shadow:0 4px 12px #7c3aed4d}.quiz-main{flex:1;padding:32px 40px;max-width:800px}.quiz-section-header{margin-bottom:24px}.section-badge{display:inline-block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#7c3aed;background:#f3f0ff;padding:4px 10px;border-radius:6px;margin-bottom:8px}.quiz-section-header h2{font-size:1.3rem;font-weight:700;color:#1a1a2e;margin:0 0 4px}.section-instructions{color:#666;font-size:.9rem;font-style:italic}.quiz-question-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:32px;box-shadow:0 2px 8px #0000000a}.quiz-question-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.q-number{font-weight:700;font-size:1rem;color:#1a1a2e}.q-marks{font-size:.85rem;color:#7c3aed;font-weight:600;display:flex;align-items:center;gap:6px}.bonus-tag{font-size:.65rem;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:2px 8px;border-radius:6px;font-weight:700;letter-spacing:.5px}.quiz-passage{background:#f8f7ff;border:1px solid #e0d5ff;border-radius:12px;padding:20px 24px;margin-bottom:20px;font-size:.92rem;line-height:1.7;color:#333}.quiz-passage h4{font-size:1.05rem;font-weight:700;margin:0 0 12px;color:#1a1a2e}.quiz-passage p{margin:0 0 12px}.quiz-passage p:last-child{margin-bottom:0}.quiz-question-text{font-size:.95rem;line-height:1.65;color:#333;margin-bottom:20px}.quiz-question-text blockquote{background:#f9fafb;border-left:3px solid #7c3aed;padding:14px 18px;margin:12px 0;border-radius:0 8px 8px 0;font-style:italic;color:#444;line-height:1.7}.quiz-question-text ul,.quiz-question-text ol{padding-left:24px;margin:8px 0}.quiz-question-text li{margin-bottom:4px}.quiz-mc-options{display:flex;flex-direction:column;gap:10px}.quiz-mc-option{display:flex;align-items:flex-start;gap:14px;background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:14px 18px;text-align:left;cursor:pointer;transition:all .15s;font-size:.92rem;line-height:1.5;color:#333}.quiz-mc-option:hover{border-color:#c4b5fd;background:#faf8ff}.quiz-mc-option.selected{border-color:#7c3aed;background:#f3f0ff}.mc-letter{flex-shrink:0;width:28px;height:28px;border-radius:8px;background:#f3f4f6;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;color:#666;transition:all .15s}.quiz-mc-option.selected .mc-letter{background:#7c3aed;color:#fff}.mc-text{padding-top:3px}.quiz-textarea{width:100%;border:2px solid #e5e7eb;border-radius:12px;padding:14px 16px;font-family:Inter,-apple-system,sans-serif;font-size:.92rem;line-height:1.6;resize:vertical;transition:border-color .2s;background:#fff;color:#333}.quiz-textarea:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.quiz-textarea::placeholder{color:#bbb}.quiz-sub-questions{display:flex;flex-direction:column;gap:24px}.quiz-sub-question{border-top:1px solid #f0f0f0;padding-top:20px}.sub-q-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.sub-q-label{font-weight:700;font-size:.95rem;color:#7c3aed}.sub-q-title{font-weight:600;font-size:.95rem;color:#1a1a2e}.sub-q-marks{font-size:.8rem;color:#999;margin-left:auto}.sub-q-text{font-size:.9rem;color:#555;margin-bottom:12px;line-height:1.5}.quiz-question-nav{display:flex;align-items:center;gap:12px;margin-top:28px;padding-top:20px;border-top:1px solid #f0f0f0}.q-nav-btn{display:flex;align-items:center;gap:6px;background:#f3f4f6;border:none;border-radius:10px;padding:10px 20px;font-weight:600;font-size:.9rem;cursor:pointer;color:#555;transition:all .15s}.q-nav-btn:hover{background:#e5e7eb}.q-nav-btn.primary{background:#7c3aed;color:#fff}.q-nav-btn.primary:hover{background:#6d28d9}.q-nav-btn.submit{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.q-nav-btn.submit:hover{box-shadow:0 4px 12px #10b9814d}.quiz-results{max-width:700px;margin:0 auto;padding:60px 24px;text-align:center}.quiz-results-badge{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.quiz-results-badge.excellent{background:#d1fae5;color:#059669}.quiz-results-badge.good{background:#fef3c7;color:#d97706}.quiz-results-badge.needs-work{background:#fee2e2;color:#dc2626}.quiz-results h1{font-size:1.75rem;font-weight:700;color:#1a1a2e;margin:0 0 6px}.quiz-results-subtitle{color:#666;font-size:.9rem;margin:0 0 32px}.quiz-results-score{margin-bottom:40px}.score-circle{display:flex;align-items:baseline;justify-content:center;gap:4px;margin-bottom:8px}.score-number{font-size:3rem;font-weight:800;color:#7c3aed}.score-divider{font-size:2rem;color:#ccc}.score-total{font-size:1.5rem;font-weight:600;color:#999}.score-pct{font-size:1.1rem;font-weight:600;color:#333;margin:0 0 6px}.score-note{font-size:.85rem;color:#999}.quiz-results-review{text-align:left;margin-top:40px}.quiz-results-review h3{font-size:1.1rem;font-weight:700;color:#1a1a2e;margin:0 0 16px}.review-item{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px 20px;margin-bottom:12px}.review-item.correct{border-color:#bbf7d0}.review-item.incorrect{border-color:#fecaca}.review-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.review-num{font-weight:700;font-size:.9rem;color:#1a1a2e}.review-question{font-size:.88rem;color:#555;margin:0 0 10px;line-height:1.5}.review-option{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;font-size:.85rem;color:#555;margin-bottom:4px}.review-option .opt-letter{width:22px;height:22px;border-radius:6px;background:#f3f4f6;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.7rem;flex-shrink:0}.review-option.is-correct{background:#f0fdf4;color:#166534;font-weight:600}.review-option.is-correct .opt-letter{background:#10b981;color:#fff}.review-option.is-wrong{background:#fef2f2;color:#b91c1c}.review-option.is-wrong .opt-letter{background:#ef4444;color:#fff}.quiz-results-actions{margin-top:32px;text-align:center}@media(max-width:768px){.quiz-nav{display:none}.quiz-main{padding:20px 16px}.quiz-question-card{padding:20px}.quiz-start-info{flex-direction:column}}.quiz-question-text .frac,.quiz-passage .frac,.quiz-mc-option .frac,.sub-q-text .frac{display:inline-block;font-weight:600;vertical-align:middle;letter-spacing:-.5px}.quiz-question-text .frac sup,.quiz-question-text .frac sub,.quiz-passage .frac sup,.quiz-passage .frac sub,.sub-q-text .frac sup,.sub-q-text .frac sub{font-size:.88em;font-weight:700;color:#7c3aed}.quiz-question-text .math-display,.quiz-passage .math-display,.sub-q-text .math-display{display:block;text-align:center;font-size:1.1rem;padding:.75rem 1rem;margin:.75rem 0;background:#7c3aed0a;border-radius:10px;border:1px solid rgba(124,58,237,.08);font-weight:600;color:#1a1a2e;line-height:2}.tgv-page{min-height:100vh;background:#0f0f13;padding:2rem;color:#e8e8f0;font-family:Inter,sans-serif}.tgv-loading{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:#a78bfa;background:#0f0f13}.tgv-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:2.5rem}.tgv-back-btn{display:flex;align-items:center;gap:.4rem;background:#1e1e2e;border:1px solid #2d2d3f;color:#a78bfa;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.85rem;transition:all .2s;white-space:nowrap}.tgv-back-btn:hover{background:#2d2d3f;color:#c4b5fd}.tgv-header-text h1{font-size:1.6rem;font-weight:700;color:#f1f0ff;margin:0 0 .2rem}.tgv-header-text p{color:#666680;margin:0;font-size:.88rem}.tgv-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem;color:#444460;text-align:center}.tgv-empty h2{color:#666680;margin:0}.tgv-empty p{margin:0}.tgv-submissions-list{display:flex;flex-direction:column;gap:1rem;max-width:900px}.tgv-submission-card{background:#1a1a2e;border:1px solid #2d2d3f;border-radius:14px;padding:1.25rem 1.5rem;display:flex;align-items:center;gap:1.5rem;transition:border-color .2s}.tgv-submission-card.graded{border-color:#10b981}.tgv-submission-card.pending{border-color:#f59e0b}.tgv-sub-info{flex:1;display:flex;flex-direction:column;gap:.5rem}.tgv-sub-student{display:flex;align-items:center;gap:.6rem;color:#e8e8f0}.tgv-sub-username{color:#666680;font-size:.8rem;margin-left:.3rem}.tgv-sub-meta{display:flex;align-items:center;gap:1rem}.tgv-status-badge{padding:.2rem .6rem;border-radius:20px;font-size:.75rem;font-weight:600}.tgv-status-badge.graded{background:#10b98126;color:#10b981}.tgv-status-badge.submitted{background:#f59e0b26;color:#f59e0b}.tgv-sub-time{display:flex;align-items:center;gap:.3rem;color:#555570;font-size:.8rem}.tgv-sub-scores{display:flex;gap:1rem}.tgv-score-item{display:flex;flex-direction:column;align-items:center;background:#12121e;border:1px solid #2d2d3f;border-radius:8px;padding:.5rem 1rem;min-width:70px}.tgv-score-item span{color:#666680;font-size:.72rem}.tgv-score-item strong{color:#c4b5fd;font-size:1.1rem}.tgv-score-item.final strong{color:#10b981}.tgv-grade-btn{display:flex;align-items:center;gap:.4rem;background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;border:none;padding:.6rem 1.2rem;border-radius:8px;cursor:pointer;font-weight:600;font-size:.88rem;transition:opacity .2s;white-space:nowrap}.tgv-grade-btn:hover{opacity:.85}.tgv-grade-btn:disabled{opacity:.5;cursor:not-allowed}.tgv-grading-page{min-height:100vh;background:#0f0f13;color:#e8e8f0;font-family:Inter,sans-serif;display:flex;flex-direction:column}.tgv-grading-header{display:flex;align-items:center;gap:1rem;padding:1rem 2rem;background:#1a1a2e;border-bottom:1px solid #2d2d3f;position:sticky;top:0;z-index:10}.tgv-grading-meta{display:flex;gap:1rem;flex:1}.tgv-student-badge,.tgv-lesson-badge{display:flex;align-items:center;gap:.4rem;background:#12121e;border:1px solid #2d2d3f;border-radius:20px;padding:.3rem .8rem;font-size:.85rem;color:#c4b5fd}.tgv-score-badge{background:#a78bfa1a;border:1px solid #4c1d95;color:#c4b5fd;border-radius:8px;padding:.3rem .8rem;font-size:.83rem}.tgv-grading-layout{display:grid;grid-template-columns:1fr 300px;gap:1.5rem;padding:1.5rem 2rem;flex:1;align-items:start}.tgv-questions-pane{display:flex;flex-direction:column;gap:1.5rem}.tgv-section{border:1px solid #2d2d3f;border-radius:12px;overflow:hidden}.tgv-section-header{width:100%;display:flex;align-items:center;justify-content:space-between;background:#1e1e30;border:none;color:#c4b5fd;padding:.85rem 1.25rem;font-weight:600;font-size:.9rem;cursor:pointer;text-align:left;transition:background .2s}.tgv-section-header:hover{background:#252540}.tgv-question-card{background:#151520;padding:1.25rem;border-top:1px solid #2d2d3f;display:flex;flex-direction:column;gap:.85rem}.tgv-question-card.mc-correct{border-left:3px solid #10b981}.tgv-question-card.mc-wrong{border-left:3px solid #ef4444}.tgv-q-header{display:flex;align-items:center;gap:.6rem}.tgv-q-num{background:#7c3aed;color:#fff;border-radius:6px;padding:.2rem .5rem;font-size:.78rem;font-weight:700}.tgv-q-type{color:#666680;font-size:.78rem;text-transform:capitalize;background:#1e1e2e;border-radius:4px;padding:.1rem .4rem}.tgv-q-maxmarks{color:#555570;font-size:.8rem;margin-left:auto}.tgv-bonus-tag{background:#f59e0b;color:#000;border-radius:4px;padding:.1rem .4rem;font-size:.72rem;font-weight:700}.tgv-passage{background:#12121e;border:1px solid #2d2d3f;border-radius:8px;padding:.8rem 1rem;font-size:.85rem;line-height:1.6;color:#b0b0c8}.tgv-q-text{font-size:.92rem;line-height:1.6;color:#d4d4e8}.tgv-mc-options{display:flex;flex-direction:column;gap:.4rem}.tgv-mc-opt{display:flex;align-items:center;gap:.6rem;padding:.5rem .8rem;border-radius:7px;font-size:.85rem;background:#1e1e2e;border:1px solid #2d2d3f;color:#c0c0d8}.tgv-mc-opt.correct-ans{border-color:#10b981;color:#10b981}.tgv-mc-opt.wrong-ans{border-color:#ef4444;color:#ef4444;background:#ef44440d}.tgv-mc-opt.student-correct{border-color:#10b981;background:#10b98114;color:#10b981}.tgv-opt-letter{width:22px;height:22px;border-radius:50%;background:#2d2d3f;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.75rem}.tgv-correct-label{margin-left:auto;color:#10b981;font-size:.78rem;font-weight:600}.tgv-wrong-label{margin-left:auto;color:#ef4444;font-size:.78rem;font-weight:600}.tgv-student-answer{display:flex;flex-direction:column;gap:.4rem}.tgv-student-answer label{color:#889;font-size:.8rem;font-weight:600}.tgv-answer-box{background:#12121e;border:1px solid #2d2d3f;border-radius:8px;padding:.8rem 1rem;font-size:.88rem;line-height:1.6;color:#d4d4e8;white-space:pre-wrap;min-height:60px}.tgv-no-answer{color:#444460;font-style:italic}.tgv-sub-answers{display:flex;flex-direction:column;gap:1rem}.tgv-sub-answer{background:#12121e;border:1px solid #1e1e3a;border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:.5rem}.tgv-sub-header{display:flex;align-items:center;gap:.5rem}.tgv-sub-label{font-weight:700;color:#a78bfa;font-size:.88rem}.tgv-sub-title{color:#c0c0d8;font-size:.85rem}.tgv-sub-maxmarks{margin-left:auto;color:#555570;font-size:.8rem}.tgv-sub-q-text{color:#999ab0;font-size:.82rem}.tgv-mark-row{display:flex;align-items:center;gap:.6rem;padding-top:.5rem;border-top:1px solid #1e1e3a}.tgv-mark-row label{color:#889;font-size:.82rem;flex:1}.tgv-mark-input{width:70px;background:#1e1e2e;border:1px solid #a78bfa;color:#f1f0ff;border-radius:6px;padding:.35rem .5rem;font-size:.9rem;text-align:center}.tgv-mark-max{color:#555570;font-size:.85rem}.tgv-auto-mark{font-weight:700;font-size:.9rem}.tgv-auto-mark.correct{color:#10b981}.tgv-auto-mark.wrong{color:#ef4444}.tgv-grading-sidebar{position:sticky;top:80px;display:flex;flex-direction:column;gap:1rem}.tgv-sidebar-card{background:#1a1a2e;border:1px solid #2d2d3f;border-radius:12px;padding:1.25rem;display:flex;flex-direction:column;gap:.8rem}.tgv-sidebar-card h3{display:flex;align-items:center;gap:.4rem;margin:0;font-size:.92rem;color:#c4b5fd}.tgv-final-mark-area{display:flex;flex-direction:column;gap:.6rem}.tgv-running-total{background:#12121e;border-radius:6px;padding:.5rem .7rem;font-size:.82rem;color:#889}.tgv-running-total strong{color:#a78bfa}.tgv-final-mark-input-row{display:flex;align-items:center;gap:.5rem}.tgv-final-input{flex:1;background:#12121e;border:2px solid #7c3aed;color:#f1f0ff;border-radius:8px;padding:.6rem .8rem;font-size:1.2rem;font-weight:700;text-align:center}.tgv-final-max{color:#555570;font-size:1rem}.tgv-auto-fill-btn{background:#1e1e2e;border:1px solid #4c1d95;color:#a78bfa;border-radius:7px;padding:.4rem .8rem;font-size:.78rem;cursor:pointer;transition:background .2s}.tgv-auto-fill-btn:hover{background:#2d2d4e}.tgv-comment-area{width:100%;background:#12121e;border:1px solid #2d2d3f;color:#e8e8f0;border-radius:8px;padding:.7rem;font-size:.88rem;resize:vertical;font-family:inherit;line-height:1.5;box-sizing:border-box}.tgv-comment-area:focus{outline:none;border-color:#7c3aed}.tgv-save-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;border:none;border-radius:10px;padding:.85rem;font-size:.95rem;font-weight:700;cursor:pointer;transition:opacity .2s,transform .1s}.tgv-save-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.tgv-save-btn:disabled{opacity:.5;cursor:not-allowed}.tgv-save-btn.success{background:linear-gradient(135deg,#059669,#10b981)}@media(max-width:768px){.tgv-grading-layout{grid-template-columns:1fr}.tgv-grading-sidebar{position:static}.tgv-submission-card{flex-direction:column;align-items:flex-start}}.mp-page{--mp-deep-lavender: #5E5574;--mp-soft-lilac: #D9CFF2;--mp-mist-white: #f0eef8;--mp-emerald: #10B981;--mp-emerald-bg: #ECFDF5;--mp-amber: #F59E0B;--mp-amber-bg: #FFFBEB;--mp-rose: #FB7185;--mp-rose-bg: #FEF2F2;--mp-slate: #374151;--mp-text-primary: #1F1F1F;font-family:var(--font-primary);color:var(--color-text-primary);min-height:100vh;animation:mp-fadeIn .6s cubic-bezier(.4,0,.2,1)}@keyframes mp-fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.mp-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg);padding-bottom:var(--spacing-xl);margin-bottom:var(--spacing-xl);border-bottom:1px solid rgba(107,91,149,.08)}.mp-header-left{display:flex;align-items:center;gap:var(--spacing-md)}.mp-header-icon{width:48px;height:48px;border-radius:var(--radius-lg);background:#5e55740f;display:flex;align-items:center;justify-content:center;color:var(--mp-deep-lavender)}.mp-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-light);color:var(--color-text-primary);margin:0;line-height:1.2}.mp-subtitle{font-size:var(--text-sm);color:var(--color-text-tertiary);margin:0}.mp-nav{display:flex;background:#ffffff73;padding:4px;border-radius:var(--radius-full);border:1px solid rgba(255,255,255,.5);box-shadow:var(--shadow-xs)}.mp-nav-btn{padding:8px 20px;border-radius:var(--radius-full);font-family:var(--font-primary);font-size:12px;font-weight:var(--font-semibold);letter-spacing:.04em;color:var(--color-text-tertiary);background:transparent;border:1px solid transparent;cursor:pointer;transition:all .25s ease;display:flex;align-items:center;gap:6px}.mp-nav-btn:hover{color:var(--color-text-primary);background:#ffffff80}.mp-nav-btn.active{background:var(--mp-deep-lavender);color:#fff;border-color:var(--mp-deep-lavender);box-shadow:0 4px 12px #5e557440}.mp-glass{background:#fff9;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.35);border-radius:var(--radius-2xl);box-shadow:0 4px 6px -1px #5e55740f,0 2px 4px -1px #5e557408,inset 0 1px #ffffffb3;transition:all var(--transition-base)}.mp-glass:hover{transform:translateY(-2px);box-shadow:0 12px 24px -4px #5e55741f,0 4px 8px -2px #5e55740d;border-color:#a78bfa33}.mp-top-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-xl)}@media(min-width:900px){.mp-top-grid{grid-template-columns:3fr 2fr}}.mp-section-label{font-family:var(--font-primary);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--spacing-lg)}.mp-composites-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl)}@media(min-width:640px){.mp-composites-grid{grid-template-columns:1fr 1fr}}.mp-composite-card{padding:var(--spacing-xl)}.mp-composite-card .mp-score-icon{width:48px;height:48px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .4s ease}.mp-composite-card:hover .mp-score-icon{transform:rotate(12deg)}.mp-composite-card .mp-score-value{font-family:var(--font-display);font-size:2.75rem;font-weight:var(--font-light);color:var(--color-text-primary);line-height:1}.mp-composite-card .mp-score-denom{font-size:var(--text-lg);color:var(--color-text-muted);font-weight:var(--font-light)}.mp-composite-card .mp-score-label{font-size:var(--text-xs);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);margin-top:2px}.mp-composite-card .mp-progress-track{height:6px;width:100%;background:var(--color-bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.mp-composite-card .mp-progress-fill{height:100%;border-radius:var(--radius-full);transition:width 1s cubic-bezier(.4,0,.2,1) .3s}.mp-composite-card .mp-trend-badge{font-size:11px;font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);display:flex;align-items:center;gap:6px}.mp-accordion-item{margin-bottom:var(--spacing-md);border-radius:var(--radius-xl);overflow:hidden}.mp-accordion-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-xl);min-height:68px;cursor:pointer;transition:background .2s ease}.mp-accordion-header:hover{background:#ffffff4d}.mp-accordion-icon-circle{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.mp-status-pill{display:inline-block;padding:3px 12px;border-radius:var(--radius-full);font-size:11px;font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.05em}.mp-accordion-body{padding:var(--spacing-lg) var(--spacing-xl) var(--spacing-xl);background:#f9fafb66;border-top:1px solid var(--color-divider)}.mp-river-chart-container{background:#ffffff80;border:1px solid var(--color-divider);border-radius:var(--radius-lg);padding:var(--spacing-lg);height:160px;display:flex;align-items:flex-end;position:relative}.mp-protocol-box{background:#10b9810a;border:1px solid rgba(16,185,129,.1);border-radius:var(--radius-lg);padding:var(--spacing-xl);display:flex;flex-direction:column;height:100%}.mp-bullet-list{list-style:none;padding:0;margin:0}.mp-bullet-list li{display:flex;align-items:flex-start;gap:var(--spacing-sm);font-size:15px;color:var(--color-text-secondary);line-height:1.7;margin-bottom:var(--spacing-sm)}.mp-bullet-list li:before{content:"";display:block;width:6px;height:6px;border-radius:50%;background:var(--color-primary-light);margin-top:9px;flex-shrink:0}.mp-archetype{display:flex;flex-direction:column;height:100%}.mp-archetype-eyebrow{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:var(--spacing-xs)}.mp-archetype-name{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--font-light);color:var(--color-text-primary);line-height:1.2;margin-bottom:var(--spacing-lg)}.mp-archetype-fit-track{height:4px;width:100%;background:var(--color-bg-tertiary);border-radius:var(--radius-full);overflow:hidden;margin-top:var(--spacing-xs)}.mp-archetype-fit-fill{height:100%;background:linear-gradient(90deg,var(--color-glass-purple),var(--color-glass-mint));border-radius:var(--radius-full);transition:width 1s ease}.mp-metaphor-visual{border-radius:var(--radius-xl);background:var(--color-bg-secondary);border:1px solid var(--color-divider);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;height:160px;margin-bottom:var(--spacing-xl)}.mp-metaphor-visual .mp-dot-pattern{position:absolute;inset:0;opacity:.3;background-image:radial-gradient(var(--color-primary-light) 1px,transparent 1px);background-size:18px 18px}.mp-metaphor-visual .mp-brain-circle{position:relative;z-index:1;width:80px;height:80px;border-radius:50%;background:#ffffffb3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;box-shadow:inset 0 2px 4px #0000000a;border:1px solid rgba(255,255,255,.5)}.mp-capabilities{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.mp-capability-box{padding:var(--spacing-lg);border-radius:var(--radius-lg);border:1px solid}.mp-capability-box.strengths{background:#10b9810a;border-color:#10b9811a}.mp-capability-box.edges{background:#fb71850a;border-color:#fb71851a}.mp-capability-label{font-size:10px;font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.08em;display:flex;align-items:center;gap:6px;margin-bottom:var(--spacing-md)}.mp-capability-list{list-style:none;padding:0;margin:0}.mp-capability-list li{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.6;display:flex;align-items:flex-start;gap:8px;margin-bottom:6px}.mp-capability-list li:before{content:"";display:block;width:5px;height:5px;border-radius:50%;margin-top:7px;flex-shrink:0}.mp-capability-box.strengths .mp-capability-list li:before{background:#10b98166}.mp-capability-box.edges .mp-capability-list li:before{background:#fb718566}.mp-radar-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);position:relative;overflow:hidden;min-height:500px}.mp-radar-card .mp-radar-bg{position:absolute;inset:0;opacity:.03;background-image:radial-gradient(var(--mp-deep-lavender) 1px,transparent 1px);background-size:24px 24px;pointer-events:none}.mp-radar-card .mp-radar-label{position:absolute;top:var(--spacing-xl);left:var(--spacing-xl);z-index:2}.mp-radar-card .mp-radar-label h3{font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:1px;color:var(--color-text-tertiary);margin-bottom:2px}.mp-radar-card .mp-radar-label p{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-medium);color:var(--color-text-primary)}.mp-loading{display:flex;align-items:center;justify-content:center;min-height:60vh}.mp-loading-inner{text-align:center}.mp-loading-icon{width:56px;height:56px;background:var(--color-bg-card);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;margin:0 auto var(--spacing-lg);box-shadow:var(--shadow-lg);animation:mp-loadBounce 1.5s ease-in-out infinite}@keyframes mp-loadBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.mp-loading p{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-light);color:var(--color-text-tertiary)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8f7fc,#f0eef8);padding:2rem;color:var(--color-text-primary);position:relative;overflow:hidden}.auth-page:before{content:"";position:absolute;top:-10%;left:-10%;width:40%;height:40%;background:radial-gradient(circle,rgba(167,139,250,.1) 0%,transparent 70%);z-index:0}.auth-page:after{content:"";position:absolute;bottom:-10%;right:-10%;width:40%;height:40%;background:radial-gradient(circle,rgba(96,165,250,.1) 0%,transparent 70%);z-index:0}.auth-logo-wrapper{margin-bottom:2rem;z-index:10}.auth-logo{height:60px;width:auto}.auth-container{width:100%;max-width:450px;background:#ffffffd9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:32px;padding:3rem;box-shadow:0 20px 60px #6b5b9514;border:1px solid rgba(255,255,255,.4);z-index:5;text-align:center;transition:max-width .4s cubic-bezier(.4,0,.2,1)}.auth-container.wide{max-width:1000px}.auth-badge{display:inline-block;padding:.5rem 1.25rem;background:#fff;border:1px solid rgba(167,139,250,.15);border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--color-text-purple);margin-bottom:1.5rem}.auth-title{font-family:Outfit,sans-serif;font-size:2.5rem;font-weight:400;margin-bottom:1rem;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:-.5px;line-height:1.1}.auth-title i{font-family:Julius Sans One,sans-serif;font-style:italic;font-weight:300;display:block;font-size:2.25rem;margin-top:.25rem}.auth-subtitle{font-size:1rem;color:var(--color-text-tertiary);margin-bottom:2.5rem;line-height:1.6}.auth-error{background:#dc262614;border:1px solid rgba(220,38,38,.2);border-radius:12px;padding:.75rem 1rem;color:#dc2626;font-size:.9rem;font-weight:500;margin-bottom:1.5rem;text-align:center}.role-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-top:2rem;text-align:left}.role-card{background:#fff;border:1px solid rgba(107,91,149,.1);border-radius:24px;padding:2rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;position:relative;overflow:hidden}.role-card:hover{border-color:var(--role-color);transform:translateY(-5px);box-shadow:0 12px 30px #6b5b951a}.role-icon-wrapper{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;background:rgba(var(--role-color-rgb, 107, 91, 149),.08);color:var(--role-color)}.role-card h3{font-size:1.25rem;font-weight:600;margin-bottom:.75rem;color:var(--color-text-primary)}.role-card p{font-size:.9rem;color:var(--color-text-secondary);line-height:1.5;margin-bottom:2rem}.role-card-action{margin-top:auto;display:flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:700;color:var(--role-color);text-transform:uppercase;letter-spacing:.5px}.form-title{font-family:Outfit,sans-serif;font-size:2rem;font-weight:400;margin-bottom:.5rem;color:var(--color-text-primary)}.form-subtitle{font-size:.95rem;color:var(--color-text-tertiary);margin-bottom:2rem}.form-group{margin-bottom:1.5rem;text-align:left}.form-group label{display:block;font-size:.85rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:.5rem;margin-left:.25rem}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:1rem;color:var(--color-text-muted)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.9rem 1rem .9rem 1.25rem;border:1.5px solid rgba(107,91,149,.08);border-radius:16px;font-size:1rem;transition:all .25s;background:#fff;color:var(--color-text-primary)}.form-group input.with-icon{padding-left:2.75rem}.form-group select{padding-left:1rem;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%236B5B95' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:1.25rem}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-primary-light);box-shadow:0 0 0 5px #6b5b950d}.submit-button{width:100%;padding:1.1rem;background:var(--color-primary-dark);color:#fff;border:none;border-radius:999px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:1rem;box-shadow:0 8px 20px #5a4a7d26}.submit-button:hover{background:var(--color-primary);transform:translateY(-2px);box-shadow:0 12px 25px #5a4a7d33}.submit-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.back-button{display:flex;align-items:center;gap:.5rem;color:var(--color-text-tertiary);background:none;border:none;cursor:pointer;font-weight:600;margin-bottom:2rem;transition:all .2s}.back-button:hover{color:var(--color-primary)}.auth-footer{margin-top:2rem;color:var(--color-text-tertiary);font-size:.95rem;z-index:10}.auth-link-button{color:var(--color-primary);font-weight:700;background:none;border:none;padding:0;font-size:inherit;font-family:inherit;cursor:pointer;margin-left:.25rem}.auth-link-button:hover{text-decoration:underline}@media(max-width:768px){.auth-container{padding:2rem 1.5rem;border-radius:24px}.auth-title{font-size:2rem}.auth-title i{font-size:1.75rem}.role-grid{grid-template-columns:1fr}}.zen-circle{position:absolute;z-index:0;border-radius:50%;border:1px solid rgba(167,139,250,.05);pointer-events:none;background:radial-gradient(circle,rgba(167,139,250,.03) 0%,transparent 70%)}.admin-panel{animation:fadeIn .6s cubic-bezier(.4,0,.2,1)}.admin-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid rgba(0,0,0,.05)}.admin-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;color:#666;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s;margin-bottom:-2px}.admin-tab:hover{color:var(--color-primary);background:#a78bfa0d}.admin-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.admin-content{animation:fadeIn .4s}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));gap:2rem}.admin-card{padding:2rem}.admin-card-title{display:flex;align-items:center;gap:.75rem;font-size:1.25rem;font-weight:700;color:#1a1a1a;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid rgba(0,0,0,.05)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:600;color:#333;margin-bottom:.5rem;font-size:.9rem}.admin-select{width:100%;padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.95rem;background:#fff;cursor:pointer;transition:all .2s}.admin-select:hover{border-color:#d1d5db}.admin-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #a78bfa1a}.course-checkboxes{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:#00000005;border-radius:8px;max-height:300px;overflow-y:auto}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;padding:.5rem;border-radius:6px;transition:background .2s}.checkbox-label:hover{background:#a78bfa0d}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary)}.checkbox-label span{font-size:.9rem;color:#333}.btn-primary{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.875rem 1.5rem;background:var(--color-primary);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s}.btn-primary:hover:not(:disabled){background:#9270f5;transform:translateY(-1px);box-shadow:0 4px 12px #a78bfa4d}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.access-list{display:flex;flex-direction:column;gap:1rem;max-height:500px;overflow-y:auto}.access-item{padding:1rem;background:#00000005;border-radius:8px;border-left:3px solid var(--color-primary)}.access-user{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.user-avatar-small{width:36px;height:36px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem}.access-user-name{font-weight:600;color:#1a1a1a;font-size:.95rem}.access-user-role{font-size:.8rem;color:#666;text-transform:capitalize}.access-courses{display:flex;flex-wrap:wrap;gap:.5rem}.course-badge{display:inline-block;padding:.25rem .75rem;background:#a78bfa1a;color:var(--color-primary);border-radius:999px;font-size:.8rem;font-weight:600}.pairings-list{display:flex;flex-direction:column;gap:1rem;max-height:500px;overflow-y:auto}.pairing-item{padding:1rem;background:#00000005;border-radius:8px;border-left:3px solid #60a5fa}.pairing-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.pairing-users{display:flex;align-items:center;gap:.75rem;font-size:.95rem}.pairing-tutor{font-weight:600;color:#60a5fa}.pairing-arrow{color:#999}.pairing-student{font-weight:600;color:#1a1a1a}.btn-icon-danger{padding:.5rem;background:none;border:none;color:#ef4444;cursor:pointer;border-radius:6px;transition:all .2s}.btn-icon-danger:hover{background:#ef44441a}.pairing-courses{display:flex;flex-wrap:wrap;gap:.5rem}.no-courses{font-size:.85rem;color:#999;font-style:italic}.empty-state{text-align:center;padding:2rem;color:#999;font-style:italic}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1024px){.admin-grid{grid-template-columns:1fr}}.wm-shell{display:flex;flex-direction:column;gap:16px}.wm-glass{background:#ffffffb8;border:1px solid rgba(255,255,255,.8);border-radius:22px;padding:18px;box-shadow:0 10px 30px #4d435f14}.wm-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.wm-breadcrumb{color:#7d758f;font-size:12px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}.wm-sub{color:#666070;font-size:14px;margin-top:8px}.wm-student-selector{display:flex;flex-direction:column;gap:8px}.wm-student-selector input{padding:8px 12px;border-radius:12px;border:1px solid rgba(94,85,116,.2)}.wm-tabs{display:flex;flex-wrap:wrap;gap:8px}.wm-tabs button{border:1px solid rgba(94,85,116,.14);background:#fff;color:#5e5574;border-radius:999px;padding:8px 14px;font-size:12px;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.wm-tabs button:hover{transform:translateY(-1px);box-shadow:0 6px 16px #5e55741a}.wm-tabs button.active{background:#5e5574;color:#fff}.wm-grid{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:980px){.wm-grid{grid-template-columns:1.3fr 1fr}}.wm-score-card{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.wm-score-wrap{position:relative;width:154px;height:210px}.wm-score-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:translateY(-18px)}.wm-score-value{font-size:32px;font-weight:300;color:#2c2736}.wm-score-label{font-size:11px;color:#736b83}.wm-score-meta{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:8px}.wm-band-chip,.wm-trend-chip{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:4px 10px;font-size:11px;border:1px solid rgba(94,85,116,.2);background:#fff}.wm-focus-card{max-width:520px}.wm-focus-card h4{font-size:16px;margin-bottom:8px}.wm-next{margin-top:10px;font-size:13px;color:#5e5574;font-weight:600}.wm-overview-right{display:flex;flex-direction:column;gap:10px}.wm-stat-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(94,85,116,.08);padding-bottom:8px;color:#5f596f}.wm-stat-row span{display:inline-flex;gap:6px;align-items:center}.wm-primary,.wm-secondary,.wm-task-card button{border:none;border-radius:999px;padding:10px 14px;font-size:13px;font-weight:600;cursor:pointer}.wm-primary{background:#5e5574;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:8px}.wm-primary:disabled{background:#b6afc5;cursor:not-allowed}.wm-secondary{background:#ece8f7;color:#5e5574}.wm-muted{color:#787282;font-size:12px;display:inline-flex;align-items:center;gap:6px}.wm-stack{display:flex;flex-direction:column;gap:12px}.wm-accordion{border:1px solid rgba(94,85,116,.1);border-radius:18px;background:#ffffffb8}.wm-accordion-head{width:100%;border:none;background:transparent;display:flex;align-items:center;justify-content:space-between;padding:14px 16px;text-align:left;cursor:pointer}.wm-accordion-head h4{margin:0}.wm-accordion-head p{margin:4px 0 0;font-size:12px;color:#726a83}.wm-accordion-body{border-top:1px solid rgba(94,85,116,.08);padding:14px 16px}.wm-callout{background:#f7f5fc;border-radius:14px;padding:12px;margin-top:10px}.wm-callout-head{display:flex;align-items:center;gap:6px;color:#5e5574}.wm-callout ul{margin:8px 0 0;padding-left:18px;color:#5e576b}.wm-training-card{display:flex;gap:12px;background:#ffffffbf;border:1px solid rgba(94,85,116,.1);border-radius:16px;padding:12px}.wm-training-toggle{border:none;background:transparent;align-self:flex-start;cursor:pointer}.wm-training-top{display:flex;justify-content:space-between;gap:12px}.wm-training-rule{font-weight:600;color:#5e5574}.wm-timeline-wrap{margin-top:10px}.wm-timeline-labels{display:flex;justify-content:space-between;font-size:11px;color:#746d84}.wm-task-card{display:flex;flex-direction:column;gap:10px}.wm-sequence{letter-spacing:.35em;background:#faf9fd;border:1px solid rgba(94,85,116,.12);border-radius:12px;padding:12px;text-align:center;font-size:18px}.wm-task-card input{border:1px solid rgba(94,85,116,.2);border-radius:12px;padding:10px}.wm-step-list{display:flex;flex-direction:column;gap:8px;padding-left:18px}.wm-step-list li{display:flex;flex-direction:column;gap:6px}.wm-wizard-head{display:flex;justify-content:space-between;align-items:center}.wm-progress{margin:10px 0 16px;height:6px;border-radius:999px;background:#5e55741f;overflow:hidden}.wm-progress>div{height:100%;background:linear-gradient(90deg,#b5a5d4,#5e5574);transition:width .25s ease}.wm-error{color:#9f2b43;background:#fff2f6;border:1px solid #ffd4df;border-radius:12px;padding:10px 12px}
