*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--navy: #080E1A;--navy-light: #0F1729;--purple: #7C3AED;--purple-rgb: 124, 58, 237;--purple-soft: #A78BFA;--purple-light: rgba(var(--purple-rgb), .08);--purple-glow: rgba(var(--purple-rgb), .25);--navy-border: rgba(var(--purple-rgb), .25);--teal: #06B6D4;--teal-rgb: 6, 182, 212;--teal-soft: #22D3EE;--teal-light: rgba(var(--teal-rgb), .1);--green: #10B981;--green-light: rgba(16,185,129,.1);--red: #EF4444;--red-light: rgba(239,68,68,.1);--orange: #F59E0B;--orange-light: rgba(245,158,11,.1);--gray-50: #0D1321;--gray-100: #151D2E;--gray-200: #1E2A3F;--gray-300: #2D3B52;--gray-400: #8494A7;--gray-500: #94A3B8;--gray-600: #A8B5C7;--gray-700: #CBD5E1;--gray-800: #E2E8F0;--gray-900: #F1F5F9;--white: #F8FAFC;--light-bg: #FFFFFF;--light-surface: #F8FAFC;--light-surface-alt: #F1F5F9;--light-border: #E2E8F0;--light-border-strong: #CBD5E1;--light-text: #0F172A;--light-text-muted: #475569;--light-text-soft: #64748B;--light-code-bg: #F1F5F9;--sidebar-w: 250px;--header-h: 60px;--radius: 10px;--radius-lg: 14px;--shadow: 0 2px 8px rgba(0,0,0,.3), 0 0 1px rgba(var(--purple-rgb), .1);--shadow-md: 0 8px 24px rgba(0,0,0,.4), 0 0 1px rgba(var(--purple-rgb), .15);--glass: rgba(15,23,42,.6);--glass-border: rgba(var(--purple-rgb), .28);--gradient-primary: linear-gradient(135deg, #7C3AED 0%, #06B6D4 100%);--gradient-success: linear-gradient(135deg, #10B981 0%, #06B6D4 100%);--gradient-danger: linear-gradient(135deg, #EF4444 0%, #F59E0B 100%);--gradient-bg: linear-gradient(180deg, #080E1A 0%, #0F1729 100%)}html{background:var(--navy)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;color:var(--gray-800);background:var(--gradient-bg);line-height:1.6;min-height:100vh}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit;font-size:14px}::selection{background:var(--purple-glow);color:#fff}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:var(--header-h) 1fr;min-height:100vh}.app-header{grid-column:1 / -1;background:#080e1ad9;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);display:flex;align-items:center;padding:0 1.5rem;gap:1rem;border-bottom:1px solid var(--glass-border);position:sticky;top:0;z-index:100}.app-header .brand{font-size:16px;font-weight:800;color:var(--white);letter-spacing:.02em}.app-header .brand span{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-header .spacer{flex:1}.app-header .user-pill{display:flex;align-items:center;gap:10px;color:var(--gray-500);font-size:13px}.app-header .user-pill strong{color:var(--gray-800)}.app-sidebar{background:#080e1ab3;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:1.25rem 0;overflow-y:auto;border-right:1px solid var(--glass-border)}.app-main{background:var(--gradient-bg);overflow-y:auto}.nav-section{margin-bottom:.65rem}.nav-section-label{font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gray-400);padding:.6rem 1.25rem .35rem}.nav-link{display:flex;align-items:center;gap:10px;padding:.55rem 1.25rem;color:var(--gray-500);font-size:13px;font-weight:500;transition:all .2s ease;border-left:2px solid transparent;margin:1px 0}.nav-link:hover{background:var(--purple-light);color:var(--gray-800)}.nav-link.active{background:rgba(var(--purple-rgb),.12);color:var(--purple-soft);border-left-color:var(--purple)}.nav-link .icon{width:18px;text-align:center;opacity:.8;font-size:14px}.nav-divider{height:1px;background:var(--glass-border);margin:.65rem 0}.page{padding:2rem 2.25rem;max-width:1400px;margin:0 auto;width:100%}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.75rem;flex-wrap:wrap;gap:.85rem}.page-title{font-size:22px;font-weight:800;color:var(--white);letter-spacing:-.01em}.page-subtitle{font-size:13px;color:var(--gray-500);margin-top:3px}.breadcrumb{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--gray-500);margin-bottom:1.5rem;flex-wrap:wrap}.breadcrumb a{color:var(--purple-soft);transition:color .15s}.breadcrumb a:hover{color:var(--purple);text-decoration:underline}.breadcrumb .sep{color:var(--gray-400)}.card{background:#0f172a80;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:1.35rem 1.65rem;box-shadow:var(--shadow);transition:border-color .2s,box-shadow .2s}.card:hover{border-color:rgba(var(--purple-rgb),.25)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.1rem;padding-bottom:.85rem;border-bottom:1px solid var(--glass-border)}.card-title{font-size:14px;font-weight:700;color:var(--gray-900)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.75rem}.stat-card{background:#0f172a80;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:1.25rem 1.35rem;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--gradient-primary);opacity:.5}.stat-label{font-size:11px;color:var(--gray-500);font-weight:600;margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.06em}.stat-value{font-size:28px;font-weight:800;color:var(--white)}.stat-sub{font-size:11px;color:var(--gray-500);margin-top:3px}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.1rem}.course-card{background:#0f172a80;border:1px solid var(--glass-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);transition:all .25s ease;cursor:pointer}.course-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--purple-glow)}.course-card-banner{height:4px}.course-card-body{padding:1.25rem 1.35rem}.course-card-title{font-size:15px;font-weight:700;color:var(--white);margin-bottom:.4rem}.course-card-desc{font-size:12.5px;color:var(--gray-500);line-height:1.55;margin-bottom:.9rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-card-meta{display:flex;gap:.65rem;flex-wrap:wrap}.meta-pill{font-size:10.5px;padding:3px 10px;border-radius:20px;font-weight:600;letter-spacing:.02em}.pill-purple{background:var(--purple-light);color:var(--purple-soft);border:1px solid rgba(var(--purple-rgb),.2)}.pill-green{background:var(--green-light);color:#34d399;border:1px solid rgba(16,185,129,.2)}.pill-teal{background:var(--teal-light);color:var(--teal-soft);border:1px solid rgba(var(--teal-rgb),.2)}.pill-orange{background:var(--orange-light);color:#fbbf24;border:1px solid rgba(245,158,11,.2)}.pill-gray{background:var(--gray-100);color:var(--gray-500);border:1px solid var(--gray-200)}.progress-wrap{margin:.85rem 0 .4rem}.progress-bar{height:6px;background:var(--gray-200);border-radius:99px;overflow:hidden}.progress-fill{height:100%;border-radius:99px;transition:width .5s ease;background:var(--gradient-primary)}.progress-label{font-size:11px;color:var(--gray-500);margin-top:4px}.data-table{width:100%;border-collapse:collapse;font-size:13.5px}.data-table th{text-align:left;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-500);padding:.75rem 1rem;border-bottom:1px solid var(--glass-border);background:#0f172a4d}.data-table td{padding:.8rem 1rem;border-bottom:1px solid rgba(var(--purple-rgb),.15);color:var(--gray-700);vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--purple-light)}.table-wrap{background:#0f172a80;border:1px solid var(--glass-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow)}.badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;letter-spacing:.02em}.badge-green{background:var(--green-light);color:#34d399;border:1px solid rgba(16,185,129,.25)}.badge-red{background:var(--red-light);color:#f87171;border:1px solid rgba(239,68,68,.25)}.badge-purple{background:var(--purple-light);color:var(--purple-soft);border:1px solid rgba(var(--purple-rgb),.25)}.badge-orange{background:var(--orange-light);color:#fbbf24;border:1px solid rgba(245,158,11,.25)}.badge-gray,.badge-muted{background:var(--gray-100);color:var(--gray-500);border:1px solid var(--gray-200)}.badge-teal{background:var(--teal-light);color:var(--teal-soft);border:1px solid rgba(var(--teal-rgb),.25)}.btn{display:inline-flex;align-items:center;gap:6px;padding:.5rem 1.1rem;border-radius:var(--radius);font-size:13.5px;font-weight:600;border:1px solid transparent;transition:all .2s ease;white-space:nowrap;letter-spacing:.01em}.btn-sm{padding:.35rem .85rem;font-size:12.5px}.btn-lg{padding:.7rem 1.6rem;font-size:15px}.btn-primary{background:var(--gradient-primary);color:#fff;border:none;box-shadow:0 2px 8px rgba(var(--purple-rgb),.35)}.btn-primary:hover{box-shadow:0 4px 16px rgba(var(--purple-rgb),.5);transform:translateY(-1px)}.btn-secondary{background:#0f172a99;color:var(--gray-700);border-color:var(--glass-border)}.btn-secondary:hover{background:var(--purple-light);border-color:var(--purple-glow);color:var(--white)}.btn-danger{background:var(--gradient-danger);color:#fff;border:none}.btn-danger:hover{box-shadow:0 4px 12px #ef444466}.btn-success{background:var(--gradient-success);color:#fff;border:none;box-shadow:0 2px 8px #10b9814d}.btn-success:hover{box-shadow:0 4px 16px #10b98173;transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--gray-500);border-color:transparent}.btn-ghost:hover{background:var(--purple-light);color:var(--gray-700)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn:focus-visible{outline:2px solid var(--purple);outline-offset:2px}.nav-link:focus-visible{outline:2px solid var(--purple);outline-offset:-2px;background:var(--purple-light)}.option-label:focus-within{box-shadow:0 0 0 2px var(--purple)}.form-input:focus-visible,.form-textarea:focus-visible,.form-select:focus-visible{outline:none;border-color:var(--purple);box-shadow:0 0 0 3px var(--purple-glow)}a:focus-visible{outline:2px solid var(--purple);outline-offset:2px;border-radius:3px}.btn-group{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.form-grid{display:grid;gap:1.15rem}.form-grid-2{grid-template-columns:1fr 1fr}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-label{font-size:12px;font-weight:700;color:var(--gray-500);text-transform:uppercase;letter-spacing:.04em}.form-input,.form-select,.form-textarea{padding:.55rem .85rem;border:1px solid var(--gray-300);border-radius:var(--radius);font-size:14px;color:var(--white);background:#0f172a99;width:100%;transition:border-color .2s,box-shadow .2s}.form-input::placeholder,.form-textarea::placeholder{color:var(--gray-400)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 3px var(--purple-glow);background:#0f172acc}.form-textarea{resize:vertical;min-height:120px;line-height:1.65;font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-size:13px}.form-hint{font-size:11px;color:var(--gray-400)}.form-error{font-size:12px;color:var(--red)}.form-actions{display:flex;gap:.85rem;align-items:center;padding-top:.65rem}.color-picker-row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.color-swatch{width:30px;height:30px;border-radius:8px;border:2px solid transparent;cursor:pointer;transition:all .2s}.color-swatch.selected{border-color:var(--white);transform:scale(1.2);box-shadow:0 0 12px var(--purple-glow)}.alert{padding:.85rem 1.1rem;border-radius:var(--radius);font-size:13px;display:flex;gap:.5rem;align-items:flex-start;margin-bottom:1rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.alert-error{background:var(--red-light);color:#fca5a5;border:1px solid rgba(239,68,68,.3)}.alert-success{background:var(--green-light);color:#6ee7b7;border:1px solid rgba(16,185,129,.3)}.alert-info{background:var(--teal-light);color:#67e8f9;border:1px solid rgba(var(--teal-rgb),.3)}.alert-warning{background:var(--orange-light);color:#fcd34d;border:1px solid rgba(245,158,11,.3)}.topic-list{display:flex;flex-direction:column;gap:.6rem}.topic-item{background:#0f172a80;border:1px solid var(--glass-border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color .2s}.topic-item:hover{border-color:var(--purple-glow)}.topic-header{display:flex;align-items:center;gap:.85rem;padding:.9rem 1.2rem;cursor:pointer;transition:background .15s}.topic-header:hover{background:var(--purple-light)}.topic-index{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex-shrink:0}.topic-title{font-weight:700;font-size:14px;color:var(--white);flex:1}.topic-meta{font-size:12px;color:var(--gray-500)}.subtopic-list{border-top:1px solid var(--glass-border)}.subtopic-item{display:flex;align-items:center;gap:.85rem;padding:.7rem 1.2rem .7rem 3.25rem;border-bottom:1px solid rgba(var(--purple-rgb),.15);transition:background .15s}.subtopic-item:last-child{border-bottom:none}.subtopic-item:hover{background:var(--purple-light)}.subtopic-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.subtopic-title{flex:1;font-size:13.5px;color:var(--gray-700)}.subtopic-done{color:var(--green)}.question-card{background:#0f172a80;border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:1.35rem;margin-bottom:1.1rem;transition:border-color .2s}.question-card:hover{border-color:var(--purple-glow)}.question-num{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--gray-500);margin-bottom:.55rem}.question-text{font-size:15px;font-weight:600;color:var(--white);margin-bottom:1.1rem;line-height:1.55}.options{display:flex;flex-direction:column;gap:.55rem}.option-label{display:flex;align-items:flex-start;gap:.75rem;padding:.7rem .95rem;border:1.5px solid var(--gray-200);border-radius:var(--radius);cursor:pointer;transition:all .2s}.option-label:hover{border-color:var(--purple);background:var(--purple-light)}.option-label.selected{border-color:var(--purple);background:rgba(var(--purple-rgb),.15)}.option-label.correct{border-color:var(--green);background:var(--green-light)}.option-label.incorrect{border-color:var(--red);background:var(--red-light)}.option-key{width:24px;height:24px;border-radius:50%;background:var(--gray-200);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;flex-shrink:0;margin-top:1px;color:var(--gray-500)}.option-label.selected .option-key{background:var(--purple);color:#fff}.option-label.correct .option-key{background:var(--green);color:#fff}.option-label.incorrect .option-key{background:var(--red);color:#fff}.option-text{font-size:13.5px;color:var(--gray-700);line-height:1.5}.explanation{margin-top:.9rem;padding:.75rem 1rem;background:#10b9810f;border-left:3px solid var(--green);border-radius:0 var(--radius) var(--radius) 0;font-size:13px;color:var(--gray-500);line-height:1.6}.question-editor{background:#0f172a80;border:1px solid var(--glass-border);border-radius:var(--radius-lg);margin-bottom:1rem;overflow:hidden}.question-editor-header{display:flex;align-items:center;gap:.75rem;padding:.9rem 1.2rem;background:#0f172a4d;border-bottom:1px solid var(--glass-border)}.question-editor-body{padding:1.15rem;display:grid;gap:.75rem}.options-grid{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.correct-row{display:flex;gap:.85rem;align-items:center}.correct-btn{padding:.35rem .9rem;border-radius:var(--radius);font-size:13px;font-weight:600;border:1.5px solid var(--gray-200);background:transparent;color:var(--gray-500)}.correct-btn.active{border-color:var(--green);background:var(--green-light);color:#34d399}.content-view{font-size:15px;line-height:1.8;color:var(--gray-700)}.content-view h1,.content-view h2,.content-view h3,.content-view h4,.content-view h5,.content-view h6{color:var(--white);margin:1.5rem 0 .6rem;font-weight:800}.content-view h1{font-size:24px}.content-view h2{font-size:19px}.content-view h3{font-size:16px}.content-view h4{font-size:15px}.content-view h5{font-size:14px}.content-view h6{font-size:13px;color:var(--gray-500);text-transform:uppercase;letter-spacing:.04em}.content-view a{color:var(--purple);text-decoration:underline;text-decoration-color:rgba(var(--purple-rgb),.4);text-underline-offset:3px}.content-view a:hover{text-decoration-color:var(--purple)}.content-view del{color:var(--gray-400)}.content-view hr{border:0;border-top:1px solid var(--glass-border);margin:1.5rem 0}.content-view img{display:block;margin:1rem 0;max-width:100%;height:auto;border-radius:6px}.content-view table.md-table{border-collapse:collapse;width:100%;margin-bottom:1rem;font-size:14px}.content-view table.md-table th,.content-view table.md-table td{border:1px solid var(--glass-border);padding:.5rem .75rem;text-align:left;vertical-align:top}.content-view table.md-table th{background:rgba(var(--purple-rgb),.15);color:var(--white);font-weight:600}.content-view li.task{list-style:none;margin-left:-1.25rem}.content-view li.task input[type=checkbox]{margin-right:6px}.content-view p{margin-bottom:.85rem}.content-view ul,.content-view ol{padding-left:1.5rem;margin-bottom:.85rem}.content-view li{margin-bottom:.35rem}.content-view code{background:var(--purple-light);padding:.2em .5em;border-radius:5px;font-family:JetBrains Mono,SF Mono,monospace;font-size:.88em;color:var(--purple-soft);border:1px solid rgba(var(--purple-rgb),.15)}.content-view pre{background:#0006;color:#e2e8f0;padding:1.25rem;border-radius:var(--radius);overflow-x:auto;margin-bottom:.85rem;border:1px solid var(--glass-border)}.content-view pre code{background:none;color:inherit;padding:0;border:none}.content-view blockquote{border-left:3px solid var(--purple);padding-left:1rem;color:var(--gray-500);font-style:italic;margin-bottom:.85rem}.content-view strong{font-weight:700;color:var(--white)}.md-preview{font-size:14px;line-height:1.75;color:var(--light-text)}.md-preview h1,.md-preview h2,.md-preview h3,.md-preview h4,.md-preview h5,.md-preview h6{color:var(--light-text);margin:1.1rem 0 .45rem;font-weight:700}.md-preview h1{font-size:22px}.md-preview h2{font-size:18px}.md-preview h3{font-size:16px}.md-preview h4{font-size:14.5px}.md-preview h5{font-size:13.5px}.md-preview h6{font-size:12.5px;color:var(--light-text-soft);text-transform:uppercase;letter-spacing:.04em}.md-preview a{color:var(--purple);text-decoration:underline;text-underline-offset:3px}.md-preview a:hover,.md-preview a:focus-visible{color:var(--purple);filter:brightness(.85)}.md-preview p{margin-bottom:.6rem}.md-preview ul,.md-preview ol{padding-left:1.4rem;margin-bottom:.6rem}.md-preview li{margin-bottom:.25rem}.md-preview li.task{list-style:none;margin-left:-1.2rem}.md-preview li.task input[type=checkbox]{margin-right:6px}.md-preview hr{border:0;border-top:1px solid var(--light-border);margin:1.1rem 0}.md-preview code{background:var(--light-code-bg);padding:.18em .42em;border-radius:4px;font-family:JetBrains Mono,SF Mono,monospace;font-size:.86em;color:var(--purple);border:1px solid var(--light-border)}.md-preview pre{background:#0f172a;color:#e2e8f0;padding:.85rem 1rem;border-radius:6px;overflow-x:auto;margin-bottom:.7rem;font-size:12.5px}.md-preview pre code{background:none;color:inherit;padding:0;border:none}.md-preview blockquote{border-left:3px solid var(--purple);padding-left:.9rem;color:var(--light-text-muted);font-style:italic;margin-bottom:.7rem}.md-preview img{max-width:100%;height:auto;border-radius:6px;margin:.6rem 0}.md-preview table.md-table{border-collapse:collapse;width:100%;margin-bottom:.7rem;font-size:13px}.md-preview table.md-table th,.md-preview table.md-table td{border:1px solid var(--light-border);padding:.4rem .6rem;text-align:left;vertical-align:top}.md-preview table.md-table th{background:var(--light-surface-alt);font-weight:600}.md-preview strong{font-weight:700;color:var(--light-text)}.md-preview del{color:var(--light-text-soft)}.scenario-box{padding:.85rem 1rem;background:rgba(var(--purple-rgb),.08);border:1px solid rgba(var(--purple-rgb),.2);border-radius:6px;margin-bottom:.85rem;font-size:14px;line-height:1.55}.scenario-box .scenario-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--purple);margin-bottom:6px}.no-copy{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none}.action-bar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem;padding:.7rem 1rem;background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.action-bar h1,.action-bar .action-title{font-size:16px;font-weight:700;margin:0;color:var(--gray-900);flex:1;min-width:160px}.action-bar .btn{white-space:nowrap}.learn-layout{display:grid;grid-template-columns:280px 1fr;min-height:calc(100vh - var(--header-h))}.learn-sidebar{background:#080e1ab3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-right:1px solid var(--glass-border);overflow-y:auto;padding:1rem 0}.learn-sidebar-header{padding:.6rem 1rem 1rem;border-bottom:1px solid var(--glass-border);margin-bottom:.5rem}.learn-sidebar-title{font-size:14px;font-weight:700;color:var(--white);margin-bottom:4px}.learn-sidebar-meta{font-size:11.5px;color:var(--gray-500)}.learn-content{padding:2rem;overflow-y:auto;max-width:1400px;margin:0 auto}.learn-topic-header{display:flex;align-items:center;gap:8px;padding:.5rem 1rem;font-size:12px;font-weight:700;color:var(--gray-500);text-transform:uppercase;letter-spacing:.08em}.learn-subtopic-link{display:flex;align-items:center;gap:8px;padding:.5rem 1rem .5rem 2.25rem;font-size:13px;color:var(--gray-500);transition:all .15s;border-left:2px solid transparent}.learn-subtopic-link:hover{background:var(--purple-light);color:var(--gray-800)}.learn-subtopic-link.active{background:rgba(var(--purple-rgb),.1);color:var(--purple-soft);border-left-color:var(--purple);font-weight:600}.learn-subtopic-link.done{color:var(--green)}.check-icon{font-size:12px;margin-left:auto}.score-ring{width:110px;height:110px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800;border:4px solid;margin:0 auto 1rem;box-shadow:0 0 24px #0000004d}.score-ring .score-num{font-size:28px;line-height:1}.score-ring .score-pct{font-size:12px}.score-ring.passed{border-color:var(--green);color:#34d399;box-shadow:0 0 24px #10b98133}.score-ring.failed{border-color:var(--red);color:#f87171;box-shadow:0 0 24px #ef444433}.empty-state{text-align:center;padding:3.5rem 1rem;color:var(--gray-500)}.empty-state .empty-icon{font-size:42px;margin-bottom:.85rem}.empty-state p{font-size:14px}.divider{height:1px;background:var(--glass-border);margin:1.35rem 0}.text-muted{color:var(--gray-500)}.text-sm{font-size:12.5px}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.time-tracker{position:fixed;bottom:1.25rem;right:1.25rem;background:#080e1ad9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;padding:.55rem 1rem;border-radius:24px;font-size:12.5px;font-weight:600;z-index:50;border:1px solid var(--glass-border);box-shadow:0 4px 16px #0000004d}.mobile-blocker{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:var(--navy);color:#fff;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem}.mobile-blocker .blocker-icon{font-size:52px;margin-bottom:1.5rem}.mobile-blocker .blocker-title{font-size:24px;font-weight:800;margin-bottom:.75rem;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.mobile-blocker .blocker-msg{font-size:14px;color:var(--gray-500);max-width:340px;line-height:1.7}.enroll-select{width:100%;min-height:120px;padding:.55rem;border:1px solid var(--gray-300);border-radius:var(--radius);font-size:13px;background:#0f172a99;color:var(--gray-700)}.enroll-select option{padding:.4rem .5rem;background:var(--navy-light)}.enroll-select option:checked{background:rgba(var(--purple-rgb),.3);color:var(--purple-soft)}.text-answer-area{width:100%;min-height:100px;padding:.85rem;border:1.5px solid var(--gray-200);border-radius:var(--radius);font-family:inherit;font-size:14px;line-height:1.65;resize:vertical;transition:border-color .2s;background:#0f172a99;color:var(--gray-800)}.text-answer-area::placeholder{color:var(--gray-400)}.text-answer-area:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 3px var(--purple-glow)}.pending-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;background:var(--orange-light);color:#fbbf24;border:1px solid rgba(245,158,11,.25)}.discussion-item{background:#0f172a80;border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:1rem 1.25rem;margin-bottom:.75rem;transition:border-color .2s}.discussion-item:hover{border-color:var(--purple-glow)}.discussion-reply{padding:1rem 1.25rem;border-left:3px solid var(--glass-border);margin-left:1rem;margin-bottom:.5rem;background:#0f172a4d;border-radius:0 var(--radius) var(--radius) 0}.discussion-reply.admin-reply{border-left-color:var(--purple)}.discussion-reply.answer-reply{border-left-color:var(--green);background:#10b9810d}.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--gradient-bg)}@media (max-width: 768px){.mobile-blocker{display:flex}}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;animation:confirmFadeIn .15s ease-out}.confirm-modal{background:var(--navy-light);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:2rem;width:90%;max-width:400px;text-align:center;box-shadow:var(--shadow-md);animation:confirmSlideIn .2s ease-out}.confirm-icon{font-size:2rem;margin-bottom:.75rem}.confirm-title{font-size:1.1rem;font-weight:600;color:var(--white);margin-bottom:.5rem}.confirm-message{font-size:.9rem;color:var(--gray-500);margin-bottom:1.5rem;line-height:1.5}.confirm-actions{display:flex;gap:.75rem;justify-content:center}.confirm-actions .btn{min-width:100px}@keyframes confirmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes confirmSlideIn{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.app-sidebar{transition:padding .12s ease}.learn-content{min-width:0}.learn-sidebar-title,.learn-sidebar-meta{overflow:hidden;text-overflow:ellipsis}@media (max-width: 1100px){:root{--sidebar-w: 64px}.app-sidebar{padding:.75rem 0}.app-sidebar .nav-section-label,.app-sidebar .nav-link span:not(.icon){display:none}.app-sidebar .nav-link{font-size:0;justify-content:center;padding:.55rem 0;gap:0;width:100%;overflow:hidden}.app-sidebar .nav-link .icon{font-size:16px;opacity:1}.page{padding:1.25rem}.learn-layout{grid-template-columns:240px 1fr}.learn-content{padding:1.5rem 1.25rem}.learn-sidebar-header{padding:.6rem .85rem .85rem}}@media (max-width: 900px){.learn-layout{grid-template-columns:1fr}.learn-sidebar{display:none}.learn-content{padding:1rem}}.library-page{transition:padding-right .2s ease}.library-page.has-pane{padding-right:calc(380px + 1.25rem)}.library-pane{position:fixed;top:var(--header-h, 56px);right:0;bottom:0;width:380px;background:#080e1af2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-left:1px solid var(--glass-border);transform:translate(100%);transition:transform .2s ease,box-shadow .2s ease;z-index:60;overflow-y:auto;display:flex;flex-direction:column}.library-pane.open{transform:translate(0);box-shadow:-8px 0 24px #00000080}.library-pane-head{display:flex;align-items:center;gap:8px;padding:.85rem 1rem;border-bottom:1px solid var(--glass-border);position:sticky;top:0;background:#080e1afa;z-index:1}.library-pane-body{padding:.85rem 1rem 1.5rem;flex:1}.library-row{transition:background .12s ease}.library-row:hover{background:#ffffff08}@media (max-width: 1100px){.library-page.has-pane{padding-right:0}.library-pane{width:min(420px,95vw);top:0}}@media (max-width: 768px){.quiz-attempt-grid{grid-template-columns:1fr!important}.quiz-attempt-grid>aside{position:static!important;margin-top:1rem}}
