:root{--color-primary:#1e5b8a;--color-primary-hover:#256ba0;--color-accent:#f59e0b;--color-bg:#f8fafc;--color-surface:#fff;--color-border:#e2e8f0;--color-text-muted:#94a3b8;--color-text-secondary:#475569;--color-text-body:#1e293b;--color-text-heading:#0f172a;--color-mastered:#22c55e;--color-partial:#f59e0b;--color-weak:#ef4444;--max-width:1200px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--font-noto-sans),"PingFang SC",-apple-system,sans-serif;color:var(--color-text-body);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}.container{max-width:var(--max-width);margin:0 auto;padding:0 24px}@media (max-width:768px){.container{padding:0 16px}}nav{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);background:#f8fafcd9;position:sticky;top:0}nav .container{justify-content:space-between;align-items:center;height:64px;display:flex}.nav-brand{color:var(--color-primary);letter-spacing:-.02em;font-size:1.25rem;font-weight:900;text-decoration:none}.nav-links{gap:32px;list-style:none;display:flex}.nav-links a{color:var(--color-text-secondary);font-size:.875rem;font-weight:500;text-decoration:none;transition:color .15s}.nav-links a:hover{color:var(--color-primary)}@media (max-width:640px){.nav-links{gap:16px}.nav-links a{font-size:.8125rem}}section{padding:128px 0}@media (max-width:768px){section{padding:64px 0}}.hero{text-align:center}.hero-badge{color:var(--color-primary);letter-spacing:.02em;background:#1e5b8a14;border-radius:9999px;margin-bottom:24px;padding:4px 12px;font-size:.8125rem;font-weight:600;display:inline-block}.hero h1{color:var(--color-text-heading);letter-spacing:-.03em;max-width:800px;margin:0 auto 24px;font-size:clamp(2rem,5vw,3.5rem);font-weight:900;line-height:1.15}.hero h1 em{color:var(--color-accent);font-style:normal}.hero p{color:var(--color-text-secondary);max-width:560px;margin:0 auto 32px;font-size:1.125rem;line-height:1.7}@media (max-width:640px){.hero p{font-size:1rem}}.btn-primary{background:var(--color-accent);color:#0f172a;cursor:pointer;letter-spacing:-.01em;border:none;border-radius:8px;padding:14px 36px;font-size:1rem;font-weight:700;text-decoration:none;transition:background .15s,transform .15s;display:inline-block}.btn-primary:hover{background:#e59008;transform:translateY(-1px)}.btn-primary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){.btn-primary{transition:none}}.flow{background:var(--color-surface);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.flow-header{text-align:center;margin-bottom:64px}.flow-header h2{color:var(--color-text-heading);letter-spacing:-.02em;font-size:2rem;font-weight:700}.flow-header p{color:var(--color-text-secondary);margin-top:8px;font-size:1.0625rem}.flow-steps{flex-wrap:wrap;justify-content:center;gap:32px;display:flex}.flow-step{text-align:center;flex:1;min-width:280px;max-width:340px;padding:32px}.flow-step-icon{border-radius:16px;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 16px;font-size:1.5rem;font-weight:900;display:flex}.flow-step-icon.diagnose{color:var(--color-primary);background:#1e5b8a1a}.flow-step-icon.learn{color:var(--color-accent);background:#f59e0b1f}.flow-step-icon.practice{color:var(--color-mastered);background:#22c55e1a}.flow-step h3{color:var(--color-text-heading);margin-bottom:8px;font-size:1.125rem;font-weight:700}.flow-step p{color:var(--color-text-secondary);font-size:.9375rem;line-height:1.65}.flow-arrow{color:var(--color-border);align-items:center;font-size:1.5rem;font-weight:300;display:flex}@media (max-width:900px){.flow-arrow{display:none}}.classroom{text-align:center}.classroom h2{color:var(--color-text-heading);letter-spacing:-.02em;margin-bottom:16px;font-size:2rem;font-weight:700}.classroom>.container>p{color:var(--color-text-secondary);max-width:600px;margin:0 auto 32px;font-size:1.0625rem}.classroom-card{background:var(--color-surface);border:1px solid var(--color-border);text-align:left;border-radius:16px;max-width:800px;margin:0 auto;padding:32px;box-shadow:0 1px 3px #0000000a}.classroom-card h3{color:var(--color-text-heading);margin-bottom:16px;font-size:1.25rem;font-weight:700}.classroom-card p{color:var(--color-text-secondary);margin-bottom:24px;font-size:.9375rem;line-height:1.7}.classroom-features{flex-wrap:wrap;gap:24px;margin-top:24px;display:flex}.classroom-feature{background:var(--color-bg);border-radius:8px;flex:1;min-width:200px;padding:16px}.classroom-feature .label{color:var(--color-primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:.75rem;font-weight:700}.classroom-feature .value{color:var(--color-text-heading);font-size:1rem;font-weight:700}.diff{text-align:center}.diff h2{color:var(--color-text-heading);letter-spacing:-.02em;margin-bottom:16px;font-size:1.75rem;font-weight:700}.diff>.container>p{color:var(--color-text-secondary);max-width:560px;margin:0 auto 32px}.diff-grid{flex-wrap:wrap;justify-content:center;gap:32px;max-width:900px;margin:0 auto;display:flex}.diff-card{background:var(--color-surface);border:1px solid var(--color-border);text-align:left;border-radius:12px;flex:1;min-width:260px;max-width:400px;padding:32px}.diff-card h3{margin-bottom:8px;font-size:1rem;font-weight:700}.diff-card.us h3{color:var(--color-primary)}.diff-card.them h3{color:var(--color-text-muted)}.diff-card ul{color:var(--color-text-secondary);font-size:.9375rem;line-height:1.8;list-style:none}.diff-card.us ul li:before{content:"✓ ";color:var(--color-mastered);font-weight:700}.diff-card.them ul li:before{content:"✗ ";color:var(--color-weak);font-weight:700}footer{border-top:1px solid var(--color-border);text-align:center;padding:32px 0}footer p{color:var(--color-text-muted);font-size:.8125rem}footer a{color:var(--color-text-secondary);margin:0 8px;font-size:.8125rem;text-decoration:none}footer a:hover{color:var(--color-primary)}
