@import"https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,400..800;1,14..32,400..600&family=JetBrains+Mono:wght@400;500&display=swap";:root{--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--fs-display: 44px;--lh-display: 1.05;--ls-display: -.02em;--fs-h1: 32px;--lh-h1: 1.12;--ls-h1: -.02em;--fs-h2: 24px;--lh-h2: 1.2;--ls-h2: -.015em;--fs-h3: 19px;--lh-h3: 1.3;--ls-h3: -.01em;--fs-h4: 16px;--lh-h4: 1.4;--ls-h4: -.005em;--fs-body: 15px;--lh-body: 1.6;--fs-body-lg: 17px;--lh-body-lg: 1.7;--fs-sm: 13px;--lh-sm: 1.5;--fs-caption: 12px;--lh-caption: 1.45;--ls-caption: .01em;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--sp-16: 64px;--sp-20: 80px;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--r-2xl: 20px;--r-full: 999px;--brand-h: 254;--brand-c: .17;--ease: cubic-bezier(.2,.7,.3,1);--ease-out: cubic-bezier(.16,1,.3,1);--dur-fast: .12s;--dur: .2s;--dur-slow: .36s}:root,[data-theme=light]{color-scheme:light;--bg: #F7F6F3;--bg-2: #F1EFEA;--surface: #FFFFFF;--surface-2: #F6F5F2;--surface-3: #EEEDE8;--overlay: rgba(28, 26, 34, .42);--border: #E6E3DC;--border-strong: #D6D2C9;--text: #1B1A22;--text-muted: #5E5B68;--text-subtle: #918D9B;--text-on-brand: #FFFFFF;--primary: oklch(.54 var(--brand-c) var(--brand-h));--primary-hover: oklch(.48 var(--brand-c) var(--brand-h));--primary-press: oklch(.43 var(--brand-c) var(--brand-h));--primary-soft: oklch(.95 .035 var(--brand-h));--primary-soft-border: oklch(.88 .06 var(--brand-h));--primary-text: oklch(.45 var(--brand-c) var(--brand-h));--ring: oklch(.54 var(--brand-c) var(--brand-h) / .45);--success: #15924E;--success-soft: #DDF3E4;--success-text: #0E6E3A;--danger: #DC4B3E;--danger-soft: #FCE4E0;--danger-text: #B5392E;--ai: #E08A1E;--ai-soft: #FCEFD4;--ai-text: #95611A;--ai-glow: oklch(.78 .15 75 / .5);--info: #2D74D6;--info-soft: #DCEAFB;--shadow-xs: 0 1px 2px rgba(28,26,34,.05);--shadow-sm: 0 1px 3px rgba(28,26,34,.06), 0 1px 2px rgba(28,26,34,.04);--shadow-md: 0 4px 12px rgba(28,26,34,.07), 0 2px 4px rgba(28,26,34,.04);--shadow-lg: 0 12px 32px rgba(28,26,34,.1), 0 4px 8px rgba(28,26,34,.05);--shadow-xl: 0 24px 56px rgba(28,26,34,.16);--skeleton-base: #ECEAE4;--skeleton-shine: #F6F5F1}[data-theme=dark]{color-scheme:dark;--bg: #0E0E13;--bg-2: #121219;--surface: #181820;--surface-2: #1F1F29;--surface-3: #272732;--overlay: rgba(0, 0, 0, .6);--border: #2A2A36;--border-strong: #393947;--text: #F1F0F5;--text-muted: #A6A3B2;--text-subtle: #6F6C7C;--text-on-brand: #FFFFFF;--primary: oklch(.66 .16 var(--brand-h));--primary-hover: oklch(.72 .16 var(--brand-h));--primary-press: oklch(.6 .16 var(--brand-h));--primary-soft: oklch(.3 .07 var(--brand-h));--primary-soft-border: oklch(.4 .09 var(--brand-h));--primary-text: oklch(.8 .13 var(--brand-h));--ring: oklch(.66 .16 var(--brand-h) / .55);--success: #3BC273;--success-soft: #143226;--success-text: #5FD68F;--danger: #F0685C;--danger-soft: #3A1B19;--danger-text: #F58B81;--ai: #F5AE4A;--ai-soft: #3A2A12;--ai-text: #F7C079;--ai-glow: oklch(.8 .15 75 / .45);--info: #5B9BF0;--info-soft: #16243A;--shadow-xs: 0 1px 2px rgba(0,0,0,.4);--shadow-sm: 0 1px 3px rgba(0,0,0,.45), 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 4px 14px rgba(0,0,0,.5), 0 2px 4px rgba(0,0,0,.35);--shadow-lg: 0 14px 36px rgba(0,0,0,.6), 0 4px 8px rgba(0,0,0,.4);--shadow-xl: 0 28px 64px rgba(0,0,0,.7);--skeleton-base: #20202A;--skeleton-shine: #2A2A36}[data-tone=indigo]{--brand-h: 264;--brand-c: .165}[data-tone=violet]{--brand-h: 292;--brand-c: .17}[data-tone=iris]{--brand-h: 274;--brand-c: .155}[data-tone=cobalt]{--brand-h: 258;--brand-c: .16}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"cv05" 1,"ss01" 1}::selection{background:var(--primary-soft);color:var(--primary-text)}h1,h2,h3,h4,p{margin:0}a{color:inherit;text-decoration:none}button{font-family:inherit}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--r-sm)}.t-display{font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:var(--ls-display);font-weight:var(--fw-bold)}.t-h1{font-size:var(--fs-h1);line-height:var(--lh-h1);letter-spacing:var(--ls-h1);font-weight:var(--fw-bold)}.t-h2{font-size:var(--fs-h2);line-height:var(--lh-h2);letter-spacing:var(--ls-h2);font-weight:var(--fw-semibold)}.t-h3{font-size:var(--fs-h3);line-height:var(--lh-h3);letter-spacing:var(--ls-h3);font-weight:var(--fw-semibold)}.t-h4{font-size:var(--fs-h4);line-height:var(--lh-h4);letter-spacing:var(--ls-h4);font-weight:var(--fw-semibold)}.t-body{font-size:var(--fs-body);line-height:var(--lh-body)}.t-body-lg{font-size:var(--fs-body-lg);line-height:var(--lh-body-lg)}.t-sm{font-size:var(--fs-sm);line-height:var(--lh-sm)}.t-caption{font-size:var(--fs-caption);line-height:var(--lh-caption);letter-spacing:var(--ls-caption)}.t-muted{color:var(--text-muted)}.t-subtle{color:var(--text-subtle)}.t-mono{font-family:var(--font-mono)}[data-icon]{display:inline-flex;align-items:center;justify-content:center;flex:none;line-height:0;vertical-align:-.14em}[data-icon]>svg{width:1em;height:1em;display:block}.btn{--_h: 40px;display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);height:var(--_h);padding:0 var(--sp-4);font-size:var(--fs-sm);font-weight:var(--fw-semibold);line-height:1;border-radius:var(--r-md);border:1px solid transparent;cursor:pointer;white-space:nowrap;user-select:none;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast),color var(--dur-fast),transform var(--dur-fast),box-shadow var(--dur-fast)}.btn:active{transform:translateY(.5px) scale(.99)}.btn [data-icon]{font-size:16px}.btn[disabled],.btn.is-disabled{opacity:.5;pointer-events:none}.btn-primary{background:var(--primary);color:var(--text-on-brand);box-shadow:var(--shadow-xs)}.btn-primary:hover{background:var(--primary-hover)}.btn-primary:active{background:var(--primary-press)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong);box-shadow:var(--shadow-xs)}.btn-secondary:hover{background:var(--surface-2);border-color:var(--text-subtle)}.btn-ghost{background:transparent;color:var(--text-muted)}.btn-ghost:hover{background:var(--surface-2);color:var(--text)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{filter:brightness(.94)}.btn-ai{background:var(--ai-soft);color:var(--ai-text);border-color:color-mix(in oklch,var(--ai) 35%,transparent)}.btn-ai:hover{background:color-mix(in oklch,var(--ai-soft) 80%,var(--ai) 12%)}.btn-sm{--_h: 32px;padding:0 var(--sp-3);font-size:var(--fs-caption);border-radius:var(--r-sm)}.btn-lg{--_h: 48px;padding:0 var(--sp-6);font-size:var(--fs-body)}.btn-icon{width:var(--_h);padding:0}.btn-block{display:flex;width:100%}.field{display:flex;flex-direction:column;gap:var(--sp-2)}.field-label{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text)}.field-hint{font-size:var(--fs-caption);color:var(--text-subtle)}.field-error{font-size:var(--fs-caption);color:var(--danger-text)}.input,.select,.textarea{width:100%;font-family:inherit;font-size:var(--fs-sm);color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.input,.select{height:40px;padding:0 var(--sp-3)}.textarea{padding:var(--sp-3);min-height:96px;resize:vertical;line-height:1.55}.input::placeholder,.textarea::placeholder{color:var(--text-subtle)}.input:hover,.select:hover,.textarea:hover{border-color:var(--text-subtle)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--ring)}.input.is-error,.textarea.is-error{border-color:var(--danger)}.input.is-error:focus{box-shadow:0 0 0 3px color-mix(in oklch,var(--danger) 30%,transparent)}.input-group{position:relative;display:flex;align-items:center}.input-group .input{padding-left:38px}.input-group>svg{position:absolute;left:12px;width:16px;height:16px;color:var(--text-subtle);pointer-events:none}.select{appearance:none;cursor:pointer;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23918d9b' stroke-width='2.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 12px center}.choice{display:inline-flex;align-items:center;gap:var(--sp-2);cursor:pointer;font-size:var(--fs-sm)}.choice input{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}.switch{position:relative;width:40px;height:24px;flex:none;cursor:pointer}.switch input{position:absolute;opacity:0}.switch .track{position:absolute;inset:0;background:var(--surface-3);border-radius:var(--r-full);transition:background var(--dur) var(--ease)}.switch .thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;box-shadow:var(--shadow-sm);transition:transform var(--dur) var(--ease)}.switch input:checked+.track{background:var(--primary)}.switch input:checked+.track+.thumb{transform:translate(16px)}.tabs{display:flex;gap:var(--sp-1);border-bottom:1px solid var(--border)}.tab{position:relative;padding:var(--sp-3) var(--sp-3) calc(var(--sp-3) - 1px);background:none;border:none;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-muted);cursor:pointer;transition:color var(--dur-fast)}.tab:hover{color:var(--text)}.tab[aria-selected=true]{color:var(--primary-text);font-weight:var(--fw-semibold)}.tab[aria-selected=true]:after{content:"";position:absolute;left:var(--sp-3);right:var(--sp-3);bottom:-1px;height:2px;background:var(--primary);border-radius:2px 2px 0 0}.tab .count{margin-left:6px;font-size:var(--fs-caption);color:var(--text-subtle)}.tabs-pill{display:inline-flex;gap:2px;padding:3px;background:var(--surface-2);border-radius:var(--r-md);border:1px solid var(--border)}.tabs-pill .tab{padding:6px 14px;border-radius:var(--r-sm)}.tabs-pill .tab[aria-selected=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-xs)}.tabs-pill .tab[aria-selected=true]:after{display:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-xs)}.card-pad{padding:var(--sp-5)}.course-card{overflow:hidden;display:flex;flex-direction:column;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur);cursor:pointer}.course-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--border-strong)}.course-thumb{position:relative;aspect-ratio:16/9;background:var(--surface-3);overflow:hidden}.course-thumb img{width:100%;height:100%;object-fit:cover;display:block}.course-thumb .chip{position:absolute}.course-body{padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2);flex:1}.course-title{font-size:var(--fs-h4);font-weight:var(--fw-semibold);line-height:1.35;letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-instructor{display:flex;align-items:center;gap:var(--sp-2);color:var(--text-muted);font-size:var(--fs-sm)}.course-meta{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:var(--sp-2)}.course-price{font-weight:var(--fw-bold);font-size:var(--fs-h4)}.lesson-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-3);border-radius:var(--r-md);cursor:pointer;transition:background var(--dur-fast)}.lesson-row:hover{background:var(--surface-2)}.chip{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px;border-radius:var(--r-full);font-size:var(--fs-caption);font-weight:var(--fw-semibold);line-height:1;white-space:nowrap;background:var(--surface-3);color:var(--text-muted);border:1px solid transparent}.chip [data-icon]{font-size:12px}.chip-solid{background:var(--text);color:var(--bg)}.chip-primary{background:var(--primary-soft);color:var(--primary-text);border-color:var(--primary-soft-border)}.chip-success{background:var(--success-soft);color:var(--success-text)}.chip-danger{background:var(--danger-soft);color:var(--danger-text)}.chip-ai{background:var(--ai-soft);color:var(--ai-text)}.chip-info{background:var(--info-soft);color:var(--info)}.chip-outline{background:transparent;border-color:var(--border-strong);color:var(--text-muted)}.chip-lg{height:26px;padding:0 11px;font-size:var(--fs-sm)}.level{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-caption);color:var(--text-muted);font-weight:var(--fw-medium)}.level .bars{display:inline-flex;gap:2px;align-items:flex-end}.level .bars i{width:3px;background:var(--border-strong);border-radius:1px}.level .bars i:nth-child(1){height:6px}.level .bars i:nth-child(2){height:9px}.level .bars i:nth-child(3){height:12px}.level[data-level="1"] .bars i:nth-child(-n+1),.level[data-level="2"] .bars i:nth-child(-n+2),.level[data-level="3"] .bars i:nth-child(-n+3){background:var(--primary)}.avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--primary-soft);color:var(--primary-text);font-size:var(--fs-caption);font-weight:var(--fw-bold);overflow:hidden;flex:none}.avatar img{width:100%;height:100%;object-fit:cover}.avatar [data-icon]{font-size:1.15em}.avatar-sm{width:24px;height:24px;font-size:10px}.avatar-lg{width:48px;height:48px;font-size:var(--fs-h4)}.avatar-ai{background:linear-gradient(135deg,var(--ai),#E8B65A);color:#fff;box-shadow:0 0 0 2px var(--ai-soft)}.bar{height:6px;background:var(--surface-3);border-radius:var(--r-full);overflow:hidden}.bar>i{display:block;height:100%;background:var(--primary);border-radius:inherit;transition:width var(--dur-slow) var(--ease)}.bar.success>i{background:var(--success)}.bar-thin{height:4px}.ring{--p: 0;--sz: 44px;--tk: 4px;width:var(--sz);height:var(--sz);position:relative;flex:none}.ring svg{width:100%;height:100%;transform:rotate(-90deg)}.ring .track{stroke:var(--surface-3)}.ring .fill{stroke:var(--primary);stroke-linecap:round;transition:stroke-dashoffset var(--dur-slow) var(--ease)}.ring.success .fill{stroke:var(--success)}.ring .label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:var(--fs-caption);font-weight:var(--fw-bold)}.rating{display:inline-flex;align-items:center;gap:5px}.stars{display:inline-flex;gap:1px;color:var(--ai)}.stars [data-icon]{font-size:14px}.rating .num{font-weight:var(--fw-semibold);font-size:var(--fs-sm)}.rating .count{color:var(--text-subtle);font-size:var(--fs-caption)}.quota{display:flex;flex-direction:column;gap:6px;padding:var(--sp-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md)}.quota-head{display:flex;align-items:center;justify-content:space-between;font-size:var(--fs-caption)}.quota-head .n{font-weight:var(--fw-bold);color:var(--text)}.quota-dots{display:flex;gap:3px}.quota-dots i{flex:1;height:5px;border-radius:var(--r-full);background:var(--ai)}.quota-dots i.spent{background:var(--surface-3)}.quota.low .quota-dots i:not(.spent){background:var(--danger)}.msg{display:flex;gap:var(--sp-3);max-width:100%}.msg-user{flex-direction:row-reverse}.bubble{padding:var(--sp-3) var(--sp-4);border-radius:var(--r-lg);font-size:var(--fs-sm);line-height:1.6;max-width:85%}.msg-user .bubble{background:var(--primary);color:var(--text-on-brand);border-bottom-right-radius:var(--r-sm)}.msg-ai .bubble{background:var(--surface-2);border:1px solid var(--border);border-bottom-left-radius:var(--r-sm)}.bubble p+p{margin-top:var(--sp-2)}.bubble strong{font-weight:var(--fw-semibold)}.bubble .ai-q{color:var(--primary-text);font-weight:var(--fw-semibold)}.caret{display:inline-block;width:2px;height:1.05em;vertical-align:text-bottom;background:var(--ai);margin-left:2px;animation:blink 1s steps(2) infinite;border-radius:1px}@keyframes blink{0%,50%{opacity:1}50.01%,to{opacity:0}}.thinking{display:inline-flex;gap:4px;align-items:center;padding:2px 0}.thinking i{width:6px;height:6px;border-radius:50%;background:var(--text-subtle);animation:bounce 1.2s var(--ease) infinite}.thinking i:nth-child(2){animation-delay:.15s}.thinking i:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}.sk{background:var(--skeleton-base);border-radius:var(--r-sm);position:relative;overflow:hidden}.sk:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--skeleton-shine),transparent);animation:shimmer 1.5s infinite}@keyframes shimmer{to{transform:translate(100%)}}.sk-text{height:11px;border-radius:var(--r-full)}.sk-title{height:16px;border-radius:var(--r-sm)}.sk-thumb{aspect-ratio:16/9;border-radius:var(--r-md)}.sk-circle{border-radius:50%}@media(prefers-reduced-motion:reduce){.sk:after{animation:none}}.toast{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);min-width:280px;max-width:380px}.toast .ic{font-size:20px;margin-top:1px}.toast-success .ic{color:var(--success)}.toast-danger .ic{color:var(--danger)}.toast-ai .ic{color:var(--ai)}.toast .body{flex:1}.toast .ti{font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.toast .ds{font-size:var(--fs-caption);color:var(--text-muted);margin-top:2px}.modal-scrim{position:fixed;inset:0;background:var(--overlay);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:var(--sp-5);z-index:80}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-xl);width:100%;max-width:460px;overflow:hidden}.modal-head{padding:var(--sp-5) var(--sp-5) 0}.modal-body{padding:var(--sp-4) var(--sp-5)}.modal-foot{padding:var(--sp-4) var(--sp-5);display:flex;gap:var(--sp-3);justify-content:flex-end;border-top:1px solid var(--border);background:var(--surface-2)}.crumb{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--text-muted)}.crumb a:hover{color:var(--text)}.crumb .sep{color:var(--text-subtle);font-size:14px}.crumb .cur{color:var(--text);font-weight:var(--fw-medium)}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--sp-12) var(--sp-6);gap:var(--sp-3)}.empty .glyph{width:56px;height:56px;display:grid;place-items:center;border-radius:var(--r-xl);background:var(--surface-2);border:1px solid var(--border);color:var(--text-subtle);margin-bottom:var(--sp-1)}.empty .glyph [data-icon]{font-size:26px}.empty h4{font-size:var(--fs-h4)}.empty p{color:var(--text-muted);font-size:var(--fs-sm);max-width:320px}.nav-item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);color:var(--text-muted);font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer;transition:background var(--dur-fast),color var(--dur-fast)}.nav-item [data-icon]{font-size:18px}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item.active{background:var(--primary-soft);color:var(--primary-text)}.nav-item.active svg{color:var(--primary)}.hr{height:1px;background:var(--border);border:none;margin:0}.kbd{font-family:var(--font-mono);font-size:11px;padding:1px 6px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--border);border-bottom-width:2px;color:var(--text-muted)}body{background:var(--bg)}.wrap{max-width:1200px;margin:0 auto;padding:0 24px}.section{padding:96px 0}.eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--primary-text);text-transform:uppercase;letter-spacing:.06em}.eyebrow [data-icon]{font-size:14px}.section-head{text-align:center;max-width:640px;margin:0 auto 56px}.section-head h2{font-size:clamp(28px,4vw,42px);letter-spacing:-.03em;line-height:1.08;margin:14px 0 12px}.section-head p{font-size:var(--fs-body-lg);color:var(--text-muted)}.nav{position:sticky;top:0;z-index:50;background:color-mix(in oklch,var(--bg) 80%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}.nav-in{max-width:1200px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:28px}.logo{display:flex;align-items:center;gap:10px;font-weight:var(--fw-bold);font-size:19px;letter-spacing:-.02em}.logo .mark{width:30px;height:30px;border-radius:8px;background:linear-gradient(140deg,var(--primary),oklch(.62 .16 calc(var(--brand-h) + 35)));display:grid;place-items:center;color:#fff}.logo .mark [data-icon]{font-size:17px}.nav-links{display:flex;gap:4px}.nav-links a{padding:8px 14px;border-radius:var(--r-md);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-muted)}.nav-links a:hover{color:var(--text);background:var(--surface-2)}.nav .spacer{flex:1}.nav-cta{display:flex;align-items:center;gap:10px}@media(max-width:860px){.nav-links{display:none}}.hero{padding:80px 0 64px;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:-200px;left:50%;transform:translate(-50%);width:900px;height:600px;background:radial-gradient(circle,var(--primary-soft),transparent 65%);opacity:.7;pointer-events:none}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;position:relative}.hero h1{font-size:clamp(36px,5.2vw,62px);line-height:1.02;letter-spacing:-.035em;font-weight:var(--fw-bold)}.hero h1 .grad{background:linear-gradient(120deg,var(--primary),oklch(.62 .17 calc(var(--brand-h) + 40)));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero .sub{font-size:var(--fs-body-lg);color:var(--text-muted);margin:22px 0 30px;max-width:52ch;line-height:1.65}.hero-cta{display:flex;gap:12px;flex-wrap:wrap}.hero-trust{display:flex;align-items:center;gap:18px;margin-top:28px;color:var(--text-subtle);font-size:var(--fs-caption);flex-wrap:wrap}.hero-trust .stars{color:var(--ai)}.avatars{display:flex}.avatars .avatar{margin-left:-8px;border:2px solid var(--bg)}.avatars .avatar:first-child{margin-left:0}@media(max-width:920px){.hero-grid{grid-template-columns:1fr;gap:40px}}.mock{border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-xl);border:1px solid var(--border);background:var(--surface);transform:perspective(1600px) rotateY(-6deg) rotateX(2deg)}.mock-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:var(--surface-2);border-bottom:1px solid var(--border)}.mock-bar .dot{width:11px;height:11px;border-radius:50%;background:var(--border-strong)}.mock-bar .url{margin-left:12px;font-size:11px;color:var(--text-subtle);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-full);padding:3px 12px}.mock-body{display:grid;grid-template-columns:1fr 150px;height:320px}.mock-video{background:radial-gradient(120% 120% at 30% 20%,oklch(.42 .12 var(--brand-h)),#07070b 70%);position:relative;display:grid;place-items:center}.mock-video .play{width:50px;height:50px;border-radius:50%;background:#fff3;backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.3);display:grid;place-items:center;color:#fff}.mock-video .play [data-icon]{font-size:22px;margin-left:3px}.mock-video .seek{position:absolute;bottom:14px;left:14px;right:14px;height:3px;background:#ffffff4d;border-radius:2px}.mock-video .seek:after{content:"";position:absolute;left:0;top:0;bottom:0;width:42%;background:var(--primary);border-radius:2px}.mock-tutor{background:var(--surface);border-left:1px solid var(--border);padding:12px;display:flex;flex-direction:column;gap:10px}.mock-tutor .mt-h{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:var(--fw-semibold)}.mock-bubble{font-size:10px;line-height:1.45;padding:8px 10px;border-radius:10px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted)}.mock-bubble.q{color:var(--primary-text);font-weight:var(--fw-semibold)}.mock-bubble.u{background:var(--primary);color:#fff;align-self:flex-end;border:none}.logos{display:flex;align-items:center;justify-content:center;gap:44px;flex-wrap:wrap;opacity:.7;padding:8px 0 0}.logos span{font-weight:var(--fw-bold);font-size:18px;letter-spacing:-.02em;color:var(--text-muted);display:flex;align-items:center;gap:7px}.logos [data-icon]{font-size:19px}.feat-rows{display:flex;flex-direction:column;gap:88px}.feat-row{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.feat-row.rev .feat-visual{order:-1}.feat-row h3{font-size:clamp(24px,3vw,32px);letter-spacing:-.02em;margin:14px 0 12px;line-height:1.12}.feat-row p{color:var(--text-muted);font-size:var(--fs-body);line-height:1.65}.feat-list{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-direction:column;gap:12px}.feat-list li{display:flex;gap:10px;align-items:flex-start;font-size:var(--fs-sm)}.feat-list li [data-icon]{color:var(--success);font-size:18px;flex:none;margin-top:1px}.feat-visual{border-radius:var(--r-xl);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-lg);overflow:hidden;aspect-ratio:4/3}@media(max-width:860px){.feat-row,.feat-row.rev .feat-visual{grid-template-columns:1fr;order:0}}.feat-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.fcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:28px}.fcard .fic{width:46px;height:46px;border-radius:var(--r-md);background:var(--primary-soft);color:var(--primary-text);display:grid;place-items:center;margin-bottom:16px}.fcard .fic [data-icon]{font-size:22px}.fcard h4{font-size:var(--fs-h4);margin-bottom:6px}.fcard p{font-size:var(--fs-sm);color:var(--text-muted);line-height:1.6}@media(max-width:860px){.feat-cards{grid-template-columns:1fr}}.course-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}@media(max-width:980px){.course-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.course-grid{grid-template-columns:1fr}}.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.step3{text-align:center;padding:0 12px}.step3 .num{width:48px;height:48px;margin:0 auto 18px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:20px;font-weight:var(--fw-bold)}.step3 h4{font-size:var(--fs-h4);margin-bottom:8px}.step3 p{color:var(--text-muted);font-size:var(--fs-sm);line-height:1.6}@media(max-width:760px){.steps3{grid-template-columns:1fr;gap:36px}}.price-toggle{display:inline-flex;gap:3px;padding:4px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-full);margin:0 auto 12px}.price-toggle button{padding:8px 18px;border-radius:var(--r-full);border:none;background:none;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-muted);cursor:pointer}.price-toggle button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-xs)}.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:start}.price-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:28px 24px;display:flex;flex-direction:column;gap:18px}.price-card.pop{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary),var(--shadow-lg);position:relative}.price-card.pop:before{content:"Phổ biến nhất";position:absolute;top:-11px;left:50%;transform:translate(-50%);background:var(--primary);color:#fff;font-size:11px;font-weight:var(--fw-bold);padding:3px 12px;border-radius:var(--r-full);white-space:nowrap}.price-card .pname{font-size:var(--fs-h4);font-weight:var(--fw-bold)}.price-card .pdesc{font-size:var(--fs-caption);color:var(--text-subtle);min-height:32px}.price-card .pamt{font-size:38px;font-weight:var(--fw-bold);letter-spacing:-.02em}.price-card .pamt small{font-size:var(--fs-sm);font-weight:var(--fw-regular);color:var(--text-subtle)}.price-feats{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:11px}.price-feats li{display:flex;gap:9px;align-items:flex-start;font-size:var(--fs-sm);color:var(--text-muted)}.price-feats li [data-icon]{color:var(--success);font-size:16px;flex:none;margin-top:2px}.price-feats li.off{opacity:.45}.price-feats li.off [data-icon]{color:var(--text-subtle)}@media(max-width:980px){.price-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.price-grid{grid-template-columns:1fr}}.tgrid{columns:3;column-gap:20px}@media(max-width:860px){.tgrid{columns:1}}.tcard{break-inside:avoid;margin-bottom:20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:24px}.tcard .stars{color:var(--ai);margin-bottom:12px}.tcard p{font-size:var(--fs-sm);line-height:1.65}.tcard .who{display:flex;align-items:center;gap:10px;margin-top:16px}.tcard .who .nm{font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.tcard .who .rl{font-size:var(--fs-caption);color:var(--text-subtle)}.cta-band{background:linear-gradient(135deg,var(--primary),oklch(.5 .17 calc(var(--brand-h) + 35)));border-radius:var(--r-2xl);padding:64px 48px;text-align:center;color:#fff;position:relative;overflow:hidden}.cta-band h2{font-size:clamp(28px,4vw,44px);letter-spacing:-.03em;margin-bottom:14px}.cta-band p{font-size:var(--fs-body-lg);opacity:.9;max-width:50ch;margin:0 auto 28px}.btn-white{background:#fff;color:var(--primary-text)}.btn-white:hover{background:#ffffffe6}.footer{border-top:1px solid var(--border);padding:64px 0 40px;background:var(--surface)}.foot-grid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:32px}.foot-col h5{font-size:var(--fs-caption);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.05em;color:var(--text-subtle);margin-bottom:14px}.foot-col a{display:block;padding:5px 0;font-size:var(--fs-sm);color:var(--text-muted)}.foot-col a:hover{color:var(--text)}.foot-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:48px;padding-top:24px;border-top:1px solid var(--border);font-size:var(--fs-caption);color:var(--text-subtle);flex-wrap:wrap;gap:12px}@media(max-width:760px){.foot-grid{grid-template-columns:1fr 1fr}}.float-controls{position:fixed;bottom:20px;right:20px;z-index:60;display:flex;gap:8px}.float-controls .icon-btn{width:42px;height:42px;border-radius:50%;background:var(--surface);border:1px solid var(--border);display:grid;place-items:center;color:var(--text-muted);cursor:pointer;box-shadow:var(--shadow-md)}.float-controls .icon-btn [data-icon]{font-size:18px}.icon-sun[data-astro-cid-s7udvgdf],[data-theme=dark] .icon-moon[data-astro-cid-s7udvgdf]{display:none}[data-theme=dark] .icon-sun[data-astro-cid-s7udvgdf]{display:inline-flex}
