.admin-layout[data-v-bbaa8be6]{background:var(--color-bg-primary);min-height:100vh}.minimal-layout[data-v-7601af95]{min-height:100vh}.page-enter-active,.page-leave-active{transition:opacity .2s,transform .2s}.page-enter-from{opacity:0;transform:translateY(8px)}.page-leave-to{opacity:0;transform:translateY(-8px)}:root{--color-gray-0:#fff;--color-gray-50:#fafafa;--color-gray-100:#f5f5f7;--color-gray-200:#e8e8ed;--color-gray-300:#d2d2d7;--color-gray-400:#aeaeb2;--color-gray-500:#86868b;--color-gray-600:#6e6e73;--color-gray-700:#515154;--color-gray-800:#343436;--color-gray-900:#1d1d1f;--color-gray-950:#12121c;--color-gray-1000:#0a0a0f;--color-gray-1000-full:#000;--color-teal-50:#effefb;--color-teal-100:#d7fbf3;--color-teal-200:#a7f3d0;--color-teal-300:#6fffe2;--color-teal-400:#36e6c4;--color-teal-500:#14c8ad;--color-teal-600:#089981;--color-teal-700:#0f766e;--color-teal-800:#115e59;--color-teal-900:#134e4a;--color-amber-50:#fff8eb;--color-amber-100:#ffefcc;--color-amber-200:#ffe0a3;--color-amber-300:#ffd06a;--color-amber-400:#ffb020;--color-amber-500:#ff9f0a;--color-amber-600:#d97706;--color-amber-700:#b45309;--color-amber-800:#a66400;--color-amber-900:#804d00;--color-green-400:#4ade80;--color-green-500:#30d158;--color-green-600:#28a745;--color-red-400:#ff6b6b;--color-red-500:#ff3b30;--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--font-sans:"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"SF Mono", "Cascadia Code", "Fira Code", "Menlo", monospace;--font-size-caption:.75rem;--font-size-small:.875rem;--font-size-body:1.0625rem;--font-size-h4:1.25rem;--font-size-h3:1.5rem;--font-size-h2:2rem;--font-size-h1:2.5rem;--font-size-hero:3.5rem;--leading-tight:1.15;--leading-snug:1.35;--leading-normal:1.5;--leading-relaxed:1.7;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.02em;--tracking-normal:-.01em;--tracking-wide:.02em;--radius-none:0;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1.25rem;--radius-xl:1.75rem;--radius-full:9999px;--shadow-opacity-sm:.04;--shadow-opacity-md:.06;--shadow-opacity-lg:.08;--shadow-opacity-xl:.12;--shadow-color-light:0, 0, 0;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--duration-instant:75ms;--duration-fast:.15s;--duration-normal:.3s;--duration-slow:.5s;--duration-slower:.8s;--z-base:0;--z-above:10;--z-nav:100;--z-overlay:200;--z-modal:300;--nav-height:52px;--container-max:1200px;--container-narrow:800px;--color-bg-primary:#fff;--color-bg-secondary:#f6f8fa;--color-bg-tertiary:#f9fbfb;--color-bg-elevated:#ffffffb8;--color-text-primary:#111827;--color-text-secondary:#4b5563;--color-text-tertiary:#9ca3af;--color-text-inverse:var(--color-gray-100);--color-accent:var(--color-teal-600);--color-accent-hover:var(--color-teal-700);--color-accent-subtle:#0899811a;--color-accent-glow:#08998138;--color-cta:var(--color-amber-400);--color-cta-hover:var(--color-amber-500);--color-cta-subtle:#ffb0201a;--color-cta-glow:#ffb02040;--color-success:var(--color-green-500);--color-success-subtle:#30d1581f;--color-border:#0000000f;--color-border-strong:#0000001a;--color-divider:#0000000d;--glass-bg:#ffffffb8;--glass-border:#00000014;--glass-blur:20px;--shadow-sm:0 1px 3px rgba(var(--shadow-color-light), var(--shadow-opacity-sm));--shadow-md:0 4px 20px rgba(var(--shadow-color-light), var(--shadow-opacity-md));--shadow-lg:0 12px 48px rgba(var(--shadow-color-light), var(--shadow-opacity-lg));--shadow-xl:0 24px 80px rgba(var(--shadow-color-light), var(--shadow-opacity-xl));--spacing-element:var(--space-4);--spacing-block:var(--space-6);--spacing-section:var(--space-24);--spacing-page:var(--space-16);--nav-bg:transparent;--nav-bg-scrolled:var(--glass-bg);--nav-border-scrolled:var(--glass-border);--nav-link-fg:var(--color-text-secondary);--nav-link-fg-hover:var(--color-text-primary);--nav-link-fg-active:var(--color-accent);--nav-link-bg-hover:var(--color-accent-subtle);--nav-link-bg-active:var(--color-accent-subtle);--nav-link-radius:var(--radius-full);--nav-link-padding-y:var(--space-2);--nav-link-padding-x:var(--space-3);--btn-primary-bg:var(--color-accent);--btn-primary-fg:#06231f;--btn-primary-bg-hover:var(--color-accent-hover);--btn-primary-shadow:0 4px 16px var(--color-accent-glow);--btn-padding-y:var(--space-3);--btn-padding-x:var(--space-6);--btn-padding-y-lg:var(--space-4);--btn-padding-x-lg:var(--space-8);--btn-padding-y-sm:var(--space-2);--btn-padding-x-sm:var(--space-4);--btn-radius:var(--radius-full);--btn-font-size:var(--font-size-small);--btn-cta-bg:var(--color-cta);--btn-cta-fg:var(--color-gray-900);--btn-cta-bg-hover:var(--color-cta-hover);--btn-cta-shadow:0 4px 16px var(--color-cta-glow);--btn-secondary-bg:var(--color-bg-secondary);--btn-secondary-fg:var(--color-text-primary);--btn-secondary-bg-hover:var(--color-border-strong);--btn-ghost-fg:var(--color-text-secondary);--btn-ghost-fg-hover:var(--color-accent);--btn-ghost-bg-hover:var(--color-accent-subtle);--btn-outline-border:var(--color-border-strong);--btn-outline-fg:var(--color-text-primary);--btn-outline-border-hover:var(--color-accent);--btn-outline-fg-hover:var(--color-accent);--btn-outline-bg-hover:var(--color-accent-subtle);--card-bg:var(--color-bg-primary);--card-border:var(--color-border);--card-padding:var(--space-10);--card-radius:var(--radius-lg);--card-shadow:var(--shadow-md);--card-shadow-hover:var(--shadow-lg);--card-lift:-4px;--card-glass-bg:var(--glass-bg);--card-glass-border:var(--glass-border);--input-bg:var(--color-bg-secondary);--input-fg:var(--color-text-primary);--input-border:var(--color-border-strong);--input-border-focus:var(--color-accent);--input-ring-focus:var(--color-accent-subtle);--input-padding-y:var(--space-3);--input-padding-x:var(--space-5);--input-radius:var(--radius-full);--input-font-size:var(--font-size-small);--pricing-padding:var(--space-16) var(--space-10);--pricing-radius:var(--radius-xl);--pricing-featured-border:var(--color-accent);--pricing-badge-bg:var(--color-accent);--pricing-badge-fg:#fff;--cta-banner-bg:linear-gradient(135deg, var(--color-teal-700), var(--color-teal-400));--cta-banner-fg:#fff;--cta-banner-radius:var(--radius-xl);--footer-bg:var(--color-bg-secondary);--footer-border:var(--color-divider);--footer-padding:var(--space-24) 0 var(--space-10)}[data-theme=dark]{--color-bg-primary:#070a12;--color-bg-secondary:#0d111c;--color-bg-tertiary:#111421;--color-bg-elevated:#171a2ad1;--color-text-primary:#f8fafc;--color-text-secondary:#a7afbf;--color-text-tertiary:#747d8e;--color-text-inverse:var(--color-gray-900);--color-accent:var(--color-teal-400);--color-accent-hover:var(--color-teal-300);--color-accent-subtle:#36e6c41f;--color-accent-glow:#36e6c438;--color-cta:var(--color-amber-400);--color-cta-hover:var(--color-amber-500);--color-cta-subtle:#ffb0201f;--color-cta-glow:#ffb02040;--color-border:#ffffff14;--color-border-strong:#ffffff24;--color-divider:#ffffff0f;--glass-bg:#0d111cb8;--glass-border:#ffffff1a;--shadow-color-light:0, 0, 0;--shadow-opacity-sm:.2;--shadow-opacity-md:.3;--shadow-opacity-lg:.4;--shadow-opacity-xl:.5;--btn-primary-bg:var(--color-accent);--btn-primary-bg-hover:var(--color-accent-hover)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;font-size:17px}body{font-family:var(--font-sans);font-size:var(--font-size-body);font-weight:var(--font-weight-regular);line-height:var(--leading-normal);color:var(--color-text-primary);background:var(--color-bg-primary);transition:background var(--duration-slower) var(--ease-out), color var(--duration-slower) var(--ease-out);min-height:100vh}img{max-width:100%;display:block}a{color:var(--color-accent);transition:color var(--duration-fast) var(--ease-out);text-decoration:none}a:hover{color:var(--color-accent-hover)}ul,ol{list-style:none}button{cursor:pointer;font-family:inherit;font-size:inherit;background:0 0;border:none}input,textarea,select{font-family:inherit;font-size:inherit}::selection{background:var(--color-accent-subtle);color:var(--color-accent)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:var(--font-weight-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-normal)}.hero-title{font-size:var(--font-size-hero);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tight);line-height:1.1}.section-title{font-size:var(--font-size-h1);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-tight)}.section-eyebrow{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-4);display:inline-block}.text-gradient{background:linear-gradient(135deg, var(--color-accent), var(--color-teal-200));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.text-body{font-size:var(--font-size-body);line-height:var(--leading-normal);color:var(--color-text-secondary)}.text-small{font-size:var(--font-size-small);color:var(--color-text-tertiary)}.container{width:100%;max-width:var(--container-max);padding:0 var(--space-6);margin:0 auto}.container--narrow{max-width:var(--container-narrow)}.section{padding:var(--spacing-section) 0}.section--sm{padding:var(--spacing-page) 0}.section-header{text-align:center;margin-bottom:var(--spacing-page)}.section-header .section-title{margin-bottom:var(--space-4)}.section-header .text-body{max-width:560px;margin:0 auto}.grid-3{gap:var(--spacing-block);grid-template-columns:repeat(3,1fr);display:grid}.grid-2{gap:var(--spacing-block);grid-template-columns:repeat(2,1fr);display:grid}.grid-2>*{min-width:0;overflow:hidden}.flex-center{justify-content:center;align-items:center;display:flex}.nav{z-index:var(--z-nav);height:var(--nav-height);transition:all var(--duration-normal) var(--ease-out);position:fixed;top:0;left:0;right:0}.nav--scrolled{background:var(--nav-bg-scrolled);-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:0 1px 0 0 var(--nav-border-scrolled)}.nav__inner{height:100%;max-width:var(--container-max);padding:0 var(--space-6);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.nav__logo{align-items:center;gap:var(--space-2);font-family:var(--font-sans);font-size:18px;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);letter-spacing:var(--tracking-normal);text-decoration:none;display:flex}.nav__logo-icon{border-radius:var(--radius-md);object-fit:contain;width:32px;height:32px}.nav__links{align-items:center;gap:var(--space-1);display:flex}.nav__link{padding:var(--nav-link-padding-y) var(--nav-link-padding-x);border-radius:var(--nav-link-radius);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--nav-link-fg);transition:all var(--duration-fast) var(--ease-out);letter-spacing:var(--tracking-normal);text-decoration:none}.nav__link:hover{color:var(--nav-link-fg-hover);background:var(--nav-link-bg-hover)}.nav__link:active{transition:transform var(--duration-instant) var(--ease-out);transform:scale(.96)}.nav__link--active{color:var(--nav-link-fg-active);background:var(--nav-link-bg-active)}.nav__actions{align-items:center;gap:var(--space-2);display:flex}.theme-toggle{border-radius:var(--radius-full);width:36px;height:36px;color:var(--color-text-secondary);transition:all var(--duration-fast) var(--ease-out);justify-content:center;align-items:center;font-size:18px;display:flex}.theme-toggle:hover{background:var(--color-accent-subtle);color:var(--color-text-primary)}.menu-toggle{display:none}.btn{padding:var(--btn-padding-y) var(--btn-padding-x);border-radius:var(--btn-radius);font-size:var(--btn-font-size);font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-normal);transition:all var(--duration-fast) var(--ease-out);white-space:nowrap;justify-content:center;align-items:center;gap:8px;line-height:1;text-decoration:none;display:inline-flex}.btn--primary{background:var(--btn-primary-bg);color:var(--btn-primary-fg)}.btn--primary:hover{background:var(--btn-primary-bg-hover);color:var(--btn-primary-fg);box-shadow:var(--btn-primary-shadow);transform:translateY(-1px)}.btn--primary:active{box-shadow:none;background:var(--color-teal-700);transform:translateY(0)}.btn--cta{background:var(--btn-cta-bg);color:var(--btn-cta-fg);font-weight:var(--font-weight-semibold)}.btn--cta:hover{background:var(--btn-cta-bg-hover);color:var(--btn-cta-fg);box-shadow:var(--btn-cta-shadow);transform:translateY(-1px)}.btn--cta:active{box-shadow:none;background:var(--color-amber-700);color:#fff;transform:translateY(0)}.btn--secondary{background:var(--btn-secondary-bg);color:var(--btn-secondary-fg)}.btn--secondary:hover{background:var(--btn-secondary-bg-hover);color:var(--btn-secondary-fg)}.btn--secondary:active{transform:scale(.98)}.btn--ghost{color:var(--btn-ghost-fg)}.btn--ghost:hover{background:var(--btn-ghost-bg-hover);color:var(--btn-ghost-fg-hover)}.btn--ghost:active{background:var(--color-accent-subtle);opacity:.7}.btn--outline{border:1px solid var(--btn-outline-border);color:var(--btn-outline-fg);background:0 0}.btn--outline:hover{border-color:var(--btn-outline-border-hover);color:var(--btn-outline-fg-hover);background:var(--btn-outline-bg-hover)}.btn--outline:active{background:var(--color-accent-subtle);border-color:var(--color-accent)}.btn:disabled,.btn--disabled{opacity:.4;pointer-events:none;cursor:not-allowed;box-shadow:none!important;transform:none!important}.btn--lg{padding:var(--btn-padding-y-lg) var(--btn-padding-x-lg);font-size:var(--font-size-body)}.btn--sm{padding:var(--btn-padding-y-sm) var(--btn-padding-x-sm);font-size:var(--font-size-caption)}.btn--icon{border-radius:var(--radius-full);width:36px;height:36px;padding:0}.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);padding:var(--card-padding);transition:all var(--duration-normal) var(--ease-out);position:relative;overflow:hidden}.card:hover{transform:translateY(var(--card-lift));box-shadow:var(--card-shadow-hover);border-color:var(--color-border-strong)}.card--glass{background:var(--card-glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--card-glass-border)}.card--interactive{cursor:pointer}.card__icon{border-radius:var(--radius-md);width:48px;height:48px;margin-bottom:var(--spacing-block);background:var(--color-accent-subtle);color:var(--color-accent);justify-content:center;align-items:center;font-size:24px;display:flex}.card__title{font-size:var(--font-size-h4);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2);color:var(--color-text-primary)}.card__desc{font-size:var(--font-size-small);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.card__tag{border-radius:var(--radius-full);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);background:var(--color-accent-subtle);color:var(--color-accent);margin-bottom:var(--space-4);padding:4px 10px;display:inline-block}.hero{justify-content:center;align-items:center;gap:var(--space-16);min-height:100vh;padding:calc(var(--nav-height) + var(--spacing-section)) var(--space-6) var(--space-8);--hero-grid-line:#0899810e;--hero-grid-strong:#08998118;--hero-flow-line:#0899812e;--hero-node:#08998180;--hero-ambient-glow:#0899811a;display:flex;position:relative;overflow:hidden}[data-theme=dark] .hero{--hero-grid-line:#36e6c40d;--hero-grid-strong:#36e6c418;--hero-flow-line:#36e6c42e;--hero-node:#6fffe29e;--hero-ambient-glow:#36e6c41c}.hero__ambient{z-index:var(--z-base);pointer-events:none;background:radial-gradient(circle at 64% 46%, var(--hero-ambient-glow), transparent 34%), radial-gradient(circle at 78% 24%, #ffb0200b, transparent 22%);position:absolute;inset:0;overflow:hidden}.hero__ambient-grid{opacity:.78;transform-origin:52% 48%;background:linear-gradient(90deg, var(--hero-grid-line) 1px, transparent 1px), linear-gradient(0deg, var(--hero-grid-line) 1px, transparent 1px), linear-gradient(120deg, transparent 18%, var(--hero-grid-strong) 18.15%, transparent 18.35%), linear-gradient(120deg, transparent 58%, var(--hero-grid-line) 58.15%, transparent 58.35%);background-size:72px 72px,72px 72px,100% 100%,100% 100%;position:absolute;inset:10% 5% 4% 32%;transform:perspective(900px)rotateX(58deg)rotate(-8deg)skew(-4deg);-webkit-mask-image:radial-gradient(at 48% 52%,#000 0 42%,#0000 74%);mask-image:radial-gradient(at 48% 52%,#000 0 42%,#0000 74%)}.hero__ambient-flow{position:absolute;inset:0}.hero__ambient-flow span{border-radius:var(--radius-full);background:linear-gradient(90deg, transparent, var(--hero-flow-line), transparent);transform-origin:50%;height:1px;position:absolute}.hero__ambient-flow span:first-child{width:360px;top:34%;left:47%;transform:rotate(-13deg)}.hero__ambient-flow span:nth-child(2){width:300px;top:48%;left:55%;transform:rotate(8deg)}.hero__ambient-flow span:nth-child(3){width:260px;top:63%;left:42%;transform:rotate(-7deg)}.hero__ambient-flow span:nth-child(4){opacity:.55;width:190px;top:58%;left:67%;transform:rotate(16deg)}.hero__ambient-nodes i{background:var(--hero-node);width:4px;height:4px;box-shadow:0 0 12px var(--hero-node);border-radius:50%;position:absolute}.hero__ambient-nodes i:first-child{top:39%;left:47%}.hero__ambient-nodes i:nth-child(2){top:34%;left:56%}.hero__ambient-nodes i:nth-child(3){top:49%;left:64%}.hero__ambient-nodes i:nth-child(4){top:64%;left:52%}.hero__ambient-nodes i:nth-child(5){top:42%;left:74%}.hero__ambient-nodes i:nth-child(6){background:#ffb020ad;top:57%;left:61%;box-shadow:0 0 12px #ffb0206b}.hero__stars{pointer-events:none;z-index:var(--z-base);position:absolute;inset:0}.hero__star{background:var(--color-accent);opacity:0;border-radius:50%;width:2px;height:2px;animation:3s ease-in-out infinite star-pulse;position:absolute}.hero__content{z-index:var(--z-above);text-align:left;max-width:580px;position:relative}.hero__content .hero-title{margin-bottom:var(--spacing-block)}.hero__content .text-body{margin-bottom:var(--space-8);color:var(--color-text-secondary);font-size:18px;line-height:var(--leading-relaxed)}.hero__actions{gap:var(--space-4);flex-wrap:wrap;display:flex}.hero__trust{margin-top:var(--space-6);font-size:var(--font-size-small);color:var(--color-text-tertiary)}.hero__code{z-index:var(--z-above);background:var(--color-gray-950);border-radius:var(--radius-lg);width:460px;transition:transform var(--duration-slower) var(--ease-out);flex-shrink:0;position:relative;overflow:hidden;transform:perspective(800px)rotateY(-6deg)rotateX(3deg);box-shadow:0 24px 80px #00000040,0 0 0 1px #ffffff0f}.hero__code:hover{transform:perspective(800px)rotateY(-3deg)rotateX(1deg)}.hero__code-header{background:#ffffff0a;border-bottom:1px solid #ffffff0f;align-items:center;gap:8px;padding:14px 20px;display:flex}.hero__code-header span{border-radius:50%;width:12px;height:12px}.hero__code-header span:first-child{background:#ff5f56}.hero__code-header span:nth-child(2){background:#ffbd2e}.hero__code-header span:nth-child(3){background:#27c93f}.hero__code-header small{color:#ffffff4d;font-size:12px;font-family:var(--font-mono);margin-left:auto}.hero__code-body{font-family:var(--font-mono);color:#ffffffb3;margin:0;padding:24px 24px 28px;font-size:15px;line-height:1.9;overflow:hidden}.hero__code-body .hc-keyword{color:var(--color-teal-300)}.hero__code-body .hc-fn{color:var(--color-accent)}.hero__code-body .hc-string{color:var(--color-teal-200)}.hero__code-body .hc-comment{color:#ffffff4d;font-style:italic}.hero__code-body .hc-cursor{color:var(--color-cta);animation:1s step-end infinite cursor-blink}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}.hero+.section{padding-top:var(--space-10)}.features-grid{gap:var(--spacing-block);grid-template-columns:repeat(3,1fr);display:grid}.founder-card{align-items:center;gap:var(--spacing-block);background:var(--card-glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--card-glass-border);border-radius:var(--card-radius);padding:var(--space-10);box-shadow:var(--shadow-md);display:flex}.founder-card__avatar{background:linear-gradient(135deg, var(--color-accent-subtle), var(--color-cta-subtle));width:88px;height:88px;color:var(--color-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.founder-card__body{flex:1;min-width:0}.section-footer-action{margin-top:var(--space-10);justify-content:center;display:flex}.course-grid{gap:var(--spacing-block);padding:var(--space-2) 0;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.course-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);transition:all var(--duration-normal) var(--ease-out);overflow:hidden}.course-card:hover{transform:translateY(var(--card-lift));box-shadow:var(--card-shadow-hover)}.course-card__thumb{background:var(--color-accent-subtle);justify-content:center;align-items:center;height:200px;font-size:48px;display:flex;position:relative;overflow:hidden}.course-card__thumb:after{content:"▶";color:#fff;opacity:0;width:48px;height:48px;transition:opacity var(--duration-fast) var(--ease-out);background:#00000080;border-radius:50%;justify-content:center;align-items:center;font-size:18px;display:flex;position:absolute}.course-card:hover .course-card__thumb:after{opacity:1}.course-card__body{padding:var(--spacing-block)}.course-card__tag{background:var(--color-accent-subtle);color:var(--color-accent);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);border-radius:var(--radius-full);margin-bottom:var(--space-2);padding:3px 10px;display:inline-block}.course-card__tag--free{color:var(--color-success);background:#22c55e1f}.course-card__tag--member{color:var(--color-accent);background:#36e6c41f}.course-card__tag--lifetime{color:var(--color-cta);background:#ffb02024}.course-card__tag--paid{color:var(--color-text-secondary);background:#94a3b81f}.course-card__pin{z-index:2;border-radius:var(--radius-full);color:#1b1300;font-size:12px;font-weight:var(--font-weight-semibold);background:#ffb020eb;align-items:center;padding:4px 10px;display:inline-flex;position:absolute;top:12px;right:12px;box-shadow:0 8px 24px #ffb02033}[data-theme=light] .course-card__pin{background:#ffb020f2}.course-card__title{font-size:17px;font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2);color:var(--color-text-primary);line-height:var(--leading-tight)}.course-card__meta{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.course-card__price{font-size:var(--font-size-h4);font-weight:var(--font-weight-bold);color:var(--color-cta)}.course-card__price--free{color:var(--color-success)}.course-card__meta-right{flex-direction:column;align-items:flex-end;gap:4px;min-width:0;display:flex}.course-card__status{border-radius:var(--radius-full);width:fit-content;color:var(--color-accent);font-size:12px;font-weight:var(--font-weight-medium);white-space:nowrap;background:#36e6c41a;border:1px solid #36e6c429;align-items:center;padding:2px 8px;display:inline-flex}.course-card__rating{font-size:var(--font-size-small);color:var(--color-text-tertiary)}.blog-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);transition:all var(--duration-normal) var(--ease-out);color:inherit;text-decoration:none;display:block;overflow:hidden}.blog-card:hover{transform:translateY(var(--card-lift));box-shadow:var(--card-shadow-hover)}.blog-card__cover{background:var(--color-bg-secondary);height:200px;color:var(--color-text-tertiary);justify-content:center;align-items:center;font-size:40px;display:flex}.blog-card__body{padding:var(--spacing-block)}.blog-card__title{font-size:18px;font-weight:var(--font-weight-semibold);margin-bottom:var(--space-1);color:var(--color-text-primary);line-height:var(--leading-tight)}.blog-card__excerpt{font-size:var(--font-size-small);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-4);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.blog-card__footer{padding-top:var(--space-4);border-top:1px solid var(--color-divider);justify-content:space-between;align-items:center;display:flex}.blog-card__footer span{align-items:center;gap:3px;display:inline-flex}.blog-card__date,.blog-card__read{font-size:var(--font-size-caption);color:var(--color-text-tertiary)}.source-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);padding:var(--spacing-block);transition:all var(--duration-normal) var(--ease-out);gap:var(--spacing-block);align-items:flex-start;display:flex}.source-card:hover{box-shadow:var(--card-shadow);transform:translateY(-2px)}.source-card__icon{border-radius:var(--radius-md);background:var(--color-accent-subtle);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;display:flex}.source-card__info{flex:1;min-width:0}.source-card__name{font-size:17px;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:4px}.source-card__desc{font-size:var(--font-size-small);color:var(--color-text-secondary);margin-bottom:var(--space-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.source-card__tags{flex-wrap:wrap;gap:6px;display:flex}.source-card__lang{border-radius:var(--radius-full);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);background:var(--color-bg-secondary);color:var(--color-text-secondary);font-family:var(--font-mono);padding:2px 8px}.source-card__stats{gap:var(--space-4);font-size:var(--font-size-caption);color:var(--color-text-tertiary);align-items:center;display:flex}.pricing-grid{gap:var(--spacing-block);grid-template-columns:repeat(3,1fr);align-items:start;display:grid}.pricing-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--pricing-radius);padding:var(--pricing-padding);text-align:center;transition:all var(--duration-normal) var(--ease-out);position:relative}.pricing-card:hover{transform:translateY(var(--card-lift));box-shadow:var(--card-shadow-hover)}.pricing-card--featured{border-color:var(--pricing-featured-border);box-shadow:0 0 0 1px var(--pricing-featured-border), var(--card-shadow)}.pricing-card--featured:before{content:"推荐";background:var(--pricing-badge-bg);color:var(--pricing-badge-fg);border-radius:var(--radius-full);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);padding:4px 16px;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.pricing-card__name{font-size:var(--font-size-h4);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2)}.pricing-card__price{font-size:48px;font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-2);letter-spacing:var(--tracking-tight)}.pricing-card__price span{font-size:var(--font-size-body);font-weight:var(--font-weight-regular);color:var(--color-text-secondary)}.pricing-card__desc{font-size:var(--font-size-small);color:var(--color-text-secondary);margin-bottom:var(--space-10)}.pricing-card__features{text-align:left;margin-bottom:var(--space-10)}.pricing-card__features li{padding:var(--space-2) 0;font-size:var(--font-size-small);color:var(--color-text-secondary);align-items:center;gap:var(--space-2);display:flex}.pricing-card__features li:before{content:"✓";color:var(--color-accent);font-weight:var(--font-weight-bold);flex-shrink:0}.section--inline-cta{padding-top:var(--space-2);padding-bottom:var(--space-10)}.cta-banner{isolation:isolate;align-items:center;gap:var(--space-5);min-height:112px;padding:var(--space-5) var(--space-6);border-radius:var(--radius-xl);color:var(--color-text-primary);background:radial-gradient(circle at 92%,#ffb0201a,#0000 24%),linear-gradient(135deg,#e9fff8,#d7fbf3 58%,#f8fafc);border:1px solid #08998138;grid-template-columns:auto minmax(0,1fr) max-content;display:grid;position:relative;overflow:hidden;box-shadow:0 14px 34px #0899811a}[data-theme=dark] .cta-banner{background:radial-gradient(circle at 92% 52%,#ffb0201f,#0000 24%),linear-gradient(135deg,#0b1719,#102a25 58%,#15191f);border-color:#6fffe22e;box-shadow:0 14px 42px #0000003d,0 0 0 1px #ffffff06}.cta-banner:before{content:"";z-index:-1;opacity:.36;background-color:#0000;background-image:linear-gradient(90deg,#0899811a 1px,#0000 1px),linear-gradient(0deg,#08998114 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:44px 44px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 22% 78%,#0000);mask-image:linear-gradient(90deg,#0000,#000 22% 78%,#0000)}[data-theme=dark] .cta-banner:before{background:linear-gradient(90deg,#6fffe217 1px,#0000 1px),linear-gradient(0deg,#6fffe212 1px,#0000 1px)}.cta-banner__icon-wrap{border-radius:var(--radius-md);background:#0899811a;border:1px solid #08998129;justify-content:center;align-items:center;width:56px;height:56px;display:flex;box-shadow:inset 0 1px #ffffff42}[data-theme=dark] .cta-banner__icon-wrap{background:#36e6c41a;border-color:#6fffe224;box-shadow:inset 0 1px #ffffff14}.cta-banner__icon{object-fit:contain;width:50px;height:50px;display:block}.cta-banner__content{min-width:0}.cta-banner__eyebrow{border-radius:var(--radius-full);width:fit-content;color:var(--color-accent);font-size:12px;font-weight:var(--font-weight-semibold);background:#0899811f;align-items:center;margin:0 0 6px;padding:3px 9px;display:inline-flex}[data-theme=dark] .cta-banner__eyebrow{color:var(--color-teal-300);background:#36e6c41f}.cta-banner__title{font-size:clamp(24px,1.75vw,28px);font-weight:var(--font-weight-bold);line-height:var(--leading-tight);color:var(--color-text-primary);margin:0 0 6px}.cta-banner__desc{font-size:var(--font-size-small);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin:0}.cta-banner__action{z-index:1;flex-shrink:0;min-width:126px;position:relative}.cta-banner__decor{inset:0 var(--space-8) 0 auto;pointer-events:none;opacity:.48;z-index:-1;width:280px;position:absolute}.cta-banner__decor span{border-radius:var(--radius-full);background:linear-gradient(90deg,#0000,#ffb0203d,#0000);height:1px;position:absolute;right:0}.cta-banner__decor span:first-child{width:210px;top:31%;transform:rotate(-8deg)}.cta-banner__decor span:nth-child(2){background:linear-gradient(90deg,#0000,#6fffe22e,#0000);width:160px;top:50%;right:36px}.cta-banner__decor span:nth-child(3){width:110px;top:67%;right:94px;transform:rotate(9deg)}.stats-bar{gap:var(--spacing-block);padding:var(--spacing-page) 0;text-align:center;border-top:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider);grid-template-columns:repeat(4,1fr);display:grid}.stat__number{font-size:40px;font-weight:var(--font-weight-bold);color:var(--color-accent);letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums}.stat__label{font-size:var(--font-size-small);color:var(--color-text-tertiary);margin-top:4px}.search-bar{gap:var(--space-4);flex-wrap:wrap;align-items:center;display:flex}.filter-tags{flex-wrap:wrap;gap:8px;display:flex}.catalog-filter{gap:var(--space-5);margin-bottom:var(--space-16);justify-items:start;display:grid}.catalog-filter__search{width:min(420px,100%)}.catalog-filter__search .n-input{width:100%}.catalog-filter__tags{flex-wrap:wrap;justify-content:flex-start;gap:8px;display:flex}.catalog-filter__divider{width:1px;height:20px;margin:0 var(--space-1);background:var(--color-border)}@media (width<=767px){.catalog-filter{margin-bottom:var(--space-10);justify-items:stretch}.catalog-filter__search{width:100%}.catalog-filter__tags{justify-content:flex-start}.catalog-filter__divider{display:none}}.filter-tag{border-radius:var(--radius-full);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:var(--color-bg-secondary);border:1px solid var(--color-border);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);white-space:nowrap;padding:8px 16px}.filter-tag:hover{color:var(--color-text-primary);border-color:var(--color-border-strong)}.filter-tag:active{transform:scale(.96)}.filter-tag--active{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.filter-tag--active:hover{color:#fff;background:var(--color-accent-hover)}.page-header{padding:calc(var(--nav-height) + var(--spacing-page)) 0 var(--space-12);text-align:center}.page-header__title{font-size:var(--font-size-h1);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tight);margin-bottom:var(--space-4)}.page-header__desc{font-size:var(--font-size-body);color:var(--color-text-secondary);max-width:560px;margin:0 auto}.order-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);padding:var(--spacing-block);transition:all var(--duration-normal) var(--ease-out)}.order-card:hover{box-shadow:var(--card-shadow);transform:translateY(-2px)}.order-card__header{margin-bottom:var(--space-4);justify-content:space-between;align-items:flex-start;display:flex}.order-card__title{font-size:18px;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.order-card__budget{font-size:var(--font-size-h4);font-weight:var(--font-weight-bold);color:var(--color-cta);flex-shrink:0}.order-card__desc{font-size:var(--font-size-small);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-4)}.order-card__tags{margin-bottom:var(--space-4);flex-wrap:wrap;gap:6px;display:flex}.order-card__skill{border-radius:var(--radius-full);font-size:var(--font-size-caption);background:var(--color-bg-secondary);color:var(--color-text-secondary);padding:3px 10px}.order-card__footer{padding-top:var(--space-4);border-top:1px solid var(--color-divider);justify-content:space-between;align-items:center;display:flex}.order-card__time{font-size:var(--font-size-caption);color:var(--color-text-tertiary)}.order-card__status{font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);border-radius:var(--radius-full);padding:3px 10px}.order-card__status--open{background:var(--color-success-subtle);color:var(--color-success)}.order-card__status--progress{background:var(--color-cta-subtle);color:var(--color-cta)}.about-story{max-width:var(--container-narrow);text-align:center;margin:0 auto}.about-story p{font-size:var(--font-size-body);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--spacing-block)}.team-grid{gap:var(--spacing-block);grid-template-columns:repeat(4,1fr);display:grid}.team-card{text-align:center}.team-card__avatar{background:linear-gradient(135deg, var(--color-accent-subtle), #a7f3d02e);width:96px;height:96px;margin:0 auto var(--space-4);border-radius:50%;justify-content:center;align-items:center;font-size:36px;display:flex}.team-card__name{font-size:17px;font-weight:var(--font-weight-semibold);margin-bottom:4px}.team-card__role{font-size:var(--font-size-small);color:var(--color-text-tertiary)}.contact-list{max-width:480px;margin:0 auto}.contact-item{align-items:center;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--color-divider);font-size:var(--font-size-body);display:flex}.contact-item__icon{border-radius:var(--radius-md);background:var(--color-accent-subtle);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex}.faq-list{max-width:var(--container-narrow);margin:0 auto}.faq-item{border-bottom:1px solid var(--color-divider)}.faq-item__q{width:100%;padding:var(--spacing-block) 0;font-size:18px;font-weight:var(--font-weight-medium);color:var(--color-text-primary);text-align:left;transition:color var(--duration-fast) var(--ease-out);justify-content:space-between;align-items:center;display:flex}.faq-item__q:hover{color:var(--color-accent)}.faq-item__q:after{content:"+";font-size:24px;font-weight:var(--font-weight-regular);color:var(--color-text-tertiary);transition:transform var(--duration-fast) var(--ease-out)}.faq-item--open .faq-item__q:after{transform:rotate(45deg)}.faq-item__a{max-height:0;transition:max-height var(--duration-normal) var(--ease-out);font-size:var(--font-size-small);color:var(--color-text-secondary);line-height:var(--leading-relaxed);padding-bottom:0;overflow:hidden}.faq-item--open .faq-item__a{max-height:200px;padding-bottom:var(--spacing-block)}.pagination{margin-top:var(--spacing-page);justify-content:center;gap:8px;display:flex}.pagination__btn{border-radius:var(--radius-full);width:40px;height:40px;font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);transition:all var(--duration-fast) var(--ease-out);justify-content:center;align-items:center;display:flex}.pagination__btn:hover{background:var(--color-accent-subtle);color:var(--color-accent)}.pagination__btn:active{transform:scale(.94)}.pagination__btn--active{background:var(--color-accent);color:#fff}.pagination__btn--active:hover{background:var(--color-accent-hover);color:#fff}.footer{background:var(--footer-bg);padding:var(--footer-padding);border-top:1px solid var(--footer-border)}.footer__grid{gap:var(--spacing-page);margin-bottom:var(--spacing-page);grid-template-columns:2fr 1fr 1fr 1fr;display:grid}.footer__brand{font-size:20px;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-4);align-items:center;gap:8px;display:flex}.footer__logo{object-fit:contain;width:28px;height:28px}.footer__brand-desc{font-size:var(--font-size-small);color:var(--color-text-tertiary);line-height:var(--leading-relaxed)}.footer__col-title{font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-4)}.footer__links a{font-size:var(--font-size-small);color:var(--color-text-tertiary);transition:color var(--duration-fast) var(--ease-out);padding:4px 0;text-decoration:none;display:block}.footer__links a:hover{color:var(--color-text-primary)}.footer__bottom{padding-top:var(--space-10);border-top:1px solid var(--color-divider);font-size:var(--font-size-caption);color:var(--color-text-tertiary);justify-content:space-between;align-items:center;display:flex}@keyframes star-pulse{0%,to{opacity:0;transform:scale(.8)}50%{opacity:.6;transform:scale(1.2)}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.hero__ambient-flow span{animation:none}.hero__star{opacity:.4;animation:none}}.animate-in{animation:fade-in-up var(--duration-slower) var(--ease-out) both}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}.stagger-4{animation-delay:.4s}[data-animate]{opacity:0;transition:opacity .6s var(--ease-out), transform .6s var(--ease-out);transform:translateY(24px)}[data-animate].reveal-visible{opacity:1;transform:translateY(0)}.card--interactive,.course-card,.blog-card,.source-card,.pricing-card,.team-card{transition:transform .25s var(--ease-out), box-shadow .25s var(--ease-out)}.card--interactive:hover,.course-card:hover,.blog-card:hover,.source-card:hover,.pricing-card:hover,.team-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}@media (prefers-reduced-motion:reduce){[data-animate]{opacity:1;transition:none;transform:none}.card--interactive:hover,.course-card:hover,.blog-card:hover,.source-card:hover,.pricing-card:hover,.team-card:hover{transform:none}}@media (width<=1023px){:root{--font-size-hero:44px;--font-size-h1:34px;--font-size-h2:28px;--spacing-section:64px;--spacing-page:48px}.grid-3,.features-grid,.pricing-grid,.team-grid,.stats-bar,.footer__grid{grid-template-columns:repeat(2,1fr)}.hero__ambient-grid{background-size:64px 64px,64px 64px,100% 100%,100% 100%;inset:10% 0 8% 28%}.hero__ambient-flow span:first-child{width:260px;left:46%}.hero__ambient-flow span:nth-child(2){width:220px;left:54%}.hero__ambient-flow span:nth-child(3){width:190px;left:44%}.hero__ambient-flow span:nth-child(4){display:none}.hero__code{width:360px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=767px){:root{--font-size-hero:34px;--font-size-h1:28px;--font-size-h2:24px;--font-size-h3:20px;--spacing-section:48px;--spacing-page:32px;--card-padding:28px}.grid-3,.features-grid,.grid-2,.pricing-grid{grid-template-columns:1fr}.team-grid{grid-template-columns:repeat(2,1fr)}.stats-bar{gap:var(--space-10);grid-template-columns:repeat(2,1fr)}.stat__number{font-size:32px}.footer__grid{gap:var(--space-10);grid-template-columns:1fr}.footer__bottom{gap:var(--space-4);text-align:center;flex-direction:column}.hero{text-align:center;gap:var(--space-10);flex-direction:column}.hero__content{text-align:center;max-width:100%}.hero__actions{flex-direction:column;align-items:center}.hero__code{width:320px;transform:none}.hero__ambient{opacity:.56}.hero__ambient-grid{background-size:56px 56px,56px 56px,100% 100%,100% 100%;inset:0 -24% 34% 8%;transform:perspective(700px)rotateX(62deg)rotate(-8deg)skew(-4deg)}.hero__ambient-flow span:first-child{width:190px;top:29%;left:30%}.hero__ambient-flow span:nth-child(2){width:160px;top:41%;left:42%}.hero__ambient-flow span:nth-child(n+3),.hero__ambient-nodes i:nth-child(n+5){display:none}.hero__content .text-body{font-size:17px}.page-header{padding-top:calc(var(--nav-height) + var(--spacing-page))}.nav-mobile-menu{top:var(--nav-height);padding:var(--space-10);gap:var(--space-2);transition:transform var(--duration-normal) var(--ease-out);z-index:calc(var(--z-nav) - 1);flex-direction:column;position:fixed;bottom:0;left:0;right:0;transform:translate(100%);background:#fff!important}[data-theme=dark] .nav-mobile-menu{background:#0a0a0f!important}.nav__links--open{transform:translate(0)}.nav__link{font-size:var(--font-size-body);text-align:center;width:100%;padding:12px 16px}.menu-toggle{display:flex}.course-grid{grid-template-columns:1fr}.course-card__thumb{height:160px}.source-card,.search-bar{flex-direction:column}.filter-tags{justify-content:center}.cta-banner{justify-items:start;gap:var(--space-3);min-height:auto;padding:var(--space-5);border-radius:var(--radius-lg);grid-template-columns:1fr}.cta-banner__icon-wrap{width:54px;height:54px}.cta-banner__icon{width:48px;height:48px}.cta-banner__title{font-size:22px}.cta-banner__action{width:100%}.cta-banner__decor{display:none}}.nav-user[data-v-51baab48]{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:9999px;align-items:center;gap:6px;padding:2px 8px;transition:background .15s;display:flex}.nav-user__avatar-badge[data-v-51baab48]{background:var(--color-accent-subtle);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.nav-user[data-v-51baab48]:hover{background:var(--color-accent-subtle)}.nav-user__name[data-v-51baab48]{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:56px;font-size:14px;font-weight:500;overflow:hidden}.nav__auth[data-v-51baab48]{justify-content:center;align-items:center;min-width:108px;display:flex}.nav__auth-placeholder[data-v-51baab48]{width:108px;height:28px}.nav-desktop-only[data-v-51baab48]{display:contents}.nav-desktop-links[data-v-51baab48]{align-items:center;gap:var(--space-1);display:flex}.menu-toggle[data-v-51baab48]{display:none}.nav-mobile-actions[data-v-51baab48]{border-top:1px solid var(--color-divider);justify-content:center;gap:12px;margin-top:8px;padding:20px 0;display:none}@media (width<=767px){.nav-desktop-only[data-v-51baab48],.nav-desktop-links[data-v-51baab48]{display:none!important}.nav-mobile-actions[data-v-51baab48],.menu-toggle[data-v-51baab48]{display:flex}}.nav-mobile-menu,.nav-mobile-overlay{display:none}@media (width<=767px){.nav-mobile-menu{display:flex}.nav-mobile-overlay{z-index:calc(var(--z-nav) - 2);background:#0000004d;display:block;position:fixed;inset:0}}.notif-popover[data-v-e3a1387a]{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;max-height:460px;display:flex;overflow:hidden}.notif-popover__head[data-v-e3a1387a]{border-bottom:1px solid var(--color-divider);color:var(--color-text-primary);justify-content:space-between;align-items:center;padding:16px 20px;font-size:14px;font-weight:600;display:flex}.notif-popover__body[data-v-e3a1387a]{flex:1;min-height:0;overflow-y:auto}.notif-popover__foot[data-v-e3a1387a]{text-align:center;border-top:1px solid var(--color-divider);padding:12px;font-size:14px}.notif-popover__foot a[data-v-e3a1387a]{color:var(--color-accent);text-decoration:none}.notif-popover__empty[data-v-e3a1387a]{text-align:center;color:var(--color-text-tertiary);padding:40px;font-size:14px}.notif-item[data-v-e3a1387a]{border-bottom:1px solid var(--color-divider);cursor:pointer;gap:12px;padding:16px 20px;transition:background .15s;display:flex}.notif-item[data-v-e3a1387a]:hover{background:var(--color-bg-secondary)}.notif-item--unread[data-v-e3a1387a]{background:var(--color-accent-subtle)}.notif-item__icon[data-v-e3a1387a]{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;display:flex}.notif-item__icon--reply[data-v-e3a1387a]{background:#5b5aff1a}.notif-item__icon--system[data-v-e3a1387a]{background:#ff9f0a1a}.notif-item__icon--order[data-v-e3a1387a]{background:#30d1581a}.notif-item__icon--course[data-v-e3a1387a]{background:#5b5aff1a}.notif-item__body[data-v-e3a1387a]{flex:1;min-width:0}.notif-item__title[data-v-e3a1387a]{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:14px;overflow:hidden}.notif-item__desc[data-v-e3a1387a]{color:var(--color-text-tertiary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.notif-item__time[data-v-e3a1387a]{color:var(--color-text-tertiary);flex-shrink:0;margin-top:2px;font-size:11px}[data-v-e3a1387a] .n-tabs{border-bottom:1px solid var(--color-divider);padding:8px 20px}.floating-btn[data-v-a993792d]{z-index:200;transition:transform .2s,box-shadow .2s;bottom:24px;right:24px;width:52px!important;height:52px!important;box-shadow:var(--shadow-floating)!important;position:fixed!important}.floating-btn[data-v-a993792d]:hover{transform:translateY(-2px)}.contact-qr[data-v-a993792d]{text-align:center;padding:8px 0 2px}.contact-qr__img[data-v-a993792d]{background:#fff;border:1px solid #ffffffeb;border-radius:12px;justify-content:center;align-items:center;width:176px;height:176px;margin:0 auto 16px;padding:10px;display:flex;box-shadow:0 16px 42px #0000002e}.contact-qr__img img[data-v-a993792d]{object-fit:contain;border-radius:6px;width:100%;height:100%;display:block}.contact-qr__text[data-v-a993792d]{color:var(--color-text-primary);margin-bottom:4px;font-size:15px;font-weight:700}.contact-qr__hint[data-v-a993792d]{color:var(--color-text-tertiary);font-size:13px}.feedback-form[data-v-a993792d]{margin-top:2px}.contact-footer[data-v-a993792d]{text-align:center;width:100%;color:var(--color-text-secondary);font-size:13px;display:block}@media (width<=767px){.floating-btn[data-v-a993792d]{bottom:16px;right:16px}}
